| Features | Descriptions |
|---|---|
| Sharding | 4 shards, transactions within the same shard and between different shards are supported higher transaction fee for cross-shard transaction |
| Smart Contracts | smart contracts are supported within the same shard |
| SCDO Wallet | easy-to-use wallet |
| High TPS | same shard TPS: 250/shard, cross shard TPS: 6/shard |
| Auditable Supply | total supply: 300,000,000 SCDO, all from mining |
| Consensus Algorithm | ZPOW algorithm |
| Mining Reward | 3150000 blocks/era and block reward at each era follows [6, 4, 3, 2.5, 2, 2, 1.5, 1.5] order until it reaches the last reward of 1.5 SCDO |
| Transaction Fee | self-customized transaction fee, higher fee for cross-shard transaction |
| Block | 100 KB block size, 20 seconds block time, ~6000 transactions per block |
The official Golang implementation of SCDO. SCDO is an open source blockchain project which consists of advanced sharding technology, innovative ZPoW consensus algorithm and scalable subchain protocol. https://scdoscan.io
The current release: SCDO Classic (the original non-EVM sharded chain, with addresses such as 1S01…) is powered by a new anti-ASIC consensus PoW algorithm, which requires scientific calculation related to randomized matrix. SCDO Classic has four shards, named SCDO Shard1 (Classic), SCDO Shard2 (Classic), SCDO Shard3 (Classic) and SCDO Shard4 (Classic), and they are producing blocks. Users can perform transactions within a shard or across shards. However, currently smart contracts can only be executed within the same shard. SCDO Shard0 (EVM) is the separate EVM network (chain ID 5680, RPC https://scdoscan.io/rpc/0), see SCDOLAB/scdo-shard0.
Prebuilt binaries for running a node without a Go toolchain:
| Operating system | Download |
|---|---|
| Linux x86_64 | https://scdoscan.io/downloads/: scdo-node-linux-amd64, scdo-client-linux-amd64, SHA256SUMS |
| Linux / macOS / Windows (older releases) | https://github.com/scdoproject/go-scdo/releases |
Verify what you download before running it:
curl -fsSLO https://scdoscan.io/downloads/SHA256SUMS
curl -fLO https://scdoscan.io/downloads/scdo-node-linux-amd64
curl -fLO https://scdoscan.io/downloads/scdo-client-linux-amd64
sha256sum -c SHA256SUMSThe directory has no browsable index: use the file links above.
There is no mining pool for SCDO Classic (the project-run PPLNS pool at https://scdoscan.io/pool/ is for SCDO Shard0 (EVM) only). To mine, run your own full node for your shard; block rewards (currently 3 SCDO per block) go directly to your address. One command on Linux x86_64:
curl -fsSL https://scdoscan.io/mine.sh -o mine.sh && bash mine.shThe same script is in scripts/mine.sh. Step-by-step guide:
docs/quickstart.md (live version: https://scdoscan.io/quickstart.html).
The sample configs in cmd/node/config/node1-4.json list the public P2P nodes
(TCP + UDP). One port per shard:
| Shard | P2P port | Hosts |
|---|---|---|
| 1 | 8057 | 74.208.207.184, 82.223.19.88, 74.208.136.152, 217.160.65.210 |
| 2 | 8058 | same hosts |
| 3 | 8059 | same hosts |
| 4 | 8056 | same hosts |
Before starting a node with one of these configs, replace P2P_PRIVATE_KEY with a fresh
node key from client key --shard N (a node-only key, not your wallet key) and set
coinbase to your own address.
-
Building the SCDO project requires a Go compiler (version 1.12.7 ONLY at this moment), Git and a C compiler.
-
Clone the go-scdo repository to the GOPATH directory:
go get -u -v github.com/scdoproject/go-scdo/...
- Once successfully cloned source code:
cd GOPATH/src/github.com/scdoproject/go-scdo/
- Linux & Mac amd64
make all
- Windows amd64
buildall.bat
A simple version SCDO mining tutorial: SCDO Mining Tutorial (English), SCDO Mining Tutorial (Chinese).
For running a node, please refer to Get Started. For more usage details and deeper explanations, please consult the SCDO Wiki.
Thank you for considering helping out with our source code. We appreciate any contributions, even the smallest fixes.
Here are some guidelines before you start:
- Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
- Pull requests need to be based on and opened against the
masterbranch. - We use reviewable.io as our review tool for any pull request. Please submit and follow up on your comments in this tool. After you submit a PR, there will be a
Reviewablebutton in your PR. Click this button, it will take you to the review page (it may ask you to login). - If you have any questions, feel free to join Twitter to communicate with our core team.