Baseline Protocol
v1.0.0
v1.0.0
  • Welcome
  • Basics
    • Introduction
    • Architecture
    • Glossary
    • FAQ
  • Community
    • Open Source Community
      • Contributors
      • Members
    • Community Leaders
      • Core Developers
      • General Assembly
  • GOVERNANCE
    • Overview
    • Project Governance Board
    • Technical Steering Committee
  • Source Code
    • Packages
      • API
      • Baseline
      • CCSM
      • Identity
      • Privacy
      • Vault
      • Types
    • Baseline Process
    • Developer Resources
  • Standard
    • Overview
    • CORE Specification
    • API Specification
    • CCSM Specification
  • Reference Implementations
    • Overview
    • BRI-1
      • Base Example
    • BRI-2
  • Connectors
    • SAP/Microsoft Dynamics
    • Google Sheets/Microsoft Dynamics
    • MSFT Excel Connector
  • Deprecated Work
    • Overview
    • Radish34 - DEPRECATED
      • Radish34 Explained - DEPRECATED
      • Interactive Demo - DEPRECATED
      • Workflow - DEPRECATED
      • Key Diagrams - DEPRECATED
Powered by GitBook
On this page
  • Overview
  • Architecture
  • BRI-1 and BRI-2 comparison
  • BRI-2 Quickstart
  • Requirements
  • Workflow creation
  • Run dashboard front-end
  • Troubleshooting
  • Current Capabilities
  • Future Capabilities

Was this helpful?

Export as PDF
  1. Reference Implementations

BRI-2

Baseline Reference Implementation-2

PreviousBase ExampleNextSAP/Microsoft Dynamics

Last updated 3 years ago

Was this helpful?

Overview

bri-2 is 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. bri-2 introduces the commit-mgr service to baseline. The commit-mgr acts as an extension to a web3 provider, which allows a variety of Ethereum clients to become "baseline compatible".

Note: bri-2 is 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.

Architecture

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.

BRI-1 and BRI-2 comparison

Here is a comparison of the reference implementations:

Service Type

bri-1

bri-2

Eth. client

Nchain

commit-mgr + ITX

Key managment

Provide Vault

Codefi Orchestrate

P2P Messenger

NATS

NATS

BRI-2 Quickstart

Requirements

  • docker

  • docker-compose

  • node v12.16

  • npm

  • ConsenSys Quorum account (for vault + key-manager services)

make build
make start

Workflow creation

After the docker containers have successfully initialized, make the following request to workflow-mgr in order to create a new workflow.

POST http://localhost:5001/workflows?type=signature
{
   "description": "signature test",
   "clientType": "test client",
   "chainId": "101010",
   "identities": [
       "4bd3822517db41e55a9d234187b22215187d20ba37d83208ddc7788dc473f31e"
   ]
}

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 success-track-shield.

Run dashboard front-end

In order to run interact with the bri-2 stack through a browser, please run the following commands.

Note: be sure to use node v12.16

cd dashboard
npm install
npm run build
npm run dev

Navigate to http://localhost:3000 on your web browser to view the dashboard.

Troubleshooting

  • If you have an existing bri-2 build, run the following sequence to remove old build artifacts:

make clean
make build
make start
  • You may need to run make build twice in order to properly compile smart contracts

    Note: Environment variables default to use ganache as the Ethereum network

Current Capabilities

  • 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

Future 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 ganach

Note: Create a free ConsenSys Quorum trial account . Access the API documention for the key-manager service .

here
here
BRI-2 Architecture