Crypto.com Chain
- Description
- Contributing
- License
- Documentation
- Building
5.1. Build Prerequisites
5.2. Build from Source Code - Start a Local Full Node
- Send your First Transaction
- Testing
- Useful LInks
This repository contains the pre-alpha version prototype implementation of Crypto.com Chain. The current repository consists of the following Rust sub-crates:
-
chain-abci: the Tendermint ABCI application that currently does the transaction validation etc.
-
chain-core: the library that contains the main type definitions and any utility code (such as serialization), so that it can be used in chain-abci and other applications.
-
dev-utils: currently a minimal development tool for generating genesis.json
-
client-[common|index|core|rpc]: Client backend implementation for transaction creation and wallet management. Follow these links for more details:
Please abide by the Code of Conduct in all interactions, and the contributing guidelines when submitting code.
Technical documentation can be found in this Github repository (you can read it in this hosted version).
Crypto.com chain requires the following to be installed before build.
- Homebrew
- Tendermint
- Rust and Cargo (cargo version: 1.36 onwards)
- cmake
$ brew install cmake
- ZeroMQ
$ brew install zmq
- pkg-config
$ brew install pkg-config
After all dependencies are installed, add the following lines to ~/.cargo/config
to enable generating instructions for Streaming SIMD Extensions 3 and Advanced Vector Extensions on build:
[build]
rustflags = ["-Ctarget-feature=+aes,+ssse3"]
(TODO: In the future, the build tooling may be migrated to Bazel / Nix etc. for reproducible builds.)
$ git clone git@github.com:crypto-com/chain.git
$ cd chain
$ cargo build
The built executables will be put inside folder /target/debug/
by default.
Please follow the instruction to deploy a local full node.
Kindly refer to this instruction to perform transactions between addresses.
To run the test cases
$ cargo test
To measure code coverage by cargo-tarpaulin:
$ cargo tarpaulin
This only works on x86_64 processors running Linux. On different platforms, you will need to use Docker:
$ docker run --security-opt seccomp=unconfined -v "$PWD:/volume" xd009642/tarpaulin
- Project Website
- Technical Documentation
- Community chatrooms (non-technical): Discord Telegram
- Developer community chatroom (technical):