Run an LEZ wallet via the CLI
Try the wallet CLI against the live LEZ testnet.
This document is accurate for Testnet v0.3.0.
This procedure explains how to install the wallet CLI from the LEZ repository and point it at the public LEZ testnet sequencer.
For a description of all available wallet commands, see the Wallet commands reference below.
-
Rust and
cargo—install withrustup.- The wallet pins its toolchain via
rust-toolchain.toml, so the correct version is selected automatically.
- The wallet pins its toolchain via
-
System build dependencies for compiling the wallet from source:
# Ubuntu / Debiansudo apt updatesudo apt install git curl build-essential clang libclang-dev pkg-config libssl-dev libpcsclite-dev# Fedorasudo dnf install git curl gcc glibc-devel clang clang-devel pkgconf-pkg-config openssl-devel llvm-libs pcsc-lite-devel# macOSxcode-select --installbrew install pkg-config openssl
What to expect
- You can run wallet commands against the live LEZ testnet sequencer.
- Your wallet is configured to target
https://testnet.lez.logos.coas the sequencer address.
Install the wallet and connect it to the testnet
-
In the LEZ repository, check out the correct release tag:
git clone https://github.com/logos-blockchain/logos-execution-zone.gitcd logos-execution-zonegit checkout v0.3.0- The tag must match the programs the testnet runs.
-
Rename the existing wallet directory (if you have one) to avoid conflicts:
mv ~/.lee/wallet ~/.lee/wallet.old 2>/dev/null || true -
Install the wallet CLI:
cargo install --path lez/wallet --force -
Point the wallet at the testnet:
wallet change-network testnet
Verify the connection
-
Run the health check command:
wallet check-healthA successful connection returns:
✅All looks good!
Complete a minimal wallet flow
In this flow, you create an account, claim testnet funds, send a transfer, and confirm resulting balances.
In this task, wallet account and transfer commands interact with the authenticated-transfer program, and sequencer processing determines the resulting account state. Public and private account paths share command patterns, while private paths can include local proof generation.
Create and initialise the sender public account
-
Create a sender public account and record the
account_idvalue:wallet account new public -
Using the sender public
account_idfrom the previous step, check the sender status:wallet account get --account-id <sender_public_account_id>Example:
wallet account get --account-id Public/14TYHiuzKiNR1ydETpr9mJMkjY6jf1hQFZ11d3X8Tc7NYou should see
Balance 0, nonce 0in the output. New accounts start empty and not owned, and you don't need to initialise them: theauthenticated-transferprogram can credit native tokens to any account.
Fund the sender account
-
Send native tokens to the sender account in one of these ways:
- Bridge tokens from the Logos Blockchain with a channel deposit. In Metadata, paste the sender account ID without its
Public/prefix. - Have another testnet user transfer native tokens to the sender account ID.
- Bridge tokens from the Logos Blockchain with a channel deposit. In Metadata, paste the sender account ID without its
-
Check the sender account balance:
wallet account get --account-id <sender_public_account_id>In the output, the number after
Balanceshould be greater than0.
Create and fund the recipient public account
-
Create a recipient public account and record the
account_idvalue:wallet account new public -
Send 37 tokens from sender to recipient:
wallet auth-transfer send \--from <sender_public_account_id> \--to <recipient_public_account_id> \--amount 37Example:
wallet auth-transfer send \--from Public/14TYHiuzKiNR1ydETpr9mJMkjY6jf1hQFZ11d3X8Tc7N \--to Public/74zHyMW81mtfcd6VMaLnpnAna8k2V4AN2Ygyy9LcEAQQ \--amount 37 -
Check sender and recipient balances:
# Sender accountwallet account get --account-id <sender_public_account_id>
The sender's Balance should be 37 lower than before the transfer.
# Recipient account
wallet account get --account-id <recipient_public_account_id>
This should show Balance 37.
Wallet commands reference
The following are all the commands available for the wallet CLI, what they are used for, and the parameters they require. Run wallet help for more information.
| Command | Description |
|---|---|
wallet auth-transfer | Authenticated transfer (send) |
wallet chain-info | Chain info queries (current-block-id, block, transaction) |
wallet account | Account management (get, list, new, sync-private) |
wallet check-health | Health checks that the wallet is connected to the node |
wallet config | Config Setup (get, set) |
wallet restore-keys | Keys restore from a given password at given depth |
wallet deploy-program | Program deployment |
wallet help | Help |