A standalone tool for producing graphical representations of version 3 Chainpoint Proof JSON-LD documents. It partially mimics the behaviour of the parseBranches() function
out of the chainpoint-parse JS lib, with the added ability to produce .png or .svg visualisations too.
#> composer require dcentrica/chainpoint-receiptviz-php
There are several chainpoint specification versions, with a version 4 currently under development. This library only supports the current v3 standard.
#!/usr/bin/php
<?php
// Very basic usage
require(realpath(__DIR__ . '/dcentrica-chainpoint-viz/src/Viz/ChainpointViz.php'));
require(realpath(__DIR__ . '/dcentrica-chainpoint-viz/src/Viz/HashUtils.php'));
$receipt = file_get_contents('chainpoint.json');
$viz = new \Dcentrica\Viz\ChainpointViz();
$viz->setChain('bitcoin');
$viz->setReceipt($receipt);
$viz->setFilename(realpath(__DIR__) . '/chainpoint.svg');
// Create linked TXIDs (Only works for SVG output). Options are:
// blockchain.com | explorer.bitcoin.com | blockexplorer.com | smartbit.com.au
$viz->setExplorer('smartbit.com.au');
$viz->visualize();
See the "examples" directory for this example and output.
Thanks to the Tierion team, especially for the chainpoint-parse JS lib which led me to understand how a chainpoint document is put together.