Aptos AIT3 source code

cryptoboy1017
3 min readAug 22, 2022
  1. Делаем апгрейд сервера
sudo apt update && sudo apt upgrade -y

2. Клонируем репо

git clone https://github.com/aptos-labs/aptos-core.git

Создаем папку аптос кор

cd aptos-core

3. Скачиваем unzip

apt install unzip

4. Скачиваем dev пакет

./scripts/dev_setup.sh

5. Обновите свою текущую среду

source ~/.cargo/env

6. чекаут тестнет

git checkout --track origin/testnet

7. Созадаем директории (НЕ ЗАБУДЬТЕ поменять USERNAME имя во второй строке на свое)

export WORKSPACE=testnet
export USERNAME=versace1017
mkdir ~/$WORKSPACE

8. Устанавливаем rust & cargo (нажимаем 1)

curl https://sh.rustup.rs -sSf | sh

9. Обновите свою текущую среду

source ~/.cargo/env

10. Устанавливаем APTOS CLI

sudo apt install build-essential pkg-config openssl libssl-dev libclang-devcargo install --git https://github.com/aptos-labs/aptos-core.git aptos --branch testnetwhich aptos

11. еще раз меняем директорию

export WORKSPACE=testnet

12. Генерация ключей

aptos genesis generate-keys --output-dir ~/$WORKSPACE/keys

13. вставляем еще раз имя (вы пишите свое из шага 6)

export USERNAME=versace1017

14. Тут меняем свой айпи где <validator node ip /dns> указываем без скобок

cd ~/$WORKSPACEaptos genesis set-validator-configuration \
--local-repository-dir ~/$WORKSPACE \
--username $USERNAME \
--owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \
--validator-host <Validator Node IP / DNS address>:6180 \
--stake-amount 100000000000000

15. Создаем layout

aptos genesis generate-layout-template --output-file ~/$WORKSPACE/layout.yaml

16. Правим лэйаут через нано и вставляем то что ниже команды ! меняем имя . скобки не удаляем ! — — — не удаляем ! удалить все вместе ctrl + k . сохраняем файл ctrl o ctrl x

nano layout.yamlroot_key: "D04470F43AB6AEAA4EB616B72128881EEF77346F2075FFE68E14BA7DEBD8095E"
users: ["versace1017"]
chain_id: 43
allow_new_validators: false
epoch_duration_secs: 7200
is_test: true
min_stake: 100000000000000
min_voting_threshold: 100000000000000
max_stake: 100000000000000000
recurring_lockup_duration_secs: 86400
required_proposer_stake: 100000000000000
rewards_apy_percentage: 10
voting_duration_secs: 43200
voting_power_increase_limit: 20

17. Копируем APTROS FRAMEWORK ! ждем компиляцию и когда завершится на команде cp head жмем enter

cd ~/aptos-core
cargo run --package framework -- release
cp head.mrb ~/$WORKSPACE/framework.mrb

18. Компилируем женезис и вейпоинт

aptos genesis generate-genesis --local-repository-dir ~/$WORKSPACE --output-dir ~/$WORKSPACE

19. Копируем файлы

mkdir ~/$WORKSPACE/configcp docker/compose/aptos-node/validator.yaml ~/$WORKSPACE/config/validator.yamlcp docker/compose/aptos-node/fullnode.yaml ~/$WORKSPACE/config/fullnode.yaml

20. меняем директорию

cd ~/$WORKSPACEcd config

21. Правим файл validator и вставляем все то ниже (быстро удалить ctrl k)

nano validator.yaml
base:
role: "validator"
data_dir: "/root/testnet/data"
waypoint:
from_file: "/root/testnet/waypoint.txt"
consensus:
safety_rules:
service:
type: "local"
backend:
type: "on_disk_storage"
path: /root/testnet/data/secure-data.json
namespace: ~
initial_safety_rules_config:
from_file:
waypoint:
from_file: /root/testnet/waypoint.txt
identity_blob_path: /root/testnet/keys/validator-identity.yaml
quorum_store_poll_count: 1
execution:
genesis_file_location: "/root/testnet/genesis.blob"
concurrency_level: 4
validator_network:
discovery_method: "onchain"
mutual_authentication: true
identity:
type: "from_file"
path: /root/testnet/keys/validator-identity.yaml
full_node_networks:
- network_id:
private: "vfn"
listen_address: "/ip4/0.0.0.0/tcp/6181"
identity:
type: "from_config"
key: "b0f405a3e75516763c43a2ae1d70423699f34cd68fa9f8c6bb2d67aa87d0af69"
peer_id: "00000000000000000000000000000000d58bc7bb154b38039bc9096ce04e1237"
api:
enabled: true
address: "0.0.0.0:8080"

22. Меняем директорию

cdcd aptos-core

23. Запускаем валика ждем пока скомпилируется

cargo run -p aptos-node --release -- -f ~/$WORKSPACE/config/validator.yaml

24. Создаем сервисник

nano /etc/systemd/system/aptos-node.service[Unit]Description=Aptos-nodeAfter=network.target[Service]Type=simpleUser=rootExecStart=/root/aptos-core/target/release/aptos-node -f /root/testnet/config/validator.yamlRestart=on-failureRestartSec=10LimitNOFILE=65535[Install]WantedBy=multi-user.target
systemctl enable aptos-node
systemctl daemon-reloadsystemctl restart aptos-nodejournalctl -u aptos-node -f -o cat

ПРОВЕРКА НОДЫ

https://node.aptos.zvalid.com

Логи

journalctl -u aptos-node -f -o cat

Посмортреть ключи для регистрации на сайте

cat /root/testnet/keys/public-keys.yaml

--

--