当前位置: 首页 > news >正文

如何在10分钟内跑起AMA Protocol本地测试网?保姆级教程

如何在10分钟内跑起AMA Protocol本地测试网?保姆级教程

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

想体验AMA Protocol 本地测试网,却担心区块链节点搭建太复杂?别慌!AMA Protocol 是一个主打隐私的 Layer 1 公链,采用 MatMul 矩阵乘法工作量证明(UPoW)、500ms 出块、支持 WASM 智能合约,代码完全开源。本教程将手把手带你用 Docker 构建节点、一键跑起本地测试网,并在 10 分钟内完成从零到部署智能合约的全过程,全程零基础也能跟上!


🚀 为什么你需要一个本地测试网?

在动手之前,先搞清楚"本地测试网"到底能干什么:

使用场景说明
🧪 智能合约调试免费部署、反复调用,不用花一分钱 Gas
🔧 源码学习观察 500ms 出块、区块状态如何在本地流转
💻 前端开发本地 RPC 接口对接钱包和 DApp,调试更方便
📖 协议研究理解 UPoW、BLS12-381 签名、VecPak 序列化等机制

本地测试网就是你的"私人沙盒",想怎么折腾都行。


✅ 第一步:环境准备(保姆级清单)

本项目已在 Ubuntu 24.04 + Linux Kernel 6.8 上测试通过,你需要准备:

  • 🐧Linux 系统(推荐 Ubuntu 24.04,虚拟机也可以)
  • 🐳Docker 或 Podman(用于构建节点二进制)
  • 🌐Chrome 浏览器(访问本地 RPC 面板需要特殊参数启动)
  • 📦Git(拉取源码)

💡 没有 Docker?也没关系,项目同样支持本地 Elixir 环境构建,详细步骤见 contract_samples/GETTINGSTARTED.md。


📦 第二步:获取源码并构建节点(最快构建方法)

1. 克隆仓库

git clone https://gitcode.com/GitHub_Trending/node95/node

2. 构建节点二进制

进入ex/目录,使用 Docker 构建,全程自动化:

cd node/ex/ docker build --tag erlang_builder -f build.Dockerfile ./build.sh

构建完成后,目录下会生成一个名为amadeusd的可执行文件,这就是 AMA 协议节点本体。

🔍 想了解节点内部结构?可以翻翻 ex/ex.ex 看启动逻辑,ex/lib/node/node_gen.ex 是核心节点状态机。


🔥 第三步:10 分钟跑起本地测试网(核心步骤)

构建成功后,只需要 3 个小配置 + 1 条命令,就能启动本地测试网:

配置 1:绑定本地域名

把 RPC 地址指向本机:

sudo vim /etc/hosts # 添加一行 127.0.0.1 nodes.amadeus.bot

配置 2:开放 80 端口监听权限

sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80

配置 3:用 Chrome 调试模式打开 RPC 面板

mkdir -p /tmp/chrome_debug google-chrome --user-data-dir="/tmp/chrome_debug" --no-first-run \ --ignore-certificate-errors --disable-web-security \ --unsafely-treat-insecure-origin-as-secure=https://nodes.amadeus.bot

启动!一条命令搞定

TESTNET=true WORKFOLDER=/tmp/testnet HTTP_IPV4=127.0.0.1 HTTP_PORT=80 ./amadeusd

启动后,节点会自动生成创世区块(genesis)和 10 个随机测试密钥,一个独立的本地测试网就此诞生 🎉

⚙️ 环境变量含义:TESTNET=true开启测试网模式、WORKFOLDER指定数据目录、HTTP_PORT=80让 RPC 接口监听 80 端口。


🌐 第四步:验证测试网是否正常运行

节点启动后会进入 Elixir 的 REPL(交互式命令行)。最简单的验证方法——在 REPL 里提交一笔转账:

pk = Application.fetch_env!(:ama, :trainer_pk) sk = Application.fetch_env!(:ama, :trainer_sk) Testnet.call(sk, "Coin", "transfer", [pk, "1", "AMA"])

看到交易成功返回,说明本地测试网已正常出块、打包、上链

同时,你也可以用 RPC 接口验证:

curl http://localhost/api/chain/stats

返回链的高度、出块信息等数据,RPC 服务(定义见 ex/lib/http/multiserver.ex)正常工作 ✅


🧪 第五步:部署你的第一个 WASM 智能合约

测试网跑起来了,不部署个合约体验一下说不过去!项目自带 4 个 AssemblyScript 合约示例,位于 contract_samples/assemblyscript:

  • 🎯0_counter.ts— 计数器,最简单的入门合约
  • 💰1_deposit.ts— 充值/提现
  • 🪙2_coin.ts— 发行代币
  • 🖼️3_nft.ts— NFT 铸造

编译合约

cd contract_samples/assemblyscript npm install --global assemblyscript asc 0_counter.ts --target release --importMemory \ --memoryBase 65536 --outFile counter.wasm

