2

私はイーサリアムを試しています。サイトの指示に従って、プライベートテストネットを正常にセットアップしました。ただし、別のマシンからピアを追加するのに問題があります。私が作成したどのノードでも、admin.nodeInfo.NodeUrl パラメーターは未定義です。admin.nodeInfo を呼び出して enode アドレスを取得しました。admin.addPeer("enode://address") コマンドを (パブリック IP を使用して) 実行すると、true が返されますが、admin.peers を呼び出すとピアが一覧表示されません。 .

別のスレッド (ここ) で、プライベート テストネットはローカルのみであることを読みましたが、そうでないことを示唆するドキュメントがたくさん見られます (ここここ)。2 番目のチュートリアルで、カスタム networkid とジェネシス ブロックのコマンドライン フラグを追加してみました。 .

アドバイスをいただければ幸いです。詳細を提供できる場合はお知らせください。

4

1 に答える 1

2

利用可能なドキュメントで見つけるのは困難ですが、重要な機能は admin.addPeer() です。

https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console

いくつかの方法があると思いますが、ローカル PC で 1 つのノードを実行し、リモート サーバーで 1 つのノードを実行しています。これにより、コントラクトのテスト中に Ether を節約でき、Ethereum ブロックチェーンがジャンクで汚染されるのを防ぐことができます。を実行する際の鍵admin.addPeer()は、ノートごとに「enode」を見つけて、ノードの 1 つで次のような関数を実行することです: admin.addPeer(enode@ipaddress:port)。実行admin.peersして空のリスト以外が表示された場合は、おそらく成功しています。主に確認することは、enode ID と IP アドレスadmin.peersが期待どおりに一致することです。

geth 構成設定も少しトリッキーです。特定の用途に合わせて採用する必要がありますが、私が使用するパラメーターの一部を次に示します。

geth --port XYZ --networkid XYZ --maxpeers X

XYZ と X を使用する数値に置き換え、両方のメモを開始するときに同じパラメーターを実行していることを確認してください。より多くのパラメーターが含まれる可能性がありますが、それでかなり遠くまで行くことができます。

免責事項:私は自分自身がGethに慣れていないだけでなく、Facebook以外にもコンピューターを使用しているため、私の答えは大まかに考えてください。また、一部のパラメーターがプライベート テストネットに関連しているかどうかについて 100% 確信が持てないため、Geth の起動に関する完全なコマンド ラインは示していません。プライベート テストネットの実行に関連していると確信しているものだけを紹介しました。

また、プライベート テスト ネットを実行しているトランザクションを実行できない場合があります。これは、マイニングを開始するためにそれらの 1 つが必要だからです。miner.start(X)コントラクトのデプロイを開始する準備ができたら実行してください。

これが完全ではないことをお詫びしますが、ドキュメントではこれを行う方法が完全に明確ではないため、1〜2週間かけて自分自身を理解しようとした後、私の経験を伝えています. イーサリアムの精神で積極的に阻止されるべきだと思いますが、私の場合は、主にブロックチェーンを汚染しないようにしています。

PS。送信する準備ができたばかりだったので、これもより多くの光を当てることがわかりました.

ネットワークへの接続

于 2016-01-17T14:46:08.480 に答える