Remix

在 Remix 中從代理合約呼叫實現函式的最簡單方法

  • October 14, 2020

我的 remix.ethereum.org 項目中有以下程式碼:

pragma solidity ^0.6.10;

// SPDX-License-Identifier: Unlicensed

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/proxy/UpgradeableProxy.sol";

contract ImplementationContract {
   function returnTen() public pure returns(uint) {
       return 10;
   }
}

contract ProxyContract is UpgradeableProxy {
   constructor(address _logic, bytes memory _data) 
       UpgradeableProxy(_logic, _data)
       public 
   {
   } 
}

我使用 Remix 將兩個合約部署到 JavaScript VM。

現在returnTen()ProxyContract部署中呼叫的最簡單方法是什麼?

最簡單的方法是在Contract下拉列表中選擇您的實現,然後將您的代理地址放入該欄位At Address並進行驗證。這樣 remix 將載入你的實現的 abi 並呼叫代理。

引用自:https://ethereum.stackexchange.com/questions/89327