Skip to content

rsksmart/rsk-rust-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

71 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OpenSSF Scorecard CodeQL

RSK Logo

Rootstock Rust CLI

A command-line interface (CLI) tool written in Rust for interacting with the Rootstock (Rootstock) blockchain.
This tool provides comprehensive functionality to connect to an Ethereum-compatible RPC endpoint and manage wallets, query balances, send transactions, and interact with the Rootstock network.

Features

Wallet Management

  • Create new wallets with custom names
  • Import existing wallets using private keys
  • Switch between multiple wallets
  • Backup and restore wallet data
  • List all available wallets
  • Rename or delete wallets

Asset Management

  • Check RBTC balance for any address
  • View token balances (supports all ERC-20 tokens)
  • Add custom tokens to your wallet
  • Remove unwanted tokens from your token list

Transactions

  • Send RBTC to any address
  • Transfer ERC-20 tokens
  • View transaction history with filtering options
  • Check transaction status
  • Bulk transfer functionality

Contact Management

  • Save frequently used addresses as contacts
  • Add notes and tags to contacts
  • Search through your contacts
  • Update or remove existing contacts
  • Import/export contact lists

Network & Configuration

  • Switch between Mainnet and Testnet
  • Configure custom RPC endpoints
  • Manage API keys for services
  • View network status and connection details

๐Ÿ› ๏ธ Installation

Prerequisites

Building from Source

  1. Clone the repository:

    git clone https://github.com/rsksmart/rsk-rust-cli.git
    cd rsk-rust-cli
  2. Build the project:

    cargo build --release
  3. Run the application:

    # For development
    cargo run
    
    # For production
    ./target/release/rsk-rust-cli

โš™๏ธ Configuration

The wallet automatically handles configuration through an interactive setup wizard when you first run it. You can also manage your configuration at any time using the interactive menu:

๐ŸŽฎ Usage

Interactive Mode

The wallet features an intuitive interactive interface. Simply run:

cargo run

Demo

First Time Setup

First Time Setup

Importing Existing Wallet

Importing Existing Wallet

Wallet Creation

Wallet Creation

List Wallets & Switch Wallets

List Wallets

Delete Wallet & Rename Wallet

Delete Wallet

Check Balance of RBTC and ERC-20 Tokens

Check your RBTC and ERC-20 token balances (e.g., RIF).

View example transaction on explorer Check Balance

Send Funds

Transfer RBTC from one wallet to another (e.g., from personal to lock wallet). Send Funds

Set API Key

Configure your API key for accessing transaction history and status checking. Set API Key

Transaction History

Set API Key

Check Transaction Status

Check Transaction Status

You can also view it at View Transaction

Bulk Transfer

Send multiple transactions at once. Bulk Transfer

View Transaction 1 , View Transaction 2

Token Management

Add, list, and delete tokens from your wallet. Add Token

Contact

Add, list, and delete contacts from your address book. Add Contact

๐Ÿ” Troubleshooting

Common Issues

Transaction Failures

  • Ensure you have enough RBTC for gas fees
  • Verify recipient address format (0x...)
  • Check network compatibility (mainnet/testnet)

Connection Issues

  • Verify your internet connection

Wallet Issues

  • Confirm wallet file exists at ~/.local/share/rootstock-wallet/
  • Check file permissions if access is denied
  • Ensure you're using the correct network (mainnet/testnet)

Resources

Contributing

We welcome contributions from the community. Please fork the repository and submit pull requests with your changes. Ensure your code adheres to the project's main objective.

Support

For any questions or support, please open an issue on the repository or reach out to the maintainers.

Disclaimer

The software provided in this GitHub repository is offered "as is," without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement.

  • Testing: The software has not undergone testing of any kind, and its functionality, accuracy, reliability, and suitability for any purpose are not guaranteed.
  • Use at Your Own Risk: The user assumes all risks associated with the use of this software. The author(s) of this software shall not be held liable for any damages, including but not limited to direct, indirect, incidental, special, consequential, or punitive damages arising out of the use of or inability to use this software, even if advised of the possibility of such damages.
  • No Liability: The author(s) of this software are not liable for any loss or damage, including without limitation, any loss of profits, business interruption, loss of information or data, or other pecuniary loss arising out of the use of or inability to use this software.
  • Sole Responsibility: The user acknowledges that they are solely responsible for the outcome of the use of this software, including any decisions made or actions taken based on the software's output or functionality.
  • No Endorsement: Mention of any specific product, service, or organization does not constitute or imply endorsement by the author(s) of this software.
  • Modification and Distribution: This software may be modified and distributed under the terms of the license provided with the software. By modifying or distributing this software, you agree to be bound by the terms of the license.
  • Assumption of Risk: By using this software, the user acknowledges and agrees that they have read, understood, and accepted the terms of this disclaimer and assumes all risks associated with the use of this software.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages