1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ikaiguang-docker-ethereum

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
node.md 2.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 15:10 e77dad2

Узел

Частный узел

Сеть

# network
docker network create --subnet 172.200.0.0/16 ethereum-node

Добавление узла

admin.addPeer("enode://node_id@ip:port")

Прочее

# log
docker logs -f ethereum-node-1

# exec
docker exec -it ethereum-node-1 /bin/sh

# restart
docker restart ethereum-node-1

# remove
docker rm -f ethereum-node-1

Просмотр информации об узле

# Подключение к узлу
geth attach http://127.0.0.1:8545

# Другие примеры подключения
# geth attach ipc:<datadir>/geth.ipc
# geth attach ws://191.168.1.1:8546

# Идентификатор узла
admin.nodeInfo.enode

# Добавление узла
# admin.addPeer("enode://....")
# (ifconfig); (ifconfig|grep netmask|awk '{print $2}'); (ip a)
admin.addPeer

# Информация об узле
net.listening
net.peerCount
admin.peers

# Аккаунты
eth.accounts

# Баланс
# eth.getBalance()
eth.getBalance

Статический узел

touch <datadir>/static-nodes.json
[
  "enode://f4642fa65af50cfdea8fa7414a5def7bb7991478b768e296f5e4a54e8b995de102e0ceae2e826f293c481b5325f89be6d207b003382e18a8ecba66fbaf6416c0@33.4.2.1:30303",
  "enode://pubkey@ip:port"
]

Перезапуск при загрузке и перезапуск после сбоя службы

  1. Запустите все узлы с помощью docker (docker run -itd --restart=always ...)
  2. Войдите в контейнер docker (docker exec -it container_id /bin/sh)
  3. Проверьте IP (ifconfig) (ip a)
  4. Подключитесь к ethereum (geth attach http://127.0.0.1:8545)
  5. Просмотрите информацию об узле (admin.nodeInfo.enode)
  6. Создайте файл с информацией об узлах (touch /static-nodes.json)
  7. Выведите информацию об узлах (["enode://pubkey@ip:port","enode://pubkey@ip:port",...])
  8. Перезапустите docker (docker restart container_id ...)

Перезапуск

docker rm -f ethereum-node-1 ethereum-node-2 ethereum-node-3
rm -rf ./cluster_node1/ethereum_data
rm -rf ./cluster_node2/ethereum_data
rm -rf ./cluster_node3/ethereum_data

# cd node1 node2 node3
docker run --rm -it \
    -v $(pwd)/ethereum_conf:/ethereum_conf \
    -v $(pwd)/ethereum_data:/ethereum_data \
    ethereum/client-go \
    --datadir "/ethereum_data" \
    init /ethereum_conf/genesis.json

# Перезапустить узел

docker restart ethereum-node-1 ethereum-node-2 ethereum-node-3

# Остановить
docker stop ethereum-node-1 ethereum-node-2 ethereum-node-3

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ikaiguang-docker-ethereum.git
git@api.gitlife.ru:oschina-mirror/ikaiguang-docker-ethereum.git
oschina-mirror
ikaiguang-docker-ethereum
ikaiguang-docker-ethereum
master