How to run a SCDO mining node

SCDO
4 min readJun 6, 2024

--

Run mining node

Execute the following command

Copy

$ ./node start -c [the configuration file] --threads [number]

For example, using the configuration file we created earlier, the command will be:

Copy

$ ./node start -c ./node1_1.json --threads 10

If this is your first time executing the command, it may take a few hours to synchronize all data, you will be better off if using the following option:

Copy

$ ./node start -c ./node1_1.json --threads 10 -m stop

This will speed up the synchronization of data.

You will see the logs line by line on your screen. These are information messages which you can “pipe” and save to a file. It shall start to synchronize the data with the SCDO network shortly if the connections of your node to the SCDO network are established.

Check connections to SCDO network

By Slowlifetrader

After your mining node is up and running, in order to have a chance to win some reward tokens, the node has to be connected to the SCDO network. In addition, it shall have connections to nodes in each shard in order to maintain robust connections to the network.

For getting the general connection information, use

Copy

$ ./client getinfo [--address ip:port]

The string after “- -address” indicates the ip and port of the node. In this example, you can skip it because the default value is 0.0.0.0:8027 (for shard 1). The outcome will be like

Copy

{
"BlockAge": 23,
"Coinbase": "1S011c9dab11f953875fafc374a641bdaf58488771",
"CurrentBlockHeight": 3339035,
"HeaderHash": "0x53edbf3f80e3ffeefcb28cf6070939df7ea46926e94502f5e60a96e7459790b0",
"MinerStatus": "Running",
"PeerCnt": "10 (3 3 1 3)",
"Shard": 1,
"Version": "Scdo_V1.0.0"
}

“BlockAge”: 23 indicates the age of the most recent block in the shard mined.

“Coinbase”: “1S011c9dab11f953875fafc374a641bdaf58488771”, your mining address.

“CurrentBlockHeight”: 3339035, the height of the most recent block.

“HeaderHash”: “0x53edbf3f80e3ffeefcb28cf6070939df7ea46926e94502f5e60a96e7459790b0”, the hash of the header of the most recent block of the shard, which is shard 1 in our example.

“MinerStatus”: “Running”, the status of the miner.

“PeerCnt”: “10 (3 3 1 3)”, indicates the total peers connected are 10, 3 in shard 1, shard 2, and shard 4 respectively, and 1 in shard 3. If you see no zero, that is good!

“Shard”: 1, mining is in shard 1.

If you want to learn more about the connections, please execute the following:

Copy

$ ./client p2p peersinfo [--address ip:port]

The outcome will be similar to the following:

Copy

