Giter VIP home page Giter VIP logo

beerus's Introduction


GitHub Workflow Status Project license Pull Requests welcome

Table of Contents

About

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.

Built With

Architecture

Here is a high level overview of the architecture of Beerus.

Beerus architecture

Simple usage overview

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

Getting Started

Installation

Beerusup

To install with beerusup:

curl -sL https://raw.githubusercontent.com/keep-starknet-strange/beerus/main/beerusup | sh

Build

cargo build --release

Test

cargo test

Environment variables

Beerus is configurable through environment variables.

cp examples/.env.example .env
source .env

The project requires an Ethereum node and a Starknet node. For Ethereum nodes you can use Alchemy (not Infura since it does not support getProof endpoint).

Ethereum execution layer RPC URL (must be an Ethereum provider that supports the eth_getProof endpoint).

Ethereum consensus layer RPC URL (must be a consensus node that supports the light client beacon chain api)

For StarkNet node for the moment you can use Infura but soon verify proof will be implemented in Pathfinder nodes, and so will these nodes be working as well.

Name Mainnet Goerli
ETHEREUM_NETWORK mainnet goerli(default)
ETHEREUM_EXECUTION_RPC_URL https://eth-mainnet.g.alchemy.com/v2/XXXXX https://eth-goerli.g.alchemy.com/v2/XXXXX
ETHEREUM_CONSENSUS_RPC_URL https://www.lightclientdata.org http://testing.prater.beacon-api.nimbus.team
STARKNET_RPC_URL https://starknet-mainnet.infura.io/v3/XXXXX https://starknet-goerli.infura.io/v3/XXXXX
STARKNET_CORE_CONTRACT_ADDRESS 0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4 0xde29d060D45901Fb19ED6C6e959EB22d8626708e
Debug Beerus CLI
RUST_LOG=info cargo run --bin beerus-cli
Debug Beerus RPC
RUST_LOG=info cargo run --bin beerus-rpc

Roadmap

See the open issues for a list of proposed features (and known issues).

Support

Reach out to the maintainer at one of the following places:

Project assistance

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!

Contributing

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!

Security

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.

Acknowledgements

  • Huge props to A16z for their work on helios.

Contributors ✨

The contributors page.

Thanks goes to these wonderful people (emoji key):

Abdel @ StarkWare
Abdel @ StarkWare

⚠️ 💻
Lucas @ StarkWare
Lucas @ StarkWare

💻
danilowhk
danilowhk

💻
Clément Walter
Clément Walter

💻
Elias Tazartes
Elias Tazartes

💻
drspacemn
drspacemn

💻
Mathieu
Mathieu

💻
TurcFort07
TurcFort07

📖
Florian Bellotti
Florian Bellotti

💻
Tom Brand
Tom Brand

💻
ftupas
ftupas

💻
pscott
pscott

💻
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!

beerus's People

Contributors

abdelstark avatar danilowhk avatar 0xlucqs avatar drspacemn avatar ftupas avatar dpinones avatar clementwalter avatar enitrat avatar fkrause98 avatar zarboq avatar pscott avatar phklive avatar aragar199 avatar eikix avatar irisdv avatar kelvyne avatar lambdaclass-user avatar dubzn avatar bbrandtom avatar dependabot[bot] avatar florian-bellotti avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.