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. Getting Started
  2. Start with cli commands 🔌

14. User generates sign up proof

Previous13. Attesters/ Users verify the reputation proofNext15. Attesters/ Users verify the sign up proof

Last updated 2 years ago

Was this helpful?

npx ts-node cli/index.ts genUserSignUpProof \
    -x $UNIREP_CONTRACT_ADDRESS  \
    -id $USER_IDENTITY  \
    -a $ATTESTER_ID

NOTE: -a is attester's id. If the attester gives the attestation with a sign up flag, the user can generate a sign up proof to prove the membership from the attester.

See: for more genUserSignUpProof options.

The proof will be printed and it should be handed to the receiver of this proof, for example,

Proof of user sign up from attester 1:
Epoch key of the user: 364193153
Unirep.signUp.proof.WyIxODk1ODk4MTczMTgxNDk5NTAxODYxNDMyMjY5MDQ3NTkxNDE1MjQ3MzgxMzM1OTk1MjQ2NTc3Njk3MjEzODY5Njc2MDQzMTU2NzQwMiIsIjUwNjIwNjAxMTg1Njk1MDMyMDU4MTUxMjM2OTUxMTU2MTQwMTc5ODM2NDg2ODc5ODA1MDI4MTY2NTY4MjA2NTk0NzYxNjE1ODc1MTQiLCIxOTM1MDc5NTEzNzk5MzU2ODYxNjY5NTU4NDE0NTg0NjkyMTgxNTA3MzUyNTU3NDY0ODIzNDU3NDQ3ODU4MzYzMDYzMzU5MzA1MDYxOCIsIjE4ODkyNDY4NTM0NjAwNDMxMTg2ODM5MTk0NTg1Mjc2MjIwNDg3MzI2MTgyMzExNDc2NzIyNzg0OTY5NDM0NDk2Njg0ODE1MTUwNzg3IiwiODk5Mzk5NTQ1OTI3MDIxMzg0ODA2OTc2MjM5NjQ5NjQzNTMxMjg4NzkxMTM1ODQyNjk2MTY5MTY3NTQzNjE0NTU4MTc4ODIzMjE1IiwiMTIyMjA1MzY1MzA5MDU4Mjk1MDk2NTYwMzIzNjY2OTExMzU5MjI5MzQyMTUzODY3MDAyMjc3ODMzMDg3MDIyOTM1MzQ4MTI2ODk0NDAiLCIzMTk5OTM0MDg0MDA0NzQ3Njk3MDI5MzM4MDAyNDQ1Nzg1NTMzMjY0OTQwNTEwMjY4NDYzNjgxMTE4MjA1MTM0MTMzODg0Njc4NTg3IiwiNjM5MTU3NDIyNzU4MTY1Mzk2NzM2MDI0MjIyMDc4NzYzMTk3MDAzMDk0Mzc3NzE1NzM5NzQ1NDkxODYzNTc4MTUwNDkyNzk4MTcwNiJd
Unirep.signUp.publicSignals.WyIyIiwiMzY0MTkzMTUzIiwiMTE4OTQ5NzM2NDg4MjYxMTkzOTA0MDUyNTAyNzMzNDI1NjExMzY3MjI5Njc4MzI0NTk2ODQ2NDU0NjE0MzM3NjM1OTExMDQ3MjAyMDAiLCIxIiwiMSJd

Export those values to the environment:

export SIGNUP_PROOF=Unirep.signUp.proof.WyIxODk1ODk4MTczMTgxNDk5NTAxODYxNDMyMjY5MDQ3NTkxNDE1MjQ3MzgxMzM1OTk1MjQ2NTc3Njk3MjEzODY5Njc2MDQzMTU2NzQwMiIsIjUwNjIwNjAxMTg1Njk1MDMyMDU4MTUxMjM2OTUxMTU2MTQwMTc5ODM2NDg2ODc5ODA1MDI4MTY2NTY4MjA2NTk0NzYxNjE1ODc1MTQiLCIxOTM1MDc5NTEzNzk5MzU2ODYxNjY5NTU4NDE0NTg0NjkyMTgxNTA3MzUyNTU3NDY0ODIzNDU3NDQ3ODU4MzYzMDYzMzU5MzA1MDYxOCIsIjE4ODkyNDY4NTM0NjAwNDMxMTg2ODM5MTk0NTg1Mjc2MjIwNDg3MzI2MTgyMzExNDc2NzIyNzg0OTY5NDM0NDk2Njg0ODE1MTUwNzg3IiwiODk5Mzk5NTQ1OTI3MDIxMzg0ODA2OTc2MjM5NjQ5NjQzNTMxMjg4NzkxMTM1ODQyNjk2MTY5MTY3NTQzNjE0NTU4MTc4ODIzMjE1IiwiMTIyMjA1MzY1MzA5MDU4Mjk1MDk2NTYwMzIzNjY2OTExMzU5MjI5MzQyMTUzODY3MDAyMjc3ODMzMDg3MDIyOTM1MzQ4MTI2ODk0NDAiLCIzMTk5OTM0MDg0MDA0NzQ3Njk3MDI5MzM4MDAyNDQ1Nzg1NTMzMjY0OTQwNTEwMjY4NDYzNjgxMTE4MjA1MTM0MTMzODg0Njc4NTg3IiwiNjM5MTU3NDIyNzU4MTY1Mzk2NzM2MDI0MjIyMDc4NzYzMTk3MDAzMDk0Mzc3NzE1NzM5NzQ1NDkxODYzNTc4MTUwNDkyNzk4MTcwNiJd && \
export SIGNUP_PUBLIC_SIGNALS=Unirep.signUp.publicSignals.WyIyIiwiMzY0MTkzMTUzIiwiMTE4OTQ5NzM2NDg4MjYxMTkzOTA0MDUyNTAyNzMzNDI1NjExMzY3MjI5Njc4MzI0NTk2ODQ2NDU0NjE0MzM3NjM1OTExMDQ3MjAyMDAiLCIxIiwiMSJd
🎮
cli/genUserSignUpProof