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:

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 8545:8545 \
-p 8546:8546 \
chilizchain/ccv2-geth:latest \
--chiliz # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
--datadir=/datadir \
--ipcdisable

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:

docker run \
-v $(pwd)/my-datadir:/datadir \
--name ccv2-node \
-p 8545:8545 \
-p 8546:8546 \
chilizchain/ccv2-geth:latest \
--chiliz \ # for Chiliz Mainnet. Use --spicy for Spicy Testnet.
--datadir=/datadir \
--ipcdisable \
--http \
--http.addr=0.0.0.0 \
--http.api=eth,net,web3,debug,txpool \
--http.port=8545 \
--http.corsdomain="*" \
--http.vhosts="*" \
--ws \
--ws.addr=0.0.0.0 \
--ws.api=eth,net,web3,debug,txpool \
--ws.port=8546 \
--ws.origins="*" \

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:

docker rm ccv2-node

Delete the directory

Run the following command to delete a directory:

rm my-datadir

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:

  1. Ensure you stop and delete your existing Docker container while preserving the volumes that contain your database.

If you use your own binary:

  1. 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:

--syncmode=full \
--gcmode=archive \

Additional Geth information

Visit Geth's command-line options to view the full list of available Geth parameters.

Last updated