CIP-99 (Proof of Onboarding) ist ein Cardano Improvement Proposal, der einen Standard für QR-Code-basierte Token-Claim-Kampagnen definiert. Claimpaign ist eine Referenzimplementierung dieses Standards.
Was CIP-99 definiert
Der Standard legt Folgendes fest:
- Ein URI-Schema (
web+cardano://claim/v1), das Wallets registrieren - Einen Faucet-API-Endpunkt, den Wallets mit der Empfängeradresse aufrufen
- Das Request/Response-Format zwischen Wallet und Faucet
- Fehlerbehandlung und Statuscodes
URI-Format
Jeder Claim-Code enthält eine URI wie diese:
web+cardano://claim/v1?faucet_url=https%3A%2F%2Fclaimpaign.com%2Fapi%2Fclaim&code=SUMMIT_a3bf9c Wenn eine Wallet diesen QR-Code scannt, passiert Folgendes:
- Die Wallet erkennt das
web+cardano://claim-Protokoll - Sie extrahiert die Faucet-URL und den Claim-Code
- Sie sendet einen POST-Request mit der Empfängeradresse
- Die Ada/Tokens/NFTs werden per Transaktion an die Wallet gesendet
Warum ein Standard wichtig ist
Transaktions-Metadaten
Jede Claimpaign-Transaktion enthält CIP-10-Label 8414 als Metadaten zur On-Chain-Identifikation.
Claim-Transaktion
{
"label": 8414,
"metadata": {
"app": "claimpaign.com",
"campaign": "a1b2c3d4e5f6…",
"version": "1"
}
} Topup-Transaktion
{
"label": 8414,
"metadata": {
"app": "claimpaign.com",
"version": "1"
}
} Das campaign-Feld enthält sha256(randomSalt + campaignId), einmalig bei Kampagnenerstellung berechnet. So können Beobachter auf der Blockchain alle Claims einer Kampagne zuordnen, ohne die interne Kampagnen-ID preiszugeben.
Autoren
CIP-99 wurde von Adam Dean, Alex Dochioiu und „Carl" verfasst. Der vollständige Vorschlag ist auf GitHub einsehbar.