Как узнать, насколько «подтвержден» результат вызова API getBalance?

Документация для getBalance мне кажется не очень понятной. Я хотел бы знать баланс, но хочу знать, сколько подтверждений имеет возвращенный баланс.

Я предполагал, что передача параметра «ожидание» будет включать баланс всех транзакций (даже тех, у которых нет подтверждений или их очень мало), но если это так, то как сделать наоборот? Я хочу знать баланс с большим количеством подтверждений, и альтернативными параметрами для передачи (вместо «ожидающих») являются «последний» и «самый ранний», чье задокументированное значение не кажется мне ясным:

"earliest" - for the earliest/genesis block
"latest" - for the latest mined block
"pending" - for the pending state/transactions

Любые идеи? Спасибо!

Ответы (1)

getBalance с номером блока

Вы можете передать номер блока как часть параметра.

Вот адрес Кракена: 0x2910543af39aba0cd09dbb2d50200b3e800a63d2 .

Давайте проверим, каков последний номер блока:

> eth.blockNumber
1456129

Давайте получим последний баланс для Kraken:

> eth.getBalance("0x2910543af39aba0cd09dbb2d50200b3e800a63d2", "latest")
4.46304933021672757555818e+23

Получим баланс на блоке 1456109:

> eth.getBalance("0x2910543af39aba0cd09dbb2d50200b3e800a63d2", 1456109)
4.46511558309272757555818e+23

Получим баланс на блоке 145110:

> eth.getBalance("0x2910543af39aba0cd09dbb2d50200b3e800a63d2", 1456110)
4.46304933021672757555818e+23


Подтверждения

Количество подтверждений равно текущему номеру блокировки минус номер блокировки, указанный вами для getBalance(...)звонка.

В этом примере баланс на блоке 1456109 имел 10 подтверждений (= 1456129 - 1456109).


В ожидании

Баланс с параметром «ожидание» будет включать в себя любые транзакции, находящиеся в состоянии ожидания, т. е. переданные в одноранговую сеть, но еще не включенные ни в какие добытые блоки.


Последний

Баланс с параметром «последний» будет балансом на момент последнего блока, номер которого сообщает eth.blockNumber.

Не имел представления. Это потрясающе!
спасибо, теперь намного понятнее! если бы кто-то мог улучшить документы тогда, было бы здорово
Спасибо, это полезно, но имейте в виду, что проверка только одного блока небезопасна. В идеале мы хотим знать, как долго баланс был статичен . Если нам нужно 10 подтверждений, то мы должны проверить все последние 10 блоков , чтобы убедиться, что за это время не было вывода или депозита. (Кстати, спасибо за токен для тестирования!)