Conflux-rust is a Rust-based implementation of the Conflux protocol. It is fast and reliable.
Please follow the Conflux Documentation to install and run Conflux.
For a general overview of the crates, see Project Layout.
Thank you for considering helping out with our source code. We appreciate any contributions, even the smallest fixes. Please read the guidelines on how to submit issues and pull requests. Note that if you want to propose significant changes to the Conflux protocol, please submit a CIP.
The Minimum Supported Rust Version (MSRV) of this project is 1.77.2
See the doc for detailed instructions on how to build from source.
If you have modified any Rust code, please run the cargo_fmt.sh script before committing to format the code and ensure consistent code style.
Unit tests come together with the Rust code. They can be invoked via cargo test --release --all. See the
Getting Started
page for more information.
Integration tests are Python test scripts with the _test.py suffix in the tests directory and in the integration_tests/tests directory.
To run these tests:
- Install Python
3.11or later. - Install the required Python packages using
bash ./dev-support/dep_pip3.shin the root directory. - Compile Conflux in release mode using
cargo build --release - Fetch all submodule using
git submodule update --remote --recursive --init.
Then, you can run all integration tests using:
python3 tests/test_all.pyfor tests in thetestsdirectorypytest ./integration_tests/tests -vv -n 6 --dist loadscopefor tests in theintegration_testsdirectory
As for running tests with coverage, please refer to Coverage.