Skip to content

0xSpaceShard/starknet-rivet

Repository files navigation

Group 33

Starknet Rivet is a developer wallet tailored specifically for the Starknet ecosystem.

It aims to streamline your development process, offering:

  1. Easy Onboarding: Set up a local devnet effortlessly
  2. Block and Transaction Explorer: Inspect blocks and transactions (details for each tbd)
  3. Account Management: View and manage Starknet accounts (deploying tbd)
  4. Contract Deployment: Declare and deploy directly from the extension
  5. Devnet Configuration: Customize your development environment
  6. DApp Integration: Seamlessly connect to all Starknet dApps
  7. Enhanced local testing and troubleshooting: In combination with starknet-devnet-rs

Take a look at our Toni, presenting Starknet Rivet on stage!

Features

  • Onboarding
    • Set up local Devnet-rs instance with various configurations
    • Configure & deploy Devnet docker instance (fork block number, fork rpc url, etc)
  • Devnet configuration
    • Configure blocks (timestamp interval, etc)
    • Configure fork settings (block number, RPC URL, etc)
    • Switch between instances
  • Accounts
    • List Devnet accounts
    • Deploy new Accounts
    • View balances, and other account details
    • Set balances
    • Set tokens
    • Inspect, connect, and manage accounts
  • Blocks
    • Scroll through previous blocks
    • View block details & transactions in the block
    • Toggle between "click-to-mine", interval mining, and auto-mining
    • Remove blocks
  • Contracts
    • Declare contracts
    • Deploy contracts
  • Transactions
    • List of transactions from 10 latest blocks
    • Transaction details
  • Dapp Connections
    • Connect to Dapps with your Devnet account(s)
    • Send transactions, sign messages & typed data, etc

This feature list will expand as we add them to Rivet!

Installing and running

Check if your Node.js version is >= 14

The fastest way to run Starknet Rivet is with the starknet-run.sh script:

$ ./starknet-run/starknet-run.sh

Arguments can be passed to the starknet devnet container with the --args flag

$ ./starknet-run/starknet-run.sh --args "--timeout 240"

Add the --add-l1 flag to run foundryup as well:

$ ./starknet-run/starknet-run.sh --add-l1

Note: these commands install docker if not already installed!

Optionally:

  • Change or configure the name of your extension on src/manifest.

Running in the browser

Rivet is a Chrome extension tool built with Vite + React, and Manifest v3

  1. set your Chrome browser in 'Developer mode'
  2. click 'Load unpacked', and select starknet-rivet/build folder
  3. Activate the Rivet extension

Connect to a Dapp

Rivet testing Dapp

We have an example repo with a simple DAPP, that you can use to test and connect with Starknet Rivet: https://github.com/0xSpaceShard/rivet-dapp-brussels

Steps:

  • Have Starknet-Rivet running in the browser
  • Follow the instructions in the dapp repo, like npm install... and run the example Dapp
  • You should see rivet in the menu of the Dapp
  • Click on rivet
  • Test and enjoy!

Connect to an existing Dapp

If you want to use Starknet Rivet in your existing Dapp (and your Dapp is using Starknet React), you can use the useInjectedConnectors hook that automatically discovers injected wallets, as well as Starknet Rivet!

Check the Starknet React docs on how to do so!

Developing

Run the commands:

$ cd starknet-rivet

$ npm install

$ npm run build

Devnet

To start local devnet you can also run:

$ npm run devnet

Contribute

If you spot a problem or room for improvement, check if an issue for it already exists. If not, create a new one. You are welcome to open a PR yourself to close the issue. Once you open a PR, you will see a template with a list of steps - please follow them.