hyperledger-cacti / cacti

Hyperledger Cacti is a new approach to the blockchain interoperability problem
https://wiki.hyperledger.org/display/cactus
Apache License 2.0
345 stars 285 forks source link

feat: add DAML Support/Integration #142

Open petermetz opened 4 years ago

petermetz commented 4 years ago

Description

As a developer I want to re-use my DAML expertise when working with Cactus so that it's a more pleasant experience to switch contexts between the two.

This is pretty vague and that's no coincidence. I haven't had much time to put into the details yet, but wanted to capture this early on as something that we probably want to keep in mind.

DAML seems to have a really good developer experience based on the documentation:

https://github.com/digital-asset/daml/tree/master/language-support/ts/daml-ledger

Acceptance Criteria

  1. If I know DAML, I can write DAML contracts and deploy them on any DAML compatible ledger via Cactus
  2. More criteria may be added later, but this is all for now.
RafaelAPB commented 4 years ago

I think in the medium/long term this will be needed. Canton provides integrations with some big names (Fisco BCOS, Corda, Fabric, Sawtooth), and might be valuable to have Cactus supporting different interoperability paradigms

jagpreetsinghsasan commented 1 week ago

Depends on #3489

jagpreetsinghsasan commented 1 week ago

Depends on #3647

RafaelAPB commented 1 week ago

@jagpreetsinghsasan thank you for helping out. Let me know if I can be useful for the review of the code of the dependent PRs

petermetz commented 1 week ago

@RafaelAPB Thank you for the offer! There's this incoming PR where I'd love to pick your brain on the transact and deploy contract endpoints for the DAML connector: https://github.com/hyperledger-cacti/cacti/pull/3615

Right now they are both not implemented in the connector which makes me think that the implementation is not generic enough for the framework and instead is trying to be closer to application logic. Could you validate/invalidate this based on your experience? (I need this assistance because I don't have DAML experience myself so I can't reliably judge if the ledger is just so different from the others that the usual connector plugin interface does not fit at all or if we just need to look into it more) Thank you in advance!