Ramen - A Terminal Interface for Ethereum 🍜
Ramen is a good-old terminal UI to interact with Ethereum Network. It allows you to observe latest chain status, check account's balance and transaction history, navigate blocks and transactions, view smart contract's source code or call its functions, and many things more!
Here are some demos:
-
View accounts and transactions
-
Call contract's function
-
Sign in and transfer ethers
Additionally, Ramen is also well designed for smart contract development. Ramen can connect to a local chain (such as the one provided by Hardhat) to view transaction history of smart contract in development, call functions for testing, or verify its storage. Just works like Etherscan, but for your own chain!
Installation
Using Package Manager
Homebrew
brew tap dyng/ramen && brew install ramen
More package managers are coming soon!
Using Prebuilt Binaries
You can choose and download the prebuilt binary for your platform from release page.
Building From Source
If you want to experience the latest features, and don't mind the risk of running an unstable version, you can build Ramen from source.
-
Clone repository
git clone https://github.com/dyng/ramen.git
-
Run go build
command
go build -o ramen
Quick Start
Ramen requires an Ethereum JSON-RPC provider to communicate with Ethereum network. Currently only Alchemy and local node is supported by Ramen. More providers will be added soon.
In addition to the Ethereum JSON-RPC provider, Ramen also relies on the Etherscan API to access certain information that is not easily obtainable through the JSON-RPC alone, such as transaction histories and ETH prices.
To access Alchemy and Etherscan's service, you need an Api Key respectively. Please refer to their guides to obtain your own Api Key.
When the API keys are ready, you can create a configuration file .ramen.json
in your home directory (e.g. ~/.ramen.json
) and place keys there.
{
"apikey": "your_json_rpc_provider_api_key",
"etherscanApikey": "your_etherscan_api_key"
}
Then you can start Ramen by running the following command:
# connect to Mainnet
./ramen --network mainnet
# connect to Goerli Testnet
./ramen --network goerli
Key Bindings
Ramen inherits key bindings from underlying UI framework tview, the most frequently used keys are the following:
Key |
Action |
j , k |
Move cursor up and down |
enter |
Select an element |
tab |
Switch focus among elements |
Connect Local Network
Hardhat / Ganache provides a local Ethereum network for development purpose. Ramen can be used as an user interface for these local networks.
./ramen -provider local
Contribution
Ramen is an open source project, any kind of contribution is welcome! Feel free to open issues for feature request, bug report or discussions.
Special Thanks
Ramen is built on top of many great open source projects, special thanks to k9s and podman-tui for inspiration.
License
Ramen is released under the Apache 2.0 license. See LICENSE for details.