Skip to content

Latest commit

 

History

History
52 lines (38 loc) · 1.95 KB

CONTRIBUTING.md

File metadata and controls

52 lines (38 loc) · 1.95 KB

Contributing

Use the issue templates for bug reports, questions, and change proposals. Report vulnerabilities privately through the security policy.

Open pull requests using the template. Use its title convention for commit subjects too. Contributors are expected to follow the code of conduct.

MagicBlock Engine is the execution, account storage, and replication layer. Changes to those components belong in that repository; this workspace owns validator orchestration and application services.

Getting started

Install Rust through rustup; the checkout selects its toolchain through rust-toolchain.toml. Native builds require a C/C++ toolchain, libclang, and the Protobuf compiler (protoc).

From the workspace root, build the leader and verifier:

cargo build --locked -p magicblock-validator -p magicblock-verifier

See validator setup to configure and run a leader, or verifier setup to follow an existing leader.

Checks

Install cargo-nextest to run the tests. Use -p <package> to scope Clippy and tests to the crates affected by your change. The workspace-wide checks are:

cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo nextest run --workspace

Validator qualification

Use RedSuite for validator-backed correctness, security, and performance checks. Follow its setup guide to build the fixtures and run scenarios against this checkout's leader, verifier, and committor program. Scenario selection and benchmark options are documented there.

For publishing, see the release process.