Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Strawberry Milestone 1 #6

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions deliveries/strawberry/strawberry-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# JAM Milestone Delivery


## Company details


- Company's name: Eiger
- Company's GitHub: [https://github.com/eigerco](https://github.com/eigerco)
- Programming language and language set: Go (set A)
- Links to previous deliveries: This is the first delivery


## Documentation checklist


We declare that:

- [x] we have completed **the Web3 Foundation KYC/KYB process**.
- [x] we used **a clear and permissive open-source license**.
- [x] we submitted **a clear Git history and public, credibly timestamped commits**.
- [x] we used third party libraries for:
- Bandersnatch, Rust FFI of [github.com/davxy/ark-ec-vrfs](https://github.com/davxy/ark-ec-vrfs)
- Ed25519 [golang.org/x/crypto](https://pkg.go.dev/golang.org/x/crypto)
- In memory db [github.com/cockroachdb/pebble](https://github.com/cockroachdb/pebble)
- FFI [github.com/ebitengine/purego](https://github.com/ebitengine/purego)
- [ ] we provided **Gas, trie/DB, signature-verification, and availability (EC/DB) performance tests** to be run on standard hardware.
- Not relevant in this milestone
- [x] we viewed the following **JAM implementation code** before | during our implementation:
- None
- [x] we have not had private conversations with **other implementers**.
- [x] we have not had **concerns about collusion**.
- [x] we agree to a recorded interview by the *Polkadot Technical Fellowship* on any matter arising from this milestone submission.
- [x] we understand that this milestone submission will need to be ratified with an on-chain remark by the *Polkadot Technical Fellowship* before it can be merged.



## Context

This is Strawberry 🍓. Our Jam client implementation in Go. We filled out the form to work on Jam minutes after the Graypaper was announced and have been working on this code for a long time. We are happy to contribute to Polkadot and turn this vision into executable code.


## Deliverables


- [x] 1. IMPORTER: State-transitioning conformance tests pass and can import blocks.
- [ ] 2. AUTHOR: Fully conformant and can produce blocks (including networking, off-chain).
- [ ] 3. HALF-SPEED: Conformance and Kusama-level performance (including PVM implementation).
- [ ] 4. FULL-SPEED: Conformance and Polkadot-level performance (including PVM implementation).
- [ ] 5. SECURE: Fully audited.



| Number | Deliverable | Link | Notes |
|---------|-------------|--------|-------|
|1. | M1 | https://github.com/eigerco/strawberry/tree/submission/graypaper-v0.4.5| V0.4.5 |
|2. |... | ... |... |
|3. |... | ... |... |
|4. |... | ... |... |
|5. |... | ... |... |


## Additional Information

This milestone submission applies to graypaper v0.4.5 . Note that at the time of submission not all test vectors are published yet. We pass current test vectors but new ones might be added in the future. Graypaper is still changing and these changes might break *current* version. New sections might be added that don't exist right now. We are always updating and keeping up with the latest graypaper in the main branch but note that current submission is for the latest v0.4.5.
Loading