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:
Write: You write your Solidity in VS Code.
Compile: You run a simple make [FileName] command in your terminal. This generates the artifacts.
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.
- 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.
- 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.
- 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.
- 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.
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
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)