Size: a a a

2021 October 10

YB

Yanis Benson in Distributed
А так - давайте ещё у мнемоник чексуммы уберем - пусть народ помучается, зато будет не 128/256 бит энтропии, а 132/264.
источник
2021 October 11

@

@mr_tron in Distributed
а как можно получить текущий нонс аккаунта в эфире с учетом не подтверждёеных транзакций?
источник

@

@mr_tron in Distributed
или нет такого метода?
источник

@

@mr_tron in Distributed
я делал просто сервер, который у себя внутри считает. но он мне уже дважды сбивал транзакции отправляемые с той же учетки через метамаск
источник

SB

Sam Becket in Distributed
сервер делал используя go-ethereum?
источник

@

@mr_tron in Distributed
не. вообще на питоне
источник

@

@mr_tron in Distributed
go-ethereum сложно
источник

SB

Sam Becket in Distributed
tx, err := mycontract.MyFunction(
 &bind.TransactOpts{
   From:     auth.From,
   Nonce:    nil, // nil uses nonce of pending state
   Signer:   auth.Signer,
   Value: big.NewInt(1),
   GasPrice: nil,           // nil automatically suggests gas price
   GasFeeCap: nil,     // MAX BASE FEE
   GasTipCap: nil,      // MAX PRIORITY FEE
   GasLimit: 0,             // 0 automatically estimates gas limit
   Context:  context.Background(),
 }, argument1, argument2, argument3)
 if err != nil {
   log.Printf("could not send tx request to contract: %v\n", err)
 } else {
 fmt.Printf("Transaction sent! Please wait for tx %s to be confirmed.\n", txSweepToken.Hash().Hex())


Вот это пример, в котором ты можешь отправлять транзу на вызов функции контракта вручную оказывая параметры транзы

Можно сделать еще проще, обернув контракт и опции транзакции в сессию

тогда получиться что-т вроде

tx, err := session.MyFunction(arg1,arg2,arg3)
 if err != nil {
   return "", err
 }
 fmt.Printf("tx sent! Please wait for tx %s to be confirmed.\n", tx.Hash().Hex())
 return tx.Hash().Hex(), nil

Но если тебе надо играться с nonce, то лучше первый ручной способ
источник

SB

Sam Becket in Distributed
Он на самом деле не особо сложный, и оч хорошо документированный, но иногда сильно глючит в непредсказуемых местах
источник

@

@mr_tron in Distributed
да я даже не осилил кодогенератор из abi
источник

@

@mr_tron in Distributed
в целом вариант с отдельным сервисос на питоне мне нравится. он живёт там себе, держит приватные ключи. наружу отдаёт только пару методов
источник

@

@mr_tron in Distributed
можно его переписать но го, но зачем
источник

SB

Sam Becket in Distributed
 solc --abi --bin ./contracts/MyContract.sol -o build 

компилит контракт в abi


 abigen --abi="build/MyContract.abi" --pkg=main --out="./go/contract.go" 

превратит аби в артефакт на го
источник

СК

Сергей Королёв 👾... in Distributed
Возможно, eth_getTransactionCount с параметрами [addr, "pending"]? (я сварщик ненастоящий, три дня назад впервые эфировую ноду потрогал)
источник

@

@mr_tron in Distributed
вопрос таки в другом:
допустим у меня был последний нонс 100. я пихнул в мемпул еще пару транзакций и нонс для следующей должен быть 103. но транзакции еще не подтверждены. и когда я запрашиваю w3.eth.get_transaction_count(MY_ETHER_ACCOUNT) оно возвращает 101
источник

СК

Сергей Королёв 👾... in Distributed
Потому что web3py вроде умеет только "latest" дёргать, а не "pending".
источник

@

@mr_tron in Distributed
а не. умеет с pending
источник

@

@mr_tron in Distributed
спасибо
источник

@

@mr_tron in Distributed
а чё-то гуглил-гуглил но видимо не теми словами
источник
2021 October 12

F

Foxcool in Distributed
Питер Вьюле выложил для обсуждения адаптированный для secp256k1 алгорим Elligator Squared.

secp256k1 -- это эллиптическая кривая, которая служит для получения пары приватного и публичного ключей, хранящих биткоины. Elligator Squared может позволить скрывать публичный ключ, т.е. точку на эллиптической кривой, которая подчиняется её уравнению. В случае его применения совокупность байт будет не отличима от цифрового шума. Предполагается, что такие меры могут повысить устойчивость к цензуре при передаче публичных ключей, служащих материалом для вывода Биткоин-адреса и траты криптовалюты на этот адрес.
_______
Source: Hype Coin News
источник