Aptos FullNode Testnet
#выйти из интерактивного режиме ctrl+c
#удаление старых файлов на диске
(Для vps, на которых уже был развернут Aptos в devnet)
cd /var/log/journal/ rm -rf * cd rm -rf aptos* rm -rf .rustup/ .aptos/ rm -rf .cargo/ .cache/ anaconda-ks.cfg rm -rf update_2205* rm -rf /usr/local/bin/aptos-* cd /opt rm -rf aptos/ minima/
#проверка на zombie pids - Если ничего нету под aptos-node пропускаем этот шаг
sudo lsof -i -P -n | grep LISTEN
#если видим слева aptos-nodes она все еще запущена и нужно удалить перед переустановкой пример ниже
#aptos-nod 58362 root 9u IPv4 290432 0t0 TCP *:6191 (LISTEN)
#aptos-nod 58362 root 16u IPv4 291065 0t0 TCP *:9101 (LISTEN)
#aptos-nod 58362 root 19u IPv4 290433 0t0 TCP *:9102 (LISTEN)
#aptos-nod 58362 root 42u IPv4 289153 0t0 TCP 127.0.0.1:6666 (LISTEN)
#aptos-nod 58362 root 47u IPv4 289154 0t0 TCP 127.0.0.1:6186 (LISTEN)
#aptos-nod 58362 root 53u IPv4 289155 0t0 TCP 127.0.0.1:6180 (LISTEN)
#aptos-nod 58362 root 78u IPv4 291067 0t0 TCP 127.0.0.1:8080 (LISTEN)
#дальше запускаем команду чтобы найти номер pid на удаление
sudo lsof -i:6191
#COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
#aptos-nod 58362 root 9u IPv4 290432 0t0 TCP *:6191 (LISTEN)
#удаляем pid
kill -9 58362
Для установки Aptos FullNode на чистом vps начинаем установку с этого момента
apt-get update -y apt-get install ncdu curl cargo screen net-tools jq wget git openssl-dev librust-openssl-sys-dev make clang pkg-config -y
##### устанавливаем ноду по новому
#переходим в домашний каталог
cd
mkdir aptos-source
cd aptos-source
git clone https://github.com/aptos-labs/aptos-core
#переходим в директорию для сборки
cd aptos-core
bash scripts/dev_setup.sh
source ~/.cargo/env
переходим на ветку с дополнительными параметрами для ФУЛ Нод
git checkout --track origin/devnet
wget https://devnet.aptoslabs.com/genesis.blob wget https://devnet.aptoslabs.com/waypoint.txt
создаем файл в директории /root/aptos-source/aptos-core
public_full_node.yaml
base: # Update this value to the location you want the node to store its database data_dir: "/opt/aptos/data" role: "full_node" waypoint: # Update this value to that which the blockchain publicly provides. Please regard the directions # below on how to safely manage your genesis_file_location with respect to the waypoint. from_file: "waypoint.txt" execution: # Update this to the location to where the genesis.blob is stored, prefer fullpaths # Note, this must be paired with a waypoint. If you update your waypoint without a # corresponding genesis, the file location should be an empty path. genesis_file_location: "genesis.blob" full_node_networks: - discovery_method: "onchain" # The network must have a listen address to specify protocols. This runs it locally to # prevent remote, incoming connections. listen_address: "/ip4/127.0.0.1/tcp/6180" network_id: "public" # Define the upstream peers to connect to seeds: bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a: addresses: - "/dns4/pfn0.node.devnet.aptoslabs.com/tcp/6182/ln-noise-ik/bb14af025d226288a3488b4433cf5cb54d6a710365a2d95ac6ffbd9b9198a86a/ln-handshake/0" role: "Upstream" 7fe8523388084607cdf78ff40e3e717652173b436ae1809df4a5fcfc67f8fc61: addresses: - "/dns4/pfn1.node.devnet.aptoslabs.com/tcp/6182/ln-noise-ik/7fe8523388084607cdf78ff40e3e717652173b436ae1809df4a5fcfc67f8fc61/ln-handshake/0" role: "Upstream" f6b135a59591677afc98168791551a0a476222516fdc55869d2b649c614d965b: addresses: - "/dns4/pfn2.node.devnet.aptoslabs.com/tcp/6182/ln-noise-ik/f6b135a59591677afc98168791551a0a476222516fdc55869d2b649c614d965b/ln-handshake/0" role: "Upstream" api: enabled: true address: 127.0.0.1:8080
#закрываем и запускаем среду в screen
screen -S public_full_node
cargo run -p aptos-node --release -- -f ./public_full_node.yaml
#жмем ctrl+a d для выхода из screen сессии
#ждем пока сборка пройдет и проверяем состояние
curl 127.0.0.1:9101/metrics 2> /dev/null | grep "aptos_state_sync_version{.*\"synced\"}" | awk '{print $2}'