Как настроить частную сеть Ethereum, используя загрузочный узел на AWS - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь настроить частную сеть ethereum с помощью загрузочного узла.Я создал два экземпляра на EC2 (t2.medium), имеющих одну и ту же группу безопасности. Сначала я создал ключ загрузки с помощью

     bootnode -genkey boot.key

, затем я установил загрузочный узел с помощью следующей команды

     bootnode -nodekey boot.key -verbosity 7 -addr "172.31.20.13:30310"

The bootnode был успешно установлен со значением = базовой станции базовой станции: //52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13: 30310

1008 * I инициализируется как узлы, используя файл генезис и следующую команду 1010

Genesis.json

{
"config": {
    "chainId": 1337,
    "homesteadBlock": 0,
    "eip155Block": 0,
    "eip158Block": 0
},
"nonce": "0x0000000000000042",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x00",
"gasLimit": "0x8000000",
"difficulty": "0x01",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x238dd521ad221b37cc176fa9f4bf88cf19fe39f1",
"alloc": {
  "0x238dd521ad221b37cc176fa9f4bf88cf19fe39f1" : {
    "balance" : "200000000000000000000000"
  },
  "0xaebc7588345fc7963505dd6de9d12390980fc13d" : {
    "balance" : "10000000000000000000"
  },
  "0xa5c77bd6319a5eaba9494acd90cac9712f9e15c9" : {
    "balance" : "20000000000000000000"
    }
 }
 }

Я попытался соединить два узла (два экземпляра), чтобы один узел загрузки находился в том же экземпляре, что и узел загрузки.Я использовал следующую команду

geth --networkid 1337 --datadir "./mydatadir" --bootnodes                              "enode://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310" --port 3003 --ipcdisable --syncmode full console

Эти узлы присоединяются к загрузочному узлу, успешно взаимодействующему с ним

TRACE[05-24|21:01:55] << FINDNODE/v4                           addr=172.31.20.13:3003 err="unknown node"<br>
TRACE[05-24|21:01:55] >> PONG/v4                               addr=172.31.20.13:3003 err=nil<br>
TRACE[05-24|21:01:55] << PING/v4                               addr=172.31.20.13:3003 err=nil<br>
TRACE[05-24|21:01:55] Starting bonding ping/pong               id=33c0695b8d4f9ff6 known=false failcount=0 age=424221h1m55.666391609s<br>
TRACE[05-24|21:01:55] >> PING/v4                               addr=172.31.20.13:3003 err=nil

Но когда я запускаю ту же команду на другом экземпляре (узле)

geth --networkid 1337 --datadir "./mydatadir" --bootnodes "enode://52c75d5bb8f8287a5942151dabb35756b2ee664faa8a1f98b8fb5ae778953bf0dde553b0d574e85cbfcbd8adf4068a0c7611f270e673776c7e67225b38eadcd2@172.31.20.13:30310" --port 3004 --ipcdisable --syncmode full console 

Узел успешно запущен, но я не вижу его взаимодействия с загрузочным узлом, и когда я набираю команду admin.peer на обоих узлах, я получаю пустой список. Я что-то не так делаю?Пожалуйста, помогите мне

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Убедитесь, что вы можете получить доступ к портам прослушивания, используя UDP, поскольку geth использует его для пиринга

0 голосов
/ 06 сентября 2018

Похоже на брандмауэр в одном из узлов ... По умолчанию загрузочный узел запускается на порту 30301. Возможно, вы настроили группу безопасности так, чтобы порт 30310 не был открыт.Убедитесь, что необходимые порты открыты, и оба узла EC2 могут обмениваться данными друг с другом по IP

.
...