trace_decoder

Crates.iotrace_decoder
lib.rstrace_decoder
version0.4.0
sourcesrc
created_at2024-02-21 21:37:42.43678
updated_at2024-06-12 17:54:36.211216
descriptionProcesses trace payloads into Intermediate Representation (IR) format.
homepagehttps://github.com/0xPolygonZero/zk_evm
repositoryhttps://github.com/0xPolygonZero/zk_evm
max_upload_size
id1148517
size180,294
zkevm - release (github:0xpolygonzero:zkevm-release)

documentation

README

Trace decoder

A flexible protocol that clients (eg. full nodes) can use to easily generate block proofs for different chains.

Specification

Temporary high-level overview. The specification itself is in the repo here.

Because processing the incoming proof protocol payload is not a resource bottleneck, the design is not worrying too much about performance. Instead, the core focus is flexibility in clients creating their own implementation, where the protocol supports multiple ways to provide different pieces of data. For example, there are multiple different formats available to provide the trie pre-images in, and the implementor can choose whichever is closest to its own internal data structures.

TODO

Adding more to the specification

We want this to be as easy to write an implementation for as possible! If you are finding that you need to do heavy work on your end to adhere to this spec, it may also be the case that other clients have internal data structures similar to your own and are potentially doing the same work. Since it's probably best to only do the work once, please feel free to create a PR or open an issue to add support to the spec/decoder!

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 3085

cargo fmt