DEV Community

Cover image for Why I Built RivETH: A Bare-Metal Toolkit for Ethereum Devs
Temiloluwa Akintade
Temiloluwa Akintade

Posted on

Why I Built RivETH: A Bare-Metal Toolkit for Ethereum Devs

As a Web3 developer, the "hell loop" of writing code, compiling, and testing is where we spend 90% of our time...

...for many, that loop is broken.

We either rely on isolated web-based IDEs, which feels disconnected from our local VS Code environment, or we spend hours writing boilerplate frontend code just to test a single onlyOwner function in a local Hardhat node.

I wanted something faster. Something that lived in my IDE but gave me the visual power of a dashboard. So, I built RivETH.

The Problem: The "Context-Switch" Tax
When you’re deep in Solidity, every time you have to leave your editor to copy-paste an ABI into a frontend or configure a complex deployment script, you lose momentum.

Existing tools often fall into two camps:

  • Too Heavy: Full-blown frameworks that require their own learning curve.

  • Too Manual: Using the terminal for everything, which makes visualizing contract state a nightmare.

The Solution: RivETH

RivETH is a lightweight, open-source Ethereum smart contract development toolkit that runs locally and in your browser. It doesn't use heavy frameworks and complex tooling. It’s built on the "Holy Trinity": HTML, CSS, and Vanilla JavaScript; plus a bit of ethers.js from NodeJS.

How it Works (The Bare-Metal Flow)

RivETH bridges the gap between your terminal and your browser using a simple, high-performance workflow:

  1. Write: You write your Solidity in VS Code.

  2. Compile: You run a simple make [FileName] command in your terminal. This generates the artifacts.

  3. Load: RivETH uses the Fetch API to grab that ABI and Bytecode directly from your project files (served via the VS Code Live Server extension).

Interact: RivETH dynamically maps your ABI to a UI.

Key Features That Change the Game

  • Smart Constructor Mapping

Deployment shouldn't be a guessing game. RivETH provides a single, smart input field for your constructor. It uses the data types from your ABI as placeholders.

  • Need to pass an array? Just use ["0xAbc","0xDef"].

  • Multiple parameters? Just use a comma and a space: "MyToken", 18.

Pass a constructor

  • Dedicated Function UI

Once deployed, RivETH generates individual buttons and input fields for every function parameter in your contract. The functions are just a button click away from being called. Also, the transaction logs are updated whenever state-changing functions are called and they can be looked into for gas costs cand calldata.

Function UI

  • Integrated Hardhat Wallet

RivETH connects to your Hardhat node and gives you a dropdown of all 20 pre-funded accounts. You can see their balances in real-time and swap signers with one click.

Hardhat default accounts

  • Terminal Debug Logs in Hardhat node

While you interact with your contract in the browser, the local Hardhat node runs in the background and can give a "trace" when errors come up.

Hardhat terminal logs

  • ETH converter

While this might be seen as a simple feature, RivETH provides a dedicated ETH converter to help the developer quickly convert between WEI and ETH.

ETH converter

Why "Bare-Metal" Matters
By avoiding heavy frontend frameworks, RivETH is incredibly snappy. It doesn't need to "rebuild" or "hot-reload" a massive JS bundle. You just hit Load, and it instantly fetches the latest local artifacts.

It’s a tool built for developers who want to stay close to the metal and focus on what matters: writing badass smart contracts.

Get Started
If you’re tired of the friction in your local dev environment, give RivETH a spin. It takes a few seconds to set up:

# Download and unzip in one go
curl -L -O https://github.com --output RivETH.zip && unzip RivETH.zip -d temp && mv temp/RivETH-main/* . && rm -rf temp RivETH.zip

# install dependencies and use offline!
cd RivETH
npm insall
Check out the full documentation here: temi-tade.github.io/RivETHDocs/docs
Enter fullscreen mode Exit fullscreen mode

I’m looking to grow the community and would love to see what you build with it. Drop a star on GitHub and let’s make Ethereum development faster for everyone.

End Notes

While RivETH is great for testing your contract visually, which is fantastic for development mode, further testing should still be done with advanced tools like foundry for production-grade contracts.

Top comments (0)