Using Source Code
Deploy a public fullnode (PFN) by building from aptos-core source code with complete configuration and setup instructions.
To deploy a PFN using the aptos-core source code maintained by movement labs
Follow the steps below:
-
Clone the movement
aptos-corerepo :git clone https://github.com/movementlabsxyz/aptos-core.git. -
Go in
aptos-coredirectory:cd aptos-core. -
Check out the
l1-mgirationbranch usinggit checkout --track origin/l1-migration -
Next, download the
genesis.blob,waypoint.txt,genesis_waypoint.txtfiles for the network your PFN will connect to:-
Run this command to download the genesis blob (for testnet):
curl -O https://raw.githubusercontent.com/movementlabsxyz/movement-networks/main/testnet/genesis.blob -
Run this command to download the waypoint file (for testnet):
curl -O https://raw.githubusercontent.com/movementlabsxyz/movement-networks/main/testnet/waypoint.txt
-
- Run this command to download the genesis_waypoint file (for testnet):
curl -O https://raw.githubusercontent.com/movementlabsxyz/movement-networks/main/testnet/genesis_waypoint.txt
Don't want to connect to testnet?
To connect to other networks (e.g., devnet and mainnet), you can find the genesis, waypoint and genesis_waypoint here ➜ https://github.com/movementlabsxyz/movement-networks.
Be sure to download the genesis.blob, waypoint.txt and genesis_waypoint.txt for those networks.
-
Next, run the command below to create a copy of the PFN configuration YAML template:
cp config/src/config/test_data/public_full_node.yaml fullnode.yaml -
Finally, edit the
fullnode.yamlconfiguration file to ensure that your PFN: (i) contains the files you just downloaded; and (ii) saves the synchronized blockchain data to the location of your choice (on your local machine). To do this:- Specify the correct path to the
genesis.blobandgenesis_waypoint.txtfile you just downloaded by editingexecution.genesis_file_locationin thefullnode.yamlconfiguration. By default, it points togenesis.blobin the current working directory.execution: genesis_file_location: ./genesis.blob # update to your path genesis_waypoint: from_file: ./genesis_waypoint.txt - Specify the correct path to the
waypoint.txtfile you just downloaded by editingbase.waypoint.from_filein thefullnode.yamlconfiguration. By default, it points towaypoint.txtin the current working directory. For example:base: waypoint: from_file: "./waypoint.txt" - Specify the directory on your local machine that you want to store the blockchain database by editing the
base.data_dirin thefullnode.yamlconfiguration. For example, you can create a directorymy-full-node/datain your home directory and specify it as:base: data_dir: "</path/to/my/homedir/my-full-node/data>" - Specify the upstream peer for your PFN. The upstream peer is the node from which your PFN will synchronize blockchain data. In this example,
9967EBF40AC8C2CCB38709488952DA1826176584EA3067B63B1695362ECB3D1Fis the upstream peer_id. You can also configure this to point to your own PFN if preferred. For example:full_node_networks: - network_id: "public" discovery_method: "none" listen_address: "/ip4/0.0.0.0/tcp/6182" seeds: 9967EBF40AC8C2CCB38709488952DA1826176584EA3067B63B1695362ECB3D1F: addresses: - "/dns/testnet.movementnetwork.xyz/tcp/6182/noise-ik/9967EBF40AC8C2CCB38709488952DA1826176584EA3067B63B1695362ECB3D1F/handshake/0" role: "Upstream"
- Specify the correct path to the
-
Start your local public fullnode by running the below command:
cargo run -p aptos-node --release -- -f ./fullnode.yamlDebugging?
The command above will build a release binary for aptos-node at: aptos-core/target/release/aptos-node. The release
binaries tend to be substantially faster than debug binaries but lack debugging information useful for development.
To build a debug binary, omit the --release flag from the command above.
You have now successfully configured and started running a PFN in the Movement testnet.
Verify your PFN
If you want to verify that your PFN is running correctly, you can follow the instructions in the Verify a PFN guide.
Deploy a PFN
Step-by-step guides for deploying a public fullnode (PFN) on Movement networks using various deployment methods including source code, Docker, and cloud platforms coming soon.
Using Docker
Deploy a public fullnode (PFN) using Docker containers with automated configuration download and container setup for x86-64 systems.