Blockchain 如何部署使用彼此功能的多个solidity智能合约?

Blockchain 如何部署使用彼此功能的多个solidity智能合约?,blockchain,ethereum,solidity,smartcontracts,truffle,Blockchain,Ethereum,Solidity,Smartcontracts,Truffle,我有三份智能合约,分别是a.sol,b.sol和c.sol。。。在这三个智能合约中,前两个是独立的智能合约,而c.sol使用a.sol和b.sol的功能,因此c.sol需要“导入”前两个智能合约。“导入”在本地工作,但如何通过testnet上的混音/块菌来部署所有这些功能,以便c.sol仍然可以访问a.sol和b.sol的功能?如果您的项目是用块菌创建的,您可以通过以下方式设置c.sol: import "./a.sol"; import "./b.sol"; contract c is a,

我有三份智能合约,分别是a.sol,b.sol和c.sol。。。在这三个智能合约中,前两个是独立的智能合约,而c.sol使用a.sol和b.sol的功能,因此c.sol需要“导入”前两个智能合约。“导入”在本地工作,但如何通过testnet上的混音/块菌来部署所有这些功能,以便c.sol仍然可以访问a.sol和b.sol的功能?

如果您的项目是用块菌创建的,您可以通过以下方式设置
c.sol

import "./a.sol";
import "./b.sol";

contract c is a, b {
   ...
}

如果这是您的代码结构,您将能够使用
Truffle migrate
(前提是您的迁移设置正确)部署您的Truffle项目。

您的合同a和合同b是否假定为独立合同,无论合同c如何使用?ie:用户在合同a中存储数据,合同c将使用该数据

如果是这样的话,那么你可以将契约a和b作为契约c的变量,如下所示

a、 溶胶

c、 溶胶

学分:

contract A {
  function doSomething() {
    ...
  }
}
contract C {
  A a;

  function setA(address addressOfContractA) {
    a = A(address);
  }

  function makeADoSomething() {
    a.doSomething();
  }
}