
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Neutron节点版本: v9.0.0
本镜像提供自动化创建和执行Neutron网络主网分叉的工具,助力开发者进行集成测试。在***快速迭代的环境中,预测试至关重要。通过主网分叉,开发者可在模拟当前主网的环境中严格测试合约、模块及其他功能。
注意‼️:分叉使用的Neutron镜像已禁用签名验证,因此您可以代表任何账户发送交易,以简化测试流程。请不要将此分叉用于其他目的。测试脚本提供了https://github.com/hadronlabs-org/rehearsal/blob/main/src/libs/wallet.ts#L3%EF%BC%8C%E5%85%81%E8%AE%B8%E6%82%A8%E4%BB%A3%E8%A1%A8%E4%BB%BB%E4%BD%95%E8%B4%A6%E6%88%B7%E5%8F%91%E9%80%81%E4%BA%A4%E6%98%93%E3%80%82
为确保项目平稳运行,建议满足以下硬件规格:
注意:这些要求基于Neutron网络处理的标准数据量。更密集的操作或***规模增长可能需要更强大的硬件。
请确保已安装以下软件:
创建主网分叉有多种应用场景:
这种方法增强了***社区的信任,有助于防止变更上线时出现意外问题。
./script 目录: 所有与快照创建和分叉操作相关的脚本均位于此目录,包含自动化项目内各种任务的必要工具;./contract 目录: 用于存储待测试的合约,处理特定合约或部署新合约时应放置于此;./snapshot 目录: 包含使用 make create-mainnet-snapshot 命令生成的最新快照,请保持其完整性。熟悉此目录结构可帮助您更高效地导航和修改项目。
若需通过CLI代表任何账户发送交易,请执行以下步骤:
--offline 标志创建交易,例如:
bashneutron tx bank send <您拥有私钥的账户> neutron1f6s4550dzyu0yzp7q2acn47mp5u25k0xa96pqy 5000000untrn --offline
bashneutrond tx sign tx-ex.json --chain-id pion-1 --from <上一步使用的账户>
/cosmos.bank.v1beta1.MsgSend 消息中替换 from_address 为您实际要发送资金的地址;neutrond tx broadcast 将交易广播到分叉网络。本仓库旨在编写集成测试,评估系统不同部分的行为,尤其是网络提案的执行。测试使用 vitest 框架编写。
bashyarn test
bashyarn watch
可设置以下环境变量以自定义脚本和测试的行为:
运行任何操作前,请在 docker-compose.yml 中适当设置这些变量。
创建主网快照
使用以下命令:
bashmake build-mainnet-snapshot-image
该命令内部运行 neutrond export,将花费约1小时准备主网快照并放入 ./snapshot 目录。
请注意:这是一个耗时操作,至少需要20分钟,具体取决于硬件性能。 但您无需自行创建快照,因为有专用快照服务每6小时创建一次原始快照。若
./snapshot目录为空,make create-mainnet-snapshot命令会自动下载这些快照。
快照与分叉的启动、停止和管理
用户可灵活地将自己的设置集成到创世块中,只需创建名为 custom.sh 的脚本即可。该脚本将接收当前创世块的路径和修改后创世块的存放路径作为输入。请遵循以下步骤:
custom.sh 的脚本,包含您的特定配置或逻辑;bash#!/bin/bash CURRENT_GENESIS_PATH="$1" MODIFIED_GENESIS_PATH="$2" # 您的自定义配置和修改逻辑在此处 cp $CURRENT_GENESIS_PATH $MODIFIED_GENESIS_PATH
custom.sh 脚本的目录。在Docker Compose中,可在 docker-compose.yml 文件中添加如下条目:
yamlvolumes: - ./custom/:/opt/neutron/custom
custom.sh 脚本将自动执行,在初始化过程中应用您的个性化设置到创世块。这种方法提供了一种无缝方式,可根据特定需求或配置定制创世块,同时保持原始设置的完整性。请确保 custom.sh 脚本具有执行权限和处理创世块文件的权限。
您无需从源代码构建Docker容器,可直接使用Docker Hub上的容器:https://hub.docker.com/r/neutronorg/rehearsal%E3%80%82
构建主网快照镜像
创建Neutron主网快照的镜像。该命令构建 neutron-mainnet-snapshot 容器,其中 neutrond 节点使用statsync导出状态。
bashmake build-mainnet-snapshot-image
创建主网快照
运行 neutron-mainnet-snapshot 容器生成快照,将保存到 ./snapshot 目录。
bashmake create-mainnet-snapshot
停止主网快照容器
停止 neutron-mainnet-snapshot 容器的执行:
bashmake stop-mainnet-snapshot
运行主网分叉
注意:您无需构建快照容器即可运行分叉。若 snapshot/snapshot.json 中没有快照文件,将自动从 https://snapshot.neutron.org/ 下载。
构建主网分叉镜像
构建 neutron-mainnet-fork 容器。该命令设置 neuntrond 节点,使用从最新网络快照派生的创世块,并引入某些参数修改。此外,它缓存网络状态以加快节点启动速度。
bashmake build-mainnet-fork-image
启动主网分叉
启动 neutron-mainnet-fork 容器:
bashmake start-mainnet-fork
构建并运行Slinky Sidecar容器
Sidecar是Neutron节点获取 oracle 价格所必需的。构建并运行它:
bashmake build-oracle make start-oracle
停止主网分叉容器
停止 neutron-mainnet-fork 容器的运行:
bashmake stop-mainnet-fork
停止Slinky Sidecar
停止Slinky Sidecar容器:
bashmake stop-oracle
要运行PingPub浏览器,请使用以下命令:
bashdocker run --rm -p 5173:5173 -p 1318:1318 -p 26858:26858 --env API_URL=http://dev_server:1317 --env RPC_URL=http://dev_server:26657 neutronorg/pingpub
若您希望为该项目贡献或报告问题,请在仓库中提交拉取请求或提出问题。如需进一步研究,建议查看GitHub上的https://github.com/neutron-org/mainnet-fork-tests%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务