Skip to content

Commit

Permalink
Add more info about content on different levels of docs (#323)
Browse files Browse the repository at this point in the history
  • Loading branch information
marekkirejczyk authored May 31, 2024
2 parents 2149904 + 7e584ba commit 0de3634
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 3 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

This monorepo contains two sub-projects:

- **ethereum** - [Noir](https://noir-lang.org) library for proving and verifying historical data on the Ethereum blockchain and other EVM compatible blockchains. It supports proving accounts, storage, logs, receipts & transactions. Checkout it's **[docs](./ethereum/README.md)** for more details.
- **vlayer** - Contains real life examples of what can be built using **ethereum**. It's a work in progress and lacks documentation.
- **ethereum** - [Noir](https://noir-lang.org) library for proving and verifying historical data on the Ethereum blockchain and other EVM compatible blockchains. It supports proving accounts, storage, logs, receipts & transactions. **[Read more](./ethereum/README.md)**.

- **vlayer** - Contains vlayer SDK along with real life examples. It's a work in progress and lacks documentation. Stay tuned for updates.

## Prerequisites

Expand Down
7 changes: 7 additions & 0 deletions ethereum/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ This project contains a library that allows you to prove:
- Log inclusion
- Example: _Log number `0` within transaction number `115` in block `N` has `topic0 === 0x...`_

Codebase also includes support for base Ethereum structures in Noir:

- Decoding RLP format
- Ethereum Merkle Patricia Tries proofs
- Mappings of Basic Ethereum data types: uint256, address, bytes32, hash
- Fragment data structure, similar to Rust's slice, used for parsing data

Additionally, we provide [smart contracts](./ethereum/contracts/src/EthereumHistoryVerifier.sol) that allow to verify inclusion of block in the chain for last 256 blocks.

## Repository structure
Expand Down
24 changes: 23 additions & 1 deletion ethereum/circuits/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,29 @@

Noir circuits for proving and verifying historical data on the Ethereum blockchain and other EVMs.

## Monorepo structure
## Main library content

The main library is available in [lib/](./lib) directory and consists of:

- Generation of proofs for:
- [block headers](./get_header/README.md)
- [ethereum accounts](./get_account/README.md)
- [smart contract storage variables](./get_storage/README.md)
- [transaction](./get_transaction/README.md)
- [receipts](./get_receipt/README.md)
- logs
- [rlp decoding](./lib/src/rlp/README.md) used by Ethereum to store data
- [merkle patricia proofs](./lib/src/merkle_patricia_proofs/README.md) - implementation for Ethereum Merkle Patricia tries
- [fragments](./lib/src/misc/fragment.nr) structure similar to Rust's slice, used for parsing data
- Basic Ethereum data types:
[U256](./lib/src/misc/uint256.nr),
[Address](./lib/src/misc/types.nr),
[Bytes32](./lib/src/misc/types.nr),
[Hash](./lib/src/misc/types.nr), along with util functions.

Additionally, there are binary crates used for recursive proving. See detailed structure in the following section.

## Circuit folder structure

| Package | Description | Docs |
| --------------------------------------------------- | ---------------------------------------------------- | ----------------------------------------- |
Expand Down

0 comments on commit 0de3634

Please sign in to comment.