#stellar #cli #soroban #blockchain #lumen #command-line-tool #networking

app stellar_cli_wallet_lumen

A CLI tool for interacting with Stellar and Soroban networks

1 unstable release

new 0.1.0 Feb 12, 2025

#399 in Magic Beans

MIT license

46KB
696 lines

Lumen Stellar CLI Wallet

Crates.io License

A command-line interface (CLI) tool for interacting with the Stellar network and Soroban RPC. This tool allows you to generate keypairs, fetch balances, send XLM, fund wallets, and manage keystores securely.

Table of Contents

  1. Overview
  2. Features
  3. Installation
  4. Usage
  5. Contribution Guidelines
  6. License

Overview

The Lumen Stellar CLI Wallet is designed to simplify interactions with the Stellar blockchain. Whether you're a developer testing smart contracts on Soroban or a user managing Stellar accounts, this CLI provides a simple and secure way to perform common tasks like generating keypairs, sending payments, and funding wallets using Friendbot.


Features

  • Generate Keypairs : Create new Stellar public/private keypairs.
  • Fetch Balances : Check the balance of any Stellar account.
  • Send XLM : Transfer XLM between accounts securely.
  • Keystore Management : Save and load encrypted keystores for secure storage of private keys.
  • Fund Wallets : Use Stellar Testnet Friendbot or local RPC to fund accounts.
  • Environment Integration : Supports API keys for local RPC configurations.

Installation

To install the Stellar Wallet CLI, follow these steps:

  1. Clone the repository:

    git clone <repository_url>
    cd <repository_directory>
    
  2. Build the project:

    cargo build --release
    
  3. Run the CLI:

    ./target/release/stellar_wallet_cli
    

Usage

Once the CLI is running, you can perform the following operations:

  1. Generate New Keypair

    1. Generate New Keypair
    
  2. Fetch Balance

    2. Fetch Balance
    Enter Public Key: <public_key>
    
  3. Send XLM

    3. Send XLM
    Enter Source Secret Key: <source_secret_key>
    Enter Destination Public Key: <destination_public_key>
    Enter Amount: <amount>
    
  4. Save Keystore

    4. Save Keystore
    Enter Password: <password>
    
  5. Load Keystore

    5. Load Keystore
    Enter Password: <password>
    
  6. Fund Wallet

    6. Fund Wallet
    Enter Public Key to fund: <public_key>
    
  7. Exit

    9. Exit
    

Contribution Guidelines

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Implement your changes.
  4. Commit and push your changes.
  5. Create a pull request.

Please ensure your code adheres to the project's coding standards and includes appropriate tests.

Code Style

  • Follow Rust's idiomatic style guidelines.
  • Format your code using cargo fmt before submitting a PR.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Dependencies

~9–22MB
~322K SLoC