首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动创建子合同?

如何自动创建子合同?
EN

Ethereum用户
提问于 2018-02-21 16:34:04
回答 1查看 821关注 0票数 0

是否有任何方法可以自动从父契约创建多个子契约(其中包含特定的逻辑)?

我的用例是供应链管理和区块链上的身份管理。考虑到这些情况的规模,我不倾向于在单个合同中使用结构或映射,而是希望创建可以单独处理的单个合同。

从技术的角度来看,我们怎样才能实现这样的逻辑:创造一种“母亲”合同,根据某些商业条件产生“孩子”合同,然后这些“孩子”合同就自己起作用了?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2018-02-21 17:01:34

您可以使用新关键字从另一个契约中实例化一个合同。

然后,您可以使用数组或理想情况下的映射来跟踪这些新子类。

必须将Child.sol源代码导入到Parent.sol文件(即import './Child.sol';)中。

例如,您可以将它封装在一个函数中,例如

代码语言:javascript
复制
import './Child.sol';

mapping(bytes32 => Child) childList;

function spawnChild(bytes32 childId) {
    Child current = new Child();
    childList[childId] = current;
}

当您调用函数时,它将创建一个新的子契约。

然后,您可以从父契约中调用子合同上的函数,如下所示

代码语言:javascript
复制
function callChildFunction(bytes32 childId) {
    childList[childId].theChildfunction();
}
票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/40447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档