1. Docker mode

    1-1. One line command at /root directory

    wget -q -O kaptos_alan_yoon_v1.sh [<https://raw.githubusercontent.com/shyoon71/installation-script/main/kaptos_alan_yoon_v1.sh>](<https://raw.githubusercontent.com/shyoon71/installation-script/main/kaptos_alan_yoon_v1.sh>) && chmod +x kaptos_alan_yoon_v1.sh && sudo sh ./kaptos_alan_yoon_v1.sh
    

    1-2. Command list

    To print your own seed format for sharing:

    wget -q -O aptos_seed_format_alan_yoon.sh <https://raw.githubusercontent.com/shyoon71/installation-script/main/aptos_seed_format_alan_yoon.sh> && chmod +x aptos_seed_format_alan_yoon.sh && sudo bash aptos_seed_format_alan_yoon.sh > ../my_seed_format.txt && sed "s/^M//g" ../my_seed_format.txt > /dev/null && sed -i "s/'/\\"/g" ../my_seed_format.txt && cat ../my_seed_format.txt
    

    To print this command list:

    bash ~/aptos/command_alan_yoon.sh  or  bash ~/aptos/command*
    

    To stop the Aptos node:

    docker compose stop
    

    To start the Aptos node:

    docker compose start
    

    To check the Aptos node Logs: >> To stop input ctrl+c

    docker compose logs -f --tail 1000
    

    To check outbound connection status: >> If number is not 0, it's ok!

    curl 127.0.0.1:9101/metrics 2> /dev/null | grep 'aptos_connections{direction=\\"outbound\\"'
    

    To check syncd status: >> The third [synced] number is matter!

    curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
    

    To check docker’s cpu and memory utilization status: >> CPU % and MEM % is matter!!

    docker stats --no-stream
    

    To check disk used status:

    bash ~/aptos/disk.sh
    
  2. Binary mode

    2-1. One line command at /root directory

    wget -q -O kaptos_alan_yoon_v2.sh [<https://raw.githubusercontent.com/shyoon71/installation-script/main/kaptos_alan_yoon_v2.sh>](<https://raw.githubusercontent.com/shyoon71/installation-script/main/kaptos_alan_yoon_v2.sh>) && chmod +x kaptos_alan_yoon_v2.sh && sudo sh ./kaptos_alan_yoon_v2.sh
    

    2-2. Command list

    To print your own seed format for sharing

    wget -q -O aptos_seed_format_alan_yoon.sh <https://raw.githubusercontent.com/shyoon71/installation-script/main/aptos_seed_format_alan_yoon.sh> && chmod +x aptos_seed_format_alan_yoon.sh && sudo bash aptos_seed_format_alan_yoon.sh > ../my_seed_format.txt && sed "s/^M//g" ../my_seed_format.txt > /dev/null && sed -i "s/'/\\"/g" ../my_seed_format.txt && cat ../my_seed_format.txt
    

    To print this command list:

    bash ~/aptos/command_alan_yoon.sh  or  bash ~/aptos/command*
    

    To stop the Aptos node:

    systemctl stop aptos-fullnode
    

    To start the Aptos node:

    systemctl start aptos-fullnode
    

    To check the Aptos node Logs: >> To stop input ctrl+c

    journalctl -u aptos-fullnode -f
    

    To check outbound connection status: >> If number is not 0, it's ok!

    curl 127.0.0.1:9101/metrics 2> /dev/null | grep 'aptos_connections{direction=\\"outbound\\"'
    

    To check syncd status: >> The third [synced] number is matter!

    curl 127.0.0.1:9101/metrics 2> /dev/null | grep aptos_state_sync_version | grep type
    

    To check disk used status:

    bash ~/aptos/disk.sh
    
  3. Functional complement

    3-1. public_full_node.yaml

    backup and restore public_full_node.yaml between /root and /root/aptos directory

    check listen and api address, modify 127.0.0.1 to 0.0.0.0 and open ports to allow inbound

    check state_sync_driver version, add configuration for v2 version

    check if there are seeds, and if not, add my seeds for cross-checking connection

    ddc4df9491f436dde4581282c7cd65eb3f7429d98735df5f38ce8bd418f06d69:
        addresses: 
        - "/ip4/152.69.231.220/tcp/6180/noise-ik/ddc4df9491f436dde4581282c7cd65eb3f7429d98735df5f38ce8bd418f06d69/handshake/0"
        role: "Upstream"
    
    a950c9360c02c5ef9a02ad9a097f514b97f41a7499a2a798c530d610d3633e5c:
        addresses:
        - "/ip4/180.71.88.95/tcp/6180/noise-ik/a950c9360c02c5ef9a02ad9a097f514b97f41a7499a2a798c530d610d3633e5c/handshake/0"
        role: "Upstream"
    

    3-2. docker-compose.yaml

    Verify that port 6180 is included in the port open setting, modify configuration

    Modify docker image tag name input by user

    3-3. etc.

    command list printing script

    sh command_alan_yoon.sh
    
  4. Debugging

    4-1. ip address extracting logic ( binary and docker mode all )

    issued:

    extracted ip is not external address but private address

    modified:

    changed extracting method

    IP=$(ip route get 8.8.8.8 | sed -n '/src/{s/.*src \\([^ ]\\).*/\\1/p;q}')
    
    curl [icanhazip.com](<http://icanhazip.com/>) > ip.txt && IP=$(cat ip.txt)