go-stem

module
v0.0.0-...-d2cd647 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2020 License: LGPL-3.0

README

go-stem

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: 500/shard, cross shard TPS: 12/shard
Auditable Supply total supply: 1,000,000,000 SEELEs, 300,000,000 SEELEs for mining
Consensus Algorithm MPOW: matrix-proof of work algorithm
Mining Reward 3150000 blocks/era and era reward follows [6, 4, 3, 2.5, 2, 2, 1.5, 1.5] order until reaches the last reward of 1.5 SEELEs
Transaction Fee self-customized transaction fee, higher fee for cross-shard transaction
Block 100 KB block size, 10 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 and the innovative anti-asic MPoW consensus algorithm. https://scdo.pro

The current mainnet release: Scdo mainchain is powered by a new anti-ASIC consensus PoW algorithm, which requires scientific calculation related to matrix. MPOW PAPER The mainchain has four shards. It can perform transactions within a shard or crossing shards. However, smart contracts currently can be only executed within the same shard. Scdo subchains are under development. Scdo Stem subchain protocol. The so called EDA consensus algorithm EDA PAPER from Scdo will be utilized for the subchains.

Download (without building)

If you want to directly run the node and use client without setting up the compiling enviroment and building the executable files, you can choose right version to download and run:

Operation System Download Link
Linux [https://github.com/scdoproject/go-stem/releases]
MacOs [https://github.com/scdoproject/go-stem/releases]
Windows [https://github.com/scdoproject/go-stem/releases]

Or Download & Build the source

Building the Scdo project requires both a Go (version 1.7 or later) compiler and a C compiler. You can install them using your favourite package manager. Once the dependencies are installed, run

  • Building the Scdo project requires both a Go (version 1.7 or later) compiler and a C compiler. Install Go v1.10 or higher, Git, and the C compiler.

  • Clone the go-stem repository to the GOPATH directory:

go get -u -v github.com/scdoproject/go-stem/...
  • Once successfully cloned source code:
cd GOPATH/src/github.com/scdoproject/go-stem/
  • Linux & Mac
make all
  • Windows
buildall.bat

Run Scdo

A simple version Scdo mining tutorial: English-ScdoMiningTutorial, 中文-Scdo挖矿教程中文简版.

For running a node, please refer to Get Started(Older version). For more usage details and deeper explanations, please consult the Scdo Wiki(Older version).

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 chat room to communicate with our core team.

Resources

License

go-stem/LICENSE

Directories

Path Synopsis
accounts
abi
Implementation of BulletProofs in Go
Implementation of BulletProofs in Go
cmd
client/light
* * @file * @copyright defined in go-stem/LICENSE
* * @file * @copyright defined in go-stem/LICENSE
tool/cmd
//////////////////////////////////////////// This is a tool for analysis all information 1.
//////////////////////////////////////////// This is a tool for analysis all information 1.
vm
bft
ethash
Package ethash implements the ethash proof-of-work consensus engine.
Package ethash implements the ethash proof-of-work consensus engine.
pow
contract
svm
txs
vm
bn256
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
bn256/cloudflare
Package bn256 implements a particular bilinear group at the 128-bit security level.
Package bn256 implements a particular bilinear group at the 128-bit security level.
bn256/google
Package bn256 implements a particular bilinear group.
Package bn256 implements a particular bilinear group.
secp256k1
Package secp256k1 wraps the bitcoin secp256k1 C library.
Package secp256k1 wraps the bitcoin secp256k1 C library.
sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
log
p2p
utils
* * @file * @copyright defined in go-stem/LICENSE
* * @file * @copyright defined in go-stem/LICENSE
Package rpc provides access to the exported methods of an object across a network or other I/O connection.
Package rpc provides access to the exported methods of an object across a network or other I/O connection.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL