lambdaclass / lambdaclass/ethlambda
Document architectural choices
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 82
- Forks
- 28
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 20
Description
#520 is an example. Generally, modifying crates/blockchain/src/lib.rs should be preferred over modifying crates/blockchain/src/store.rs. We have this weird split between kind-of-pure stuff in store.rs and non-pure stuff on lib.rs, because store.rs is ported almost one-to-one from the spec. The spec-tests exercise only that module, and any changes to store.rs will likely impact our spec-test runner.
Another preference would be wrapping leanVM primitives inside ethlambda-crypto. This is done to centralize changes due to leanVM updates.
We can start by writing this down in a document and later expand on it with other preferences.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review #520 and compare crates/blockchain/src/lib.rs with crates/blockchain/src/store.rs, including how the spec-test runner exercises store.rs. Document the preference for changes in lib.rs and for wrapping leanVM primitives in ethlambda-crypto; the work is done when these architectural choices are recorded for future contributors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100