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-core
repo :git clone https://github.com/movementlabsxyz/aptos-core.git
. -
Go in
aptos-core
directory:cd aptos-core
. -
Check out the
l1-mgiration
branch usinggit checkout --track origin/l1-migration
-
Next, download the
genesis.blob
,waypoint.txt
,genesis_waypoint.txt
files 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.yaml
configuration 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.blob
andgenesis_waypoint.txt
file you just downloaded by editingexecution.genesis_file_location
in thefullnode.yaml
configuration. By default, it points togenesis.blob
in 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.txt
file you just downloaded by editingbase.waypoint.from_file
in thefullnode.yaml
configuration. By default, it points towaypoint.txt
in 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_dir
in thefullnode.yaml
configuration. For example, you can create a directorymy-full-node/data
in 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,
9967EBF40AC8C2CCB38709488952DA1826176584EA3067B63B1695362ECB3D1F
is 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.yaml
Debugging?
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.