首页 > 解决方案 > 支持来自父合约的多个代理合约

问题描述

我正在处理一个大型合同,我们考虑的架构是从父合同调用多个合同。为此,我们正在考虑使用代理模式(新版本子合同的可升级合同)。

contract SubA {
    uint256 vara;
}
contract SubB {
    uint256 varb;
}
contract SubA_V1 is SubA {
    function getVar(){ return vara; }
}
contract SubB_V1 is SubB {
    function calculateVar(){ return varb * 10; }
}
contract ParentContract {
    function getVars(){
        SubA.getvar(); 
       SubB.calculateVar(); 
    }
}

许多其他大型以太坊项目(使用代理)似乎使用单一合约作为代理。是否可以从单个父合同中使用多个代理合同。另一个重要问题是大型项目更可取吗?

标签: ethereumsolidity

解决方案


推荐阅读