news 2026/8/21 17:05:06

用curl玩转AMA Protocol:7个必知的RPC端点与返回结构详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用curl玩转AMA Protocol:7个必知的RPC端点与返回结构详解

用curl玩转AMA Protocol:7个必知的RPC端点与返回结构详解

【免费下载链接】node项目地址: https://gitcode.com/GitHub_Trending/node95/node

如果你刚接触 AMA Protocol,想通过 curl 快速调用其 RPC 端点查询链上数据,这篇文章就是为你准备的。AMA Protocol 是一个面向 AI Agent 的隐私 Layer 1 公链,采用基于 MatMul 矩阵乘法的 UPoW 共识,出块时间仅 500ms,签名使用 BLS12-381,智能合约基于 WASM。本文将带你逐个掌握 7 个最常用的 RPC 接口,并详细拆解每个端点的返回 JSON 结构,让你无需任何 SDK 就能用 curl 玩转链上查询。

准备工作:快速了解 AMA Protocol RPC

AMA Protocol 节点(AmadeusD)内置了一个轻量级 HTTP 服务器(multiserver.ex),所有 RPC 端点都以/api/开头,返回 JSON 格式数据。你只需要一个 curl 命令即可调用:

curl -s https://mainnet-rpc.ama.one/api/chain/stats

💡 测试网 RPC 地址为https://testnet-rpc.ama.one,开发调试建议先连测试网。

节点内部还提供了一套 RPC 客户端封装(rpc_api.ex),服务端路由则集中在 multiserver.ex 中,想深入源码可以对照查看。

端点一:/api/chain/stats — 一键查看全网状态

这是最常用的"总览"接口,返回当前区块高度、供应量、验证者等核心指标,对应实现见 api_chain.ex。

curl -s https://mainnet-rpc.ama.one/api/chain/stats

返回结构的关键字段:

字段含义
height当前区块高度
tip_hash最新区块哈希(Base58)
total_supply总供应量
circulating流通量
burned已销毁的 AMA
tx_pool_size交易池待处理数量
pflops全网算力估算(PFLOPS)

端点二:/api/chain/tip — 获取最新区块详情

想拿到链上最新一笔确认,直接查 tip 即可,返回当前链头 entry 的完整信息。

curl -s https://mainnet-rpc.ama.one/api/chain/tip

返回结构要点:

  • entry.hash:区块哈希(Base58)
  • entry.header.height:区块高度
  • entry.header.signer:出块者公钥
  • entry.tx_count:该区块包含的交易数
  • entry.consensus.score:共识得分(≥0.67 表示已达最终性)

端点三:/api/chain/height/{height} — 按高度查询历史区块

想回看某个历史区块,把高度填进 URL 即可,非常适合写区块浏览器的分页逻辑。

curl -s https://mainnet-rpc.ama.one/api/chain/height/100000

若加txs变体/api/chain/height_with_txs/{height}还能一并返回区块内的所有交易(见 multiserver.ex)。找不到时会返回{"error":"not_found"}

端点四:/api/chain/tx/{txid} — 查询单笔交易状态

交易哈希通常以 Base58 编码,用这个端点可以查看交易是否上链、执行结果如何。

curl -s https://mainnet-rpc.ama.one/api/chain/tx/<TXID>

返回结构包含:

  • hash:交易哈希
  • tx.signer:发送方公钥
  • tx.action.contract/tx.action.function:调用的合约与函数
  • tx.action.args:调用参数列表
  • receipt.success:执行是否成功
  • receipt.result:执行结果
  • metadata.entry_hash:所在区块哈希

配合/api/tx/submit_and_wait/{packed}?finalized=true还能提交交易并等待最终确认,转账场景可直接参考 rpc_api.ex 的封装写法。

端点五:/api/wallet/balance/{pk}/{symbol} — 查询钱包余额

这是新手最常用的端点:传入 Base58 公钥即可查询余额,第二个路径参数可以指定币种(默认 AMA)。

curl -s https://mainnet-rpc.ama.one/api/wallet/balance/<你的公钥>/AMA

返回结构:

{ "error": "ok", "balance": { "symbol": "AMA", "flat": 5000000000, "float": 5.0 } }

📌flat是最小单位整数,float是带小数的展示值,转账时记得用flat精度。实现见 api_wallet.ex。

想查地址上所有资产,用/api/wallet/balance_all/{pk},会返回各币种余额数组。

端点六:/api/epoch/score — 查看全网矿工得分榜

AMA Protocol 的 UPoW 共识需要矿工求解 MatMul 矩阵运算,这个端点返回当前 epoch 的矿工算力得分排名(见 api_epoch.ex)。

curl -s https://mainnet-rpc.ama.one/api/epoch/score

返回形如[[矿工公钥, 得分], ...]的数组,按得分降序排列。追加公钥(/api/epoch/score/{pk})可查询单个矿工得分。配合/api/chain/stats中的diff_bitspflops字段,可以估算当前全网难度。

端点七:/api/contract/view/{contract}/{function} — 只读调用智能合约

AMA Protocol 支持 WASM 智能合约,这个 GET 端点可以零 gas 地只读调用任意合约函数,非常适合查询合约状态。

curl -s "https://mainnet-rpc.ama.one/api/contract/view/<合约哈希>/get"

返回结构:

{ "success": true, "result": "5", "logs": [] }

其中result是函数返回值(可能是 Base58 编码的二进制)。需要传参时,可以通过pk查询参数指定调用者身份。想了解合约开发,可以查看 contract_samples/ 目录下的 AssemblyScript 与 Rust 示例。

常见问题速查

Q1:返回 429 代表什么?说明触发了节点限流(rate_limiter.ex 中有窗口计数),降低请求频率即可。

Q2:返回not_found怎么办?链上数据不存在,或该节点启用了裁剪(pruner)且数据已被归档,可换主网 RPC 节点重试。

Q3:为什么有的返回值是 Base58?公钥、哈希等二进制数据统一用 Base58 编码输出,便于传输和展示,解析时可保持原样,切勿当作普通字符串处理。

Q4:如何本地起一个 RPC 测试节点?参考 README.md:clone 仓库后用TESTNET=true ./amadeusd启动本地测试网,把 RPC 指向http://127.0.0.1:80即可随意调试。

小结

以上 7 个 AMA Protocol RPC 端点覆盖了链状态、区块、交易、钱包、矿工与合约六大查询场景,配合 curl 足以完成绝大多数链上数据采集需求。先用测试网练手,再接入主网,别忘了控制请求频率、区分 Base58 编码,你就能把 AMA Protocol 的数据玩得明明白白。🎉

【免费下载链接】node项目地址: https://gitcode.com/GitHub_Trending/node95/node

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 16:59:46

IDM下载加速完全指南:从安装配置到高级优化的12个实用技巧

IDM下载加速完全指南&#xff1a;从安装配置到高级优化的12个实用技巧 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 先说明本文要讲什么&#xff1a;这是一篇围…

作者头像 李华