Solidity
是否可以在沒有原始碼的情況下導入現有合約?
沒有從創建者那裡保存的原始碼,也沒有在範圍內驗證(它是 Klaytn)。我得到了契約的所有權。我想導入合約並與之互動以執行一些功能,例如 setApprovalForAll。是否可以在沒有原始碼的情況下導入契約?如果是這樣,我該怎麼做?
您可以使用介面來執行此操作。只需使用目標合約上存在的函式來定義它。例如:
interface IExample { function setApprovalForAll(address _operator, bool _approved) external; }
舉
setApprovalForAll
個例子,我猜你正在與之互動的是 ERC721 合約。如果是這樣,您可以直接從EIP-721中獲取介面一旦你有了介面,它就像將地址投射到它一樣簡單:
IExample example = IExample(contractAddress);
然後你可以呼叫那個實例上的函式