Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Design a generic structure and interface (API) for the COPM that is portable across DLTs (while being implemented in DLT-specific ways for each ledger type.)
  • Identify a list of Core Operator primitives to implement. Thus far, we have identified a limited set of such operators, which in some combinations can fulfil the three canonical DLT interoperability use cases: data sharing, asset exchange, and asset transfer. (Note: this set is meant to be extensible, to accommodate more operators if we discover functions that are not covered by the below list)
    • lockAsset
    • pledgeAsset
    • claimAsset
    • generateProof
    • verifyProof
    • accessControl
    • noop (this is a passthrough option, for Cacti modules and connectors that do not need to invoke any of the above operators)
  • Implement a COPM for Hyperledger Fabric
    • On a best effort basis, implement a COPM (in part or whole) for Corda
    • On a best effort basis, implement a COPM (in part or whole)  for Besu/Ethereum
  • Sketch out a template for porting to arbitrary DLTs and write documentation (this may end up being part of the Cacti whitepaper)
  • Write scripts to deploy COPMs on a given network
  • Refactor existing Cacti packages (select a few) to invoke the appropriate COPM
  • Pick some end-to-end examples to showcase (this should cover existing Cactus examples, existing Weaver examples on data sharing, asset exchange, and asset transfer)

Preliminary work:

  • Test out various Cactus and Weaver (especially, as these operators are currently mostly implemented as Weaver contracts and DApps) setups and samplesand evaluate Cactus setups and examples using instructions in the documentation.
  • Test and evaluate Weaver setups and samples using instructions in the documentation.
  • Document bugs, required upgrades in software, instruction typos, and identify automation scripts that can help make tooling and CI more efficient.Fix any obvious bugs and patches, write automation scripts as needed (create a "service pack"), update CI GitHub Actions accordingly
  • Expose Weaver modules and libraries through symlinks in the packages  folder to simplify the integration process.

(The intention of this project is to unify multiple interoperability frameworks by creating a reusable set of operators so that the existing frameworks can be migrated to them.)

...