运行hedera-json-rpc-relay连接Hedera Testnet配置报错如何解决?
连接Hedera Testnet的RPC中继配置问题
我按照hedera-json-rpc-relay的docs/configuration.md文档指引,尝试运行RPC中继连接Hedera Testnet,配置如下:
HEDERA_NETWORK=TESTNET OPERATOR_ID_MAIN=0.0.3996280 OPERATOR_KEY_MAIN=<redacted> OPERATOR_ID_ETH_SENDRAWTRANSACTION= OPERATOR_KEY_ETH_SENDRAWTRANSACTION= CHAIN_ID=0x128 MIRROR_NODE_URL=https://testnet.mirrornode.hedera.com/ E2E_RELAY_HOST=
注:OPERATOR_ID_MAIN和OPERATOR_KEY_MAIN已从门户获取,且已在其他交易中成功使用。
文档中对HEDERA_NETWORK的说明为:
指定要连接的网络,会自动填充主节点和镜像节点端点。可选值为MAINNET、PREVIEWNET、TESTNET,或IP到节点账户ID的映射,例如{"127.0.0.1:50211":"0.0.3"}
但执行npm run start时,出现错误Error: unknown network: TESTNET,尽管文档明确说明TESTNET是允许的值。完整报错日志如下:
> start > npx lerna exec --scope @hashgraph/json-rpc-server -- npm run start lerna notice cli v6.4.1 lerna info versioning independent lerna notice filter including "@hashgraph/json-rpc-server" lerna info filter [ '@hashgraph/json-rpc-server' ] lerna info Executing command in 1 package: "npm run start" > @hashgraph/json-rpc-server@0.23.0-SNAPSHOT start > node dist/index.js [2023-04-21 03:25:43.036 +0000] INFO (rpc-server/97941 on admins-MBP): Configurations successfully loaded /Users/user/code/hedera/hedera-json-rpc-relay/node_modules/@hashgraph/sdk/lib/client/NodeClient.cjs:279 throw new Error( ^ Error: unknown network: TESTNET at NodeClient._setNetworkFromName (/Users/user/code/hedera/hedera-json-rpc-relay/node_modules/@hashgraph/sdk/lib/client/NodeClient.cjs:279:15) at new NodeClient (/Users/user/code/hedera/hedera-json-rpc-relay/node_modules/@hashgraph/sdk/lib/client/NodeClient.cjs:94:14) at NodeClient.forName (/Users/user/code/hedera/hedera-json-rpc-relay/node_modules/@hashgraph/sdk/lib/client/NodeClient.cjs:164:12) at RelayImpl.initClient (/Users/user/code/hedera/hedera-json-rpc-relay/packages/relay/dist/lib/relay.js:69:35) at new RelayImpl (/Users/user/code/hedera/hedera-json-rpc-relay/packages/relay/dist/lib/relay.js:42:32) at Object.<anonymous> (/Users/user/code/hedera/hedera-json-rpc-relay/packages/server/dist/server.js:57:15) at Module._compile (node:internal/modules/cjs/loader:1254:14) at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Module._load (node:internal/modules/cjs/loader:958:12) Node.js v18.15.0 npm ERR! Lifecycle script `start` failed with error: npm ERR! Error: command failed npm ERR! in workspace: @hashgraph/json-rpc-server@0.23.0-SNAPSHOT npm ERR! at location: /Users/user/code/hedera/hedera-json-rpc-relay/packages/server lerna ERR! npm run start exited 1 in '@hashgraph/json-rpc-server' lerna ERR! npm run start exited 1 in '@hashgraph/json-rpc-server'
正确配置方案
这个错误源于你使用的中继版本(0.23.0-SNAPSHOT)依赖的Hedera SDK对网络名称大小写有严格要求,需使用小写的testnet而非文档中写的大写TESTNET。
方案一:修改网络名称大小写
修改后的完整配置如下:
HEDERA_NETWORK=testnet OPERATOR_ID_MAIN=0.0.3996280 OPERATOR_KEY_MAIN=<redacted> OPERATOR_ID_ETH_SENDRAWTRANSACTION= OPERATOR_KEY_ETH_SENDRAWTRANSACTION= CHAIN_ID=0x128 MIRROR_NODE_URL=https://testnet.mirrornode.hedera.com/ E2E_RELAY_HOST=
方案二:直接指定Testnet节点映射
也可以绕过名称校验,直接配置Testnet的节点IP与账户ID映射:
HEDERA_NETWORK='{"35.237.200.180:50211":"0.0.3","35.186.191.247:50211":"0.0.4","35.192.2.25:50211":"0.0.5","35.203.82.240:50211":"0.0.6","35.236.5.219:50211":"0.0.7","35.199.161.108:50211":"0.0.8","35.242.233.154:50211":"0.0.9","35.240.118.96:50211":"0.0.10","35.201.117.109:50211":"0.0.11","35.228.118.209:50211":"0.0.12"}' OPERATOR_ID_MAIN=0.0.3996280 OPERATOR_KEY_MAIN=<redacted> OPERATOR_ID_ETH_SENDRAWTRANSACTION= OPERATOR_KEY_ETH_SENDRAWTRANSACTION= CHAIN_ID=0x128 MIRROR_NODE_URL=https://testnet.mirrornode.hedera.com/ E2E_RELAY_HOST=
内容的提问来源于stack exchange,提问作者bguiz
相关产品推荐
相关产品推荐

