An open API service indexing awesome lists of open source software.

https://github.com/sharafdin/ethereumCLI

ethereumCLI - Your Gateway to the Ethereum Blockchain Universe, Right from Your CLI! πŸš€πŸŒ
https://github.com/sharafdin/ethereumCLI

cli-wallet ethereum wallet

Last synced: 11 days ago
JSON representation

ethereumCLI - Your Gateway to the Ethereum Blockchain Universe, Right from Your CLI! πŸš€πŸŒ

Awesome Lists containing this project

README

        

# ethereumCLI

ethereumCLI is a professional and secure command-line Ethereum wallet built for developers and enthusiasts. It allows users to interact with the Ethereum blockchain for sending ETH, checking balances, generating wallets, and exploring transactions – all with transparency and security in mind.

---

## πŸš€ Features

- **Generate a Wallet**: Create a new Ethereum wallet with a private key and wallet address.
- **Send Ethereum**: Transfer ETH securely to any address on the Ethereum blockchain.
- **Check Balance**: Instantly check the ETH balance of your wallet.
- **Transaction History**: View the latest transactions for your wallet.
- **Retrieve Address**: Extract your wallet address from a private key if needed.
- **Developer-Friendly**: Built for developers who want a transparent and auditable CLI Ethereum wallet.

---

## πŸ” Why ethereumCLI?

The principle of cryptocurrency is **"Don't trust, verify"**. With ethereumCLI, you get complete transparency:
- The code is open-source, allowing you to inspect every function.
- **ethereumCLI does not store or share your private key** – you are in complete control.

πŸ’‘ **Tip**: Always verify the code and the tool you’re using. Never blindly trust anyone in the crypto space, including me.

---

## βš™οΈ Getting Started

### 1. Requirements

- Rust (for building the CLI wallet)
- Cargo (Rust package manager)
- Ethereum private key
- Infura API Key (or equivalent provider API)

---

## πŸ“„ Configuration

To run **ethereumCLI**, you need to configure some environment variables. A sample `.env-example` file is provided to help you get started.

### Steps to Configure:
1. Locate the `.env-example` file in the project directory.
2. Copy it to create a new `.env` file:
```bash
cp .env-example .env
```
3. Open the `.env` file and replace the placeholder values with your actual credentials:
- `PRIVATE_KEY`: Your Ethereum private key (keep this secret and secure).
- `INFURA_API_KEY`: Your Infura project API key for interacting with the Ethereum blockchain.

### Example `.env` File:
```plaintext
# Your Ethereum private key (KEEP THIS SECRET AND NEVER SHARE IT)
PRIVATE_KEY=your_private_key_here

# Infura API key for accessing Ethereum blockchain data
INFURA_API_KEY=your_infura_api_key_here
```

> ⚠️ **Note**: Never share your `.env` file or its contents with anyone. Your private key is critical for accessing your Ethereum wallet and must remain secure.

---

## πŸ”§ Usage

### 1. Build the CLI
To compile the ethereumCLI wallet:
```bash
cargo build --release
```

### 2. Run the CLI
To start ethereumCLI:
```bash
cargo run
```

---

## πŸ’» Actions

When you run ethereumCLI, you’ll see the following menu options:

1. **πŸ’° Generate a New Crypto Wallet**
Create a new wallet and securely store your private key and wallet address.

2. **πŸ“€ Send Ethereum (ETH) to Someone**
Enter the recipient’s address and amount to securely transfer ETH.

3. **πŸ’³ Check Your Wallet Balance**
Instantly fetch your current ETH balance.

4. **πŸ” Explore Recent Blockchain Transactions**
View up to 10 recent transactions for your wallet.

5. **πŸ”‘ Retrieve Wallet Address Using Private Key**
Get your wallet address by providing a valid private key.

6. **πŸšͺ Exit ethereumCLI**
Safely exit the program.

---

## πŸ“š Useful Resources

- [Ethereum Official Documentation](https://ethereum.org/en/developers/)
- [Infura](https://infura.io/) – Ethereum API provider
- [Etherscan](https://etherscan.io/) – Ethereum block explorer

---

## πŸ’‘ Tips for Security

- Never share your private key or `.env` file with anyone.
- Always verify the code before running it.
- Use a secure and encrypted location to store your `.env` file.

---

## πŸ› οΈ Contributing

Feel free to fork this repository and contribute improvements. Submit pull requests, and they will be reviewed promptly.

---

## πŸ“œ License

This project is licensed under the [MIT License](LICENSE).