Nft
繼承契約的契約餘額是否也相同?
我有一份 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
函式不能將資產直接轉移到所有者錢包,如果那是它們應該結束的地方。還要記住,你不能繼承已經部署的合約——你只能部署新的實例。