
适用范围:先理解发行的对象
区块链代币发行入门需要了解什么,首先取决于代币所在的网络和采用的标准。这里讨论以太坊上的ERC-20同质化代币,不覆盖所有区块链,也不涉及募集资金或交易安排。
同质化意味着同一代币中的单位具有相同属性、可以相互替代,不意味着不同代币等值,更不意味着价格固定。代币可以用于表达游戏积分等权益,但链上余额记录本身不能证明现实资产背书。
ERC-20规定接口,不决定发行规则
以太坊开发者文档将ERC-20介绍为通用代币接口:它涵盖供应量和余额查询、代币转移、第三方支出授权,以及相关事件。统一接口使不同应用能够用相近的方式与代币合约交互。
因此,了解标准只是起点。代币的用途、初始供应量、分配对象和后续供应变化,需要由具体合约设计确定。符合ERC-20不能直接推出供应固定,也不能直接推出某个地址有增发权限。
初始供应与持有者需要分别确认
OpenZeppelin文档的示例复用ERC20实现,并在构造函数中铸造初始供应,将其分配给部署地址。这展示了一种初始化方式,而不是所有代币必须采用的发行方案。
总供应量回答当前记录了多少代币,账户余额回答其中多少归属于某个地址。创建供应与向其他参与者分配是两个不同问题;部署完成不代表已经完成预定分配。
小数位是显示规则
代币数量通常以整数形式记账,decimals用于把最小单位换算为界面显示数量。理解余额、供应量和转移参数时,都要区分原始整数与显示值,避免将两者混用。
名称、符号和小数位属于可选元数据。名称相同不能证明是同一种代币,识别对象还需要对应网络和合约地址。精度设置也不代表代币的价值或质量。
常见问题:授权与接收风险
授权不等于立即转移。授权表达的是允许特定地址在额度范围内代为支出,实际转移是另一项行为,因此应分别理解授权对象、额度和余额。
转移成功也不一定意味着接收方能够使用代币。标准ERC-20转移没有强制的接收通知机制;若接收合约缺少处理或取回代币的能力,代币可能被困。不能仅凭目标是合约地址就认定它支持接收。
入门时应把接口兼容性、供应规则、数量精度和权限边界分开核对。使用标准实现能够减少重复开发,但不能替代对自定义逻辑与接收场景的检查。