-
bitcoin $78074.098354 USD
1.89% -
ethereum $2299.014391 USD
2.17% -
tether $0.998449 USD
0.01% -
bnb $700.460149 USD
1.26% -
xrp $1.273048 USD
1.81% -
usd-coin $0.999762 USD
0.01% -
solana $92.929882 USD
1.25% -
tron $0.321666 USD
0.30% -
zcash $1272.523101 USD
12.65% -
hyperliquid $84.856242 USD
1.58% -
monero $637.212844 USD
3.50% -
dogecoin $0.074680 USD
1.23% -
unus-sed-leo $9.292529 USD
-0.02% -
chainlink $11.063098 USD
-0.05% -
cardano $0.190385 USD
1.97%
如何寫出NFT智能合約? (堅固性基礎知識)
ERC-721 is Ethereum’s NFT standard, ensuring uniqueness via `tokenId`, enforcing ownership with `ownerOf`/`transferFrom`, and supporting metadata through `tokenURI`.
2026/02/27 05:40
了解 ERC-721 標準
1. ERC-721是廣泛採用的以太坊代幣標準,專為不可取代代幣設計。
2.定義了ownerOf 、 transferFrom 、 approve等核心函數來管理唯一的資產所有權。
3. 每個 ERC-721 合約必須實作IERC721介面並發出標準化事件,例如Transfer和Approval 。
4. 透過tokenURI函數的元資料支援允許將每個 NFT 連結到包含名稱、描述和圖像 URL 的 JSON 檔案。
5. 此標準透過為同一合約中的每個代幣分配不同的uint256 tokenId來強制執行唯一性。
設定開發環境
1. 安裝 Node.js 和 npm 來管理相依性並執行 Hardhat 或 Truffle 等本機工具。
2. 使用npm init初始化一個新項目,並使用npm install @openzeppelin/contracts安裝 OpenZeppelin Contracts。
3. 使用npx Hardhat配置 Hardhat 項目,選擇範例項目選項來產生樣板檔案。
4. 在contracts/下方建立一個Solidity文件,命名為MyNFT.sol ,並匯入OpenZeppelin的ERC721實作。
5. 使用 Hardhat Network 設定本地測試網絡,或透過 Alchemy 或 Infura API 金鑰連接到公共測試網絡(如 Sepolia)。
編寫核心合約邏輯
1. 聲明合約MyNFT 為 ERC721、ERC721URIStorage來繼承基本功能和元資料儲存。
2. 定義一個建構函數,將名稱和符號參數傳遞給父 ERC721 建構函數並設定所有者位址。
3. 實作一個mint函數,該函數使用_safeMint將新的 tokenId 指派給指定位址,並透過_setTokenURI儲存其 URI。
4. 使用 OpenZeppelin 的Ownable修飾符新增存取控制,以便只有合約所有者才能呼叫mint 。
5. 透過使用私有uint256變數追蹤總供應量並在超出上限時恢復來強制執行鑄幣限制。
測試和部署注意事項
1. 使用 Hardhat 內建的ethers函式庫以 JavaScript 或 TypeScript 編寫測試腳本來模擬鑄造、轉移和查詢代幣。
2. 透過斷言檢查ownerOf返回正確的位址和tokenURI與預期的元資料路徑匹配來驗證行為。
3. 設定網路憑證後,使用 Hardhat 的npx hardhat run scripts/deploy.js --network sepolia指令部署合約。
4. 使用 Etherscan 的驗證工具提交原始程式碼、編譯器版本和建構函式參數以實現公開透明。
5. 將所有令牌 URI 儲存在 IPFS 或 Arweave 等去中心化基礎架構上,以確保元資料永久、防篡改的可用性。
常見問題解答
Q:鑄造後我可以更改 tokenURI 嗎?答:是的,如果您的合約繼承了ERC721URIStorage並且您實作了一個具有適當存取控制的函數來呼叫_setTokenURI 。
Q:如果同一個合約中兩個代幣具有相同的 tokenId,會發生什麼情況?答:不可能-ERC-721要求每個tokenId在合約內全域唯一;重複的分配將被恢復。
Q:我需要寫自己的supportsInterface函數嗎?答:否 — OpenZeppelin 的ERC721實作包含一個相容的supportsInterface ,它為 0x80ac58cd (ERC-721) 和 0x5b5e139f (ERC-721Metadata) 傳回 true。
Q:在不檢查核准狀態的情況下使用transferFrom是否安全?答:OpenZeppelin ERC721實作在內部處理所有核准驗證;如果使用正確,直接呼叫transferFrom是安全的。
免責聲明:info@kdj.com
所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!
如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。
- French Bank Crypto Loss: ZachXBT Unearths Alleged $133M Heist at Crédit Mutuel Arkéa
- 2026-11-04 16:55:01
- 民主黨確保美國眾議院控制權,中期選舉開啟國會新時代
- 2026-11-04 16:45:01
- 美國中期選舉、預測市場和加密貨幣競賽:華盛頓未來的高風險賭注
- 2026-11-04 04:30:22
- 數位資產、全球金融和人工智慧:在 DavosWeb3 及其他領域探索下一個前沿
- 2026-11-04 04:30:22
- 在更廣泛的市場困境中,AVAX 價格下跌;機構興趣依然濃厚
- 2026-11-03 12:35:02
- 為什麼量化價格下跌?深入探討 QNT 最近在市場動盪中的下滑
- 2026-11-03 12:55:01
相關知識
NFT專案在公開鑄幣之前如何評估?
2026-10-16 23:19:39
Bitcoin 減半機制1. Bitcoin 的協議強制規定 2,100 萬枚代幣的固定供應上限,並透過區塊獎勵引入新單位。 2. 每 21 萬個區塊(大約每四年),區塊獎勵就會減少一半,這個過程稱為減半。 3. 最近一次減半發生在 2024 年 4 月,每個區塊的獎勵從 6.25 BTC 減少到3...
如何追蹤擁有最活躍買家的 NFT 市場?
2026-10-17 13:39:44
Bitcoin 減半機制1. 每產生 21 萬個區塊,Bitcoin 個礦工的區塊獎勵減半。 2. 此事件大約每四年發生一次,並被硬編碼到 Bitcoin 協定中。 3. 最近一次減半將每個區塊的獎勵從 6.25 BTC 減少到 3.125 BTC。 4.每次減半後供應通膨大幅下降,發行時間表趨緊。...
如何尋找NFT空投並檢查其資格?
2026-10-17 01:20:28
市場波動模式1. 自2021年以來,Bitcoin超過68%的交易日在24小時窗口內價格波動超過15%。 2. 在流動性較低的時期,尤其是在 02:00 至 06:00 UTC 期間,以太坊表現出比 Bitcoin 更高的日內波動性。 3. 穩定幣脫鉤事件(例如 2023 年 3 月的 USDC 事...
如何判斷NFT贈品是真是假?
2026-10-30 01:00:04
市場波動模式1. 自2021年以來,Bitcoin超過68%的交易日在24小時窗口內價格波動超過15%。 2. 在流動性較低的時期,尤其是在 02:00 至 06:00 UTC 期間,以太坊表現出比 Bitcoin 更高的日內波動性。 3. 穩定幣脫鉤事件(例如 2023 年 3 月的 USDC 事...
如何找到免費的 NFT 鑄幣並避免隱藏費用?
2026-10-17 14:19:42
了解免費 NFT 薄荷糖1.免費鑄幣是指用戶無需在市場上直接支付購買價格即可領取NFT的過程。 2. 這些鑄幣廠通常需要與部署在以太坊、Base、Arbitrum、Optimism 或 Polygon 網路上的智慧合約進行互動。 3.「免費」一詞並不意味著零成本-鏈上交易執行過程中幾乎總是涉及天然氣...
如何在以太坊和Polygon之間轉移NFT?
2026-10-29 03:00:13
了解跨鏈 NFT 傳輸機制1. NFT 是存在於特定區塊鏈上的不可替代代幣,如果沒有中間協議,則無法在本地跨鏈移動。 2.以太坊和Polygon作為獨立的執行環境運行,具有不同的狀態根、共識機制和天然氣定價模型。 3. 將 ERC-721 代幣從以太坊主網直接轉移到 Polygon 需要橋接基礎設施...
NFT專案在公開鑄幣之前如何評估?
2026-10-16 23:19:39
Bitcoin 減半機制1. Bitcoin 的協議強制規定 2,100 萬枚代幣的固定供應上限,並透過區塊獎勵引入新單位。 2. 每 21 萬個區塊(大約每四年),區塊獎勵就會減少一半,這個過程稱為減半。 3. 最近一次減半發生在 2024 年 4 月,每個區塊的獎勵從 6.25 BTC 減少到3...
如何追蹤擁有最活躍買家的 NFT 市場?
2026-10-17 13:39:44
Bitcoin 減半機制1. 每產生 21 萬個區塊,Bitcoin 個礦工的區塊獎勵減半。 2. 此事件大約每四年發生一次,並被硬編碼到 Bitcoin 協定中。 3. 最近一次減半將每個區塊的獎勵從 6.25 BTC 減少到 3.125 BTC。 4.每次減半後供應通膨大幅下降,發行時間表趨緊。...
如何尋找NFT空投並檢查其資格?
2026-10-17 01:20:28
市場波動模式1. 自2021年以來,Bitcoin超過68%的交易日在24小時窗口內價格波動超過15%。 2. 在流動性較低的時期,尤其是在 02:00 至 06:00 UTC 期間,以太坊表現出比 Bitcoin 更高的日內波動性。 3. 穩定幣脫鉤事件(例如 2023 年 3 月的 USDC 事...
如何判斷NFT贈品是真是假?
2026-10-30 01:00:04
市場波動模式1. 自2021年以來,Bitcoin超過68%的交易日在24小時窗口內價格波動超過15%。 2. 在流動性較低的時期,尤其是在 02:00 至 06:00 UTC 期間,以太坊表現出比 Bitcoin 更高的日內波動性。 3. 穩定幣脫鉤事件(例如 2023 年 3 月的 USDC 事...
如何找到免費的 NFT 鑄幣並避免隱藏費用?
2026-10-17 14:19:42
了解免費 NFT 薄荷糖1.免費鑄幣是指用戶無需在市場上直接支付購買價格即可領取NFT的過程。 2. 這些鑄幣廠通常需要與部署在以太坊、Base、Arbitrum、Optimism 或 Polygon 網路上的智慧合約進行互動。 3.「免費」一詞並不意味著零成本-鏈上交易執行過程中幾乎總是涉及天然氣...
如何在以太坊和Polygon之間轉移NFT?
2026-10-29 03:00:13
了解跨鏈 NFT 傳輸機制1. NFT 是存在於特定區塊鏈上的不可替代代幣,如果沒有中間協議,則無法在本地跨鏈移動。 2.以太坊和Polygon作為獨立的執行環境運行,具有不同的狀態根、共識機制和天然氣定價模型。 3. 將 ERC-721 代幣從以太坊主網直接轉移到 Polygon 需要橋接基礎設施...
看所有文章














