У меня есть токен смарт-контракта, развернутый в экземпляре Ganache. Мое децентрализованное приложение, написанное с помощью React и web3.js, показывает те же 10 учетных записей eth.accounts
, что и запуск той же команды в консоли geth.
Если я создам свой объект токена с адресом abi и контрактом в geth, я получу другой баланс accounts[0]
, чем баланс, который я получаю с моим децентрализованным приложением. Оба создают объект токена с одним и тем же адресом блокчейна. Оба показывают, что eth.accounts[0]
это один и тот же адрес!
У меня также есть приложение для Android, использующее web3j. Он использует тот же адрес контракта и отображает те же значения, что и децентрализованное приложение React.
Однако у меня также есть приложение в web3.py, и оно показывает те же значения, что и в geth!
Может кто-нибудь объяснить мне, как один и тот же объект токена может отображать разные выходные данные, .balanceOf("the_same_address")
если он находится в одной и той же цепочке блоков? Единственная разница в том, использую ли я geth, web3j, web3.js или web3.py.
РЕДАКТИРОВАТЬ: добавлен браузер изображений с консолью (dapp) и консолью терминала (geth)
Это дает мне разные балансы для всех счетов. Такое ощущение, что я подключаюсь к двум разным блокчейнам. Однако у них одни и те же 10 учетных записей по умолчанию, и мои контракты развернуты на одних и тех же адресах.
Результаты отображаются в значениях «eth», а не в «wei»? Можете ли вы показать нам различные результаты, которые вы видите в geth/web3j/js/py?
резчик
ГабКас
резчик
web3.eth.getBlock('latest').hash
.ГабКас
резчик
резчик
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{"to": "<contract_addr>", "data":"0x70a082310000000000000000000000000<non-0x-prefixed-address-to-check-balance-of-here>"}],"id":1}' 127.0.0.1:8545