Skip to content

Conversation

@sephynox
Copy link
Owner

High Level Overview of Change

This PR adds a basic command-line interface (CLI) for interacting with the XRP Ledger. The CLI provides essential functionality for common XRPL operations, making it easier for users to interact with the ledger without writing code.

Context of Change

The XRPL Rust library already provides a comprehensive API for programmatic interaction with the XRP Ledger. However, users often need to perform quick operations without writing a full program. This CLI addresses that need by providing a simple interface for common operations.

The CLI is implemented using the clap crate for argument parsing and leverages the existing XRPL Rust library functionality. It's designed to be extensible, making it easy to add more commands in the future.

Key Features

  • Account Operations: View account information, transactions, and objects
  • Wallet Management: Generate new wallets and derive wallets from seeds
  • Network Information: Get current network fees and server information
  • Transaction Handling: Sign and submit transactions to the network
  • Address Validation: Validate classic and X-addresses

Implementation Details

  • The CLI is conditionally compiled with the cli feature flag
  • Commands are implemented in a modular way to allow for easy extension
  • Error handling is robust, with user-friendly error messages
  • Tests ensure that commands work correctly, with resilience to network issues
  • The implementation supports both synchronous and asynchronous operations

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Tests (You added tests for code that already exists, or your new feature included in this PR)
  • Documentation Updates
  • Release

Test Plan

Integration tests added here,

@sephynox sephynox added this to the Add command line interface milestone Jun 10, 2025
@sephynox sephynox self-assigned this Jun 10, 2025
@sephynox sephynox added enhancement New feature or request XRPL Grants This issue is planned to get resoled as part of the XRPL Grants program (within 8 months) labels Jun 10, 2025
@github-project-automation github-project-automation bot moved this to 🆕 New in xrpl-rust Jun 10, 2025
@sephynox sephynox marked this pull request as ready for review June 13, 2025 20:23
@sephynox sephynox requested a review from LimpidCrypto as a code owner June 13, 2025 20:23
@sephynox sephynox merged commit c25f1bf into main Jun 23, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request XRPL Grants This issue is planned to get resoled as part of the XRPL Grants program (within 8 months)

Projects

Status: 🆕 New

Development

Successfully merging this pull request may close these issues.

3 participants