Baseline Reference Implementation-2
bri-2is the second "baseline reference implementation". The purpose of this project is to show a baseline stack using different services compared to
bri-1, but this stack must still comply with the baseline standards and specificiations, therefore allowing interoperability with other baseline stacks.
commit-mgracts as an extension to a web3 provider, which allows a variety of Ethereum clients to become "baseline compatible".
bri-2is still a work in progress. Components such as a vault/key manager and P2P messenger need to be added to make it a complete reference implementation.
The purple/orange blocks in the following diagram have been built. The green blocks are proposed services to be added and interact with the exisiting services.
Here is a comparison of the reference implementations:
- node v12.16
- ConsenSys Quorum account (for
After the docker containers have successfully initialized, make the following request to
workflow-mgrin order to create a new workflow.
"description": "signature test",
"clientType": "test client",
This request should initiate the following sequence of events. The sequencing of steps is accomplished by using NATS as a job queuing service. If successful, steps 1-8 will be completed and the workflow object will have a ZkCircuitId, Shield contract address, Verifier address, and a status of
In order to run interact with the
bri-2stack through a browser, please run the following commands.
Note: be sure to use
npm run build
npm run dev
http://localhost:3000on your web browser to view the
- If you have an existing bri-2 build, run the following sequence to remove old build artifacts:
- You may need to run
make buildtwice in order to properly compile smart contractsNote: Environment variables default to use
ganacheas the Ethereum network
- Create new commitments (hashes of JSON objects) for the Workflows
- Push the commitments (hashes) into the on-chain merkle tree inside the Shield contract
- P2P messenger service for communicating commitment details to counterparties
- Integrated L2 to reduce mainnet gas fees
- Automated integration level test suite
- Codefi Orchestrate Key-Manager service integrated for Eth/EDDSA key storage and signing capabilities
- Create new workflows
- Automatically generate, compile, and run setup for zero-knowledge signature-checking circuit
- Automatically compile newly created Verifier Solidity smart contract
- Automatically deploy Shield and signature-checking Verifier smart contracts to