validate command

Validate a proof

Usage

% provendb-oracle validate --help
Validate a rowId against the most recent proof.

USAGE
  $ provendb-oracle validate

OPTIONS
  -v, --verbose      increased logging verbosity
  --config=config    config file location
  --output=output    output file for proof
  --proofId=proofId  proofId to validate
  --rowId=rowId      row ID to validate

DESCRIPTION
  Validate compares the data in the database (or in the flashback archive) to the
  digital signature (hash value) that was created when the row was anchored.  It then
  confirms that the hashes match and that the hash is included in the blockchain anchor.

  Validate generates a proof file which contains the row data and anchor information.  This
  proof file can serve as an independent proof of the data.

Arguments

Argument

Description

--config

Configuration file which contains Oracle and provend DB configuration see Configuration file Reference

--output

file to contain cryptographic proof validation

--proofId

Validate the provided proof Id

--rowId

Validate the provided rowId

--generateCertificate

Include a PDF "certificate" with each row proof. This is a human-readable version of the JSON cryptographic proof for that row

Example

% provendb-oracle validate --config=conf/p4o.yaml --proofId=t1fLbeVECCJ0uFXMr2t76t --output=myproof.proof
16:50:57.237 INFO  Connecting to Oracle...
16:50:57.542 INFO  Connected to Oracle
16:50:57.542 INFO  Connecting to Proofable
16:50:57.548 INFO  Validating proofId: t1fLbeVECCJ0uFXMr2t76t
16:50:57.548 INFO  Retrieving proof details for t1fLbeVECCJ0uFXMr2t76t
16:50:57.569 INFO  Checking P4ODEMO.CONTRACTSTABLE
16:50:57.604 INFO  P4ODEMO.CONTRACTSTABLE is not flashback managed
16:50:57.621 INFO  Getting Proof
16:50:57.818 INFO  Loading table data
16:50:57.818 INFO  Processing  P4ODEMO.CONTRACTSTABLE adhoc: adhocWhere:
16:50:57.905 INFO  Validating table data against proof
{
  trie: {
    id: 'tWS6AtnQpOif9rWoaPg6Wa',
    root: '2968617a049873ba8063b99f8f2921edf93d451d7f199319da1b01ee229a37f9'
  },
  proof: {
    id: 'pqBhmstEIMiqUfK1JE8-2t',
    verified: true,
    error: undefined,
    root: '18ca8c266da8c69c0a84ad86c227e4dd98c6575e9391d7b0763124f7d49b74fa',
    anchorType: 'HEDERA',
    blockNumber: '1607579375.9938001',
    blockTimeString: 'Thu Dec 10 2020 16:49:44 GMT+1100 (Australian Eastern Daylight Time)',
    blockTime: 1607579375,
    blockTimeNano: 9938001,
    txnId: 'a1aab4304e8a154aa82781435c4187882a7a0dcd10982cde2de9aac5e9ccd8446047ac75ac3182c56877c7e4b210f6f9',
    txnUri: 'https://explorer.kabuto.sh/testnet/transaction/a1aab4304e8a154aa82781435c4187882a7a0dcd10982cde2de9aac5e9ccd8446047ac75ac3182c56877c7e4b210f6f9'
  },
  keyValues: { total: 100, passed: 100, changed: [], untracked: [], missing: [] }
}
16:50:57.976 INFO  All keys validated
16:50:57.983 INFO  Proof written to myproof.proof



What’s Next