Nft

繼承契約的契約餘額是否也相同?

  • September 12, 2021

我有一份 Main 契約,用於出售我的 NFT。這是我的購買功能:

function buyNFT(uint256 _id) external payable {
       require(isNFTFree(_id));
       require(msg.value == price);
       nft[_id] = msg.sender;
}

我還有一個撤回功能:

   function withdraw() external onlyOwner {
       owner.transfer(address(this).balance);
   }

現在我想創建一個拍賣系統,允許我的使用者拍賣他們的 NFT。

所以我創建了一個繼承自我的主契約的“拍賣”契約

但是有一個問題:我需要將投標人的錢存入我的契約餘額中。但是 Main 和繼承的合約“拍賣”的餘額是否相同?如果是這樣,我將通過提取資金來打破所有拍賣。

在我的“buyNFT”功能中直接將錢轉到“所有者”錢包會更好嗎?

今天有一個關於繼承的類似問題:https ://ethereum.stackexchange.com/a/109767/31933 。基本上從 B ( A is B) 繼承 A 意味著編譯器將簡單地將 B 的程式碼包含在合約 A 中(對覆蓋的東西進行一些小的修復)。因此,只有一個合約需要部署。因此,合約也將只有一個本地資產餘額。

我不明白為什麼你的buyNFT函式不能將資產直接轉移到所有者錢包,如果那是它們應該結束的地方。

還要記住,你不能繼承已經部署的合約——你只能部署新的實例。

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