- Python 60.8%
- Cairo 37.1%
- Solidity 2.1%
| .github | ||
| contracts/ethereum | ||
| lib | ||
| scripts | ||
| src | ||
| tests | ||
| .gitignore | ||
| .gitmodules | ||
| brownie-config.yaml | ||
| LICENSE | ||
| protostar.toml | ||
| README.md | ||
Starknet-based State Verifier
Herodotus will allow anyone to trustlessly prove any past or current headers, state, and storage values of L1 contracts to other L2 contracts.
Architecture
Herodotus is built out of the following components:
- L1 messaging contracts
- L2 contract receiving L1 messages
- L2 contract storing and processing L1 block headers
- Facts registry which stores the proven facts
Testing
In order to run the tests, please make sure to have a python 3.7 virtual environment.
Herodotus API
Herodotus has built an API which allows projects to take advantage of Herodotus in a much simpler manner.
Please note: Herodotus is currently not ready for most production applications!
This is because the block step limit on Starknet is too low and large requests may fail if they require too many steps. We are in contact with Starkware and are awaiting for them to increase the step limit in the near future, at which time we will complete e2e testing and officially launch Herodotus.
Check out our API Docs to see all of our currently supported endpoints!
If you are interested in building with the Herodotus API, we can give you API access for testing purposes prior to the official launch. Please send any inquiries to: dev@herodotus.dev
Contribute
There are countless use cases for the storage verifier and we are excited to hear what the community wants to build with it! Please reach out to dev@herodotus.dev for any partnership, sponsorship, or other matters.
Protostar: Getting Started
Install protostar (for Linux and Mac):
curl -L https://raw.githubusercontent.com/software-mansion/protostar/master/install.sh | bash
- Restart the terminal.
- Run protostar -v to check Protostar and cairo-lang version.
To install dependencies:
protostar install
Building and running tests
protostar build
To run the tests:
protostar test tests/
