Skip to main content

Name Registration

Everyone can register the name using a protocol based on Memos.
First thing you need to do is Generate an Ed25519 keypair which this proves your names ownership.

For example, Richard wants to register richard.zcash. The key steps to do that:

  1. Form a transaction memo according the ZCashNames Protocol
  2. Send a Transaction to the zNS Registrar address with the required amount and memo command signed with your private key
  3. zNS Scanner validates: name rules, signature, amount, other protocol checks
  4. Proof generation to cryptographically prove the registration
  5. Indexer get new proof and scan, validates, creates distributed names registry
  6. Done! richard.zcash is live
Registration Flow

The Memo

According to the protocol, the name registration memo has 8 colon-separated fields:

zNS:1:REG:{name}:{zcash_address}:{ed25519_pubkey}:{nonce}:{signature}

The signature signs "zNS:1:REG:{name}:{zcash_address}:{ed25519_pubkey}:{nonce}" using the Ed25519 private key. This proves Richard authorized the registration and nobody can register a name on his behalf without his key.

tip

If several persons want to register the same name at the same time, only the first one transaction will be processed and the others will be refunded to the user's internal balance. User can withdraw funds anytime by simple filling out the withdrawal address on the website.