Documentation Index
Fetch the complete documentation index at: https://docs.verity.usher.so/llms.txt
Use this file to discover all available pages before exploring further.
Verity Network Nodes are isolated binaries, operable from the Verity CLI.
These Network Nodes include:
- Verity Prover
- Verity Notary
Their isolation as binaries, operated as a separate process from the host environment orchestrating the data pipeline, was a design decision that allows for various languages to be used by the developer. This decision also allows for intricate optimisations specifically for the TLS proving mechanic. All private data processed over network requests to data sources remains isolated in the Verity Prover. Interfacing with the Verity Prover is the primary action that the developer will perform. Verity Clients exist to support the developer in this process.
Usher Labs offers a fully managed Verity Prover as a service, minimising overhead in operating the Prover. To learn more, please review: 📓 Managed Services.
The Verity CLI comes with tools for verifying TLS proofs from the command line.
In essence, the Verity CLI encompasses technologies that establish our data pipeline through verifiable data sourcing.
CLI Binary Download
curl -fsSL https://get.verity.usher.so -o get-verity.sh
sudo bash ./get-verity.sh
The script automatically installs the appropriate binary based on the host environment and operating system.
Start a Verity Notary Node
verity notary start --config ./config/notary.yaml
In Production:
Usher Labs will manage a Notary on your behalf. This is advised, as Notary operators require PoS to secure their participation in the Verity Protocol. A managed Notary URL can be shared on request. Please advise the specific region where you intend to deploy your Prover to ensure we can optimise latency in the MPC setup.
Start a Verity Prover Node
Use
Generate a Request ID
uuidgen
# 678D765E-B6D0-4BFA-AD4C-EBBC92815B25
Subscribe to Async Proofs
To receive proofs delivered via Server-Sent Events (SSE), use the curl tool. Open a terminal and listen for SSE at the /proof/[request_id] endpoint:
curl -N http://localhost:8080/proof/678D765E-B6D0-4BFA-AD4C-EBBC92815B25
Call the Prover
curl http://localhost:8080/proxy -X POST \
-H "T-PROXY-URL: https://jsonplaceholder.typicode.com/posts" \
-H "T-REDACTED: res:body:id,req:body:userId,res:body:userId, req:header:x-api-key" \
-H "T-REQUEST-ID: 678D765E-B6D0-4BFA-AD4C-EBBC92815B25" \
-H "Content-Type: application/json" \
-H "X-API-KEY: secret" \
-d '{"title": "usher", "body": "labs", "userId": 10}'
CoinGecko Example
curl http://localhost:8080/proxy -X GET \
-H "T-PROXY-URL: https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd" \
-H "T-REQUEST-ID: 678D765E-B6D0-4BFA-AD4C-EBBC92815B25" \
-H "Content-Type: application/json"
Verify the proof by the CLI
verity verify --notary-pub-key ./fixture/notary/notary.pub --proof ./fixture/proof.json