seedelf-cli 0.4.5

Seedelf: A Cardano Stealth Wallet
Documentation

seedelf-cli

The seedelf-cli is a Rust implementation of the Seedelf stealth wallet protocol. It uses Cardano collateral provider, Koios, and Pallas. The wallet is primarily terminal-based but uses a static HTML web interface for CIP30 interactions when required.

Note: Wallet Is Currently In Beta

Installation

Precompile binaries are available for Linux, Windows, and MacOS. These may be found in the latest release.

If you are running Linux, MacOS, or Unix-like OS, run the following command on your terminal and follow the instructions.

curl -fsSL https://raw.githubusercontent.com/logical-mechanism/Seedelf-Wallet/refs/heads/main/util/seedelf-init.sh | bash

If you have [rust/cargo installed] (https://www.rust-lang.org/tools/install), the seedelf-cli can be installed directly from crates.io.

cargo install seedelf-cli

Building From Source

First, clone the repo and enter the cli subfolder.

git clone https://github.com/logical-mechanism/Seedelf-Wallet
cd Seedelf-Wallet/seedelf-cli

Installing on the path:

cargo install --path .

Building for release:

cargo build --release

Running it locally:

cargo run -- help

Using The Seedelf CLI

seedelf-cli help
A Cardano Stealth Wallet

Usage: seedelf-cli [OPTIONS] [COMMAND]

Commands:
 welcome   Displays the seedelf-cli welcome message
 create    Create a new Seedelf in the wallet
 remove    Remove a Seedelf from the wallet
 balance   Displays the current wallet information, seedelfs, and balance
 fund      An address sends funds to a Seedelf
 transfer  A Seedelf sends funds to a Seedelf
 sweep     A Seedelf sends funds to an address
 util      Utility functions for seedelf-cli
 dapp      dApp functions for seedelf-cli
 help      Print this message or the help of the given subcommand(s)

Options:
 --preprod            Use this flag to interact with the pre-production environment
 --variant <VARIANT>  Use this for different variants of the contract, default to the most recent variant [default: 1]
 -h, --help               Print help
 -V, --version            Print version

Basic Usage

Get started with the wallet using the welcome command.

seedelf-cli welcome

This command will generate an encrypted secret key for the wallet. The welcome command will prompt the user for a password and a name for the secret key file. The wallet will use this secret key for all spending-related actions. The user must keep the secret key safe and secure. Keep this file safe! The wallet stores the encrypted secret key file on the local machine inside the home directory under the $HOME/.seedelf folder.

The following action will create a Seedelf token with the create command.

seedelf-cli create [OPTIONS] --address <ADDRESS>

The available [OPTIONS] may be viewed with the --help parameter. The <ADDRESS> parameter in the create command is the address paying for the Seedelf token mint transaction. This address must come from a CIP30-enabled wallet. The create command will use a local web server to generate a website at http://127.0.0.1:44203/. The website will ask the user to select a wallet from the dropdown in the top right corner. The website will prompt the user to enable the wallet and sign the transaction. The Transaction CBOR section shows the CBOR of the signed transaction.

At this point, the wallet may receive funds from other CIP30 wallets or Seedelfs. Users may fund their own Seedelf and others using the fund command.

seedelf-cli fund [OPTIONS] --address <ADDRESS> --seedelf <SEEDELF>

The available [OPTIONS] may be viewed with the --help parameter. The <ADDRESS> parameter used in the fund command is the address supplying the value and paying for the transaction. The <SEEDELF> is the Seedelf receiving the funds. The fund command is similar to the create command as it generates a local website for dapp interactions.

The user may send funds to another Seedelf address using the transfer command and back to a CIP30 wallet using the sweep command.

Use seedelf-cli help to view all available commands and the --help option to see more information about a specific command.

Contact

For questions, suggestions, or concerns, please reach out to support@logicalmechanism.io.