DockerノードRPCを有効にする方法は?
2 回答
- 投票
-
- 2019-02-16
現時点では、次のように機能しているようです:
alphanet.sh start --rpc-port 127.0.0.1:8732
.--rpc-port
ではなく--rpc-addr
に注意してください.これはalphanet.shの特殊なケースのオプションです.これによりエントリが挿入されます:
ports: - "127.0.0.1:8732:8732"
生成されたdocker-compose.yamlに、RPCが指定されたポートでローカルホストに公開されるようにします-tezos-nodeの
--rpc-addr
で通常どおりに公開されていますそれ自体ですが、コンテナ内のみです.これは文書化されており、次のようなものです.
./scripts/alphanet.sh start [--rpc-port <int>] [OPTIONS] Launch a full Tezos alphanet node in a docker container automatically generating a new network identity. OPTIONS (others than --rpc-port) are directly passed to the Tezos node, see './scripts/alphanet.sh shell tezos-node config --help' for more details. By default, the RPC port is not exported outside the docker container. WARNING: when exported some RPCs could be harmful (e.g. 'inject_block', 'force_validation', ...), it is advised not to export them publicly.
ポートが予期されていたとしても(
<int>
)、--rpc-port 127.0.0.1:8732
はたまたま機能し、一般的に安全であるはずです.At the moment the following appears to work:
alphanet.sh start --rpc-port 127.0.0.1:8732
.Note
--rpc-port
and NOT--rpc-addr
, this is a special case option in alphanet.sh.This will insert a entry:
ports: - "127.0.0.1:8732:8732"
into the generated docker-compose.yaml, causing the RPC to be exposed to localhost at the specified port -- it was already exposed as usual with
--rpc-addr
in the tezos-node itself, but only inside the container.This is documented, sort of:
./scripts/alphanet.sh start [--rpc-port <int>] [OPTIONS] Launch a full Tezos alphanet node in a docker container automatically generating a new network identity. OPTIONS (others than --rpc-port) are directly passed to the Tezos node, see './scripts/alphanet.sh shell tezos-node config --help' for more details. By default, the RPC port is not exported outside the docker container. WARNING: when exported some RPCs could be harmful (e.g. 'inject_block', 'force_validation', ...), it is advised not to export them publicly.
Even though a port was expected (
<int>
),--rpc-port 127.0.0.1:8732
happens to work, and should be generally safer. -
- 2019-03-22
8732ポートでrpcを開始するには
./alphanet.sh start --rpc-port 8732
alphanet.shスクリプトファイルに記載されているように、ポートを指定して、以下に説明するように、startコマンドで--rpc-portオプションを使用できます.
./alphanet.sh start [--rpc-port <int>] [OPTIONS]"
Dockerコンテナで完全なTezosalphanetノードを自動的に起動する」 新しいネットワークIDを生成します.」オプション(--rpc-port以外) 「Tezosノードに直接渡されます. '$ 0シェルtezos-nodeを参照してください. 詳細については、config --help '"を参照してください."デフォルトでは、RPCポートは Docker "コンテナの外部にエクスポートされました. RPCは有害である可能性があります」(例:「inject_block」、「force_validation」、...)、 「それらを公に輸出しないことをお勧めします.」
To start rpc at 8732 port use
./alphanet.sh start --rpc-port 8732
As mentioned in alphanet.sh script file, you can use --rpc-port option in the start command as mentioned below, specifying the port.
./alphanet.sh start [--rpc-port <int>] [OPTIONS]"
Launch a full Tezos alphanet node in a docker container" automatically generating a new network identity." OPTIONS (others than --rpc-port) are directly passed to the" Tezos node, see '$0 shell tezos-node config --help'" for more details." By default, the RPC port is not exported outside the docker" container. WARNING: when exported some RPCs could be harmful" (e.g. 'inject_block', 'force_validation', ...), it is" advised not to export them publicly."
-
私の回答で述べたように、Dockerホスト以外のホストからRPCにアクセスする必要がない場合は、通常、 `--rpc-port127.0.0.1:8732`を使用する方が安全です.As I said in my answer, it is generally going to be safer to use `--rpc-port 127.0.0.1:8732`, when the RPC need not be accessible from any other host besides the docker host.
- 1
- 2019-03-22
- Tom
Dockerノードを使用しています.CLIはうまく機能しています.しかし、私がこれを使うとき.動作しません.at doc say ---デフォルトで無効になっています.しかし、DockerノードでRPCを有効にする方法がわからない
dockerに行きます.config.jsonを見つけますが、8732または18732が機能しません. ./alphanet.sh start dockernodeを使用しています