如何部署两个相互继承的智能合约一起测试网络?
How to deploy two smart contracts that inherit from each other to test network together?
我有两个智能合约
我在 remix IDE 中工作,当我单击 "Deploy" 时,我只能部署一个智能合约。而当我复制ABI时,我只能从一个合约中复制一个ABI。
有没有办法将这两个合约一起部署,或者我应该单独部署它们?
如果我将它们分开部署,numberTwo 合同将如何找到 numberOne 合同在哪里?
谢谢。
pragma solidity ^0.4.25;
contract numberOne{
}
contract numberTwo is numberOne{
}
你的写法是你的 numberTwo 合约继承了 numberOne 所以你不需要单独部署第一个。
但是如果你真的想单独部署它们,你可以这样做。只需一个接一个地部署它们,然后使用第一个的地址将第一个连接到第二个。
contract NumberOne {
uint256 public someData = 256;
}
contract NumberTwo {
NumberOne numberOneContract;
function initNumberOne(address _address) public {
numberOneContract = NumberOne(_address);
}
function getSomeData() view public returns (uint256) {
return numberOneContract.someData();
}
}
我刚刚做到了。
如果简单地先部署继承自 numberOne 合约的 numberTwo 合约,它会自动部署两个合约。
如果我将复制 numberTwo 合同的 ABI,它也会从 numberOne 合同中获得 ABI。
我有两个智能合约
我在 remix IDE 中工作,当我单击 "Deploy" 时,我只能部署一个智能合约。而当我复制ABI时,我只能从一个合约中复制一个ABI。
有没有办法将这两个合约一起部署,或者我应该单独部署它们? 如果我将它们分开部署,numberTwo 合同将如何找到 numberOne 合同在哪里?
谢谢。
pragma solidity ^0.4.25;
contract numberOne{
}
contract numberTwo is numberOne{
}
你的写法是你的 numberTwo 合约继承了 numberOne 所以你不需要单独部署第一个。
但是如果你真的想单独部署它们,你可以这样做。只需一个接一个地部署它们,然后使用第一个的地址将第一个连接到第二个。
contract NumberOne {
uint256 public someData = 256;
}
contract NumberTwo {
NumberOne numberOneContract;
function initNumberOne(address _address) public {
numberOneContract = NumberOne(_address);
}
function getSomeData() view public returns (uint256) {
return numberOneContract.someData();
}
}
我刚刚做到了。 如果简单地先部署继承自 numberOne 合约的 numberTwo 合约,它会自动部署两个合约。 如果我将复制 numberTwo 合同的 ABI,它也会从 numberOne 合同中获得 ABI。