Unirep
  • 👏Welcome
  • 🧩Introduction
  • 🎮Getting Started
    • Install & build 🛠
    • Start with cli commands 🔌
      • 0. Install and build
      • 1. Spin up the testing chain
      • 2. Deploy Unirep contract
      • 3. User generates semaphore identity
      • 4. User signs up
      • 5. Attester signs up
      • 6. User generates epoch key and epoch key proof
      • 7. Attesters/Users verify epoch key proof
      • 8. Submit epoch key proof to Unirep smart contract
      • 9. Attester attest to epoch key
      • 10. Epoch transition
      • 11. User state transition
      • 12. User generates reputation proof
      • 13. Attesters/ Users verify the reputation proof
      • 14. User generates sign up proof
      • 15. Attesters/ Users verify the sign up proof
    • Start with Typescript 📠
      • 0. Install packages
      • 1. deploy
      • 2. User signs up
      • 3. Attester signs up
      • 4. Epoch key proof
      • 5. Attest
      • 6. Epoch transition
      • 7. User state transition
      • 8. Reputation proof
    • Computation happens off-chain ℹ️
  • ☀️Protocol
    • Glossary
      • Users and Attesters
      • Epoch
      • Epoch Key
      • Reputation
      • Trees
      • Nullifiers
      • Epoch Transition
      • User State Transition
    • Circuits
      • Epoch Key Proof
      • Reputation Proof
      • User Sign Up Proof
      • User State Transition Proof
    • Contract
      • Sign up
      • Attestations
      • Epoch transition
      • User state transition
      • Verify proofs
  • 🌈Package usage
    • @unirep/crypto
    • @unirep/circuits
    • @unirep/contracts
    • @unirep/core
    • @unirep/subgraph
    • cli
      • Deploy Unirep Contract
      • User Identity
      • User Sign Up
      • Epoch Key And Proof
      • Attestation
      • Epoch transition
      • User state transition
      • Reputation Proof
      • Airdrop Reputation
      • Spend Reputation
  • 🌻Applications
    • Unirep Social
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Package usage
  2. cli

User Identity

Create a user identity with semaphore

PreviousDeploy Unirep ContractNextUser Sign Up

Last updated 2 years ago

Was this helpful?

  • Semaphore is a zero-knowledge gadget which allows users to prove their membership of a set without revealing their original identity.

  • We use here to generate users' identity and the identity commitment. Users can send their identity commitment instead of their semaphore identity to sign up.

  • Only a user has the semaphore identity and the identity commitment has signed up on the Unirep contract, the user can perform actions in the Unirep protocol.

This function does not require users connect to an Ethereum provider.

genUnirepIdentity

npx ts-node cli/index.ts genUnirepIdentity [-h]
  • base64url encoded identity and identity commitment will be printed

  • A string with Unirep.identity prefix is user's semaphore identity

  • A string with Unirep.identityCommitment prefix is user's semaphore identity commitment

Options inherited from parent commands

  -h, --help            Show this help message and exit.

source:

🌈
semaphore
core/cli/genUnirepIdentity.ts