Foundry is a programmable open source blockchain engine.
Download Foundry code
git clone [email protected]:CodeChain-io/foundry.git
cd foundryBuild in release mode
cargo build --releaseThis will produce an executable in the ./target/release directory.
Foundry requires Rust version 1.42.0 to build. Using rustup is recommended.
-
For Linux Systems:
-
Ubuntu
gcc,g++andmakeare required for installing packages.$ curl https://sh.rustup.rs -sSf | sh
-
-
For Mac Systems:
-
MacOS 10.13.2 (17C88) tested
clangis required for installing packages.$ curl https://sh.rustup.rs -sSf | sh
-
-
For Windows Systems:
- Currently not supported for Windows. If on a Windows system, please install WSL to continue as Ubuntu.
Please make sure that all of the binaries above are included in your PATH. These conditions must be fulfilled before building Foundry from source.
Download Foundry's source code and go into its directory.
git clone [email protected]:CodeChain-io/foundry.git
cd foundrycargo build --releaseThis will produce an executable in the ./target/release directory.
To run Foundry, just run
./target/release/foundry -c soloYou can create a block by sending a transaction through JSON-RPC or JavaScript SDK.
Make sure you run rustfmt before creating a PR to the repo. You need to install the nightly-2020-02-23 version of rustfmt.
rustup toolchain install nightly-2020-02-23
rustup component add rustfmt --toolchain nightly-2020-02-23To run rustfmt,
cargo +nightly-2020-02-23 fmtYou should run clippy also. This is a lint tool for rust. It suggests more efficient/readable code.
You can see the clippy document for more information.
You need to install the nightly-2020-02-23 version of clippy.
rustup toolchain install nightly-2020-02-23
rustup component add clippy --toolchain nightly-2020-02-23cargo +nightly-2020-02-23 clippy --all --all-targetsDevelopers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run with: cargo test --all. For more details, please reference Unit Tests.
CodeChain is licensed under the AGPL License - see the LICENSE file for details