Запуску ноды ECDSA на Google VPS | KEEP тестнет
Ноду будем запускать на халявном VPS от google , инструкцию как получить халявный VPS можно легко найти в интернете
Необходимые технические требования:
- VPS с 2 vCPU, 2 ГБ ОЗУ, 1 ГБ HDD, Linux Ubuntu 18.04 LTS Bionic
- Любой SSH клиент, в принципе для google VPS клиент не обязательно , можно взаимодействовать на прямую через окно в браузере
- Установленное расширением Metamask в ваш браузер
- Рабочий E-mail желательно gmail
Создаем VPS сервер
Самостоятельно конфигурируем VPS с 2 vCPU, 2 ГБ ОЗУ , так как в предложенных
вариантах такого сервера нет
В разделе загрузочный диск Ubuntu 18.04 LTS
Создаем Etherium кошелек
**Теперь надо создать Etherium кошелек и обязательно скачать Keystore File
Сделать это можно на https://www.myetherwallet.com/ **
На сайт выбираем создать новый кошелек
Далее раздел "Файл хранилище-ключа"
Придумываем пароль , скачиваем Keystore File и переименовать его в keep_wallet.json , нажав правой кнопкой мыши по файлу и выбрав переименовать
Далее устанавливаем расширение MetaMask в ваш браузер https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=ru и импортируем туда keep_wallet.json файл от кошелька созданного в на https://www.myetherwallet.com/ и переключаемся на тестовую сеть Ropsten
На этом сайте получаем тестовый Etherium - https://teth.bitaps.com/?language=ru
Здесь получаем тестовые токены KEEP - https://us-central1-keep-test-f3e0.cloudfunctions.net/keep-faucet-ropsten?account=ваш_адресETH ( за место вашадрес_ETH подставьте соответственно свой адрес ETH)
Делегируем тестовые токены KEEP
- Переходим на сайт https://dashboard.test.keep.network/tokens
- Подключаемся через Metamask
- В разделе Delegate Tokens выбираем Grant ID , вписываем 300.000 и свой Etherium адрес три раза и нажимаем DELEGATE STAKE
- Подтверждаем транзакцию в метамаске
- Авторизуем контракт в разделе Random Beacom и tBTC добавьте немного ETH в Bonding
Регистрация и настройка учётной записи INFURA
- Регистрируемся на сайте https://infura.io/register
- Создаем проект с название ECDSA Node
- Скопируем свой PROJECT ID , он будет нужен для файла конфигурации
Настройка VPS и запуск Ноды
Откройте порты
Каждая команда отдельно , после каждой команды жмем Enter
sudo ufw allow 22/tcp
sudo ufw allow 3919/tcp
yes | sudo ufw enable
Установите Docker:
Каждая команда отдельно , после каждой команды жмем Enter
sudo apt-get update
sudo apt-get remove docker docker-engine docker.io
sudo apt install docker.io curl -y
sudo systemctl start docker
sudo systemctl enable docker
Создайте структуру папок
Каждая команда отдельно , после каждой команды жмем Enter
mkdir -p $HOME/keep-ecdsa/config
mkdir -p $HOME/keep-ecdsa/keystore
mkdir -p $HOME/keep-ecdsa/persistence
Создайте переменные:
Каждая команда отдельно , после каждой команды жмем Enter
export SERVER_IP=$(curl ifconfig.me)
export INFURA_PROJECT_ID="ff——————" между ковычками ваш INFURA_PROJECT_ID
export ETH_WALLET="0x———————-92" между ковычками ваш ETH адрес
Создайте config.toml
cat <>$HOME/keep-ecdsa/config/config.toml
Копируем и вставляем следующую команду одним текстом
[ethereum]
URL = "wss://ropsten.infura.io/ws/v3/$INFURA_PROJECT_ID"
URLRPC = "https://ropsten.infura.io/v3/$INFURA_PROJECT_ID"
# Keep operator Ethereum account.
[ethereum.account]
Address = "$ETH_WALLET"
KeyFile = "/mnt/keystore/keep_wallet.json"
# Addresses of contracts deployed on ethereum blockchain.
[ethereum.ContractAddresses]
BondedECDSAKeepFactory = "0xb37c8696cD023c11357B37b5b12A9884c9C83784"
# Addresses of applications approved by the operator.
[SanctionedApplications]
Addresses = [
"0x9F3B3bCED0AFfe862D436CB8FF462a454040Af80"
]
# Keep network configuration.
[LibP2P]
Peers = ["/dns4/testnet.keep-client.hashd.dev/tcp/3920/ipfs/16Uiu2HAmJsBiNVFNxsJ27NSQEByv39B1M7AKx5FrAc1htqYhHGhU","/ip4/3.23.88.229/tcp/3919/ipfs/16Uiu2HAmEZpkf1Td8rSBMmgPoa66si2kJLb83Rd2eztJ6f5oLvhp","/dns4/ecdsa-2.test.keep.network/tcp/3919/ipfs/16Uiu2HAmNNuCp45z5bgB8KiTHv1vHTNAVbBgxxtTFGAndageo9Dp",
"/dns4/ecdsa-3.test.keep.network/tcp/3919/ipfs/16Uiu2HAm8KJX32kr3eYUhDuzwTucSfAfspnjnXNf9veVhB12t6Vf","/dns4/bootstrap-1.ecdsa.keep.test.boar.network/tcp/4001/ipfs/16Uiu2HAmPFXDaeGWtnzd8s39NsaQguoWtKi77834A6xwYqeicq6N"]
Port = 3919
# Override the nodeХs default addresses announced in the network
AnnouncedAddresses = ["/ip4/$SERVER_IP/tcp/5678"]
# Storage is encrypted
[Storage]
DataDir = "/mnt/persistence"
[TSS]
# Timeout for TSS protocol pre-parameters generation. The value
# should be provided based on resources available on the machine running the client.
# This is an optional parameter, if not provided timeout for TSS protocol
# pre-parameters generation will be set to 2 minutes.
PreParamsGenerationTimeout = "2m30s"
В конце пишем EOF , нажимаем Enter
Добавьте информацию в файл keep_wallet.json:
nano $HOME/keep-ecdsa/keystore/keep_wallet.json
Откройте с помощью блокнота json файл и скопируйте и вставьте содержимое, сохраните нажав Ctrl+o, Enter, Ctrl+x
Экспортируйте пароль от JSON файла:
export KEEP_ECDSA_ETHEREUM_PASSWORD="ваш пароль"
Запускаем ноду командой:
Копируем и вставляем одним текстом
sudo docker run -dit \
--entrypoint /usr/local/bin/keep-ecdsa \
--restart always \
--volume $HOME/keep-ecdsa:/mnt \
--env KEEP_ETHEREUM_PASSWORD=$KEEP_ECDSA_ETHEREUM_PASSWORD \
--env LOG_LEVEL=debug \
--name keep-ecdsa \
-p 3920:3919 \
keepnetwork/keep-ecdsa-client:v1.2.0-rc --config /mnt/config/config.toml start
Проверяем ноду
sudo docker logs keep-ecdsa -f --tail="500"
–tail=”500″ можно менять на 50, 100 , в этом случае логи не будут передвигаться непрерывно
Для выхода из логов нажмите CTRL+C
В случае возникновения ошибок или Вам нужно перезапустить узел, выполняем следующие команды:
export KEEP_CLIENT_ETHEREUM_PASSWORD="ваш пароль от ETH кошелька"
sudo docker stop keep-client
sudo docker rm keep-client
sudo docker images -a | grep "keep-client" | awk '{print $3}' | xargs
sudo docker pull keepnetwork/keep-client:v1.2.4-rc
На этом все , тестнет заканчивается 15 августа .
Keep Network - это автономный контейнер для личных данных. Keeps помогает контрактам использовать всю мощь публичного блокчейна, обеспечивая глубокое взаимодействие с личными данными.
Сайт: https://keep.network/
Discord: armet#5638