【发布时间】:2018-02-05 21:55:39
【问题描述】:
在 Corda 中,我了解任何包含实现合约接口的类的 CorDapp JAR 都将作为附件自动上传到节点,并作为合约验证的一部分传播到其他节点,以便他们拥有合约副本。
如何构建我的 CorDapp,以使 JAR 仅包含共享资源的定义,例如合约和状态,而不包含专有逻辑,例如流?
【问题讨论】:
标签: corda
在 Corda 中,我了解任何包含实现合约接口的类的 CorDapp JAR 都将作为附件自动上传到节点,并作为合约验证的一部分传播到其他节点,以便他们拥有合约副本。
如何构建我的 CorDapp,以使 JAR 仅包含共享资源的定义,例如合约和状态,而不包含专有逻辑,例如流?
【问题讨论】:
标签: corda
任何生产型 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 模块【讨论】: