Rent server onSponsored
1. Создание ключа запрос токенов
Переходим на сайт https://clarity-delta.make.services/ и регистрируемся через Google или GitHub. Нажимаем Create Account Key, заполняем Name и нажимаем Save
Система сохранит три файла. Так же необходимо сохранить в безопасное место Account Hash, Public Key и Private Key. Переходим на вкладку Faucet, выбираем созданный аккаунт и нажимаем Request tokens.
2. Установка зависимостей
sudo apt-get update
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs/ -sSf | sh
source $HOME/.cargo/env
sudo apt install build-essential
3. Установка ноды и компиляция контракта
git clone https://github.com/CasperLabs/casper-node.git
cd casper-node
git fetch
git checkout release-0.7.6
make setup-rs && make build-client-contracts -j
curl -JLO https://bintray.com/casperlabs/debian/download_file?file_path=caspernode-launcher_0.2.0-0_amd64.deb
curl -JLO https://bintray.com/casperlabs/debian/download_file?file_path=casperclient_0.7.6-0_amd64.deb
sudo apt install -y ./casper-client_0.7.6-0_amd64.deb ./casper-nodelauncher_0.2.0-0_amd64.deb
cd /etc/casper
sudo -u casper ./pull_casper_node_version.sh 1_0_0
sed -i "/trusted_hash =/c\trusted_hash = '$(curl -s 159.69.218.20:8888/status | jq -r .last_added_block_info.hash | tr -d '\n')'" /etc/casper/1_0_0/config.toml
sudo logrotate -f /etc/logrotate.d/casper-node
sudo /etc/casper/delete_local_db.sh
4. Копирование ключей
Файлы, сохранённые на шаге 1 копируем удобным для вас способом (например, ftp или редактор vim и буфер обмена) в папку /etc/casper/validator_keys/
5. Добавление валидаторов
Редактируем файл /etc/casper/1_0_0/config.toml и заменяем имеющееся там значение known_addresses на следующее:
known_addresses = ['18.144.176.168:35000', '13.57.200.251:35000', '134.122.14.111:35000','144.91.83.59:35000','135.181.42.149:35000','78.47.14.48:35000','94.19.229.130:35000','107.22.247.79:35000','161.97.136.153:35000','46.4.91.24:35000','139.59.247.32:35000','195.201.148.78:35000','35.233.165.80:35000','45.61.52.142:35000','35.236.56.221:35000','35.192.213.171:35000','103.212.121.38:35000','35.239.228.18:35000','178.20.44.91:35000','103.149.26.208:35000','157.90.92.114:35000','116.202.24.91:35000','135.181.162.15:35000','78.47.135.157:35000','207.180.199.157:35000','95.216.217.219:35000','78.46.121.69:35000','157.90.113.149:35000','157.90.115.85:35000','157.90.113.111:35000','116.203.157.37:35000','78.47.58.209:35000','116.203.150.238:35000','157.90.26.198:35000','88.99.215.12:35000','168.119.49.220:35000','168.119.179.241:35000','78.141.239.219:35000','78.46.124.118:35000','144.91.112.255:35000','88.99.171.225:35000','135.181.147.7:35000','116.203.214.160:35000','95.216.196.103:35000','116.202.106.191:35000','78.46.229.114:35000','157.90.113.162:35000','78.47.11.140:35000','95.142.46.183:35000','95.217.2.40:35000','116.203.95.147:35000','78.47.10.119:35000','168.119.123.213:35000','167.86.91.16:35000','80.122.107.238:35000','159.69.218.20:35000','116.203.206.169:35000', '50.18.76.62:35000', '54.241.222.9:35000', '3.101.150.105:35000']
6. Запуск ноды
sudo systemctl enable casper-node-launcher
sudo systemctl start casper-node-launcher
Проверяем статус, должен быть зеленый active (running)
sudo systemctl status casper-node-launcher
7. Установка утилит
cd ~
cd casper-node
wget https://raw.githubusercontent.com/matsuro-hadouken/casper-tools/master/explorer.sh
wget https://raw.githubusercontent.com/matsuro-hadouken/casper-tools/master/active_validators.sh
wget http://genesis.casperlabs.io/validate_ip.sh
wget https://raw.githubusercontent.com/matsuro-hadouken/casper-tools/master/balance_check.sh
sudo chmod +x *.sh
8. Проверка портов
curl -sSf https://diagnostics.casperlabs.io/sh | sudo sh -
Все порты будут доступны сразу, кроме порта 7777. Он станет доступен после завершения синхронизации
Дополнителньо за процессом синхронизации можно наблюдать при помощи команды:
curl localhost:8888/status | jq
К следующим шагам можно переходить после завершения синхронизации.
9. Проверка баланса
~/casper-node/balance_check.sh `cat /etc/casper/validator_keys/public_key_hex`
10. Регистрация IP
~/casper-node/validate_ip.sh
Проверяем:
curl http://cnm.casperlabs.io/verify/`cat /etc/casper/validator_keys/public_key_hex`
11. Регистрация валидатора
casper-client put-deploy --chain-name delta-10 --node-address http://127.0.0.1:7777 --secret-key /etc/casper/validator_keys/secret_key.pem --session-path $HOME/caspernode/target/wasm32-unknown-unknown/release/add_bid.wasm --payment-amount 1000000000 --session-arg="public_key:public_key='`cat /opt/keys/public_key_hex`'" --sessionarg="amount:u512='9000000000000000'" --sessionarg="delegation_rate:u64='10'"
Проверяем:
~/casper-node/active_validators.sh
В самом конце вывода этой команды будет информация стала ли нода валидатором.
Другой вариант – проверять ноду на https://claritydelta.make.services/#/validators в списке валидаторов по Account Hash из шага 1
12. Обновление
Проверим текущую версию:
curl -s localhost:8888/status | jq .build_version
Если у вас уже установлена версия 0.7.7, то больше ничего делать не надо.
В ином случае выполните следующие команды:
sudo systemctl stop casper-node-launcher
sudo rm -rf /etc/casper/1_0_0
sudo rm -rf /var/lib/casper/bin/1_0_0
cd /etc/casper
sudo -u casper ./pull_casper_node_version.sh 1_0_0
sudo sed -i "/trusted_hash =/c\trusted_hash = '$(curl -s 13.57.181.239:8888/status | jq -r .last_added_block_info.hash | tr -d '\n')'" /etc/casper/1_0_0/config.toml
sudo logrotate -f /etc/logrotate.d/casper-node
sudo /etc/casper/delete_local_db.sh; sleep 1
sudo systemctl start casper-node-launcher
Проверим статус сервиса:
systemctl status casper-node-launcher
Должно быть active (running):
Проверим порты:
curl -sSf https://diagnostics.casperlabs.io/sh | sudo sh -
Все порты должны быть доступны, кроме 7777. Он станет доступным, когда синхронизация завершится.
13. Обновление до Delta-11:
Останавливаем ноду:
sudo systemctl stop casper-node-launcher.service
Удаляем предыдущие данные командами ниже:
sudo rm -rf /etc/casper/1_0_0
sudo rm -rf /var/lib/casper/bin/1_0_0
sudo rm -rf /var/lib/casper/casper-node
sudo rm /etc/casper/casper-node-launcher-state.toml
sudo apt remove -y casper-client casper-node-launcher
Скачиваем обновление:
cd ~
curl -JLO https://bintray.com/casperlabs/debian/download_file?file_path=casper-client_0.9.3-0_amd64.deb
curl -JLO https://bintray.com/casperlabs/debian/download_file?file_path=casper-node-launcher_0.3.1-0_amd64.deb
Устанавливаем:
sudo apt install -y ./casper-client_0.9.3-0_amd64.deb ./casper-node-launcher_0.3.1-0_amd64.deb
sudo -u casper /etc/casper/pull_casper_node_version.sh 1_0_0 delta-11
sudo -u casper /etc/casper/config_from_example.sh 1_0_0
Запускаем:
sudo logrotate -f /etc/logrotate.d/casper-node
sudo systemctl start casper-node-launcher; sleep 2
Проверяем командой:
systemctl status casper-node-launcher
Вывод должен быть такой:
14. Регистрация валидатора
Перекомпилируем контракт:
cd ~
git clone https://github.com/CasperLabs/casper-node.git
cd casper-node
git fetch
git checkout release-0.9.3
make setup-rs && make build-client-contracts -j
Отправим запрос на регистрацию валидатора:
casper-client put-deploy --chain-name delta-11 --node-address http://127.0.0.1:7777 --secret-key /etc/casper/validator_keys/secret_key.pem --session-path $HOME/casper-node/target/wasm32-unknown-unknown/release/add_bid.wasm --payment-amount 1000000000 --session-arg="public_key:public_key='`cat /etc/casper/validator_keys/public_key_hex`'" --session-arg="amount:u512='999000000000'" --session-arg="delegation_rate:u8='10'"
Проверить прошла ли ставка можно здесь:
https://clarity-delta.make.services/#/validators
Если ставка прошла, то в следующую эру проверяем себя в списке валидаторов.
15. Обновление Era-34
Должно быть выполнено до наступления Era 34. (приблизительно 2021-03-18T13:00:00Z)
sudo -u casper /etc/casper/pull_casper_node_version.sh 1_0_1 delta-11
sudo -u casper /etc/casper/config_from_example.sh 1_0_1
Проверяем что следующая команда вернёт ‘activation_point = 34’
cat /etc/casper/1_0_1/chainspec.toml | grep activation_point
Эта должна вернуть ‘casper-node 0.9.3-897b1b5f’
/var/lib/casper/bin/1_0_1/casper-node --version
И ещё одна проверка, чтобы быть уверенными на 146%
curl -s localhost:8888/status | jq .next_upgrade
Должны получить
{
“activation_point”: 34,
“protocol_version”: “1.0.1”
}
И ещё раз проверяем:
curl -s localhost:8888/status | jq .api_version
Ответ должен быть “1.0.1”
16. Обновление Social Consensus
sudo systemctl stop casper-node-launcher
sudo logrotate -f /etc/logrotate.d/casper-node
sudo -u casper /etc/casper/pull_casper_node_version.sh 1_0_2 delta-11
sudo -u casper /etc/casper/config_from_example.sh 1_0_2
sudo -u casper cp /var/lib/casper/bin/1_0_2/casper-node /var/lib/casper/bin/1_0_1
sudo -u casper sed -i 's/1\.0\.1/1\.0\.2/g' /etc/casper/casper-node-launcher-state.toml
sudo -u casper sed -i 's/1_0_1/1_0_2/g' /etc/casper/casper-node-launcher-state.toml
sudo systemctl start casper-node-launcher
17. Обновление Delta-11 1_0_3
Обновление должно быть установлено до наступления Era 104.
# Команды ниже должны быть выполнены если вы установили первую версию обновления из Дискорда Casper, где админ ошибочно указал Era 110 точкой обновления
sudo rm -rf /etc/casper/1_0_3
sudo rm -rf /var/lib/casper/bin/1_0_3
Процедура обновления
sudo -u casper /etc/casper/pull_casper_node_version.sh 1_0_3 delta-11
sudo -u casper /etc/casper/config_from_example.sh 1_0_3
После установки проверьте через несколько минут
curl -s localhost:8888/status | jq .next_upgrade
Вы должны увидеть
{
"activation_point": 104,
"protocol_version": "1.0.3"
}
Обновление Валидатора сети Delta до Валидатора сети Test Net
1. Установка зависимостей
sudo apt remove --purge cmake
hash -r
apt install fuse
apt install gnupg
apt install snapd
snap install cmake --classic
2. Удаление старого ПО
sudo systemctl stop casper-node-launcher.service
sudo apt remove -y casper-client
sudo apt remove -y casper-node-launcher
sudo rm /etc/casper/casper-node-launcher-state.toml
sudo rm -rf /etc/casper/1_0_*
sudo rm -rf /var/lib/casper/*
3. Установка нового ПО
CASPER_VERSION=1_0_0
CASPER_NETWORK=casper-test
echo "deb https://repo.casperlabs.io/releases" bionic main | sudo tee -a /etc/apt/sources.list.d/casper.list
curl -O https://repo.casperlabs.io/casper-repo-pubkey.asc
sudo apt-key add casper-repo-pubkey.asc
sudo apt update
sudo apt install casper-node-launcher -y
sudo apt install casper-client -y
4. Настройка и запуск ноды
sudo -u casper /etc/casper/pull_casper_node_version.sh $CASPER_NETWORK.conf $CASPER_VERSION
sudo -u casper /etc/casper/config_from_example.sh $CASPER_VERSION
KNOWN_ADDRESSES=$(sudo -u casper cat /etc/casper/$CASPER_VERSION/config.toml | grep known_addresses)
KNOWN_VALIDATOR_IPS=$(grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' <<< "$KNOWN_ADDRESSES")
IFS=' ' read -r KNOWN_VALIDATOR_IP _REST <<< "$KNOWN_VALIDATOR_IPS"
TRUSTED_HASH=$(curl -s $KNOWN_VALIDATOR_IP:8888/status | jq -r .last_added_block_info.hash | tr -d '\n')
if [ "$TRUSTED_HASH" != "null" ]; then sudo -u casper sed -i "/trusted_hash =/c\trusted_hash = '$TRUSTED_HASH'" /etc/casper/$CASPER_VERSION/config.toml; fi
sudo logrotate -f /etc/logrotate.d/casper-node
sudo systemctl start casper-node-launcher; sleep 2
systemctl status casper-node-launcher
5. Проверка статуса ноды
Проверьти логи
sudo tail -f /var/log/casper/casper-node.log
sudo tail -f /var/log/casper/casper-node.stderr.log
Проверьте видна ли ваша нода другим валидаторам
curl -s http://$KNOWN_VALIDATOR_IP:8888/status | jq .peers
Вы должны найти свой айпи-адрес в этом списке
Перед выполнением дальнейших шагов необходимо убедиться что нода полностью синхронизирована. Вы можете это понять, когда в логе появятся такие записи:
{"timestamp":"Feb 09 02:28:35.577","level":"INFO","fields":{"message":"finished joining"},"target":"casper_node::cli"}
{"timestamp":"Feb 09 02:28:35.578","level":"INFO","fields":{"message":"started JSON-RPC server","address":"0.0.0.0:7777"},"target":"casper_node::components::rpc_server::http_server"}
{"timestamp":"Feb 09 02:28:35.578","level":"INFO","fields":{"message":"started REST server","address":"0.0.
6. Пересборка смарт контракта
cd ~
BRANCH="1.0.20" \
&& git clone --branch ${BRANCH} https://github.com/WebAssembly/wabt.git "wabt-${BRANCH}" \
&& cd "wabt-${BRANCH}" \
&& git submodule update --init \
&& cd - \
&& cmake -S "wabt-${BRANCH}" -B "wabt-${BRANCH}/build" \
&& cmake --build "wabt-${BRANCH}/build" --parallel 8 \
&& sudo cmake --install "wabt-${BRANCH}/build" --prefix /usr --strip -v \
&& rm -rf "wabt-${BRANCH}"
cd ~
git clone https://github.com/CasperLabs/casper-node.git
cd ~/casper-node
git fetch
git checkout release-1.0.0
make clean
make setup-rs && make build-client-contracts -j
7. Привязка валидатора к сети
Попрлните свой аккаунт на странице Faucet. Выберите желаемый аккаунт и нажмите “Request Tokens”. Дождитель окончания операции.
Выполните запрос:
PUBLIC_KEY_HEX=$(sudo -u casper cat /etc/casper/validator_keys/public_key_hex)
CHAIN_NAME=$(curl -s http://127.0.0.1:8888/status | jq -r '.chainspec_name')
casper-client put-deploy \
--chain-name "$CHAIN_NAME" \
--node-address "http://127.0.0.1:7777/" \
--secret-key "/etc/casper/validator_keys/secret_key.pem" \
--session-path "$HOME/casper-node/target/wasm32-unknown-unknown/release/add_bid.wasm" \
--payment-amount 1000000000 \
--gas-price=1 \
--session-arg=public_key:"public_key='$PUBLIC_KEY_HEX'" \
--session-arg=amount:"u512='900000000000'" \
--session-arg=delegation_rate:"u8='10'"
Проверьте что ваша ставка появилась здесь