Introduction
What is Rosettanet?
Rosettanet is a middleware architecture that reads and executes Starknet transactions like Ethereum transactions. It makes it possible with having its own node and its own account contracts. Anyone can deploy the Rosettanet node without any trusted setup. Any Ethereum tooling or wallet can keep working since it is connected to the Rosettanet node with its own custom chain ID.
What Rosettanet brings to Starknet?
- Any Starknet protocols can start supporting Ethereum wallets such as Metamask, etc.
- Existing Ethereum toolings like Web3js and ethers can be used on Starknet.
- Allows sending & executing transactions with Ethereum signatures.
- Seamless migration for users from Ethereum or any other EVM chain.
Project structure and related repositories
- Rosettanet: Rosettanet node written in Typescript
- Rosettanet Accounts: Starknet account smart contracts that work with Ethereum-signed transactions.
- Rosettanetjs: Javascript library that includes functions to integrate Rosettanet to frontend.
Community Channels
TODO
Connecting Starknet via Rosettanet
Rosettanet is not a chain itself. It is a gateway between client and Starknet. In order to connect to the Starknet via Rosettanet, you have to connect your web3 wallet to any Rosettanet node.
Add Rosettanet as a new network
Mainnet: 0x525354 (RST) Sepolia: 0x52535453 (RSTS)
These are the chain IDs you have to use to connect your targeted Starknet chain.
Currency: STRK
Decimals: 18
Explorer: Voyager or Starkscan
Public endpoints: TBD
Fee token
Fees are always paid as STRKs currently. You have to deposit STRKs to your new Wallet in order to broadcast transactions through your account. Please follow next page for more details.
Do not send tokens directly to your Ethereum address from CEXes.
Notice
Rosettanet account contracts are not audited and still under development. DYOR.
First deposit
In order to use Rosettanet, your account has to be funded with STRKs and deployed on chain. So first you have to learn your Ethereum address actual Starknet contract address equivalent. This can be done through the Rosettanet dashboard or manually retrieved via the Rosettanet registry contract.
How to find the actual Starknet address?
TBD
How to deploy my account?
Your account will be deployed in your first transaction. Your first transaction from your wallet won't be executed. A current limitation of Starknet is that it can not let us modify the nonces of account contracts, so this is our current approach to deploying accounts. However, this can be changed further.
What happens next?
Once your first transaction is completed. You will be able to use your wallet with your favourite Starknet protocols.
General Overview
Rosettanet Node
Rosettanet Accounts
Rosettanet has its own account smart contracts. These account contracts designed to validate and execute transactions signed as Legacy or EIP1559 transaction types. Every Ethereum account is matched with actual starknet account addresses, however Rosettanet will handle the transaction so users won't notice the difference.
What is difference between Ethereum address and Starknet contract address?
How should I transfer my first funds into Rosettanet account?
What happens if I mistakenly send funds to my Rosettanet account from any CEX or another Starknet account?
How can I learn my actual Starknet account address?
RosettanetJS
Rosettanet JS is a javascript library that includes functionalities to integrate Rosettanet into your project.
Deployed Contracts
Sepolia
Account Class: Rosettanet Registry:
Mainnet
Will be deployed