Ethereum 混音IDE如何通过“部署代理合约”;地址为;正确地
我开始学习如何使用Remix IDE编写以太坊智能合约,并在localhost中配置Ganache&Truffle 我不明白。因此,我将拥有以下文件: Registry.sol(主合同) Storage.sol(用于存储) LogicOne.sol(第一逻辑契约) LogicTwo.sol(第二个逻辑契约) 我能够通过truffle控制台成功部署合同。 但是,当切换到Remix IDE时,我可以部署所有契约,但主契约没有与logic1契约链接,无法切换到logic2契约 我未能在RemixIDE中模拟以下代码Ethereum 混音IDE如何通过“部署代理合约”;地址为;正确地,ethereum,smartcontracts,remix,Ethereum,Smartcontracts,Remix,我开始学习如何使用Remix IDE编写以太坊智能合约,并在localhost中配置Ganache&Truffle 我不明白。因此,我将拥有以下文件: Registry.sol(主合同) Storage.sol(用于存储) LogicOne.sol(第一逻辑契约) LogicTwo.sol(第二个逻辑契约) 我能够通过truffle控制台成功部署合同。 但是,当切换到Remix IDE时,我可以部署所有契约,但主契约没有与logic1契约链接,无法切换到logic2契约 我未能在RemixIDE
Registry.at(Registry.address).setLogicContract(LogicOne.address)
每次我点击“地址”按钮,就会部署一个新的主合同。预期结果是主合同应保持不变,但合同逻辑从LogicOne切换到LogicII
我尝试的场景如下:
情景1:
LogicOne.at(Registry.address).val()
pragma solidity ^0.6.12;
contract Storage {
uint public val;
}
pragma solidity ^0.6.12;
import './Storage.sol';
contract LogicOne is Storage {
function setVal(uint _val) public returns (bool success) {
val = 2 * _val;
return true;
}
}
pragma solidity ^0.6.12;
import './Storage.sol';
contract LogicTwo is Storage {
function setVal(uint _val) public returns (bool success) {
val = 1000 * _val;
return true;
}
}
Registry.at(Registry.address).setLogicContract(LogicOne.address)
Registry.at(Registry.address).setLogicContract(LogicTwo.address)