Запуску ноды Random Beacon на 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
- Создаем проект с название Beacon Node
- Скопируем свой PROJECT ID , он будет нужен для файла конфигурации
Настройка VPS и запуск Ноды
Откройте порты
sudo ufw allow 22/tcp
sudo ufw allow 3919/tcp
yes | sudo ufw enable
Установите Docker:
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
Создайте структуру папок
mkdir -p $HOME/keep-client/config
mkdir -p $HOME/keep-client/keystore
mkdir -p $HOME/keep-client/persistence
Создайте переменные:
export SERVER_IP=$(curl ifconfig.me)
export INFURA_PROJECT_ID="ff——————" ( между скобками ваш INFURA_PROJECT_ID )
export ETH_WALLET="0x———————-92" ( между скобками ваш ETH адрес )
Копируем и вставляем следующую команду одним текстом
cat <<EOF >>$HOME/keep-client/config/config.toml
# Ethereum host connection info.
[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"# Keep contract addresses configuration.
[ethereum.ContractAddresses]
KeepRandomBeaconOperator = "0xf417b31104631280adF9F6828ee19985BC299fdC"
TokenStaking = "0x8117632eC1D514550b3880Bc68F9AC1A76c9C67B"
KeepRandomBeaconService = "0xd83248e311DC2Ba0d2A051e86f0678d8857f6ADD"# Keep network configuration.
[LibP2P]
Peers = ["/dns4/bootstrap-1.core.keep.test.boar.network/tcp/3001/ipfs/16Uiu2HAkuTUKNh6HkfvWBEkftZbqZHPHi3Kak5ZUygAxvsdQ2UgG",
"/dns4/bootstrap-2.core.keep.test.boar.network/tcp/3001/ipfs/16Uiu2HAmQirGruZBvtbLHr5SDebsYGcq6Djw7ijF3gnkqsdQs3wK",
"/dns4/bootstrap-3.test.keep.network/tcp/3919/ipfs/16Uiu2HAm8KJX32kr3eYUhDuzwTucSfAfspnjnXNf9veVhB12t6Vf",
"/dns4/bootstrap-2.test.keep.network/tcp/3919/ipfs/16Uiu2HAmNNuCp45z5bgB8KiTHv1vHTNAVbBgxxtTFGAndageo9Dp"]
Port = 3919
# Override the node's default addresses announced in the network
AnnouncedAddresses = ["/ip4/$SERVER_IP/tcp/3919"]# Storage is encrypted
[Storage]
DataDir = "/mnt/persistence"
EOF
Добавьте информацию в файл keep_wallet.json:
nano $HOME/keep-client/keystore/keep_wallet.json
Откройте с помощью блокнота json файл и скопируйте и вставьте содержимое, сохраните нажав Ctrl+o, Enter, Ctrl+x
Экспортируйте пароль от JSON файла:
export KEEP_CLIENT_ETHEREUM_PASSWORD="ваш пароль"
Запускаем ноду командой:
sudo docker run -dit \
--restart always \
--volume $HOME/keep-client:/mnt \
--env KEEP_ETHEREUM_PASSWORD=$KEEP_CLIENT_ETHEREUM_PASSWORD \
--env LOG_LEVEL=debug \
--name keep-client \
-p 3919:3919 \
keepnetwork/keep-client:v1.3.0-rc --config /mnt/config/config.toml start
Проверяем ноду
sudo docker logs keep-client -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