在Corda中,我了解任何包含实现合同接口的类的CorDapp JAR将作为附件自动上传到节点,并作为合同验证的一部分传播到其他节点,以便他们拥有合同的副本。
如何构建我的CorDapp,以便JAR只包含共享资源的定义,例如合同和状态,以及包含专有逻辑的任何内容,例如流程?
答案 0 :(得分:1)
任何生产CorDapp都应遵循此处定义的结构:https://docs.corda.net/writing-a-cordapp.html#structure。
这意味着你的CorDapp实际上应该由2个以上的模块组成,每个模块都会编译成自己的CorDapp。一个模块应该定义所有共享资源,例如合同和状态。其他模块应该依赖于此共享模块,如下所示:https://docs.corda.net/cordapp-build-systems.html#dependencies-on-other-cordapps。
CorDapp模板(例如https://github.com/corda/cordapp-template-kotlin)显示以下模式:
cordapp-contracts-states
模块cordapp
模块中定义,该模块依赖于cordapp-contracts-states
模块