市值: $2.6355T 0.69%
體積(24小時): $41.7705B -52.14%
恐懼與貪婪指數:

75 - 極度貪婪

  • 市值: $2.6355T 0.69%
  • 體積(24小時): $41.7705B -52.14%
  • 恐懼與貪婪指數:
  • 市值: $2.6355T 0.69%
加密
主題
加密植物
資訊
加密術
影片
頂級加密植物

選擇語言

選擇語言

選擇貨幣

加密
主題
加密植物
資訊
加密術
影片

如何從頭開始創建 NFT 合約(ERC-721)?

ERC-721 mandates unique token IDs, owner tracking, and Transfer events; optional metadata via tokenURI enables rich NFTs—implemented securely using OpenZeppelin contracts.

2026/01/22 03:40

了解 ERC-721 標準規範

1. ERC-721定義了每個合規合約必須實現的一組強制函數和事件,包括ownerOfsafeTransferFromapprove

2. 該標準強制執行唯一的代幣標識符——每個 NFT 必須有一個獨特的 uint256 ID,在任何給定時間映射到恰好一個所有者。

3. 元數據支持是可選的,但被廣泛採用; tokenURI函數返回一個指向包含名稱、描述和圖像鏈接的 JSON 的 URI。

4. Transfer 事件必鬚髮出帶有 from、to 和 tokenId 參數的Transfer ,以確保錢包和瀏覽器兼容性。

5. 基本 ERC-721 不要求支持枚舉,但許多實現添加了TotalSupplytokenByIndex來進行市場索引。

搭建開發環境

1. 安裝 Node.js 和 npm 來管理 Hardhat 或 Foundry 等依賴項,以進行本地編譯和測試。

2. 使用npm init -y初始化一個新項目,並通過npm install @openzeppelin/contracts安裝 OpenZeppelin Contracts。

3. 配置 Hardhat 配置文件以連接到 Sepolia 或本地 Anvil 網絡以進行部署模擬。

4. 在contracts目錄下創建一個名為MyNFT.sol的Solidity文件,並導入OpenZeppelin的ERC721Ownable模塊。

5. 定義構造函數參數,例如名稱和符號,然後使用這些值調用父 ERC721 構造函數。

編寫核心合約邏輯

1. 添加_baseTokenURI狀態變量來存儲元數據的根路徑,僅由合約所有者更新。

2. 重寫tokenURI函數,將_baseTokenURI與 tokenId 字符串連接起來,確保 IPFS 或 HTTP 端點正確解析。

3. 實現一個mint函數,該函數使用_safeMint將新令牌專門分配給 msg.sender 並遞增內部計數器。

4. 在setBaseURI等敏感函數上引入onlyOwner修飾符,以防止未經授權的元數據操作。

5. 包含supportsInterface覆蓋,以針對0x80ac58cd (ERC-721) 和0x5b5e139f (ERC-721 元數據) 接口ID 返回true。

在測試網上編譯和部署

1.運行npx Hardhatcompile生成ABI和字節碼;驗證沒有出現語法或繼承錯誤。

2. 編寫一個部署腳本,以“CryptoPanda”和“CPANDA”作為參數調用合約構造函數。

3. 在為部署者地址提供資金後,使用npx hardhat run scripts/deploy.js --network sepolia廣播交易。

4. 使用編譯期間使用的相同編譯器版本和優化設置在 Etherscan Sepolia 上驗證合約。

5. 使用 Etherscan 的“Write as Proxy”或 MetaMask 連接的 dApp 接口與已部署的合約進行交互,以觸發鑄造和傳輸。

常見問題解答

問:鑄造後我可以更改 tokenURI 嗎?答:是的,如果您的合約允許通過僅限所有者的 setter 函數進行更改,但更改它會追溯影響所有之前鑄造的代幣,除非您存儲每個代幣的 URI。

問:如果兩個代幣共享相同的 ID 會發生什麼?答:由於 OpenZeppelin 的_owners映射驗證強制執行重複映射檢查,合約將在鑄造期間恢復。

問:ERC-721 的 Gas 成本是否比 ERC-20 更高?答:是的,ERC-721 操作需要對每個代幣 ID 進行單獨的存儲寫入,從而導致鑄造和傳輸的 Gas 消耗量顯著增加。

問:我需要在合同中落實特許權使用費嗎?答:否——特許權使用費不屬於 ERC-721 規範的一部分。如果通過 ERC-2981 實現,OpenSea 等平台會從RoyaltyInfo函數中讀取版稅信息。

免責聲明:info@kdj.com

所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!

如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。

相關知識

如何避免AVAX期貨爆倉?如何管理 AVAX 槓桿部位?

如何避免AVAX期貨爆倉?如何管理 AVAX 槓桿部位?

2026-08-22 09:20:14

了解 AVAX 期貨保證金機制1. Binance、Bybit、OKX等主要交易所的AVAX期貨合約需要初始保證金來建倉,並需要維持保證金來保持活躍。 2. 初始保證金依照持倉名義價值除以槓桿水準計算;例如,10 倍槓桿的 10,000 美元多頭頭寸需要 1,000 美元的初始保證金。 3. 維持保...

如何查看 AVAX 資金費率?持有 AVAX 永續合約需要多少錢?

如何查看 AVAX 資金費率?持有 AVAX 永續合約需要多少錢?

2026-08-30 00:19:58

