Integration daml with Hyperledger Fabric

I have a question about integration daml with Hyperledger Fabric.

Image a scenario, for example, I have a fabric network with three organization member(Alice,Bob,Carol). They join the same fabric channel. Now, these member wants to choose daml contract language for a new business, such as asset inssurance.

they wanna write a daml application. They collectively write it in daml, and upload the resulting dar file into DAML ledger, for example, daml-on-fabric. daml contract runs on daml ledger, such as daml-on-fabric instead of fabric channel, I mean. Daml ledger will send the change taken place in daml ledger as a transaction to the same fabric network. I am not sure that my understanding is right. If misunderstood, correct me directly please.

My question is whether each of the members(Alice,Bob,Carol) has its own daml-on-fabric service( ledger api instance) available or sharing a daml-on-fabric service? if the daml-on-ledger is stateless, maybe each member has one. But if not, my understanding is sharing one service, otherwise consistency among these daml ledger may compromise. in short, is it right for Alice, Bob, Carol independently run a daml-on-fabric service? they need upload the same dar file into their own daml-on-fabric instance?

1 Like

Thanks for cross-posting, the issue is going to be easier for others to find over here.

For people finding the question here, this was @sormeter’s answer on GitHub:

1 Like

hi @Gary_Verhaegen , thanks for your selfless assistance. From the quote, I got the ituition that each party can deploy their own daml-on-fabric.

1 Like

I don’t personally know anything about Fabric unfortunately, but what I get from @sormeter’s answer is that you can run as many “daml-on-fabric” processes as you want (just one, one per party, a shared one for Alice and Bob but a separate one for Carol, etc.) as long as they all connect to the same underlying Fabric network.

He also seems to say that each party must be allocated to one daml-on-fabric process. I.e. say you run two of them, AB and C, it would be valid for Alice and Bob to always connect to AB and Carol to always connect to C, but it would not be valid for Carol to sometimes connect through AB and sometimes through C.

1 Like

sorry for the delayed reply. So based on u comments, the daml-on-fabric instance run by by Alice and Bob and the daml-on-fabric instance run by Carol both need upload the same dar files to their own daml-on-fabric instance? And party, ie. Carol, allocated on daml-on-fabric controled by Carol only accesses the daml-on-fabrc that allocated it?