手把手教你向AMA Protocol主网提交第一笔交易:完整命令行流程

发布时间:2026/8/21 15:23:56
手把手教你向AMA Protocol主网提交第一笔交易:完整命令行流程 手把手教你向AMA Protocol主网提交第一笔交易完整命令行流程【免费下载链接】node项目地址: https://gitcode.com/GitHub_Trending/node95/node想向AMA Protocol主网提交你的第一笔交易却不知道从何下手这篇面向新手的完整命令行教程将带你从零开始准备密钥、构建转账交易、通过 RPC 接口提交并确认上链。全程只需要一个终端和几条命令5 分钟即可完成首笔 AMA 主网交易。一、AMA Protocol 是什么为什么要用命令行AMA ProtocolAmadeus是一条以隐私为核心的 Layer 1 公链主打 Agent 场景底层采用基于矩阵乘法的实用性工作量证明MatMul UPoW。它的几个关键参数决定了命令行操作非常轻快协议参数数值说明出块时间500ms交易确认极快签名算法BLS12-381账户公私钥体系智能合约WASM内置 Coin / NFT 合约代币上限10 亿 AMA原生代币符号 AMA在主网提交交易本质上是向公共 RPC 节点发起一次 HTTP 请求把签名打包好的交易txPOST 给 RPC 端点再由节点广播进交易池。看懂了这个流程你就理解了后面所有命令。二、快速准备工作环境与密钥生成提交主网交易前你需要两样东西私钥seed6464 字节随机种子用于签名交易务必保密公钥PK48 字节的账户地址相当于你的收款/转账地址公开无妨本项目的密钥体系实现在ex/lib/api/api_wallet.ex中其中generate_key()函数会返回一对{公钥, 私钥}均以 Base58 编码。你也可以在本地运行一个节点通过 REPL 调用# 在 amadeusd 节点的 iex REPL 中生成密钥对 pk Application.fetch_env!(:ama, :trainer_pk) sk Application.fetch_env!(:ama, :trainer_sk) 想先本地练手项目自带的ex/localnet.sh脚本可以一键启动 5 节点本地测试网配置TESTNETtrue即可在测试环境反复练习避免误操作主网资产。三、构建你的第一笔转账交易AMA Protocol 的转账本质上是在调用内置的Coin合约的transfer函数。交易构建逻辑在ex/lib/api/api_tx.ex中核心参数有三个合约名Coin代币合约函数名transfer参数列表[收款方公钥, 金额, AMA]在节点 REPL 中构建一笔转账转给自己或任意地址# 构建一笔 1 AMA 的转账交易 txu TX.build(sk, Coin, transfer, [pk, 1, AMA]) # 打包为 Base58 字符串供 RPC 提交 packed Base58.encode(txu | TX.pack()) IO.puts(packed)这里输出的packed字符串就是接下来要提交给主网的交易信封。四、向主网 RPC 提交交易的最快方法AMA Protocol 主网 RPC 端点为https://mainnet-rpc.ama.one交易提交接口定义在ex/lib/api/rpc_api.ex中。提交动作非常简单只需用curl把打包好的交易发过去curl https://mainnet-rpc.ama.one/api/tx/submit_and_wait/${PACKED}?finalizedtruesubmit_and_wait提交并等待打包返回交易哈希finalizedtrue等待区块最终确认后再返回结果由于主网出块时间仅 500ms通常一两秒内就能拿到交易哈希txid和回执receipt。若想只广播不等待可改用/api/tx/submit/接口对应源码逻辑见ex/lib/api/api_tx.ex中的submit/1函数。五、查询交易状态与账户余额提交成功后你会拿到一个 Base58 编码的交易哈希。用它查询链上状态接口同样在rpc_api.ex中定义# 查询交易详情 curl https://mainnet-rpc.ama.one/api/chain/tx/${TXID} # 查询账户余额将 PK 换成你的公钥 curl https://mainnet-rpc.ama.one/api/wallet/balance/${PK}/AMA返回的 JSON 中receipt.success为true表示交易执行成功metadata.status为finalized表示已最终确认。balance接口会返回flat最小单位整数和float浮点 AMA两个字段。六、常见问题速查问题原因与解决提交后返回invalid_receiver_pk收款方公钥不是合法的 48 字节 BLS 公钥检查 Base58 编码是否正确查询余额为 0公钥传错或编码格式不符代码内部会按 48 字节长度自动识别maybe_b58格式本地节点无法同步检查ex/config/runtime.exs中的RPC_URL环境变量默认指向主网想批量转账项目提供了transfer_bulk函数支持一次提交多笔见rpc_api.ex七、下一步进阶方向提交完第一笔交易后你可以继续探索部署 WASM 合约参考contract_samples/assemblyscript/与contract_samples/rust/用 AssemblyScript 或 Rust 编写链上合约内置 NFT 操作调用Nft合约的transfer函数参数为[收款方, 数量, 集合, token]本地开发调试运行localnet.sh搭建 5 节点网络配合http_request_limits_test.exs等测试理解节点行为整个交易链路的核心源码都集中在ex/lib/api/目录下api_tx.ex负责构建与提交、api_wallet.ex负责密钥与转账、rpc_api.ex封装了全部 RPC 调用。现在打开你的终端生成密钥、构建交易、提交主网完成你的 AMA Protocol 首笔交易吧【免费下载链接】node项目地址: https://gitcode.com/GitHub_Trending/node95/node创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考