Проблемы с настройкой двух локальных узлов на одном компьютере

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

Команда для пробуждения основного узла:

geth    --identity "MainNode" \
        --rpc \
        --rpcport 8000 \
        --rpccorsdomain "*" \
        --datadir "/home/ubuntu/ethereum" \
        --port "30303" \
        --nodiscover \
        --ipcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3" \
        --rpcapi "db,eth,net,web3" \
        --autodag \
        --networkid 10165211 \
        --nat "any" console init /home/ubuntu/ethereum/CustomGenesis.json

Команда для пробуждения второго узла:

geth    --identity "My Node" \
        --rpc \
        --rpcport 8001 \
        --rpccorsdomain "*" \
        --datadir "/home/xxxx/ethereum" \
        --port "30304" \
        --nodiscover \
        --ipcdisable \
        --rpcapi "db,eth,net,web3" \
        --autodag \
        --networkid 10165211 \
        --nat "any" console init /home/xxxx/ethereum/CustomGenesis.json

Но когда я запускаю узлы и использую команду admin.nodeInfo, я нахожу это в первом узле:

admin.nodeInfo
{
  enode: "enode://34f8ec977f25f4a85d4d7debac748fd82851b75ca670b2ece234c9a26a493fb995fca0021b9eee6cb2ccfa98a934cdb4a8590e4a4140a1077575f94a82468129@[::]:30303?discport=0",
  id: "34f8ec977f25f4a85d4d7debac748fd82851b75ca670b2ece234c9a26a493fb995fca0021b9eee6cb2ccfa98a934cdb4a8590e4a4140a1077575f94a82468129",
  ip: "::",
  listenAddr: "[::]:30303",
  name: "Geth/v1.4.12-stable/linux/go1.5.1/MainNode",
  ports: {
    discovery: 0,
    listener: 30303
  },
  protocols: {
    eth: {
      difficulty: 17179869184,
      genesis: "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3",
      head: "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3",
      network: 10165211
    }
  }
}

И ЭТО, на втором:

 admin.nodeInfo
{
  enode: "enode://34f8ec977f25f4a85d4d7debac748fd82851b75ca670b2ece234c9a26a493fb995fca0021b9eee6cb2ccfa98a934cdb4a8590e4a4140a1077575f94a82468129@[::]:30304?discport=0",
  id: "34f8ec977f25f4a85d4d7debac748fd82851b75ca670b2ece234c9a26a493fb995fca0021b9eee6cb2ccfa98a934cdb4a8590e4a4140a1077575f94a82468129",
  ip: "::",
  listenAddr: "[::]:30304",
  name: "Geth/v1.4.12-stable/linux/go1.5.1/My Node",
  ports: {
    discovery: 0,
    listener: 30304
  },
  protocols: {
    eth: {
      difficulty: 1024,
      genesis: "0x1a8c903ab9d8b7bec7ba8b15dab33a3418c90dbf8f73ec3086d34b4e17e017e6",
      head: "0x1a8c903ab9d8b7bec7ba8b15dab33a3418c90dbf8f73ec3086d34b4e17e017e6",
      network: 10165211
    }
  }
}

Даже когда файл CustomGenesis.json является чистой копией друг друга (полностью), мы можем наблюдать некоторые странности:

  • идентификатор enode в обоих случаях одинаков. Так не должно быть.
  • Порт меняется (очевидно надо так делать). Ничего страшного.
  • Сложность не та, должна быть.
  • Генезисный хэш и голова не совпадают. Думаю, они должны быть.

Я уверен, что это не проблема с файлом Genesis.json, так как я даже пытался использовать один и тот же файл для обоих узлов, но то же самое, что я здесь объясняю, произошло со мной.

Любая идея о том, где ошибка/ошибка/ошибка?

СПАСИБО.

Сложность не та, узел 2 не синхронизируется со всей цепочкой блоков.
Вы используете разные каталоги данных? Кроме того, что вы подразумеваете под двумя сеансами? Я думаю, что вы обращаетесь к одному и тому же каталогу данных из обоих сеансов.
Я нет, у меня разные каталоги данных, как вы можете видеть в коде. Два сеанса: два разных пользовательских сеанса (xxxx и ubuntu).

Ответы (1)

Решение для меня:

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

В моем случае:

sudo rm -r /home/ubuntu/ethereum/
sudo rm -r /home/ubuntu/.ethereum/
sudo rm -r /home/xxxx/ethereum