Skip to content
 
 

Repository files navigation

go-scdo

Build Status

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.

Download (without building)

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 SHA256SUMS

The directory has no browsable index: use the file links above.

Solo mining (no pool)

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.sh

The same script is in scripts/mine.sh. Step-by-step guide: docs/quickstart.md (live version: https://scdoscan.io/quickstart.html).

Public seed nodes

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.

Or Download & Build the source

  • 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

Run SCDO

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.

Contribution

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 master branch.
  • 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 Reviewable button 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.

Resources

License

go-scdo/LICENSE

About

Client for SCDO Shard1 (Classic), SCDO Shard2 (Classic), SCDO Shard3 (Classic), SCDO Shard4 (Classic): go-scdo, ZPoW · https://scdoscan.io

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages