区块链 · 数字资产知识 · 行业资讯
文章库关于本站

资料与核验

区块链查记录入门需要了解什么:交易标识、余额与授权

摘要

区块链记录的读法取决于记账方式。比特币需要理解交易标识、输入输出与未花费输出;ERC-20 代币则需要区分余额、转移事件和授权额度。掌握这些字段的含义与适用范围,才能避免把授权看成转账、把原始整数看成实际显示数量。

玻璃文档与棱镜的原创资料研究概念插画

先确定记录属于哪种模型

区块链查记录入门需要了解什么,首先要回答的是:查到的字段代表什么。比特币的交易输入引用此前的输出;ERC-20 则通过代币合约提供余额、转移和授权等接口。两种模型的字段不能直接套用,读记录时应先确认所查对象。

比特币:交易标识与输出位置

比特币普通交易包含输入和输出。输入通过交易标识 txid 与输出索引定位此前的一项输出;索引从零开始。尚未被花费的输出称为 UTXO,钱包余额与其可支配的 UTXO 有关。矿工创建的 coinbase 交易存在特殊规则。

因此,追溯某笔输入的来源,需要同时看它引用的交易和输出位置。只知道 txid,可以定位交易,却不足以区分该交易中的多个输出。某项输出后来被花费,表示它被后续输入引用,不代表原有记录被删除。

ERC-20:余额、转移和授权分别看

ERC-20 的 balanceOf 表示账户在该代币合约中的余额;Transfer 事件记录代币转移。approve 设置授权额度,allowance 表示被授权者剩余可代为支配的额度。decimals 用于将原始整数换算为显示数量。

这些字段回答不同问题:余额描述持有数量,转移事件描述发生过的变化,授权描述代为支配的权限。阅读记录时,应将问题与字段对应起来,不能仅凭一条授权记录认定已经发生代币转移。

常见问题:为什么数量或授权看起来不一致

原始数量为什么与页面显示不同?检查是否应用了 decimals 换算。显示数量等于原始整数除以十的 decimals 次方;比较数量前,应确保使用同一种单位。

能否累加 Approval 事件推算剩余额度?不能保证。OpenZeppelin 的 ERC-20 实现中,代扣消耗额度时不一定发出新的 Approval 事件。因此,判断剩余额度应关注 allowance,不能把授权事件列表当作完整的当前状态。

适用条件与理解边界

上述比特币解释适用于其交易输入输出模型,ERC-20 部分适用于对应标准接口及文中明确提到的实现行为。具体代币可能扩展合约逻辑,不能把某个实现的细节推广到所有代币。入门时先辨认交易、输出、余额、事件和授权各自的含义,再判断记录能够支持什么结论。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验