Obligation implementation based on the Token SDK?


zhiheng.zheng@...
 

We have a project currently using Corda-finance provided by Corda out-of-box. R3 just released token SDK, and mentioned that Token SDK was intended to replace Corda-finance. But I can not find the any Obligation implementation in the Token SDK. I can see there is an Obligation implementation in the Corda settler which is compatible with Token SDK, but it seems that implementation is especially for Corda settler and is lack of some functions like netting which Corda-finance's Obligation has already provided. 

Anybody know if R3 will port the current Obligation in Corda-finance to Token SDK?


Roger Willis <roger.willis@...>
 

As you note, there is an obligation state and contract inside the corda-settler, our intention is to pull this obligation state and contract into a separate module and perhaps add some of the netting code we prototyped a couple of years ago for project Ubin. This will allow holders of obligations to perform multi-lateral netting. The finance module will likely be deprecated. Hope to start on this work at some point in the near future. The various library CorDapps which we are working on fit together like so:

 

 

 

  • Commons doesn’t exist at the moment but it probably makes sense to bundle a bunch of flows and helper functions that we see implemented time and time again in most CorDapps. This won’t contain any (abstract) contracts, just flows and functions.
  • Tokens is available already and we’ll continue to develop it.
  • State selection will be a new module. Currently tokens contains two token selection methods – using Hibernate and using a new in-memory approach we developed. We plan to move this into another module and genericise the code so that it can be used with more CorDapps/libraries than just tokens. This module won’t contain any states or contracts.
  • Obligation will contain the obligation code from the corda-settler and perhaps at some point in the future, some of the netting code we worked on a couple of years ago.
  • Corda settler which is currently in pre-released development, will just contain the settler specific flows. It won’t contain any contracts.
  • Confidential identities is an updated version of the existing CI code. This will be released with the next version of Corda. It only contains flows.
  • Accounts is currently in development and will be officially released with the next version of Corda OS. It contains flows, states and contracts.

 

If there’s anything you’d like to see that’s not on the list above then let us know, or if there are any features which you would like to see added to the existing libraries then let us know.

 

Cheers

 

From: <corda-dev@groups.io> on behalf of "zhiheng.zheng via Groups.Io" <zhiheng.zheng@...>
Reply-To: "corda-dev@groups.io" <corda-dev@groups.io>
Date: Wednesday, 31 July 2019 at 02:29
To: "corda-dev@groups.io" <corda-dev@groups.io>
Subject: [corda-dev] Obligation implementation based on the Token SDK?

 

We have a project currently using Corda-finance provided by Corda out-of-box. R3 just released token SDK, and mentioned that Token SDK was intended to replace Corda-finance. But I can not find the any Obligation implementation in the Token SDK. I can see there is an Obligation implementation in the Corda settler which is compatible with Token SDK, but it seems that implementation is especially for Corda settler and is lack of some functions like netting which Corda-finance's Obligation has already provided. 

Anybody know if R3 will port the current Obligation in Corda-finance to Token SDK?


Mike Hearn
 

The Corda Commons sounds like it could just be stuff added to the platform directly. It wouldn't require any network-wide upgrade; just a user upgrading the node if the app mandates it via its Min-Platform-Version manifest property. That way there's only one thing to manage, and the rest of the platform APIs can utilise and integrate with the commons stuff.