您当前的位置: 首页 >  区块链
  • 0浏览

    0关注

    212博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

从零开发区块链应用(十二)--以太坊余额查询

杰哥的技术杂货铺 发布时间:2022-01-26 23:19:32 ,浏览量:0

文章目录
  • 一、账户状态stateTrie
    • 1.2 查询余额代码思路
    • 1.3 余额查询流程
  • 二、获取账户余额
    • 2.1 代码解析
    • 2.2 完整代码
  • 三、获取账户代币余额

一、账户状态stateTrie

Block.Header.Root 就是stateRoot,是一棵PMT树,存储了所有账户的当前最新的状态信息,比如账户余额。

a path is always: sha3(ethereumAddress) and a value is always: rlp(ethereumAccount) Root是一个hash值,通过Root去数据库中可以找到 stateTrie的根节点,然后通过sha3(ethereumAddress)得出要最终查找的path,再根据path可以一步步的找到每个账户rlp(ethereumAccount)

Account账户余额分为账户余额和账户代币余额两种类型

type Account struct {
    Nonce    uint64   //Nonce:账户发起交易的次数
    Balance  *big.Int //该账户的余额
    Root     common.Hash //存储树MPT,它是所有合约数据存储的地方
    CodeH
关注
打赏
1666063422
查看更多评论
立即登录/注册

微信扫码登录

0.0348s