尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

在AMA Protocol上发行自己的代币:Coin合约完整开发教程

在AMA Protocol上发行自己的代币:Coin合约完整开发教程 在AMA Protocol上发行自己的代币Coin合约完整开发教程【免费下载链接】node项目地址: https://gitcode.com/GitHub_Trending/node95/node想在 AMA Protocol 上发行自己的代币这篇面向新手的完整开发教程将带你零基础掌握 Coin 合约的用法从理解代币属性、调用create_and_mint创建代币到转账、增发、部署上链一步步发行属于你自己的链上资产。无需复杂的区块链背景跟着教程操作即可完成首个代币的发行与流通。一、Coin 合约是什么AMA Protocol 内置了一个功能完整的代币合约 Coin它运行在链上任何人都可以调用。发行代币不再需要编写复杂的合约逻辑只需调用 Coin 合约的接口即可发行代币create_and_mint一步完成创建与铸造转账流通transfer支持任意账户间转移增发管理mint按权限增发暂停交易pause紧急熔断Coin 合约的核心实现位于 coin.rs而调用它的标准写法可参考 2_coin.ts 与 coin.rs 两个示例。二、发行前必读代币的 4 个关键属性调用create_and_mint时除代币名称与数量外还有 3 个布尔参数决定了代币的性格务必想清楚再填参数说明默认值decimals小数位数0~9建议 99mintable是否允许后续增发通胀型falsepausable是否允许暂停转账紧急熔断falsesoulbound是否灵魂绑定发行后不可转账false⚠️两个重要限制符号保留机制主流代币符号如 AMA、BTC、ETH、USDT、SOL 等数百个已被保留无法注册具体清单见 coin_symbol_reserved.rs。判断时大小写不敏感例如btc也会被拦截。冲突检测符号不能与已有代币或 NFT 集合重名否则会报symbol_exists或symbol_conflicts_with_collection。三、如何在智能合约中创建代币在自定义合约里调用 Coin 合约是发行代币最标准的方式。以 AssemblyScript 为例只需一行调用即可创建并铸造 10 亿枚代币export function init(): void { // 参数符号、数量(含小数)、小数位、可增发、可暂停、灵魂绑定 sdk.call(Coin, create_and_mint, [ b(MYTOKEN), sdk.coin_raw(1_000_000_000, 9), b(9), b(false), b(false), b(false) ]) }其中coin_raw(数量, 小数位)会将整数金额转换为包含小数的原始数值具体实现见 sdk.ts。Rust 合约的写法同样简洁参考 coin.rs#[no_mangle] pub extern C fn init() { let mint_a_billion encoding::coin_raw(1_000_000_000, 9); call!(Coin, create_and_mint, [ MYTOKEN, mint_a_billion, 9, false, false, false ]); }四、代币流通转账与增发代币创建成功后围绕它的日常操作主要有三个1. 转账transfersdk.call(Coin, transfer, [receiver_pk, b(amount), b(MYTOKEN)])注意三点接收地址必须是合法的 48 字节公钥、金额必须大于 0、转账会校验余额是否充足。2. 增发mint只有被授权的管理员才能增发且前提是创建时设置了mintable truesdk.call(Coin, mint, [receiver_pk, b(amount), b(MYTOKEN)])3. 销毁burn向全零地址转账即可销毁代币销毁量会从总供应量中扣除——这是一个很实用的通缩手段。五、部署上链的完整流程第一步编译合约AssemblyScript 合约用asc编译为 wasmasc 2_coin.ts --target release --importMemory --memoryBase 65536 --outFile coin.wasm第二步校验字节码curl -X POST -H Content-Type: application/octet-stream \ --data-binary coin.wasm http://localhost/api/contract/validate第三步提交部署./amadeusd deploytx ~/coin.wasm | sed 1,4d | \ curl -X POST -H Content-Type: application/octet-stream \ --data-binary - http://localhost/api/tx/submit第四步初始化触发发行部署后调用init即可触发create_and_mint完成代币发行。本地测试网环境下也可以直接在 REPL 里验证相关脚本见 localnet.sh。六、从零开发代币的 5 个避坑建议先查符号是否被保留避免部署后才发现符号冲突小数位尽量统一用 9与 AMA 保持一致方便前端展示想清楚再设 mintable一旦开放增发权限管理就要跟上pausable 建议开启遇到异常可以紧急暂停保护持有者先在本地测试网完整走一遍发行、转账、增发流程再上主网结语AMA Protocol 的 Coin 合约把发行代币的门槛降到了极低不需要编写复杂的共识逻辑一个create_and_mint调用就能让代币上线流通。无论你是想发 meme 币、项目治理代币还是资产上链都可以用这套教程快速起步。现在就打开项目源码动手发行你的第一枚代币吧【免费下载链接】node项目地址: https://gitcode.com/GitHub_Trending/node95/node创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表