Geth 在本地 getBalance() 上获得 0 tether

Geth getting 0 tether on local getBalance()

我遇到了在本地账户上获取 erc-20 余额的问题。

> eth.accounts
["0x6c197808a849b9157422ed33d821e8e6e29ad8f8", "0x6e062dc98a5e4d7e494cb8c4b4d8cf40e8a4d958"]

> eth.coinbase
"0x6c197808a849b9157422ed33d821e8e6e29ad8f8"

> web3.fromWei(eth.getBalance(eth.coinbase), "tether")
0

> web3.fromWei(eth.getBalance('0x6c197808a849b9157422ed33d821e8e6e29ad8f8'), "tether")
0

> web3.fromWei(eth.getBalance('0x6c197808A849B9157422Ed33d821e8e6E29Ad8F8'), "tether")
0

Etherscan 告诉我令牌已经在地址上。screenshot

链已配置、同步并在当前块上。

> eth.syncing
false

而且我可以看到其他地址(不是我的本地地址)上的余额。

> web3.fromWei(eth.getBalance('0xD72D878EC833788a087fD613BDdd9A15Bcb6eF2d'), "tether")
4.4612e-15

系统信息

Geth version: 1.9.6-stable
OS & Version: Ubuntu 18.04
Git Commit: bd05968077f27f7eb083404dd8448157996a8788
Architecture: amd64
Protocol Versions: [63]
Network Id: 1
Go Version: go1.11.5
Operating System: linux

您查询的不是Tether(USDT)余额,而是Tether单位的以太币余额

这里是 ref.

1 泰达币 = 1012 以太币

如果你想查询一个erc20 token的余额,那个erc20智能合约里面有一个叫balanceOf的函数,你可以用web3和合约交互。