Repository navigation
Protocol
DragonDev1906 edited this page May 4, 2026
·
1 revision
- Prepare the repo:
make init - Compile the circuits and generate key material (will be published later once the circuit changes less often):
make prep-release - Compile cardano script with the vkey:
make verifier/cardano/eudi2web3_demo.script - Generate key material for deployment and execution (needs to be funded from a faucet before continuing):
make me.sk me.vk me.addr - Deploy script:
BLOCKFROST_KEY="..." cargo run --bin deploy - Start the service:
BLOCKFROST_KEY="..." cargo run --release --bin main(note: completing the OpenID workflow may require fully working TLS).
- User opens the website (server binds to "127.0.0.1:8080" by default) and enters a cardano address (+ circuit selection)
- Address is sent to the server and stored until the VP is available
/submit_data - The server returns a VP request URL, shown to the user as a QR code
- The user scans the QR code with his wallet
- The wallet requests additional request data
/vp_request/{id}and verifies this request. - After the user shares his credential, the wallet sends the VP to
/vp_auth/{id}, where it is matched to the data from step 1 and put into the processing queue. - When taken out of the queue, the credential is given to the circuit to compute the proof (VP -> Input -> Witness -> Proof -> Verify). This also verifies the credential integrity.
- If requested by the user, the proof is published on-chain (eudi2web3_demo script).
- Once completed the user also gets the proof (regardless of whether it is published on-chain).