如何配置hedera-local-node连接至Hedera Testnet?
如何将本地hedera-local-node从私有网络切换连接到Hedera Testnet
背景
我已通过Docker完成hedera-local-node私有本地节点部署,现在希望将其改为连接Hedera Testnet。查阅项目文档后得知,可通过-n/--network选项启动/重启节点时应用预配置网络(包括mainnet、previewnet、testnet、local),仓库中也存在configs/testnet.json配置文件,但不清楚具体操作步骤。
当前运行状态验证
运行docker-compose up -d后,可正常访问镜像节点的REST API及标准JSON-RPC端点:
- 调用REST API查询交易:
curl http://localhost:5551/api/v1/transactions
返回示例(省略部分内容):
{"transactions":[{"bytes":null,"charged_tx_fee":0,"consensus_timestamp":"1682040490.496223130","entity_id":null,"max_fee":"10000","memo_base64":"MTY4MjA0MDQ5MDQ2OSBNb25pdG9yIHBpbmdlciBvbiBiNzgwMWRkM2Y3NTI=","name":"CRYPTOTRANSFER","node":"0.0.3","nonce":0,"parent_consensus_timestamp":null,"result":"SUCCESS","scheduled":false,"staking_reward_transfers":[],"transaction_hash":"PeUl+/RYyqZx59GMkycTLVaCQ6t6QCuAAQfs02srK1qv/PxE5Gq+RBip0V+8Gvlm","transaction_id":"0.0.2-1682040481-853424739","transfers":[{"account":"0.0.2","amount":-1,"is_approval":false},{"account":"0.0.55","amount":1,"is_approval":false}],"valid_duration_seconds":"120","valid_start_timestamp":"1682040481.853424739"},{"bytes":null,"charged_tx_fee":0,"consensus_timestamp":"1682040489.495783796","entity_id":null, ...
- 调用JSON-RPC获取客户端版本:
curl \ -H "Content-Type: application/json" \ -X POST \ --data '{"jsonrpc":"2.0", "method":"web3_clientVersion", "params":[], "id":1234}' \ http://localhost:7546/
返回:
{"result":"relay/0.20.1","jsonrpc":"2.0","id":1234}
- 调用JSON-RPC获取链ID:
curl \ -H "Content-Type: application/json" \ -X POST \ --data '{"jsonrpc":"2.0", "method":"eth_chainId", "params":[], "id":1234}' \ http://localhost:7546/
返回:
{"result":"0x12a","jsonrpc":"2.0","id":1234}
注意:当前返回的链ID为
298(十六进制0x12a),与Hedera Testnet的链ID296不匹配,说明节点仍连接私有网络。
操作步骤
1. 停止当前运行的节点容器
先停止并移除现有容器,避免配置冲突:
docker-compose down
2. 启动节点并指定Testnet配置
根据启动方式选择对应命令:
- 使用仓库提供的启动脚本:
./start.sh --network testnet
- 直接使用docker-compose命令:
docker-compose -f docker-compose.yml -f docker-compose.testnet.yml up -d
3. 验证连接结果
启动完成后,再次调用链ID接口验证:
curl \ -H "Content-Type: application/json" \ -X POST \ --data '{"jsonrpc":"2.0", "method":"eth_chainId", "params":[], "id":1234}' \ http://localhost:7546/
若返回{"result":"0x128","jsonrpc":"2.0","id":1234}(0x128对应十进制296),则说明已成功连接Hedera Testnet。
4. 自定义Testnet配置(可选)
如需调整Testnet的参数,可修改configs/testnet.json文件,然后启动时指定自定义配置:
./start.sh --config configs/testnet.json
内容的提问来源于stack exchange,提问作者bguiz
相关产品推荐
相关产品推荐