部署并调用

回到节点 REPL 中:

key0 = Application.fetch_env!(:ama, :keys) |> Enum.at(0) Testnet.deploy key0, "counter.wasm" # 部署 Testnet.call key0.seed, key0.pk, "increment", ["1"] # 调用 Testnet.call key0.seed, key0.pk, "get", [] # 查询

📖Testnet模块封装了部署、调用、查询等全部测试操作,完整源码见 ex/lib/misc/testnet.ex;更多合约示例见 contract_samples/README.md。


🧩 进阶玩法:一键启动 5 节点本地网络

单节点不过瘾?项目提供了localnet.sh脚本,一键启动5 节点 / 10 验证人的完整测试网络,还自带网络延迟模拟:

cd ex/ ./localnet.sh # 默认数据目录 /tmp/ama-localnet NET=/my/net ./localnet.sh # 自定义数据目录

该脚本会自动完成:生成 10 个验证人密钥 → 创建创世区块 → 分发数据库 → 启动 5 个节点(分别模拟 0/15/30/100/200ms 延迟),日志输出到$NET/n0.log~n4.log。脚本逻辑见 ex/localnet.sh,非常适合研究节点同步与共识机制 👨‍🔬


🛠️ 常见问题排查(FAQ)

问题解决方案
80 端口无法监听检查是否执行了sysctl -w net.ipv4.ip_unprivileged_port_start=80
浏览器证书报错必须使用文档中的 Chrome 调试参数启动浏览器
构建过程报错确认 Docker/Podman 已正确安装,并参考 README.md 的构建说明
想了解更多协议细节阅读 DOCS.md,包含协议参数与网络资源一览

🎓 总结

恭喜!你已经掌握了AMA Protocol 本地测试网的完整搭建流程:Docker 构建节点 → 一键启动 → RPC 验证 → 部署智能合约。整个流程熟练后真的可以10 分钟搞定

接下来你可以尝试:编译 Rust 合约(见 contract_samples/rust)、对接钱包 SDK、甚至研究 UPoW 共识源码(ex/lib/consensus)。本地测试网就是你探索区块链世界的游乐场,放心大胆地折腾吧!

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

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

http://www.cnnetsun.cn/news/4135291.html

相关文章:

  • 基于拓扑意识场论(TCFT)的碳硅共生体法律主体资格核心标准详析
  • AI短剧制作全流程拆解:从脚本到成片的工程化实践指南
  • 从模型里删掉汽车:Erasing Concepts from Diffusion Models物体擦除实战
  • 基于AI与混合搜索的企业知识库构建:从语义检索到RBAC权限管理
  • Enterprise Commerce 重定向优化:如何用布隆过滤器处理数万条重定向零延迟
  • 2026年Java面试题库与备考策略全解析
  • EmbodiedScan多视角3D检测实战:从零训练你的第一个检测模型(附完整命令)
  • 基于Spring Boot与Vue的论坛数据可视化系统全栈开发实战
  • zigbee_home传感器类型大盘点:12种传感器配置快速参考指南
  • 从零部署本地AI智能体:基于WorkBuddy与Ollama的实战指南
  • 人形机器人退潮,场景化落地成为AI与机器人行业新焦点
  • 基于SSM的智能密室逃脱信息管理系统(毕业设计项目源码+文档)
  • 打造专属无线控制器:AbletonOSC+TouchOSC连接Ableton Live实战教程
  • 从零认识AMA Protocol:隐私Layer 1如何赋能AI智能体经济
  • 老 Mac 卡在旧系统?OpenCore Legacy Patcher 完整实战:从安装器制作到根补丁,一学就会
  • C++11类与可变模板:编译期契约与类型计算的革命
  • 3 大分支架构解读:action-detection 中活动分类、完整性评估与位置回归
  • 天津GEO优化公司哪家好:服务商能力与口碑对比指南版
  • 从调研到投稿全链路指南:助力创作者高效完成内容产出与投稿全流程事项
  • 游戏王离线对战方案实测:YgoMaster 让你断网也能畅玩大师决斗
  • 大模型开发实战:从本地部署到RAG与Agent应用全流程指南
  • Node.js依赖安装安全实践:使用sandbox-npm-install隔离生命周期脚本风险
  • python的运筹学工业场景模拟第八十篇:读取仓库容量台账,剔除损坏库区,得到各仓库最大存储上限,构建库存约束。
  • Java+Vue在线招投标系统毕业设计:从部署到核心模块深度解析
  • SSM框架实现智能招聘系统:技术解析与优化实践
  • SolidWorks企业级机械设计实战:从需求到图纸的完整流程
  • 洛雪音乐音源全流程拆解:从首次导入到多平台无损播放
  • 一个软件听遍全网音乐:免费开源的洛雪音乐助手使用心得
  • 利用UU远程实现AI工具远程访问:环境隔离与高效开发实践
  • IOL-AI挑战:突破大模型语言推理瓶颈的评测新范式