Skip to content

Latest commit

 

History

History
106 lines (84 loc) · 4.22 KB

README_RUS.md

File metadata and controls

106 lines (84 loc) · 4.22 KB

Emercoin Docker

Docker compose image for Emercoin core

Зачем это всё надо?

Docker позволяет создать изолированный контейнер с кошельком Emercoin внутри и отдельным хранилищем (volume: blockhain_data) для блокчейна. Это дает кроссплатформенность (можно запускать на любой ОС, где можно установить Docker), возможность обновлять версии кошелька Emercoin в "один клик". Использовать в своих проектах функционал кошелька через интерфейс RPC JSON.

Core — классическая версия, просто кошелек Эмеркоина в контейнере. Требуется время для синхронизации с сеть.

Для старта с нуля:

Установить Git Установить Docker и docker-compose

Склонировать репозитарий и перейти в папку с проектом:

git clone https://github.com/emercoin/docker emer_docker_wallet && cd emer_docker_wallet

Переименовать: emercoin.conf.example в emercoin.conf

Запустить сборку контейнера с Emercoin:

для обычной версии Core

docker-compose up -d

для версии Core Fast Start:

docker-compose -f docker-compose-fs.yaml up -d

Контейнер запущен, требуется время, чтобы скачать блокчейн (~3-5 часов), но некоторые данные можно получить уже сейчас. По умолчанию для соединения с контейнером используется порт 6662

  • адрес: 127.0.0.1
  • пользователь: emcrpc
  • пароль: emcpass
  • метод: POST тело запроса пример {"method": "getinfo" }

Сменить пароль в контейнере:

docker-compose exec emc bash changepass.sh
docker-compose restart emc

Как проверить, что контейнер работает нормально?

Нужно отправить POST (с помощью Postman, например) по адресу http://emcrpc:emcpass@127.0.0.1:6662, тело запроса {"method": "getinfo"}

В Python:

import requests

url = "emcrpc:emcpass@127.0.0.1:6662"
payload = {"method": "getinfo"}
headers = { 'Content-Type': 'application/json' }
response = requests.request("POST", url, headers=headers, json=payload)
print(response.json())

В командной строке c помощью Curl: (sudo apt-get update && sudo apt-get install curl) - если Curl не установлен

curl --location --request POST 'emcrpc:emcpass@127.0.0.1:6662' \
--header 'Content-Type: application/json' \
--data-raw '{"method": "getinfo", "params":[]}'

если все ок, ответом будет выдача в формате JSON:

{
    "result": {
        "fullversion": "v0.7.10emc",
        "version": 71000,
        "protocolversion": 70015,
        "walletversion": 130000,
        "balance": 0.000000,

Разблокировать wallet в mint only режим:

curl --location --request POST 'emcrpc:emcpass@127.0.0.1:6662' \
--header 'Content-Type: application/json' \
--data-raw '{"method": "walletpassphrase", "params":["wallet_password", 100500, true]}'

Управление сборкой

Остановить контейнер:

docker-compose stop emc

Удалить контейнеры:

docker-compose down

При этом база блокчейна, wallet.dat и emercoin.conf не удаляется. Она остается в volume docker_emercoin_data.

Удалить базу блокчейна

docker volume rm emer_data

Внимание! эта команда удаляет так-же wallet.dat