Run a Chiliz Chain Node
Launch, create, connect, and debug a node to sync with Chiliz Chain
Running your own Chiliz Chain node offers enhanced control, privacy, and reliability, but requires more technical expertise and resources compared to using an existing RPC endpoint.
It allows you to transact and communicate with smart contracts on the Chiliz Chain
Prerequisites
To run the Chiliz Chain node, you must have Docker installed, either on your machine or your server. Therefore, please complete the Docker installation before you proceed.
Pre-built Docker images
You can use the pre-built Docker images from the Chiliz Chain 2.0 public repository on the Docker hub for Chiliz Chain 2.0.
Launch a node and start the sync
The recommended starting point to run a Chiliz Chain node is with the mounted data volume. If this method is used to recreate a Docker container, the data gets stored in the directory and can easily be reused or cloned to another node.
Step 1: Create a directory
Create a directory and point to it in the -v
parameter in the following command:
Step 2: Connect Client
To connect a client with a node, you must enable RPC HTTP and/or the WebSocket servers by specifying --http
and/or --ws
parameter groups respectively.
For example:
CAUTION
For security reasons, ensure you set appropriate values for the following parameters:
--http.corsdomain
--http.vhosts
--ws.origins
Node maintenance information
Change verbosity when debugging
In some cases, you may want to increase the verbosity of the node, i.e. when you must debug either the node or the connecting client itself.
To do that, you can define a --verbosity
parameter. It can accept the following options (default is 3):
0=silent
1=error
2=warn
3=info
4=debug
5=detail
Stop the node and clean up
If you have launched the node using one of the above commands then your node process continues to run in the foreground. To stop this process, press CTRL+C.
Run the following command to remove the Docker container:
Delete the directory
Run the following command to delete a directory:
Updating your node
The Chiliz Chain team strives to keep Chiliz Chain secure and modern, and we will therefore make hard fork now and then every year, such as the Dragon8 hard fork.
In the event of a hard fork, your node will be out of sync with the network. It is therefore important to follow our announcements, and update your node.
To keep your node updated, you can follow the following steps.
If you use Docker:
Ensure you stop and delete your existing Docker container while preserving the volumes that contain your database.
Launch your node using the latest pre-built Docker image available.
If you use your own binary:
Build from there with your toolset.
Running an archive node
To run an archive node, you should add the following 2 params into the ccv2-geth call presented above:
Running a Chiliz Chain Node from a Snapshot
To speed up the synchronization process of your Chiliz Chain node, you can rely on a snapshot — a recent copy (or archive) of the blockchain data directory (datadir). This method allows your node to become operational more quickly compared to syncing from scratch.
It recommend to keep snapshots for new node setups. Overwriting an existing datadir with a snapshot may lead to inconsistencies.
Available Snapshots
Each network has a dedicated snapshot:
Spicy Testnet: chaindata_snapshot.tar.gz
Mainnet: chaindata_snapshot.tar.gz
Cleaning Existing Data
If you intend to apply a snapshot to an existing node, ensure you delete the following directories and files within your datadir before restarting the node:
This step helps prevent potential conflicts arising from residual data.
Steps to Run a Node from a Snapshot:
Create a Data Directory:
Download the Snapshot:
Replace the URL with the Mainnet snapshot URL if needed.
To monitor the download progress, use:
tail -f download.log
Extract the Snapshot:
Run the Chiliz Chain Node:
Additional Geth information
Visit Geth's command-line options to view the full list of available Geth parameters.
Last updated