Using a Docker container
Sync Chain Data
Ensure Docker is installed (or install it in your OS of choice) and run the gluwa/creditcoin3
Docker image.
Using Docker to run a Mainnet node
PowerShell does not support comments on multiline commands, please use the uncommented version.
docker run \
--name creditcoin-validator \
-p 30333:30333 \
-v <your local data path>:/creditcoin-node/data \
gluwa/creditcoin3:3.39.0-mainnet `# Enter latest mainnet image` \
--name "validator name" `# name the validator` \
--telemetry-url "wss://telemetry.creditcoin.network/submit/ 0" `# (optional) opt in to telemetry` \
--public-addr "/dns4/<yourhostname or ip>/tcp/30333" `# REPLACE <yourhostname or ip> with the public IP address or host name at which your node can be reached` \
--chain /mainnetSpecRaw.json `# we want to connect to mainnet` \
--bootnodes "/dns4/cc3-bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWLGyvbdQ3wTGjRAEueFsDnstZnV8fN3iyPTmHeyswSPGy" \
--validator `# if we want to run a validator node` \
--base-path /creditcoin-node/data `# the base path to store the node's data` \
--port 30333 # the port to use for node-to-node communications
In the command above, notice the -v
flag that takes a local directory as the first part of the parameter. It's import that docker has the ability to write to this directory, otherwise you will see errors such as Error: Service(Client(Backend("IO Error: Permission denied (os error 13)")))
. Your command will likely use a path similar to -v /home/validator/data:/creditcoin-node/data
.
Here is an example command to run a validator that connects to the Creditcoin Mainnet:
docker run \
-p 30333:30333 \
-v ~/chain_data:/data \
gluwa/creditcoin3:3.39.0-mainnet \
--bootnodes "/dns4/cc3-bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWLGyvbdQ3wTGjRAEueFsDnstZnV8fN3iyPTmHeyswSPGy" \
--chain /mainnetSpecRaw.json \
--validator \
--base-path /data \
--port 30333
Using Docker to run a Testnet node
Generating a network p2p key (Necessary for new Testnet nodes starting 3.47.0)
Starting v3.47.0, new nodes that intent to be validators will no longer generate network key automatically on start-up. Validator nodes in existence prior to v3.47.0 do not need to make changes to how they handle network key. When setting up a new node, run the following command to generate and store on disk the network key that will be referenced in the start-up command:
docker run --name creditcoin-validator -p 30333:30333 -v <your local data path>:/creditcoin-node/data gluwa/creditcoin3:3.48.0-testnet key generate-node-key
The command will output two values. A node peer id and the associated secret key.
The secret key must be placed in a file under this path
<your local path>/creditcoin-node/data/chains/creditcoin3_testnet/network/secret_ed25519
CAUTION: This step can be bypassed using the --unsafe-force-node-key-generation argument in the start-up command. This parameter forces the generation of a new network key even if one already exists under the network folder or if the system would normally prevent its generation under certain conditions.
Attempting to run a validator without its network key configured will result in the follow error:
Error: NetworkKeyNotFound("/data/chains/creditcoin3_testnet/network/secret_ed25519")
PowerShell does not support comments on multiline commands, please use the uncommented version.
docker run \
--name creditcoin-validator \
-p 30333:30333 \
-v <your local data path>:/creditcoin-node/data \
gluwa/creditcoin3:3.48.0-testnet `# Enter latest testnet image` \
--name "validator name" `# name the validator` \
--telemetry-url "wss://telemetry.creditcoin.network/submit/ 0" `# (optional) opt in to telemetry` \
--public-addr "/dns4/<yourhostname or ip>/tcp/30333" `# REPLACE <yourhostname or ip> with the public IP address or host name at which your node can be reached` \
--chain testnet `# we want to connect to the testnet` \
--bootnodes "/dns4/cc3-test-bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWAxmsWr6iEjFyLqQBzfLvbCRTAhYBeszyr8UWgQx6Zu7K" \
--validator `# we want to run a validator node` \
--base-path /creditcoin-node/data `# the base path to store the node's data` \
--port 30333 # the port to use for node-to-node communications
In the command above, notice the -v
flag that takes a local directory as the first part of the parameter. It's import that docker has the ability to write to this directory, otherwise you will see errors such as Error: Service(Client(Backend("IO Error: Permission denied (os error 13)")))
. Your command will likely use a path similar to -v /home/validator/data:/creditcoin-node/data
.
Here is an example command to run a validator that connects to the Creditcoin Testnet:
docker run \
-p 30333:30333 \
-v ~/chain_data:/data \
gluwa/creditcoin3:3.48.0-testnet \
--bootnodes "/dns4/cc3-test-bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWAxmsWr6iEjFyLqQBzfLvbCRTAhYBeszyr8UWgQx6Zu7K" \
--chain testnet \
--validator \
--base-path /data \
--port 30333
Last updated