了解 AVAX 永久資訊機制1. AVAX/USDT永續合約的資金費率根據標記價格與指數價格的差額,加上交易所設定的利率成分,每八小時計算一次。 2. 資金費率以固定時間間隔(通常為世界標準時間 00:00、08:00 和 16:00)應用,無論頭寸規模或持倉量水準如何。 3. Binance、By...

ADA期貨利潤如何計算?槓桿如何影響 ADA PnL?

ADA期貨利潤如何計算?槓桿如何影響 ADA PnL?

2026-08-25 08:19:54

了解 ADA 期貨合約規格1. 主要交易所的每個 ADA 期貨合約代表 100 個 ADA 代幣,以每 ADA 單位的美元報價。 2. 報價單位通常為 0.0001 美元,這意味著最小的價格變動會影響每份合約 0.01 美元的部位估值。 3. 初始保證金要求在 5% 至 20% 之間變化,取決於外匯...

如何交易 ADA 空頭部位?如何設定合適的ADA期貨槓桿?

如何交易 ADA 空頭部位?如何設定合適的ADA期貨槓桿?

2026-08-24 12:00:23

了解 ADA 空頭部位機制1. ADA 空頭部位涉及出售借來的 ADA 代幣,並期望稍後以較低價格回購這些代幣,以返還給貸方並將差價收入囊中。 2. 交易者在幣安期貨、Bybit 或 OKX 等受監管的期貨交易所發起 ADA 空頭,其中 ADA/USDT 永續合約交易活躍。 3. 開倉和維持空倉需要...

如何管理 ADA 多頭部位?如何避免 ADA 期貨爆倉?

如何管理 ADA 多頭部位?如何避免 ADA 期貨爆倉?

2026-08-29 14:39:41

市場波動模式1. Bitcoin 價格波動通常與宏觀經濟數據發布相關,例如美國 CPI 報告或聯準會利率決定。 2. 在 Bitcoin 主導地位轉移期間,山寨幣估值經常經歷放大波動,尤其是當 BTC 市場份額超過 55% 時。 3. 交易所交易資金流入和流出直接影響幣安和 Coinbase 等主要...

如何找到 ADA 期貨切入點?如何設定ADA TP和SL?

如何找到 ADA 期貨切入點?如何設定ADA TP和SL?

2026-08-28 15:05:59

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少每個區塊新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下一次減少將使其達到 3.1...

如何避免AVAX期貨爆倉?如何管理 AVAX 槓桿部位?

如何避免AVAX期貨爆倉?如何管理 AVAX 槓桿部位?

2026-08-22 09:20:14

了解 AVAX 期貨保證金機制1. Binance、Bybit、OKX等主要交易所的AVAX期貨合約需要初始保證金來建倉,並需要維持保證金來保持活躍。 2. 初始保證金依照持倉名義價值除以槓桿水準計算;例如,10 倍槓桿的 10,000 美元多頭頭寸需要 1,000 美元的初始保證金。 3. 維持保...

如何查看 AVAX 資金費率?持有 AVAX 永續合約需要多少錢?

如何查看 AVAX 資金費率?持有 AVAX 永續合約需要多少錢?

2026-08-30 00:19:58

了解 AVAX 永久資訊機制1. AVAX/USDT永續合約的資金費率根據標記價格與指數價格的差額,加上交易所設定的利率成分,每八小時計算一次。 2. 資金費率以固定時間間隔(通常為世界標準時間 00:00、08:00 和 16:00)應用,無論頭寸規模或持倉量水準如何。 3. Binance、By...

ADA期貨利潤如何計算?槓桿如何影響 ADA PnL?

ADA期貨利潤如何計算?槓桿如何影響 ADA PnL?

2026-08-25 08:19:54

了解 ADA 期貨合約規格1. 主要交易所的每個 ADA 期貨合約代表 100 個 ADA 代幣,以每 ADA 單位的美元報價。 2. 報價單位通常為 0.0001 美元,這意味著最小的價格變動會影響每份合約 0.01 美元的部位估值。 3. 初始保證金要求在 5% 至 20% 之間變化,取決於外匯...

如何交易 ADA 空頭部位?如何設定合適的ADA期貨槓桿?

如何交易 ADA 空頭部位?如何設定合適的ADA期貨槓桿?

2026-08-24 12:00:23

了解 ADA 空頭部位機制1. ADA 空頭部位涉及出售借來的 ADA 代幣,並期望稍後以較低價格回購這些代幣,以返還給貸方並將差價收入囊中。 2. 交易者在幣安期貨、Bybit 或 OKX 等受監管的期貨交易所發起 ADA 空頭,其中 ADA/USDT 永續合約交易活躍。 3. 開倉和維持空倉需要...

如何管理 ADA 多頭部位?如何避免 ADA 期貨爆倉?

如何管理 ADA 多頭部位?如何避免 ADA 期貨爆倉?

2026-08-29 14:39:41

市場波動模式1. Bitcoin 價格波動通常與宏觀經濟數據發布相關,例如美國 CPI 報告或聯準會利率決定。 2. 在 Bitcoin 主導地位轉移期間,山寨幣估值經常經歷放大波動,尤其是當 BTC 市場份額超過 55% 時。 3. 交易所交易資金流入和流出直接影響幣安和 Coinbase 等主要...

如何找到 ADA 期貨切入點?如何設定ADA TP和SL?

如何找到 ADA 期貨切入點?如何設定ADA TP和SL?

2026-08-28 15:05:59

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少每個區塊新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下一次減少將使其達到 3.1...

看所有文章

User not found or password invalid

Your input is correct