Solidity
如何以 1 開始 NFT 代幣計數器
我正在編寫一個 nft 智能合約,我需要設置第一個 tokenId = 1,第二個 tokenId = 2 等。我使用庫 Counters.sol(https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master /contracts/utils/Counters.sol)。問題是預設情況下 _value = 0 並且無法更改它(它會給出錯誤)。我怎麼解決這個問題?任何建議對我都很重要👾
您可以
tokenId.increment()
在部署合約時呼叫合約的建構子。像這樣:import "@openzeppelin/contracts/utils/Counters.sol"; pragma solidity ^0.8.15; contract Example { using Counters for Counters.Counter; Counters.Counter public tokenId; constructor () { tokenId.increment(); } }
將其導入 Remix 並進行部署。您會看到,當您點擊
tokenId
按鈕時,它將根據需要返回 1。希望我幫助了你哥們。