Skip to content

opaquecash/ons

Repository files navigation

ONS — Opaque Name Service

Cross-chain naming for stealth meta-addresses: alice.opq.eth resolves the same CSAP meta-address from an Ethereum sender (on-chain ENS wildcard resolution) and a Solana sender (Wormhole-mirrored PDA, no Ethereum RPC). Spec: opaquecash/specONS.md.

Consistency model: eventually consistent, canonical-chain-wins. Ethereum is the single source of truth; Solana-originated claims are provisional until the canonical registry confirms them. No atomic cross-chain claim exists or is claimed.

Contracts (Ethereum, this repo)

Contract Role
OpaqueNameRegistry.sol Subname registrar + ENSIP-10 wildcard resolver for *.<parent>; sources meta-addresses from the deployed ERC-6538 registry; publishes the 164-byte ONS mirror payload via Wormhole on every change; applies Solana-originated claim VAAs (canonical-chain-wins)

The Solana programs (ons-mirror, ons-registration) live in opaquecash/solana; the SDK resolution paths live in opaquecash/sdk (@opaquecash/opaque).

Testnet deployment

The plan is testnet-only: the parent name is a Sepolia ENS test name (production opq.eth acquisition is deferred). Current parent: see deployments/sepolia.json.

npm install
npm test                    # mock-Wormhole unit suite
npm run register-test-name  # commit-reveal a test name on Sepolia ENS (one-off)
npm run deploy:sepolia      # deploy the registry + set it as the parent's resolver

.env needs SEPOLIA_RPC_URL, SEPOLIA_PRIVATE_KEY (the account that owns the test name), and optionally ETHERSCAN_API_KEY for verification.

License

GPL-3.0 (interfaces Apache-2.0 / CC0-1.0 as marked).

About

Opaque Name Service — cross-chain naming for stealth meta-addresses (ENSIP-10 wildcard resolver on Ethereum, Wormhole-mirrored on Solana).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors