SCDO wiki


1. Why is my node not synchronizing to the most recent blocks?

SCDO utilizes a unique sharding technique. It requires your node to connect to all the shards in order to process cross-shard transactions flawlessly. If your node is not connected to a particular shard, it cannot verify the block with cross-shard transactions from that shard. Hence the synchronization stops. To check whether your node is connected to all the shards, you can use ./client p2p peersinfo under go-scdo/build/ directory (after you build go-scdo) to check all the nodes you have connected to. You can see the shard information of each node. Sometimes it takes a long time to sync due to complicated network environment. Please be patient.

2. How do I know if I have mined a block?

You can check on SCDO block explorer with your coinbase(account). Even though the log showing on your local machine says you have mined a block, it may not be the final result on the mainnet because your mined block needs to be recognized by the mining community. You may also use ./client getbalance --account (your account) -a ip:port to check whether your balance is increasing. We recommend using the IP of static nodes or some trusted IPs you find on SCDO block explorer. The port should be adjusted based on the shard. Shard 1: 8027, shard 2: 8028, shard 3: 8029, shard 4: 8026.

3. How long does it take for a cross-shard transaction to complete?

The cross-shard transaction usually takes approximately 45 minutes to complete. SCDO has a uinque mechanism to guarantee the ultimate safety of the cross-shard transaction. Don’t worry if you haven’t seen the transaction completed for a long time. Please report it to the team.

4. Is cross-shard contract supported in SCDO?

No. Currently we only support intra-shard contracts.

5. Where is the blockchain data stored on my computer?

By default, the data folder is ~/.scdo. If you delete this folder and restart your node, you will synchronize the data from scratch.

6. How to handle the “too many open files” error when you run a SCDO node?

Mac’s default upper limit for the number of files a process can open at the same time may be too low for a SCDO node. In terminal, type the command
launchctl limit maxfiles
The response should be
maxfiles 256 unlimited
where 256 is ‘soft limit’ and unlimited is ‘hard limit’. Use the command
sudo launchctl limit maxfiles 65536 200000
to change the two limits and this time the reponse to
launchctl limit maxfiles should be
maxfiles 65536 200000 .
You’re expected to input your password for the sudo command. Refer to this blog if the above didn’t solve your problem.

7. "invalid content type, only application/json is supported" error when using curl

Add -H "Content-Type: application/json" to your curl statement.

8. How to handle the "Genesis block hash mismatch" error?

If the log looks like the following:
ERRO[0000] NewScdoService genesis.Initialize err. genesis block hash mismatch caller="scdoservice.go:88" module=scdo
genesis block hash mismatch
You can delete the .scdo/Snode1(usually, Snode1 for shard 1, Snode2 for shard 2, Snode3 for shard 3, Snode4 for shard 4) folder and restart. These folders are where the blockchain data is stored. The default absolute path to the .scdo folder is C:\Users\scdo.scdo for windows and ~/.scdo for Linux/Mac.