-
Notifications
You must be signed in to change notification settings - Fork 85
Hacking and contributing
Simon B edited this page Dec 26, 2017
·
12 revisions
- git checkout master; git pull; git checkout -b feature/my_branch
- change code
- add tests for new code
cargo test --all
- All good? make +rustfmt happy, then submit a Pull Request on github (google for good guides on how github PR's work)
And why not try running your own little grin network? See the local net documentation
cargo install cargo-check
cargo install cargo-cov
cargo install cargo-tarpaulin
Run a quick syntax check with cargo check
Run the full test suite with cargo test --all
Run a test coverage analysis with cargo cov test
- Q:
cargo cov test
gives errorerror: Native profiler library not found
A: Install clang withsudo apt-get install clang
or similar. - Q:
cargo cov test
fails with some rocksdb symbol not found A: Install rocksdb withsudo apt-get install rocksdb
or similar. - Q:
cargo cov test
fails, something about not finding nix/ptrace (something? or maybe not) A: Maybe try torustup update
. Maybe also try rust nightly, with something likerustup default nightly-x86_64-apple-darwin
and see if that helps; and probably good to afterwards change back to stable, with something likerustup default stable-x86_64-apple-darwin
Basics
- Getting Started
- User Documentation
- MimbleWimble
- FAQ
- Planned releases (Roadmap)
- Code of Conduct
Contributing
- Contributing Guide
- Code Structure
- Code coverage and metrics
- Code Reviews and Audits
- Adding repos to /mimblewimble
Development
Mining
Infrastructure
Exchange integrations
R&D
Grin Community
Grin Governance
Risk Management
Grin Internals
- Block Header Data Structure
- Detailed validation logic
- P2P Protocol
Misc