# Installing Public Fullnode for Aptos Mainnet (Only for X86-64) ## 1. Install Docker and Docker Compose. ``` sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common sudo apt remove docker docker-engine docker.io containerd runc curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce sudo systemctl status docker sudo usermod -aG docker ${USER} ``` > Exit terminal and re-login. ``` DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose docker compose version ``` ## 2. Install Public Fullnode. ``` cd mkdir mainnet && cd mainnet mkdir data curl -O https://raw.githubusercontent.com/aptos-labs/aptos-core/mainnet/docker/compose/aptos-node/fullnode.yaml curl -O https://raw.githubusercontent.com/aptos-labs/aptos-networks/main/mainnet/waypoint.txt curl -O https://raw.githubusercontent.com/aptos-labs/aptos-networks/main/mainnet/genesis.blob ``` > Change "/ip4/0.0.0.0/tcp/6182" to "/ip4/0.0.0.0/tcp/6180" in fullnode.yaml and start Public Fullnode. ``` docker run --pull=always --rm -p 8080:8080 -p 9101:9101 -p 6180:6180 -v $(pwd):/opt/aptos/etc -v $(pwd)/data:/opt/aptos/data --workdir /opt/aptos/etc --name=aptos-fullnode aptoslabs/validator:mainnet aptos-node -f /opt/aptos/etc/fullnode.yaml ``` > Use ctrl+c exit process. ## 3. Create a static identity. ``` docker run -it aptoslabs/tools:devnet /bin/bash ``` > Open a new terminal. ``` cd cd mainnet aptos key generate --key-type x25519 --output-file ./private-key.txt aptos key extract-peer --host your_IP_address:6180 --public-network-key-file ./private-key.txt.pub --output-file ./peer-info.yaml ``` > Use private-key.txt and peer-info.yaml, insert private-key and peer-id in fullnode.yaml like format below. ``` full_node_networks: - network_id: "public" discovery_method: "onchain" identity: type: "from_config" key: "C83110913CBE4583F820FABEB7514293624E46862FAE1FD339B923F0CACC647D" peer_id: "B881EA2C174D8211C123E5A91D86227DB116A44BB345A6E66874F83D8993F813" ``` > Exit previous terminal. ## 4. Restart Public Fullnode with a static identity. ``` docker run --pull=always --rm -p 8080:8080 -p 9101:9101 -p 6180:6180 -v $(pwd):/opt/aptos/etc -v $(pwd)/data:/opt/aptos/data --workdir /opt/aptos/etc --name=aptos-fullnode aptoslabs/validator:mainnet aptos-node -f /opt/aptos/etc/fullnode.yaml ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up