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

Client: Add some small Verkle section in docs #3453

Open
holgerd77 opened this issue Jun 14, 2024 · 3 comments
Open

Client: Add some small Verkle section in docs #3453

holgerd77 opened this issue Jun 14, 2024 · 3 comments

Comments

@holgerd77
Copy link
Member

I think being able to test Verkle and run the test networks is a strong selling factor for our client being used as a research client, and we should point this out in the docs.

So we should give this a small section in the main README to both make the integration more visible and assist people who want to experiment.

This does not need to be long and can very well link to existing write-ups in PRs or issues (but it might also make sense to just directly copy them over completely to have some more persistent place for them).

There should also be a cross-link to the Verkle package somewhere in these docs.

@foufrix
Copy link
Contributor

foufrix commented Jul 16, 2024

Hey @holgerd77 how are you?
I can take this one, need some clarification. Any idea what was the document referenced here: https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/verkle#examples it's now 404

I see that Verkle proof (check & creation) are not possible yet, any ETA to announce in the main readme?

@foufrix
Copy link
Contributor

foufrix commented Jul 30, 2024

For futur ref : merkle integration stage

Hey I just tried the code provided in https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/README.md#usage

It's deployed here : https://replit.com/@foufrix/ethereum-merkle#index.ts

Apparently there is an issue there :

await opts?.db.put(key, opts.root, {
keyEncoding: KeyEncoding.Bytes,
valueEncoding: ValueEncoding.Bytes,
})

@holgerd77 do you know if it an issue from the package itself or the example being outdated?

The put function here

async put(key: Uint8Array, value: Uint8Array): Promise<void> {

expect what's provided in the example

@acolytec3
Copy link
Contributor

Responses in line.

Hey I just tried the code provided in https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/verkle/README.md#usage

This is cloned from the trie package and probably doesn't work out of the box.

It's deployed here : https://replit.com/@foufrix/ethereum-merkle#index.ts

Apparently there is an issue there :

await opts?.db.put(key, opts.root, {
keyEncoding: KeyEncoding.Bytes,
valueEncoding: ValueEncoding.Bytes,
})

@holgerd77 do you know if it an issue from the package itself or the example being outdated?

The put function here

async put(key: Uint8Array, value: Uint8Array): Promise<void> {

The problem here is that I believe replit is pulling from our published modules on NPM and the latest version there does not contain our verkle trie implementation. You'll have to build our monorepo locally in order to experiment with the latest verkle code. You can look at some of the tests I wrote in [repo root directory]packages/verkle/test/verkle.spec.ts for inspiration on how verkle trees get instantiated and used. It's similar to our mpt but still has some rough edges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants