Short, copy-pasteable steps for sender and receiver using V3 hashlocks. No signatures on stealth addresses; commitments are used to bind ownership via hashlocks.
Prereqs (both sides):
- Run node once to create/load wallet and start networking.
- Ensure the node is synced or running a local chain; mine if needed.
Sender: get receiver address
- Ask receiver to share their stealth address string:
./unchained StealthAddressReceiver copies the printed base64-url string and sends it to the sender via any channel.
Online flow (recommended): auto P2P commitment exchange
- Receiver auto-respond service (in another terminal on receiver):
./unchained ServeCommitments- Sender interactive send (prompts for address and amount; fetches commitments over P2P, then sends V3 spends):
./unchained Send --stealthOffline flow: QR/paste token exchange
- Sender builds request (copy the printed base64):
./unchained MakeCommitmentRequest --stealth '<RECEIVER_STEALTH_ADDRESS>' --amount 1- Receiver creates a batch commitment token from the request and sends it back:
./unchained MakeCommitmentToken --request-b64 '<REQUEST_BASE64>'- Sender runs interactive send and pastes the token when asked:
./unchained Send --stealthVerify balances and history
./unchained Balance
./unchained HistoryNotes
- If the sender has an old legacy coin without a lock, the wallet may first do a silent self-upgrade spend, then the V3 send.
- New coins minted by the miner are already V3-ready.