ramen

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

README

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:

  1. View accounts and transactions

  2. Call contract's function

  3. 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.

  1. Clone repository

    git clone https://github.com/dyng/ramen.git
    
  2. 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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL