【发布时间】:2018-09-10 00:16:56
【问题描述】:
我真的很困惑 ERC20 代币余额是如何存储在链上的。似乎所有余额数据都存储为成员映射变量:
contract TestCoin is ERC20Interface {
...
mapping(address => uint) balances;
...
我想知道区块链上存储了多少副本。假设 balances 包含 10K 条记录,最高区块号为 100。现在我进行代币转移,balances 中的 2 条记录发生了变化,我们得到了新的 balances,此转移由新的区块 101 确认。
<------- [Block 100] <------- [Block 101]
^ ^
| |
balance1 balance2
余额存储在哪里?是否可以检索块 100 中的余额? (我想我们一定能做到,因为区块链可以回滚)。
我正在使用 geth/web3/eth,如果您能将我引导到相关文档页面,那就太好了。
非常感谢!
【问题讨论】:
标签: blockchain ethereum smartcontracts web3 go-ethereum