
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像旨在为Tron开发者搭建完整的私有网络环境,方便进行智能合约开发、测试及部署。镜像内置并暴露以下服务:
使用Docker拉取镜像:
bashdocker pull tronbox/tre
启动容器命令:
bashdocker run -it \ -p 9090:9090 \ --rm \ --name tron \ tronbox/tre
注意:
--rm选项会在容器退出后自动删除容器。这一点非常重要,因为容器无法重启,必须从头运行才能正确配置环境。
执行以下命令检查服务是否正常运行:
bashdocker exec -it tron ps aux
预期输出应包含redis-server、node、eventron等进程,示例如下:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 20044 1900 pts/0 Ss+ 01:42 0:00 bash ./quickstart v2.0.0 root 13 0.2 0.0 50148 1740 pts/0 Sl+ 01:42 0:00 redis-server *:6379 root 16 11.5 19.2 5277964 393692 pts/0 Sl+ 01:42 0:31 java -jar FullNode.jar -c fullnode.conf --witness ...(省略部分进程)
若redis-server、node或event server未运行,需退出并重新启动容器。
执行以下命令查看FullNode日志:
bashdocker exec -it tron tail -f /tron/FullNode/logs/tron.log
将tronbox.js文件配置为:
javascriptmodule.exports = { networks: { development: { privateKey: '0000000000000000000000000000000000000000000000000000000000000001', fullHost: "http://127.0.0.1:9090", network_id: "9" } } };
实例化TronWeb示例:
javascriptconst TronWeb = require('tronweb') const tronWeb = new TronWeb( "http://127.0.0.1:9090", "http://127.0.0.1:9090", "http://127.0.0.1:9090", '0000000000000000000000000000000000000000000000000000000000000001', )
Tron Quickstart默认生成10个测试账户(可通过配置修改数量),交易确认后会输出账户信息:
可用账户 ================== (0) TJdDmJVYa9TcMJvCc9WsdaEXEYgeJrGVPq (100000 TRX) (1) TNmLX3rJZNdq7kxgxs1y39FP3hp8LWHLUX (100000 TRX) ...(省略其他账户) 私钥 ================== (0) 86134c8a51446c21b501f3a05844e18fdb72d3a5420867737c8640ce0ec656ca (1) 57e04ac5484dd2c3d97b44c5e232b6203c2759642f38c5ea6787b0e4044de165 ...(省略其他私钥) 助记词钱包 ================== 助记词: treat nation math panel calm spy much obey moral hazard they sorry 基础HD路径: m/44'/60'/0'/0/{account_index}
Quickstart 选项
通过-e参数传递环境变量配置容器,示例:
bashdocker run -it \ -p 9090:9090 \ --rm \ --name tron \ -e "accounts=20" \ tronbox/tre
可用选项:
accounts=12:设置生成的账户数量useDefaultPrivateKey=true:将默认账户设为accounts[0]mnemonic=wrong bit chicken kitchen rat:使用指定助记词defaultBalance=100000:设置账户初始TRX余额(示例为100,000 TRX)seed=ushwe63hgeWUS:设置生成助记词的种子(未指定时自动生成)hdPath=m/44'/60'/0'/0:自定义HD路径formatJson=true:格式化输出内容preapprove=multiSignFee:1,allowMultiSign:1:预批准提案(完整提案列表见链参数,需移除参数名中的"get"并小写首字母)查看可用账户
通过curl命令获取账户信息:
bash# 默认格式(Base58) curl http://127.0.0.1:9090/admin/accounts # Hex格式 curl http://127.0.0.1:9090/admin/accounts?format=hex # 同时显示两种格式 curl http://127.0.0.1:9090/admin/accounts?format=all
生成额外账户
若测试需更多账户,可使用以下代码生成并获取:
javascriptasync function newTestAccounts(amount) { return await tronWeb.fullNode.request('/admin/temporary-accounts-generation?accounts=' + amount); } async function getTestAccounts() { const accounts = { b58: [], hex: [], pks: [] } const accountsJson = await tronWeb.fullNode.request('/admin/accounts-json'); accounts.pks = accountsJson.more[accountsJson.more.length - 1].privateKeys for (let i = 0; i < accounts.pks.length; i++) { let addr = tronWeb.address.fromPrivateKey(accounts.pks[i]); accounts.b58.push(addr); accounts.hex.push(tronWeb.address.toHex(addr)); } return accounts; }
若需每次运行使用相同账户,有两种方式:
-e mnemonic=...)accounts.json文件,示例:bashif [[ ! -d "accounts-data" ]]; then mkdir accounts-data; fi docker run -it -p 9090:9090 \ --name tron \ -v $PWD/accounts-data:/config \ tronbox/tre
若accounts-data/accounts.json存在,Tron Quickstart会自动使用其中的私钥。
默认代理服务器输出详细日志,可通过环境变量调整:
-e "quiet=true":仅输出关键信息-e "verbose=true":输出详细日志(与quiet=true同时存在时,verbose优先)-e "showQueryString=true"(显示查询字符串)、-e "showBody=true"(显示POST参数)通过curl命令随时更新环境变量:
bashcurl http://127.0.0.1:9090/admin/set-env?showBody=true
通过容器内的tronWeb控制台交互:
bashdocker exec -it tron ./tronWeb
控制台会自动初始化tronWeb实例,可直接执行命令验证,如tronWeb.toHex("some")。
若需通过RPC连接私有网络(如使用https://github.com/***/***cli%EF%BC%89%EF%BC%8C%E6%9A%B4%E9%9C%B2%E5%AF%B9%E5%BA%94%E7%AB%AF%E5%8F%A3%E5%8D%B3%E5%8F%AF%EF%BC%9A
bashdocker run -it -p 50051:50051 -p 50052:50052 \ --name tron \ tronbox/tre
TronBox可能对本地网络造成较大负载,若FullNode繁忙会返回"SERVER_BUSY"错误,此时重试命令即可。
1.0.1(查看https://hub.docker.com/r/tronbox/tre/tags/%E8%8E%B7%E5%8F%96%E6%9B%B4%E6%96%B0%EF%BC%89docker pscurl localhost:9090/wallet/getnodeinfo您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务