The public test network

The card passport

A signed credential that says what your card was paid for: this key did this much paid work on each lane over this window, read from the chain's own settlement rows and signed once. Enter a key, pick a window, read the figures back and check the signature yourself.

The card passport: a signed credential, read from the chain, that says this key did this much paid work on each lane over this window, with the joules behind it; never an identity and never a vote weight on its own; a credential and never a token. For other projects' airdrops, allowlists, test places and votes in place of wallet counts and device counts, and for miners as proof of what their card has done. Splitting a key mints as many passports as keys at no cost, by design, so the passport is weighted by work and never counted by head.

Check it yourself

Fetch the three files into one directory (the public key, the passport, the verify script published beside the key) and run the command on any machine with python3 and the cryptography module. It prints PASSPORT OK with the key, the window and the key id, or PASSPORT REFUSED with the reason.

curl -O https://build.igneum.network/ledger/7322/passport/passport-public.pem
curl -o passport.json https://build.igneum.network/ledger/7322/passport/<key>/<from>-<to>.json
curl -O https://build.igneum.network/ledger/7322/passport/verify.py
python3 verify.py --public passport-public.pem passport.json

With OpenSSL 3.0 or later alone, after verify.py --canonical has written the canonical bytes and the raw signature beside the file:

openssl pkeyutl -verify -pubin -inkey passport-public.pem -rawin -in passport.canonical -sigfile passport.sig

The public key

fetching the public key from the settlement endpoint

Where

A passport
https://build.igneum.network/ledger/7322/passport/<key>/<from>-<to>.json
A key's windows
https://build.igneum.network/ledger/7322/passport/<key>/index.json
The public key
https://build.igneum.network/ledger/7322/passport/passport-public.pem

The windows are the chain's own: pay windows of 64 blocks and long-run windows of 256 blocks, aligned to the chain; a passport exists for each aligned window wholly inside the records of record, for each key with lane work in it; a key without lane work in a window has no passport for it, and the tree's index names the keys refused with the reason. The files are written once after each hourly record lands and signed once; nothing is computed on a request.

Mine with EmberThe network, live