Explore the screenshots »
Report a Bug - Request a Feature - Ask a Question
Table of Contents
Beerus is a StarkNet Light Client inspired by and using helios. The goal is to provide a simple and easy to use client to query StarkNet state and interact with contracts.
Here is a high level overview of the architecture of Beerus.
Here is a simple overview of how Beerus work. The example is for querying a storage value of a StarkNet contract.
Beerus Query Contract Storage](docs/images/query-contract-storage.png)
[TODO]
Beerus is configurable through environment variables.
Here is the list of all the available environment variables:
Name | Default value | Description |
---|---|---|
ETHEREUM_NETWORK | goerli | The Ethereum network to use. Can be one of mainnet , goerli . |
ETHEREUM_EXECUTION_RPC_URL | No | Ethereum execution layer RPC URL (must be an Ethereum provider that supports the eth_getProof endpoint) |
ETHEREUM_CONSENSUS_RPC_URL | No | Ethereum consensus layer RPC URL (must be a consenus node that supports the light client beaconchain api) |
STARKNET_RPC_URL | No | StarkNet RPC URL |
Usage: beerus-cli [OPTIONS] <COMMAND>
Commands:
ethereum Ethereum related subcommands
help Print this message or the help of the given subcommand(s)
Options:
-c, --config <FILE> Sets a custom config file
-h, --help Print help information
-V, --version Print version information
beerus-cli ethereum query-balance --address 0x00000000219ab540356cBB839Cbe05303d7705Fa
# 2011.286832686010020640 ETH
beerus-cli starknet query-contract --address 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7 --selector 0x1e888a1026b19c8c0b57c72d63ed1737106aa10034105b980ba117bd0c29fe1 --calldata 0x00,0x01
[FieldElement { inner: 0x0000000000000000000000000000000000000000000000000000000000000000 }, FieldElement { inner: 0x0000000000000000000000000000000000000000000000000000000000000000 }]
beerus-cli starknet query-get-storage-at --address 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7 --key 0x341c1bdfd89f69748aa00b5742b03adbffd79b8e80cab5c50d91cd8c2a79be1
298305742194
[TODO]
See the open issues for a list of proposed features (and known issues).
- Top Feature Requests (Add your votes using the 👍 reaction)
- Top Bugs (Add your votes using the 👍 reaction)
- Newest Bugs
Reach out to the maintainer at one of the following places:
- GitHub Discussions
- Contact options listed on this GitHub profile
If you want to say thank you or/and support active development of Beerus:
- Add a GitHub Star to the project.
- Tweet about the Beerus.
- Write interesting articles about the project on Dev.to, Medium or your personal blog.
Together, we can make Beerus better!
First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.
Please read our contribution guidelines, and thank you for being involved!
For a full list of all authors and contributors, see the contributors page.
Beerus follows good practices of security, but 100% security cannot be assured. Beerus is provided "as is" without any warranty. Use at your own risk.
For more information and to report security issues, please refer to our security documentation.
This project is licensed under the MIT license.
See LICENSE for more information.
- Huge props to A16z for their work on helios.
Thanks goes to these wonderful people (emoji key):
Abdel @ StarkWare 💻 |
||||||
Add your contributions |
This project follows the all-contributors specification. Contributions of any kind welcome!