Foundry is a programmable open source blockchain engine.
Download Foundry code
git clone [email protected]:CodeChain-io/foundry.git
cd foundry
Build in release mode
cargo build --release
This 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++
andmake
are required for installing packages.$ curl https://sh.rustup.rs -sSf | sh
-
-
For Mac Systems:
-
MacOS 10.13.2 (17C88) tested
clang
is 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 foundry
cargo build --release
This will produce an executable in the ./target/release directory.
To run Foundry, just run
./target/release/foundry -c solo
You 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-23
To run rustfmt
,
cargo +nightly-2020-02-23 fmt
You 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-23
cargo +nightly-2020-02-23 clippy --all --all-targets
Developers 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