lambdaclass / lambdaclass/ethlambda

Document architectural choices

Open Beginner friendly
#521 2 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.