How to manage common reference data for all nodes / specified nodes

(Kwan) #1

Hi Team,

Wondering what will be a good way to manage common reference data used by all nodes / specified nodes in Corda? One of the example will be a Contract Type or Legal Entity Name, which are the common reference data, shared by specified nodes.

I was thinking Oracle can be the solution, but after the study, seems Oracle is not be appropriate as we only need to get the list of reference data and can be quite frequent.

Other solution I have in mind is to have a centralized place to manage such data and can be obtained thru API. Appreciate anyone can help on this. Thanks.


(James Carlyle) #2

This is a great question, and one that we are just debating.

Can you flesh out your requirements a little bit more, and illustrate them with an example of a sequence of steps which shows how the reference data (e.g. the Legal Entity Name) would be queried and used?

The solution might be distributed (e.g. all necessary nodes have a copy of a Corda state that includes reference information, and nodes can query from their vault) or quasi-centralised (e.g. data is available from a network-wide service like the current Network Map service, which could be queried).

How many different types of reference data are you thinking of?

Is there a central existing authority for the reference data you are thinking of, or is it determined consensually by the participants?


(Kwan) #3

Assume that
There are 3 contract types - T1, T2 and T3

Company A has legal entities A1, A2 and A3
Company B has legal entitiies B1 and B2
Company C has legal entities C1 and C2

A1 and A2 can do T1, T2 contract with B1
A1 and A2 can do T3 contract with B2


  1. A1 creates a contract, only company B is available in the list
  2. Select company B, the legal entity list loaded B1 and B2
  3. Select B2, the contact type list loaded T3

So far I can only think of few, but I am sure more in the future. Therefore, need a way to manage the data and their relationship time-to-time , keeping a copy in each vault may not be the good way.

There will be a central authority to manage the reference data. Hope my example is making sense to you.