[
{
"caps": [
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1",
"lightScdo_2/1"
],
"id": "1S01759e0cbd1b801508924e90e35dc9c70bd601e1",
"network": {
"localAddress": "192.168.1.38:44056",
"remoteAddress": "74.208.207.184:8057"
},
"protocols": {
"lightScdo_1": "handshake",
"lightScdo_2": "handshake",
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1696077961295,
"head": "f7b699259bca687a4760d96e8ea08a4ccf607bbdc99cd4432aaf1f534a60e471",
"version": 1
}
},
"shard": 1
},
{
"caps": [
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1"
],
"id": "2S024fdf4e2f59eb5fc16837c8419d971e17f99551",
"network": {
"localAddress": "192.168.1.38:47118",
"remoteAddress": "74.208.136.152:8058"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1687915773901,
"head": "5128f82743db7b3d9dc9a45cb4ff717fa3dae9c796f65daa83c28da41fd6f14b",
"version": 1
},
"lightScdo_2": {
"difficulty": 1714829896315,
"head": "be33c8405a2f49eaf3e144f514b68be0e7c4924448404429cb0e966e803ab560",
"version": 1
},
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1714829896315,
"head": "be33c8405a2f49eaf3e144f514b68be0e7c4924448404429cb0e966e803ab560",
"version": 1
}
},
"shard": 2
},
{
"caps": [
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1"
],
"id": "2S02b486bcfdc07ea6417225721dbfe0246325c7a1",
"network": {
"localAddress": "192.168.1.38:57300",
"remoteAddress": "74.208.207.184:8058"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1687784917421,
"head": "6ddd3de03021a3aecbdd3dbd286d743d394b0d6a20f15dbc7c32b0699edd46ba",
"version": 1
},
"lightScdo_2": {
"difficulty": 1714824520587,
"head": "fe904ca61847dad5182e8b6dc95303db5b33b84048d47528b44aa0a32911af79",
"version": 1
},
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1714824520587,
"head": "fe904ca61847dad5182e8b6dc95303db5b33b84048d47528b44aa0a32911af79",
"version": 1
}
},
"shard": 2
},
{
"caps": [
"lightScdo_2/1",
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1"
],
"id": "2S02d83dc671800300f80546b8cacd266bca9cab41",
"network": {
"localAddress": "192.168.1.38:47876",
"remoteAddress": "109.228.36.218:8058"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1687759712020,
"head": "8d1fca279d826d85eba52a9f38fdac73390aa549853451a489b2729734bb0369",
"version": 1
},
"lightScdo_2": {
"difficulty": 1714829896315,
"head": "be33c8405a2f49eaf3e144f514b68be0e7c4924448404429cb0e966e803ab560",
"version": 1
},
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1714829896315,
"head": "be33c8405a2f49eaf3e144f514b68be0e7c4924448404429cb0e966e803ab560",
"version": 1
}
},
"shard": 2
},
{
"caps": [
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1"
],
"id": "3S03c3fe4ba31da9246c065c4e15a93e9ae71c67b1",
"network": {
"localAddress": "192.168.1.38:41990",
"remoteAddress": "74.208.207.184:8059"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1687794976919,
"head": "16f4a62b766dd6c1b6ba9324993d2f6b883fb4e21e57da117955ee8ed98ee5fc",
"version": 1
},
"lightScdo_2": "handshake",
"lightScdo_3": {
"difficulty": 1701944364685,
"head": "1399e67ef78aa19d3a4ffa99784fc276675d9906e8a837f29ae2bd4b520fe4a1",
"version": 1
},
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1701944364685,
"head": "1399e67ef78aa19d3a4ffa99784fc276675d9906e8a837f29ae2bd4b520fe4a1",
"version": 1
}
},
"shard": 3
},
{
"caps": [
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1"
],
"id": "4S04f17b6fc55cc58017aad9c5b33abeee5b1dbb41",
"network": {
"localAddress": "192.168.1.38:42890",
"remoteAddress": "104.254.244.44:8056"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1685204026183,
"head": "c704b010291d3a2c25ebfe8f7123c088a177feed77c7d55c06a78d02bc62ca3d",
"version": 1
},
"lightScdo_2": "handshake",
"lightScdo_3": "handshake",
"lightScdo_4": {
"difficulty": 1704245912720,
"head": "0017ced433cb1fa47045110f7fffca291291c33b0e842057f4fc2cbc33e42c83",
"version": 1
},
"scdo": {
"difficulty": 1704245912720,
"head": "0017ced433cb1fa47045110f7fffca291291c33b0e842057f4fc2cbc33e42c83",
"version": 1
}
},
"shard": 4
}
]

In the above illustration, the mining node is in shard 1. Let’s try to understand the messages. The outcome consists of multiple sections of the same data structure as

Copy

{
"caps": [
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1",
"lightScdo_1/1",
"lightScdo_2/1"
],
"id": "1S01759e0cbd1b801508924e90e35dc9c70bd601e1",
"network": {
"localAddress": "192.168.1.38:44056",
"remoteAddress": "74.208.207.184:8057"
},
"protocols": {
"lightScdo_1": "handshake",
"lightScdo_2": "handshake",
"lightScdo_3": "handshake",
"lightScdo_4": "handshake",
"scdo": {
"difficulty": 1696077961295,
"head": "f7b699259bca687a4760d96e8ea08a4ccf607bbdc99cd4432aaf1f534a60e471",
"version": 1
}
},
"shard": 1
},

The above tells that the connected remote node belongs to shard 1 which has the IP address “74.208.207.184:8057”. You can ignore the other part of the message for now.

The following section tells that the connected remote node belongs to shard 4.

Copy

{
"caps": [
"lightScdo_1/1",
"lightScdo_2/1",
"lightScdo_3/1",
"lightScdo_4/1",
"scdo/1"
],
"id": "4S04f17b6fc55cc58017aad9c5b33abeee5b1dbb41",
"network": {
"localAddress": "192.168.1.38:42890",
"remoteAddress": "104.254.244.44:8056"
},
"protocols": {
"lightScdo_1": {
"difficulty": 1685204026183,
"head": "c704b010291d3a2c25ebfe8f7123c088a177feed77c7d55c06a78d02bc62ca3d",
"version": 1
},
"lightScdo_2": "handshake",
"lightScdo_3": "handshake",
"lightScdo_4": {
"difficulty": 1704245912720,
"head": "0017ced433cb1fa47045110f7fffca291291c33b0e842057f4fc2cbc33e42c83",
"version": 1
},
"scdo": {
"difficulty": 1704245912720,
"head": "0017ced433cb1fa47045110f7fffca291291c33b0e842057f4fc2cbc33e42c83",
"version": 1
}
},
"shard": 4
}

The other similar sections have similar meanings.

Please refer to our previous articles on how to create an account and a configuration file before getting started with running the mining node.

Follow us: https://x.com/scdolab

--

--

SCDO
0 Followers

SCDO is a Depin public chain based on the ZPoW algorithm. It pays tribute to Sotoshi's POW spirit of fairness. It also uses four-sharding technology.