-
bitcoin $75771.540085 USD
-1.86% -
ethereum $2399.709795 USD
-3.26% -
tether $0.999204 USD
-0.06% -
bnb $712.217256 USD
-0.77% -
xrp $1.292312 USD
-7.62% -
usd-coin $0.999959 USD
0.00% -
solana $97.051620 USD
-3.70% -
tron $0.334571 USD
-0.90% -
zcash $1186.253570 USD
3.75% -
hyperliquid $77.520171 USD
-1.88% -
dogecoin $0.079968 USD
-3.28% -
monero $508.293198 USD
-1.02% -
unus-sed-leo $8.883426 USD
-0.86% -
chainlink $10.791602 USD
-5.36% -
cardano $0.194877 USD
-4.63%
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 、およびApprovalなどのコア関数を定義します。
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 hardwareを使用して Hardhat プロジェクトを構成し、定型ファイルを生成するサンプル プロジェクト オプションを選択します。
4. Contracts/ の下に Solidity ファイルを作成し、 MyNFT.solという名前を付け、OpenZeppelin のERC721実装をインポートします。
5. Hardhat Network を使用してローカル テスト ネットワークをセットアップするか、Alchemy または Infura API キーを介して Sepolia などのパブリック テストネットに接続します。
コアコントラクトロジックの作成
1.コントラクト MyNFT は ERC721、ERC721URIStorageで必須の機能とメタデータ ストレージを継承するようにコントラクトを宣言します。
2. 名前とシンボルの引数を親 ERC721 コンストラクターに渡し、所有者アドレスを設定するコンストラクターを定義します。
3. _safeMintを使用して指定されたアドレスに新しい tokenId を割り当て、 _setTokenURIを介してその URI を保存するmint関数を実装します。
4. OpenZeppelin のOwnable修飾子を使用して、コントラクト所有者のみがmintを呼び出せるようにアクセス制御を追加します。
5. プライベートuint256変数を使用して総供給量を追跡し、上限を超えた場合は元に戻すことで、鋳造制限を強制します。
テストと展開に関する考慮事項
1. Hardhat の組み込みethersライブラリを使用して JavaScript または TypeScript でテスト スクリプトを作成し、トークンの作成、転送、クエリをシミュレートします。
2. ownerOf が正しいアドレスを返し、 tokenURI が予想されるメタデータ パスと一致することを確認するアサーションで動作を検証します。
3. ネットワーク資格情報を構成した後、Hardhat のnpxhardhat run scripts/deploy.js --network sepoliaコマンドを使用してコントラクトをデプロイします。
4. Etherscan の検証ツールを使用して、ソース コード、コンパイラ バージョン、およびコンストラクタ引数を公開して透明性を確保します。
5. すべてのトークン URI を IPFS や Arweave などの分散インフラストラクチャに保存し、永続的で改ざん耐性のあるメタデータの可用性を確保します。
よくある質問
Q: ミント後に tokenURI を変更できますか? A: はい、コントラクトがERC721URIStorageを継承し、 _setTokenURIを呼び出すための適切なアクセス制御を備えた関数を実装している場合は可能です。
Q: 同じコントラクト内で 2 つのトークンが同じ tokenId を持つ場合はどうなりますか? A: それは不可能です。ERC-721 では、各tokenId がコントラクト内でグローバルに一意であることが要求されます。重複した割り当ては元に戻ります。
Q: 独自のsupportInterface関数を記述する必要がありますか? A: いいえ — OpenZeppelin のERC721実装には、0x80ac58cd (ERC-721) および 0x5b5e139f (ERC-721Metadata) に対して true を返す、準拠したSupportInterfaceが含まれています。
Q: 承認ステータスを確認せずにtransferFrom を使用しても安全ですか? A: OpenZeppelin ERC721実装は、すべての承認検証を内部で処理します。 transferFrom を直接呼び出すことは、正しく使用されれば安全です。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- 下院委員会が戦略的ビットコイン準備法案を前進させ、連邦暗号資産保有の将来を形作る
- 2026-09-17 12:40:01
- 仮想通貨税法案:デジタル資産は新たな税制に直面しているが、依然として明確性は得られていない
- 2026-09-17 09:10:02
- MemeToro、AI とフェアローンチ スマート コントラクトで BNB チェーンでの Memecoin のローンチに革命を起こす
- 2026-09-17 09:10:01
- FRBの全会一致利上げがタカ派の決意を示す中、ビットコインとイーサはボラティリティ継続に備える
- 2026-09-17 09:20:02
- 仮想通貨のプリセールを安全にナビゲートする: 仮想通貨の購入、ウォレットの安全性、および契約の確認に関する重要なヒント
- 2026-09-17 08:50:02
- CLARITY法がつまずき、仮想通貨ルールは規制当局に移行、5つのコインが注目
- 2026-09-17 08:55:01
関連知識
NFTエコシステムトークンとは何ですか? NFT プロジェクトが独自のトークンを発行するのはなぜですか?
2026-08-25 21:59:57
定義とコア機能1. NFT エコシステム トークンは、広範な代替不可能なトークン領域内で動作するプラットフォーム、マーケットプレイス、またはプロトコルによって発行されるネイティブ ユーティリティ トークンまたはガバナンス トークンです。 2. これらのトークンは通常、イーサリアムの ERC-20 や...
NFTユーティリティとは何ですか?デジタル資産以外に実際に何が得られるのでしょうか?
2026-08-21 09:40:07
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...
ダイナミックNFTとは何ですか? NFTの画像やメタデータは時間の経過とともに変化する可能性がありますか?
2026-08-31 18:20:08
定義とコアメカニズム1. 動的 NFT は代替不可能なトークンであり、そのメタデータは鋳造後にプログラムによって変更可能です。 2. IPFS または集中サーバー上でホストされている不変の JSON ファイルを参照する静的 NFT とは異なり、動的 NFT は更新可能なスマート コントラクトによって...
NFTドロップとは何ですか?売り切れる前に新しいNFTコレクションを見つけるにはどうすればよいですか?
2026-08-23 02:40:00
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の半減期の時点で...
無料のNFTミントとは何ですか? 「無料」はガス代を除いて本当に無料なのでしょうか?
2026-08-22 10:00:29
市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. レイヤ 2 アップグレード提案が最終ガバナンス投票段階に入ると、特に複数の競合するロールアップが同時に開...
NFTミントパスとは何ですか?一部のプロジェクトでは鋳造前にプロジェクトが必要になるのはなぜですか?
2026-08-29 09:00:30
Bitcoin 半減力学1. Bitcoin のプロトコルでは、ブロック報酬を通じて新しいユニットが導入され、2,100 万コインの固定供給上限が強制されます。 2. 210,000 ブロックごと、つまり約 4 年ごとに、ブロック報酬は半分に減ります。これは半減として知られるプロセスです。 3. 最...
NFTエコシステムトークンとは何ですか? NFT プロジェクトが独自のトークンを発行するのはなぜですか?
2026-08-25 21:59:57
定義とコア機能1. NFT エコシステム トークンは、広範な代替不可能なトークン領域内で動作するプラットフォーム、マーケットプレイス、またはプロトコルによって発行されるネイティブ ユーティリティ トークンまたはガバナンス トークンです。 2. これらのトークンは通常、イーサリアムの ERC-20 や...
NFTユーティリティとは何ですか?デジタル資産以外に実際に何が得られるのでしょうか?
2026-08-21 09:40:07
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...
ダイナミックNFTとは何ですか? NFTの画像やメタデータは時間の経過とともに変化する可能性がありますか?
2026-08-31 18:20:08
定義とコアメカニズム1. 動的 NFT は代替不可能なトークンであり、そのメタデータは鋳造後にプログラムによって変更可能です。 2. IPFS または集中サーバー上でホストされている不変の JSON ファイルを参照する静的 NFT とは異なり、動的 NFT は更新可能なスマート コントラクトによって...
NFTドロップとは何ですか?売り切れる前に新しいNFTコレクションを見つけるにはどうすればよいですか?
2026-08-23 02:40:00
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の半減期の時点で...
無料のNFTミントとは何ですか? 「無料」はガス代を除いて本当に無料なのでしょうか?
2026-08-22 10:00:29
市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. レイヤ 2 アップグレード提案が最終ガバナンス投票段階に入ると、特に複数の競合するロールアップが同時に開...
NFTミントパスとは何ですか?一部のプロジェクトでは鋳造前にプロジェクトが必要になるのはなぜですか?
2026-08-29 09:00:30
Bitcoin 半減力学1. Bitcoin のプロトコルでは、ブロック報酬を通じて新しいユニットが導入され、2,100 万コインの固定供給上限が強制されます。 2. 210,000 ブロックごと、つまり約 4 年ごとに、ブロック報酬は半分に減ります。これは半減として知られるプロセスです。 3. 最...
すべての記事を見る














