Using TradeTrust and OpenAttestation with non-Ethereum ledgers

In this article we will discuss how TradeTrust can be modified to be used for ledgers aside from the public Ethereum network.

Quorum#

Quorum is a fork of Ethereum, with enterprise functionality and permissioning added on top of it. It also differs from Ethereum by using non-proof of work consensus algorithms - between a choice of IBFT or Raft. It thus follows that it is not a public, permissionless network like Ethereum, but a permissioned network.

Nevertheless, Quorum has taken care to maintain compatibility with Ethereum smart contracts and this means that we can use not only the OpenAttestation file format, we can also use the Document Store and Token Registry smart contracts without any modification.

In our brief experiments, we set up a private Quorum network using Chainstack as a platform, and found no problems deploying and issuing using the Document Store smart contract.

This was facilitated using the open-attestation-cli with a simplistic proxy for handling authentication. Simply run the proxy locally on port 8545, and then use open-attestation-cli with the flag --local.

For verifying of the issued documents, you can simply use oa-verify with a custom provider that points to the Quorum node if it is accessible publicly or using the same local proxy method as above. Augmenting oa-verify with your custom provider is documented here.