/starcoin

Starcoin - A smart contract blockchain network that scales by layering

Primary LanguageRustApache License 2.0Apache-2.0

 ██████╗████████╗ █████╗ ██████╗  █████╗  █████╗ ██╗███╗  ██╗
██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗██║████╗ ██║
╚█████╗    ██║   ███████║██████╔╝██║  ╚═╝██║  ██║██║██╔██╗██║
 ╚═══██╗   ██║   ██╔══██║██╔══██╗██║  ██╗██║  ██║██║██║╚████║
██████╔╝   ██║   ██║  ██║██║  ██║╚█████╔╝╚█████╔╝██║██║ ╚███║
╚═════╝    ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝ ╚════╝  ╚════╝ ╚═╝╚═╝  ╚══╝

Starcoin - a smart contract blockchain network that scales by layering

Report a Bug · Request a Feature . Ask a Question

Build and Test License codecov LoC

Binary file description

The starcoin project comes with several wrappers/executables, release indicates whether the binary is included in the release archive.

Command SRC Directory Release Description
starcoin cmd/starcoin true Our main Starcoin CLI client. It is the entry point into the Starcoin network. We can use it to run a node, or connect to a another node as an interactive console. starcoin --help and the CLI reference for command line options.
mpm vm/move-package-manager true Move Package Manager(mpm) is a command line tool to develop move projects, like Cargo for Rust, or NPM for NodeJS.
starcoin_miner cmd/miner_client true A CPU miner client for starcoin.
starcoin_db_exporter cmd/db-exporter true A tool for exporting or importing data from or to the starcoin database.
starcoin_generator cmd/generator true A tool for generate genesis file or mock data.
airdrop cmd/airdrop false A tool for batch transfer Token based on a csv file.
genesis-nft-miner cmd/genesis-nft-miner false A tool for claim the GenesisNFT, All address in the file contrib-contracts/src/genesis-nft-address.json.
starcoin-faucet cmd/faucet false A tool for providing a simple faucet web service
starcoin-indexer cmd/indexer false A tool for creating index on Elasticsearch for starcoin's block and transaction, etc.
merkle-generator cmd/merkle-generator false A tool for generating merkle data from a detail csv file of a distribution, for airdrop by merkle tree.
resource-exporter cmd/resource-exporter false A tool for export resource from starcoin state database.
tx-factory cmd/tx-factory false A tool used to generate transactions, generally for testing or benchmark.
starcoin-replay cmd/replay false A tool for replay block data from a database to a new database.
starcoin-peer-watcher cmd/peer-watcher false A sample app for join starcoin p2p network and print the discovered peer info.

Build from source

cargo build --release 

For prerequisites and detailed build instructions please read Build from source document.

Install binary

Download binary release from GitHub releases page.

Or install by one-line script:

curl --proto '=https' -O --tlsv1.2 -sSf https://raw.githubusercontent.com/starcoinorg/starcoin/master/scripts/install_starcoin_mpm.sh | sh install_starcoin_mpm.sh v1.11.12

Run dev node:

starcoin -n dev console

More detailed dev instructions please read Run starcoin dev network document.

Join a test network

starcoin -n barnard console

Join main network

starcoin -n main console

Connect to remote node

Connect to the main network seed nodes:

starcoin --connect ws://main.seed.starcoin.org:9870 console

note: Account-related commands cannot be used when connecting remotely

Connect to the main network seed nodes and use a local account database for using Account-related commands

starcoin --connect ws://main.seed.starcoin.org:9870 --local-account-dir ~/.starcoin/main/account_vaults console

More detailed test network info please read Join starcoin test network.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

First off, thanks for taking the time to contribute! Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please try to create bug reports that are:

  • Reproducible. Include steps to reproduce the problem.
  • Specific. Include as much detail as possible: which version, what environment, etc.
  • Unique. Do not duplicate existing opened issues.
  • Scoped to a Single Bug. One bug per report.

You can learn more about contributing to the Starcoin project by reading our Contribution Guide and by viewing our Code of Conduct.

Code Layout

You could find the introduction of each code directory here for helping to understand the organization of codes.

Support

Reach out to the maintainer at one of the following places:

License

Starcoin is licensed as Apache 2.0.