Archive Node
Syncing and operating a Canto archive node is a time-consuming process. For convenience, consider provisioning a dedicated archive node with Ansybl.
You may wish to archive the entire history of the Canto blockchain in order to index it with a Graph node or to roll your own block explorer. This means spinning up an archive node.
Complete step-by-step instructions for launching an archive node are provided below. If you're already comfortable installing and upgrading cantod, see step four for archive-specific config details.
As of block 2,500,000, the full archive state of Canto uses approximately 600GB of storage.
1. Install Dependencies
Install dependencies (Ubuntu):
sudo snap install go --classic
sudo apt-get install git
sudo apt-get install gcc
sudo apt-get install make2. Install cantod
cantodClone the official repo and install the v1.0.0 binary:
git clone https://github.com/Canto-Network/Canto.git
cd Canto
git checkout v1.0.0
make install
sudo mv $HOME/go/bin/cantod /usr/bin/3. Initialize cantod
cantodInitialize the node and download the genesis file:
4. Edit Config
As when setting up a validating node, you'll need to set a seed peer (or persistent peers) as well as minimum gas prices:
For an archive node specifically, the most important config setting is the pruning setting, which should be set to nothing:
5. Create systemd Service
systemd ServiceCreate the systemd service file:
Copy and paste the following configuration and save:
6. Start the Node
If your node has issues connecting to the seed peer, you can manually download an address book.
7. Update Binary
State breaking software upgrades took place at blocks:
218225 (v2.0.0)
1231500 (v3.0.0)
1274863 (v4.0.0)
2669495 (v5.0.0)
5144100 (v6.0.0)
6055770 (v7.0.0)
Important: v2.0.0 may cause AppHash errors at blocks that contained governance proposals (e.g. 804212). To avoid this, build from the thomas/archive-patch branch instead.
Upon reaching these blocks while syncing an archive node, the node will halt and throw an error every time it restarts until you update the binary. To do so, follow these steps:
For future binary upgrades, you will need to git pull to fetch the updated binary before you attempt to install it.
Last updated
