Nft
如何創建質押合約?
我有一個 erc721a 合約,我想學習如何讓使用者質押他們的代幣。我已經嘗試在 github 上使用範例,但它永遠無法辨識被抵押的令牌 ID。難道我做錯了什麼?我需要在原始契約中添加一些內容嗎?
erc721 權益合約應該有 erc721holder(receiver and 165) Github Openzeppelin Library。您可以查看權益契約的範例權益,但您應該將 IERC20 更改為 IERC721。
我在這裡寫了一個最簡約的 ERC721 質押合約,用於氣體比較測試。它目前不鑄造令牌(必須使用有效的 ERC20 令牌取消註釋第 63 行)以不偏向測試。這也需要使用者批准讓合約處理 NFT (erc721.setApprovalForAll(stakingContract.address, true))。
我不確定您所說的“它永遠不會辨識被抵押的令牌 ID”是什麼意思,但也許看看這會澄清一些事情。