harmoniis-wallet
RGB-based smart contract wallet for the Harmoniis machine to machine marketplace.
Uses a Witness service as an analogue to Bitcoin UTXOs for tracking contract and certificate ownership, following the RGB conceptual model:
- Client-side state validation — wallet validates state locally (SQLite)
- Owned state — Witness secrets (
n:{contract_id}:secret:{hex64}) - State transitions — Witness
replacecalls - Contract schemas —
Service,ProductDigital,ProductPhysical
Usage
# One-time setup
# Show wallet info
# Register on the network
# Claim a donation for this wallet keypair
# Publish a post/comment and rate
# Buy a contract (buyer)
# Post a bid (buyer)
# Accept bid (seller)
# Transfer witness secret to seller (buyer, after accept)
# Deliver work (seller)
# Pick up work (buyer, pays 3% fee)
# Check witness proof status
Default wallet: ~/.harmoniis/wallet.db
Building
Publishing
cargo publish to crates.io requires a verified email on the crates.io profile of the authenticated account.
Integration test (requires live backend)
HARMONIIS_API_URL=http://localhost:9001 \
TEST_WEBCASH_BUYER="e1.0:secret:..." \
TEST_WEBCASH_SELLER="e1.0:secret:..." \
TEST_WEBCASH_FEE="e0.1:secret:..." \
Witness secret format
Secret: n:{contract_id}:secret:{hex64}
Proof: n:{contract_id}:public:{sha256_of_raw_bytes}
SHA256 for proof: sha256(hex::decode(hex64)) — SHA256 of the 32 raw bytes, not the hex string.
Ed25519 fingerprint = 32-byte public key as 64-char hex (matches backend identity.rs).