如何将 RSK 节点暴露给外部网络?

How to expose RSK node to an external network?

我在将我的 RSK 节点暴露给外部 IP 时遇到问题。 我的启动命令如下所示:

java \
  -cp $HOME/Downloads/rskj-core-3.0.1-IRIS-all.jar \
  -Drsk.conf.file=/root/bitcoind-lnd/rsk/rsk.conf \
  -Drpc.providers.web.cors=* \
  -Drpc.providers.web.ws.enabled=true \
  co.rsk.Start \
  --regtest

这是我的 rsk.conf:

rpc {
 
     providers {
         web {
             cors: "*",
             http {
                 enabled = true
                 bind_address = "0.0.0.0"
                 hosts = ["localhost", "0.0.0.0"]
                 port: 4444
             }
         }
     }
 }

API 可以从本地主机访问,但是从外部网络我得到错误 400。我如何将它暴露给外部网络?

您应该将您的外部 IP 添加到 hosts。仅添加 0.0.0.0 不足以表明所有 IP 都有效。需要为您在 rsk.conf 中配置的端口号启用端口转发,在本例中为默认值 4444

rpc {
     providers {
         web {
             cors: “*”,
             http {
                 enabled = true
                 bind_address = “0.0.0.0"
                 hosts = [“localhost”, “0.0.0.0", “216.58.208.100”]
                 port: 4444
             }
         }
     }
 }

其中 216.58.208.100 是您的外部 IP