Using a Docker Container
Sync Chain Data
Section titled “Sync Chain Data ”Ensure Docker is installed (or install it in your OS of choice) and run the creditcoin-node Docker image.
Docker should automatically pull the specified
gluwa/creditcoinimage. If not, you can try pulling it yourself from DockerHub by runningdocker pull gluwa/creditcoin:2.231.0-mainnetand then re-running the command below.
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/creditcoin:2.231.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 main `# we want to connect to the mainnet` \ --bootnodes "/dns4/bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWAEgDL126EUFxFfdQKiUhmx3BJPdszQHu9PsYsLCuavhb" "/dns4/bootnode2.creditcoin.network/tcp/30333/p2p/12D3KooWSQye3uN3bZQRRC4oZbpiAZXkP2o5UZh6S8pqyh24bF3k" "/dns4/bootnode3.creditcoin.network/tcp/30333/p2p/12D3KooWFrsEZ2aSfiigAxs6ir2kU6en4BewotyCXPhrJ7T1AzjN" \ --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 communicationdocker run \ --name creditcoin-validator \ -p 30333:30333 \ -v <your local data path>:/creditcoin-node/data \ gluwa/creditcoin:2.231.0-mainnet \ --name "validator name" \ --telemetry-url "wss://telemetry.creditcoin.network/submit/ 0" \ --public-addr "/dns4/<yourhostname or ip>/tcp/30333" \ --chain main \ --bootnodes "/dns4/bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWAEgDL126EUFxFfdQKiUhmx3BJPdszQHu9PsYsLCuavhb" "/dns4/bootnode2.creditcoin.network/tcp/30333/p2p/12D3KooWSQye3uN3bZQRRC4oZbpiAZXkP2o5UZh6S8pqyh24bF3k" "/dns4/bootnode3.creditcoin.network/tcp/30333/p2p/12D3KooWFrsEZ2aSfiigAxs6ir2kU6en4BewotyCXPhrJ7T1AzjN" \ --validator \ --base-path /creditcoin-node/data \ --port 30333docker run ` --name creditcoin-validator ` -p 30333:30333 ` -v <your local data path>:/creditcoin-node/data `# Enter testnet image gluwa/creditcoin:2.231.0-mainnet `# name the validator --name "validator name" `# (optional) opt in to telemetry --telemetry-url "wss://telemetry.creditcoin.network/submit/ 0" `# REPLACE <yourhostname or ip> with the public IP address or host name that your node can be reached at --public-addr "/dns4/<yourhostname or ip>/tcp/30333" `# we want to connect to the testnet --chain main `# we want to run a validator node --bootnodes "/dns4/bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWAEgDL126EUFxFfdQKiUhmx3BJPdszQHu9PsYsLCuavhb" "/dns4/bootnode2.creditcoin.network/tcp/30333/p2p/12D3KooWSQye3uN3bZQRRC4oZbpiAZXkP2o5UZh6S8pqyh24bF3k" "/dns4/bootnode3.creditcoin.network/tcp/30333/p2p/12D3KooWFrsEZ2aSfiigAxs6ir2kU6en4BewotyCXPhrJ7T1AzjN" ` --validator `# the base path to store the node's data --base-path /creditcoin-node/data `# the port to use for node-to-node communication --port 30333docker run ` --name creditcoin-validator ` -p 30333:30333 ` -v <your local data path>:/creditcoin-node/data ` gluwa/creditcoin:2.231.0-mainnet ` --name "validator name" ` --telemetry-url "wss://telemetry.creditcoin.network/submit/ 0" ` --public-addr "/dns4/<yourhostname or ip>/tcp/30333" ` --chain test ` --bootnodes "/dns4/bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWAEgDL126EUFxFfdQKiUhmx3BJPdszQHu9PsYsLCuavhb" "/dns4/bootnode2.creditcoin.network/tcp/30333/p2p/12D3KooWSQye3uN3bZQRRC4oZbpiAZXkP2o5UZh6S8pqyh24bF3k" "/dns4/bootnode3.creditcoin.network/tcp/30333/p2p/12D3KooWFrsEZ2aSfiigAxs6ir2kU6en4BewotyCXPhrJ7T1AzjN" ` --validator ` --base-path /creditcoin-node/data ` --port 30333In 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/creditcoin:2.223.0-testnet \--bootnodes "/dns4/testnet-bootnode.creditcoin.network/tcp/30333/p2p/12D3KooWG3eEuYxo37LvU1g6SSESu4i9TQ8FrZmJcjvdys7eA3cH" "/dns4/testnet-bootnode2.creditcoin.network/tcp/30333/p2p/12D3KooWLq7wCMQS3qVMCNJ2Zm6rYuYh74cM99i9Tm8PMdqJPDzb" "/dns4/testnet-bootnode3.creditcoin.network/tcp/30333/p2p/12D3KooWAKUrvmchoLomoouoN1sKfF9kq8dYtCVFvtPuvqp7wFBS" \--chain test \--validator \--base-path /data \--port 30333