Нужно ли при запуске узла GETH в Ropsten определять флаг --bootnodes?

Эти команды работают для меня, мне просто интересно, есть ли способ не жестко кодировать адреса enodeв сценарии оболочки. Вот что я использую и как это работает:

geth --testnet --syncmode "fast" --ipcpath /home/ubuntu/.ethereum/geth.ipc --rpc --rpcapi db,eth,net,web3,personal --cache=2048 --rpcport 8545 --rpcaddr 127.0.0.1 --rpccorsdomain "*" --rpcapi "db,eth,net,web3,personal" --bootnodes "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303,enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303,enode://94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09@192.81.208.223:30303" --verbosity=6 --port "30303" --networkid 3

Есть ли флаг, который разрешает динамическую обработку enode admin peers?

Ответы (1)

Вам не нужно указывать их вручную — они жестко запрограммированы как часть двоичного файла Geth. Пока вы используете --testnetRopsten, который по умолчанию используется, он должен работать.


Кроме того, похоже, что вы можете (вручную) использовать старые загрузочные узлы (я предполагаю, что это страница, которая выглядит устаревшей). Вот фрагмент соответствующего кода конца прошлого года, показывающий, что старые жестко закодированные узлы такие же, как те, которые вы добавили вручную (из ) bootnodes.go:

// TestnetBootnodes are the enode URLs of the P2P bootstrap nodes running on the
// Ropsten test network.
var TestnetBootnodes = []string{
    "enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303", // US-TX
    "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303", // IE
}

Вот текущая версия того же файла (т.е. эта версия bootnodes.go):

// TestnetBootnodes are the enode URLs of the P2P bootstrap nodes running on the
// Ropsten test network.
var TestnetBootnodes = []string{
    "enode://30b7ab30a01c124a6cceca36863ece12c4f5fa68e3ba9b0b51407ccc002eeed3b3102d20a88f1c1d3c3154e2449317b8ef95090e77b312d5cc39354f86d5d606@52.176.7.10:30303",    // US-Azure geth
    "enode://865a63255b3bb68023b6bffd5095118fcc13e79dcf014fe4e47e065c350c7cc72af2e53eff895f11ba1bbb6a2b33271c1116ee870f266618eadfc2e78aa7349c@52.176.100.77:30303",  // US-Azure parity
    "enode://6332792c4a00e3e4ee0926ed89e0d27ef985424d97b6a45bf0f23e51f0dcb5e66b875777506458aea7af6f9e4ffb69f43f3778ee73c81ed9d34c51c4b16b0b0f@52.232.243.152:30303", // Parity
    "enode://94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09@192.81.208.223:30303", // @gpip
}
Спасибо ценю это. Да, я использовал те enodeадреса из этой ссылки. Я собираю информацию по кусочкам, чтобы попытаться выяснить это сетевое взаимодействие Ethereum. Очень сложно попасть в разработку Ethereum. Сейчас я пытаюсь без флага --bootstrap, и, похоже, это работает. Новая проблема, которая у меня есть, заключается в том, что текущий блок равен 309364, а самый высокий блок - 3093429, и, похоже, не удается синхронизировать оставшиеся 65 блоков.