The platform assembles the file
An owner of a Village that has Provenance and the Email Decision Record can have the platform assemble a consignment file for a lot. The file carries a Provenance dossier and an Email Decision Record dossier, and a signed email record is tied to the lot by the lot reference. When the owner names an invoice that carries the same lot reference, the file can carry that invoice as a third member. The assembly step stores nothing.
Built and deployed.
A checker that anyone can run offline
The checker is one readable JavaScript file. It runs each member's own checker on that member's bytes, with no network, and prints one result. It refuses a member checker whose bytes do not match the published SHA-256.
Built and deployed.
- It needs Node.js only.
- This first checker covers the Provenance and Email Decision Record members. The combined checker, version 2, also checks the invoice member, and is linked below.
Download the checker
node consignment-verifier.js file.zip --json
SHA-256 of the checking program, as this site serves it:
151ef62443703208f75cf5c9a569542a46eaf3f890f3385629bc4c3374615c16
Download the combined checker, version 2
SHA-256 of the combined checking program, version 2:
1ffb7fa4d51ea61af3cd02ce3e6c82dc9b5b57ce5892dcd8f962f852697597c5
Sending it by email, with a second person
An owner can propose sending a consignment file to one outside recipient. The proposal goes through the Email Decision Record and is held until a second person approves it; the person who proposed it cannot be the one who approves. It is then released through the existing release route.
Built and deployed; switched on per Village by arrangement.
An invoice that can be partly hidden
The invoice member is built on Attested Accounts. Every field of the invoice is held as a salted hash. The holder chooses which fields to show, from this list only: lot reference, quantity, unit, currency, total and date. Every other field stays a hash, and no value for it is in the file.
Built and deployed; switched on per Village by arrangement.
- A separate offline checker, invoice-bundle-verifier.js, linked below, recomputes the hashes of the fields shown, recomputes the lot commitment, and checks the signed record behind the invoice.
- A combined checker, consignment-verifier-v2.js, checks the invoice member together with the other two, and still reads a file made for the first checker in the same way.
- An invoice export produces the invoice member from an invoice in Attested Accounts.
- The two routes that assemble and send a file accept an optional invoice, and then produce a file with three members.