Contract-Deployment
需要幫助了解將 NFT 鑄造到另一個公鑰時會發生什麼
我是在乙太坊上開發的新手,所以我希望這些問題不要太愚蠢。
我有一個智能合約,允許我將 NFT 鑄造成另一個公鑰。
- 誰是這個 NFT 的所有者——我,還是接收者?
- 在將其鑄造給收件人後,我能否更改此令牌的名稱、描述、圖像和/或令牌 URI?
- 既然這個 NFT 是我的智能合約創建的,是不是意味著只有我的智能合約才能對其進行修改呢?
- 如果我對我的智能合約進行任何更改,我可以通過將現有的智能合約部署到相同的地址來升級它嗎?我使用現有智能合約鑄造的任何 NFT 會發生什麼?
您應該明白,預設情況下,契約中沒有“所有權”之類的東西。當您部署合約時,它只有原始碼中編寫的功能 - 沒有額外的功能。因此,如果您想要所有權功能,它必須存在於原始碼中。
所以:
- 如果您將其鑄造到一個地址,則該地址可能會成為所有者。但是您應該檢查程式碼實際發生了什麼。
- 如果程式碼允許這樣的事情,那麼是的。但通常是不允許的。
- 取決於實施。通常,鑄幣者在鑄幣後對 NFT 的訪問權為零。另一方面,如果程式碼很奇怪或有問題,任何人都可以修改它。
- 您永遠不能將新合約部署到同一個地址(除非您控制整個區塊鏈,例如在本地測試網中)。合約不能從區塊鏈中刪除,除非它們具有明確的編碼功能,使用特殊
selfdestruct
功能來刪除合約。如果沒有這樣的功能,合約將永遠留在區塊鏈中,在同一個地址。
- 所有者是公鑰,但讀取程式碼
- 所有元數據都可能在該 url 中並且可以更改,或者在 IPFS 中無法更改。閱讀程式碼
- 如果您的意思是更改元數據?這取決於以前的答案
- 不,乙太坊區塊鏈不允許你這樣做。你只能部署另一個。在 Rinkeby 網路中測試你的所有邏輯