请教Algorand ARC-19与ARC-69的差异及ARC-69创建ASA的时序图
ARC-19 与 ARC-69 核心差异
- ARC-19:纯链上元数据标准,所有元数据相关信息直接写入ASA的
URL和MetadataHash字段,完全存储在Algorand主链。优点是数据不可篡改、无需依赖外部服务,但受链上字段长度限制(URL最长32字节,MetadataHash固定32字节),仅能存储哈希值或极短链接,无法承载复杂元数据。 - ARC-69:链下关联元数据标准,允许将完整元数据存储在链下(IPFS、中心化存储等),仅在ASA的
URL字段写入元数据的访问链接或哈希,同时支持可选的MetadataHash字段做链上校验。灵活性极强,适合存储结构化、大体积的NFT/ASA元数据。
ARC-69 创建ASA的数据流与操作时序
操作时序(按执行顺序)
元数据准备
- 遵循ARC-69规范编写结构化元数据,必填字段为
standard(固定值"arc69")、description,可选字段包括external_url、media_url、attributes、properties等。 - 将元数据文件上传至链下存储服务(如IPFS),获取文件的CID或访问链接。
- (可选)计算元数据文件的SHA-256哈希值,用于后续填充ASA的
metadata_hash字段,实现链上元数据完整性校验。
- 遵循ARC-69规范编写结构化元数据,必填字段为
构建ASA创建交易
- 使用Algorand官方SDK(如
py-algorand-sdk、js-algorand-sdk)构建AssetCreateTxn交易:- 填充基础ASA字段:创建者地址、总供应量、小数位数、资产名称、单位名称等。
- 填充ARC-69专属字段:
url字段:写入元数据文件的IPFS CID(格式示例:ipfs://QmXYZ...)或链下存储链接。metadata_hash字段(可选):传入步骤1中生成的SHA-256哈希字节数组。
- 使用Algorand官方SDK(如
交易签名与提交
- 交易创建者使用自身私钥对
AssetCreateTxn进行签名,生成合法的签名交易。 - 通过Algorand节点的
algodAPI或SDK,将签名后的交易提交至Algorand网络。
- 交易创建者使用自身私钥对
链上确认与元数据关联
- Algorand网络完成交易共识确认后,生成唯一的ASA ID。
- ASA的
url和metadata_hash字段将永久存储在链上,用户或第三方可通过ASA ID查询链上数据,再通过url指向的链下地址获取完整元数据内容。
数据流示意图(文本化)
用户本地环境 → [编写ARC-69结构化元数据] → 链下存储服务(IPFS等) → [获取元数据CID/链接 + 计算哈希] → 用户本地环境 用户本地环境 → [构建AssetCreateTxn并填充ARC-69字段] → [签名交易] → Algorand节点 Algorand节点 → [共识确认交易] → 链上存储ASA数据(含ARC-69字段) 用户/第三方服务 → [通过ASA ID查询链上url/metadata_hash] → 链下存储服务 → [获取完整元数据]
内容的提问来源于stack exchange,提问作者Saadi
相关产品推荐
相关产品推荐

