#stealth #ethereum #privacy #secp256k1 #eth

app stealthereum-cli

CLI for ERC-5564 compliant stealth address management on evm chains

8 unstable releases (3 breaking)

0.4.2 Feb 24, 2025
0.4.1 Feb 24, 2025
0.3.0 Nov 8, 2024
0.2.1 Nov 5, 2024
0.1.1 Sep 17, 2023

#6 in #eth

Download history 5/week @ 2024-11-13 5/week @ 2024-11-20 2/week @ 2024-11-27 11/week @ 2024-12-04 13/week @ 2024-12-11 300/week @ 2025-02-19 104/week @ 2025-02-26

404 downloads per month

MIT license

66KB
1.5K SLoC

stealthereum-cli

This is a bare bones CLI written in rust for ERC-5564 and ERC-6538 compliant stealth address management on evm chains

It's currently the easiest way to interact with the eth-stealth-addresses rust library which implements the basic cryptographic operations necessary for a stealth addresses scheme over the secp256k1 curve (with view tags) as outlined here

For now it's extremely rough! More improvements soon

NOT AUDITED - HOMEROLLED CRYPTO - USE AT YOUR OWN RISK

Installation

cargo install stealthereum-cli

Make sure you add $HOME/.cargo/bin to your PATH

Usage

Below is the list of basic commands and arguments for the CLI.

NOTE: for now the default chain id is 17000 (holesky testnet). For ethereum mainnet you can use --chain-id 1 flag.

keygen

generate a stealth meta address and store the keys in a keystore directory

stealthereum keygen

pass a custom keystore directory and change target chain

stealthereum keygen --keystore path/to/custom/dir --chain-id 1

import-public-account

import a public account from a private key or an encrypted account file and attach this account to the (encrypted) stealthereum keystore

stealthereum import-public-account --interactive

here it is with more parameters:

stealthereum import-public-account --keystore path/to/custom/dir --chain-id 1 --account path/to/existing/account/file

see all optional parameters with:

stealthereum import-public-account --help

register

register stealth meta address on the registry contract

stealthereum register

use a custom keystore directory and change target chain

stealthereum register --keystore path/to/custom/dir --chain-id 1 --rpc-url http://localhost:8545

don't use the keystore at all and directly pass a hex encoded stealth meta address and a private key

stealthereum register --meta-address 0xReceiverStealthMetaAddress --private-key 0xYourPrivateKeyHex --chain-id 1 --rpc-url http://localhost:8545

see all optional parameters with:

stealthereum register --help

sync

sync your stealthereum keystore with the tip of the chain

stealthereum sync

see all optional parameters with:

stealthereum sync --help

show-balances

show balances of your stealth addresses

stealthereum show-balances --itemized

Dependencies

~53MB
~795K SLoC