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

ArgumentDescription
--configConfiguration file which contains Oracle and provend DB configuration see Configuration file Reference
--outputfile to contain cryptographic proof validation
--proofIdValidate the provided proof Id
--rowIdValidate the provided rowId
--generateCertificateInclude 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