Giter Club home page Giter Club logo

rosettanet's Introduction

rosettanet

Ethereum <> Starknet RPC middleware.

Exploration_Team

Overview

Rosetta is a middleware software that acts like an Ethereum RPC. It makes requests to the Starknet network while outputting Ethereum RPC outputs. This allows users to interact with Starknet the same as they interact with the EVM-compatible chain.

Rosetta

  • Rosetta is not a Starknet node itself.
  • Rosetta needs a working Starknet node to be connected.
  • Rosetta can handle both Starknet and Ethereum RPC requests.

What does Rosetta benefit to users?

  • You can connect and interact protocols in Starknet with your existing EVM wallet (Metamask, Trust wallet, Hardware wallets, etc.)
  • You can use Rosetta on local. There is no sync needed. Simply, users can clone the repo and use their local Rosetta node to connect to Starknet.
  • You can use L1 interactive protocols by just changing the network on your wallet.

What does Rosetta benefit to devs?

  • You can use all EVM-compatible libraries. (Ethers, web3js, etc.)
  • If you want to migrate your project from the EVM chain to Starknet, all you need to do is develop your smart contracts with cairo. You just need to care about providing the same ABI in both. You don't need to make any changes on frontend, or backend. Rosetta handles all of these.

Rosetta aims to give EVM experience to users where they won't ever notify they are using Starknet.

Project structure

Rosettanet: Middleware software, core part of Rosetta. It acts like a gateway between Starknet and the user. It formats Ethereum RPC requests to the format that Starknet RPC accepts, and formats Starknet RPC responses into Ethereum RPC response. Written in Typescript. In future it also will be developed with Rust.

Rosetta Accounts: Account smart contract library will be written in Cairo. Custom account contracts that are able to verify Ethereum account signatures on Starknet to execute and verify transactions.

Rosetta Verifier: Starknet smart contracts that verify signatures with format EIP-1559. Converts EVM calldatas into Starknet calldata. This is the core part to achieve non-trusted setup.

Lens: Permissionless Starknet smart contract that matches Ethereum addresses with Starknet addresses.

Additional extensions will be developed to provide integrability for existing Starknet protocols.

Contracts

The contracts are located in the contracts/ directory. It's a scarb project, so you can use the scarb CLI to build it.

It uses Starknet Foundry for tests.

See the contracts README for more information.

RPC Server

See the RPC README for more information.

Architecture

Here is a high-level overview of the architecture of Rosettanet:

Architecture

Contributors

Alex Metelli
Alex Metelli

๐Ÿ’ป
Erim
Erim

๐Ÿ’ป โš ๏ธ
Bora Atik
Bora Atik

๐Ÿ’ป โš ๏ธ
tarun kaushik
tarun kaushik

๐Ÿ’ป โš ๏ธ
Tuan Tran
Tuan Tran

๐Ÿ’ป โš ๏ธ
Jimmy Fate
Jimmy Fate

๐Ÿ’ป โš ๏ธ
Akashneelesh
Akashneelesh

๐Ÿ’ป โš ๏ธ
Aryan Godara
Aryan Godara

๐Ÿ’ป โš ๏ธ

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.