- Yair Mark
When architecting a Hyperledger Fabric application you have have a number of layers to consider:
- The application layer: this is the component that speaks to your chain using one of the available Fabric SDKs
- The chain code layer: this is generally the equivalent of a DAO on a standard tiered application which is used to Create, Read and Update data on the chain. You can also use this layer to enforce validation as well as any other rules you may need.
These 2 layers can easily be coded in different language similar to how a tiered app also can (and often is). We ended up using the Nodejs sdk as it is the most mature and GoLang for the chain code as we have adopted it as a language for our team.
Using different languages also has the surprising benefit of not mistakenly confusing which parts of the application layer you are in if you keep both the chain code and sdk code together in the same repository.