起動時にプライベートノードをパブリックノードに接続するにはどうすればよいですか?
-
-
`--connections 1`を上げるのに役立ちますか?1つのパブリックノードでも複数の接続が必要だと思います.does it help upping the `--connections 1`? I think even one public node takes more than 1 connection.
- 0
- 2019-04-18
- Frank
-
2 回答
- 投票
-
- 2019-04-18
--connections
引数は、実際にはいくつかの異なる構成フィールドを設定するためのヘルパーです.これを確認するには、
tezos-node config init
コマンドとtezos-node config update
コマンドを使用して、コマンドライン引数を構成JSONに変換します.例:tezos-node config init ... --connections 1 ...
構成ファイル(デフォルトでは〜/.tezos-node/config.json)には、次のものがあります.
- p2p.limits.min-connections
- p2p.limits.expected-connections
- p2p.limits.max-connections
- shell.chain_validator.bootstrap_threshold
残念ながら、
--connections 1
を使用すると、これらのフィールドに無意味な値が設定されます.ピアへの1つの接続については、構成ファイルを手動で編集することをお勧めします.次の値は私にとってうまく機能しました:- "min-connections":1
- "expected-connections":1
- 「max-connections」:1
- "bootstrap_threshold":1
min/expected/maxフィールドは、コマンドライン引数を介さずに、構成ファイルで直接指定できます.
The
--connections
argument is actually a helper for setting several different configuration fields.To see this you can use the
tezos-node config init
andtezos-node config update
commands to convert the command line arguments into configuration JSON, e.g.:tezos-node config init ... --connections 1 ...
In the config file (~/.tezos-node/config.json by default) you will find:
- p2p.limits.min-connections
- p2p.limits.expected-connections
- p2p.limits.max-connections
- shell.chain_validator.bootstrap_threshold
Unfortunately, using
--connections 1
sets nonsensical values to these fields. For one connection to a peer, I recommend editing the config file manually. The following values have worked well for me:- "min-connections": 1
- "expected-connections": 1
- "max-connections": 1
- "bootstrap_threshold": 1
The min/expected/max fields can only be directly supplied in the config file, not via command line arguments.
-
確かに無意味です.「--connections1」は明らかに「min-connections」:0を与えるので、自動的に接続しようとはしません.Non-sensical indeed. "--connections 1" apparently gives "min-connections": 0 - so it never tries to connect automatically.
- 0
- 2019-04-23
- Svante
-
- 2019-04-19
これらはconfig.jsonに登録されている私のプライベートノードの設定です
{ "data-dir": "/usr/data/.tezos-node", "rpc": { "listen-addr": "127.0.0.1:8732" }, "p2p": { "bootstrap-peers": [ "A.A.A.A:9732", "A.A.A.A:9732", "A.A.A.A:9732" ], "listen-addr": "[::]:9732", "private-mode": true, "limits": { "connection-timeout": 10, "min-connections": 1, "expected-connections": 2, "max-connections": 3, "max_known_points": [ 16, 12 ], "max_known_peer_ids": [ 16, 12 ] } }, "shell": { "chain_validator": { "bootstrap_threshold": 1 } } }
これらはconfig.jsonに登録されているパブリックノードの設定です
{ "rpc": { "listen-addr": "127.0.0.1:8732" }, "p2p": { "listen-addr": "[::]:9732", "limits": { "connection-timeout": 10, "min-connections": 250, "expected-connections": 500, "max-connections": 750, "max_known_points": [ 4000, 3000 ], "max_known_peer_ids": [ 4000, 3000 ] } }, "shell": { "chain_validator": { "bootstrap_threshold": 2 } } }
うまく機能します
These are settings of my private node which are registered in config.json
{ "data-dir": "/usr/data/.tezos-node", "rpc": { "listen-addr": "127.0.0.1:8732" }, "p2p": { "bootstrap-peers": [ "A.A.A.A:9732", "A.A.A.A:9732", "A.A.A.A:9732" ], "listen-addr": "[::]:9732", "private-mode": true, "limits": { "connection-timeout": 10, "min-connections": 1, "expected-connections": 2, "max-connections": 3, "max_known_points": [ 16, 12 ], "max_known_peer_ids": [ 16, 12 ] } }, "shell": { "chain_validator": { "bootstrap_threshold": 1 } } }
These are settings of my public node which are registered in config.json
{ "rpc": { "listen-addr": "127.0.0.1:8732" }, "p2p": { "listen-addr": "[::]:9732", "limits": { "connection-timeout": 10, "min-connections": 250, "expected-connections": 500, "max-connections": 750, "max_known_points": [ 4000, 3000 ], "max_known_peer_ids": [ 4000, 3000 ] } }, "shell": { "chain_validator": { "bootstrap_threshold": 2 } } }
Works great
-
ご回答ありがとうございます!問題の背景を詳しく説明しているTomsの回答を受け入れましたが、構成例も間違いなく役に立ちました.Thank you for your answer! I accepted Toms answer because it explains more of the background of the problem, but your config example definitely also helped me.
- 0
- 2019-04-23
- Svante
パブリック同期ノードとプライベートベイキングノードを設定しました.プライベートベーキングノードは、パブリックノードからのみブロックを取得します.
Tezos Docsで推奨として、私は始めますプライベートノード:
./tezos-node run --rpc-addr 127.0.0.1:8732 --private-mode --no-bootstrap-peers --bootstrap-threshold=1 --connections 1 --peer A.A.A.A:9732
(AAAAは私のパブリックノードIPです)両方のノードは、互いのIDを信頼するように構成されています.
プライベートノードが起動するたびに、パブリックノードに接続しません.しかし、起動後に
./tezos-admin-client connect address A.A.A.A:9732
を実行すると、次の再起動または接続の喪失が発生するまで正常に接続されます.プライベートノードまたはパブリックノードのログには、起動時にプライベートノードが単独で接続を試みたことを示すものはありません.
パブリックノードに自動的に接続するようにプライベートノードを構成するにはどうすればよいですか?