Prerequisites
- Go 1.25+
- Docker + Docker Compose
- CometBFT if you want to run the current reference node
1. Get the modules
The current transfer scaffold still shares consensus and signing infrastructure with the broader shyware runtime.2. Start a local node
:8080 by default.
3. Register an asset
4. Register two accounts
Accounts are identified byaccount_commitment = H(wallet_address). The wallet address
never appears on-chain.
5. Mint supply to Account A
6. Execute an anonymous transfer
Generate a randomtransfer_nonce, derive transfer_id = H(nonce), and compute
nullifier = H(sender_wallet, transfer_id).
transfer_id. This is the public-facing receipt token
the sender holds.
7. Verify the invariant holds
|L1| == |L2| and total supply is conserved. The transfer is in canonical state.
Next steps
- Architecture — how the transfer invariant works
- SDK Reference — type and transaction documentation
- Deployer Guides — production deployment patterns