Implementations
SP/1 has two independent implementations that agree on every published vector, written in different languages by different means. That is the line between a protocol and a file format, and it is checkable in about ten seconds.
Known implementations
Section titled “Known implementations”| Implementation | Class | Language | Source |
|---|---|---|---|
| PRYVC | H, R | TypeScript | Proprietary — reference hub, pryvc.com |
sp1verify |
V | Python | Apache-2.0, open source |
PRYVC is the reference hub: it issues grants and certificates, maintains the audit chain, and anchors it externally. Conformance to SP/1 is defined by this specification and the published vectors, not by PRYVC’s behaviour.
sp1verify is a Class V verifier written from this specification’s text
rather than ported from PRYVC’s code. It has no dependencies beyond the Python
standard library, requires no account, and has no relationship with any hub.
Verify the claim yourself
Section titled “Verify the claim yourself”git clone https://github.com/pryvcbits/share-protocolcd share-protocol/verifier-pythonpython -m sp1verify vectors ../vectors/sp1-vectors.json36/36 checks passedConforms to SP/1 Class V.The same tool will inspect a live certificate from any conforming hub:
python -m sp1verify cert cc_a4ud31j5x6clxk99izAdding yours
Section titled “Adding yours”If your implementation passes vectors/sp1-vectors.json, open a pull request
adding it to the table. Go, Rust, Java, and C# verifiers would all be
genuinely useful, and a second hub implementation would matter most of all.
Errata and disagreements about the spec text are equally welcome: if two implementers read a sentence differently, the sentence is wrong. Reach the steward at protocol@pryvc.com.