-
bitcoin $77323.969542 USD
0.01% -
ethereum $2523.414850 USD
2.23% -
tether $0.999674 USD
0.01% -
bnb $732.334794 USD
2.37% -
xrp $1.364311 USD
0.51% -
usd-coin $0.999831 USD
0.00% -
solana $101.751035 USD
1.88% -
tron $0.339246 USD
0.15% -
hyperliquid $78.911101 USD
-1.42% -
zcash $1143.169120 USD
2.95% -
dogecoin $0.084522 USD
0.58% -
monero $539.820025 USD
5.75% -
chainlink $11.538258 USD
0.03% -
unus-sed-leo $9.111763 USD
0.28% -
cardano $0.208079 USD
-0.46%
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 は、 ownerOf 、 safeTransferFrom 、 approveなど、準拠するすべての契約が実装する必要がある必須の関数とイベントのセットを定義しています。
2. この標準では、一意のトークン識別子が強制されます。各 NFT は、常に 1 人の所有者にマッピングされた個別の uint256 ID を持たなければなりません。
3. メタデータのサポートはオプションですが、広く採用されています。 tokenURI関数は、名前、説明、画像リンクを含む JSON を指す URI を返します。
4. 転送イベントは、ウォレットとエクスプローラーの互換性を確保するために、from、to、および tokenId パラメーターを使用してTransferを発行する必要があります。
5. 列挙のサポートは基本 ERC-721 では必須ではありませんが、多くの実装ではマーケットプレイスのインデックス付けのためにtotalSupplyとtokenByIndexが追加されています。
開発環境のセットアップ
1. Node.js と npm をインストールして、ローカル コンパイルとテスト用の Hardhat や Foundry などの依存関係を管理します。
2. npm init -yで新しいプロジェクトを初期化し、 npm install @openzeppelin/contractsで OpenZeppelin Contracts をインストールします。
3. 導入シミュレーションのために Sepolia またはローカル Anvil ネットワークに接続するように Hardhat 構成ファイルを構成します。
4. MyNFT.solという名前の Solidity ファイルを契約ディレクトリに作成し、OpenZeppelin のERC721およびOwnableモジュールをインポートします。
5. 名前やシンボルなどのコンストラクター引数を定義し、それらの値を使用して親 ERC721 コンストラクターを呼び出します。
コアコントラクトロジックの作成
1. _baseTokenURI状態変数を追加して、契約所有者のみが更新するメタデータのルート パスを保存します。
2. tokenURI関数をオーバーライドして_baseTokenURI をtokenId 文字列と連結し、IPFS または HTTP エンドポイントが正しく解決されるようにします。
3. _safeMintを使用して新しいトークンを msg.sender に排他的に割り当て、内部カウンターをインクリメントするmint関数を実装します。
4. 不正なメタデータ操作を防ぐために、 setBaseURIなどの機密関数にonlyOwner修飾子を導入します。
5. 0x80ac58cd (ERC-721) および 0x5b5e139f (ERC-721 メタデータ) インターフェイス ID に対して true を返すために、 supportsInterfaceオーバーライドを組み込みます。
テストネットでのコンパイルとデプロイ
1. npx ハードハット コンパイルを実行して ABI とバイトコードを生成します。構文エラーや継承エラーが表示されないことを確認します。
2. 「CryptoPanda」と「CPANDA」を引数としてコントラクト コンストラクターを呼び出すデプロイメント スクリプトを作成します。
3. デプロイヤ アドレスに資金を提供した後、 npx hardware run scripts/deploy.js --network sepoliaを使用してトランザクションをブロードキャストします。
4. コンパイル時に使用したものと同じコンパイラ バージョンと最適化設定を使用して、Etherscan Sepolia 上のコントラクトを確認します。
5. Etherscan の「Write as Proxy」または MetaMask に接続された dApp インターフェイスを使用して、デプロイされたコントラクトと対話し、ミントと転送をトリガーします。
よくある質問
Q: ミント後に tokenURI を変更できますか? A: はい。契約で所有者専用のセッター関数を使用することが許可されている場合は、トークンごとの URI を保存しない限り、それを変更すると、以前に作成されたすべてのトークンに遡及的に影響します。
Q: 2 つのトークンが同じ ID を共有するとどうなりますか? A: OpenZeppelin の_ownersマッピング検証によって強制される重複マッピング チェックにより、コントラクトはミント中に元に戻ります。
Q: ERC-721 のガスコストは ERC-20 よりも高くなりますか? A: はい - ERC-721 操作では、トークン ID ごとに個別のストレージへの書き込みが必要となるため、鋳造と転送のガス消費量が大幅に増加します。
Q: 契約にロイヤルティを導入する必要がありますか? A: いいえ、ロイヤルティは ERC-721 仕様の一部ではありません。 OpenSea などのプラットフォームは、ERC-2981 経由で実装されている場合、 royaltyInfo関数からロイヤルティ情報を読み取ります。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- Revolut データ侵害: 偽の政府要求がセキュリティのギャップを悪用し、顧客データを暴露
- 2026-09-13 09:00:02
- ブロックストリーム、リキッドネットワーク、ビットコイン:「盗まれた」資金をめぐる対立
- 2026-09-13 08:35:01
- リップル RLUSD の流通額が 24 億ドルに達: ステーブルコインの軌跡を詳しく見る
- 2026-09-13 04:50:01
- XRPミリオネアの夢: 10,000 XRPで20年以内に金持ちになれるでしょうか?
- 2026-09-13 04:50:01
- 英国の暗号資金調達の改革:7,200万ポンドの寄付とその波及効果についての深掘り
- 2026-09-13 04:45:01
- Teucrium Inverse XRP ETF、発効日を10月11日に設定: ETF発売日について投資家が知っておくべきこと
- 2026-09-13 04:45:01
関連知識
DOGE 先物の出来高と建玉を確認するにはどうすればよいですか?
2026-09-12 08:39:38
DOGE 先物ボリュームを理解する1. 先物取引高とは、特定の時間枠内で取引される DOGE 件の先物契約の総数を指し、通常は 1 日または 1 時間ごとに測定されます。 2. 出来高が多いということは、多くの場合、市場への参加が強力であることを示しており、価格変動の状況に応じてトレンドの継続または...
BTC先物の出来高と建玉を確認するにはどうすればよいですか?
2026-09-12 15:19:55
BTC先物指標のデータソース1. CoinGlass API v4 は、30 以上の取引所にわたるリアルタイムの資金調達レート、清算ヒートマップ、および詳細な建玉の内訳を提供します。 2. Binance Futures API は、ビッドアスク深度、契約固有の出来高履歴、マージン率スナップショット...
DOGEUSDT 無期限契約チャートの見方
2026-09-11 19:19:48
DOGEUSDT 無期限チャートの価格アクションを理解する1. ローソク足の形成は、当面の市場センチメントを明らかにします。緑のローソクは買い優勢を示し、赤のローソクはその期間中の売り圧力を示します。 2. 本体の上下の芯は、価格の高値または低値の拒否を示します。不安定なミームコイン市場では、長い上...
Binance の ETHUSDT 先物チャートを読むには?
2026-09-13 05:20:26
Bitcoin 半減力学1. 210,000 ブロックごとに、Bitcoin 名のマイナーのブロック報酬が半分になります。 2. このイベントは約 4 年ごとに発生し、Bitcoin のプロトコルにハードコードされています。 3. 最新の半減により、報酬はブロックあたり 6.25 BTC から 3....
BinanceでBTC先物ファンディング手数料を確認するにはどうすればよいですか?
2026-09-10 08:00:06
ファンディングレート表示の場所1. Binance Futures 取引インターフェイスに移動し、BTCUSDT 無期限契約を選択します。 2. 価格チャートの直下またはオーダーブックに隣接する領域を観察します。この領域には、「資金調達レート」とマークされたラベル付きボックスが含まれています。 3....
SOLUSDT 先物損益の計算方法
2026-09-10 19:19:37
SOLUSDT 先物契約仕様の理解1. 各 SOLUSDT 先物契約は USDT で見積もられ、USDT で決済されるため、線形永久契約となります。 2. 基本資産は SOL ですが、見積資産は USDT です。すべての損益計算は USDT で直接表示されます。 3. 価格変動の最小ティック サイズ...
DOGE 先物の出来高と建玉を確認するにはどうすればよいですか?
2026-09-12 08:39:38
DOGE 先物ボリュームを理解する1. 先物取引高とは、特定の時間枠内で取引される DOGE 件の先物契約の総数を指し、通常は 1 日または 1 時間ごとに測定されます。 2. 出来高が多いということは、多くの場合、市場への参加が強力であることを示しており、価格変動の状況に応じてトレンドの継続または...
BTC先物の出来高と建玉を確認するにはどうすればよいですか?
2026-09-12 15:19:55
BTC先物指標のデータソース1. CoinGlass API v4 は、30 以上の取引所にわたるリアルタイムの資金調達レート、清算ヒートマップ、および詳細な建玉の内訳を提供します。 2. Binance Futures API は、ビッドアスク深度、契約固有の出来高履歴、マージン率スナップショット...
DOGEUSDT 無期限契約チャートの見方
2026-09-11 19:19:48
DOGEUSDT 無期限チャートの価格アクションを理解する1. ローソク足の形成は、当面の市場センチメントを明らかにします。緑のローソクは買い優勢を示し、赤のローソクはその期間中の売り圧力を示します。 2. 本体の上下の芯は、価格の高値または低値の拒否を示します。不安定なミームコイン市場では、長い上...
Binance の ETHUSDT 先物チャートを読むには?
2026-09-13 05:20:26
Bitcoin 半減力学1. 210,000 ブロックごとに、Bitcoin 名のマイナーのブロック報酬が半分になります。 2. このイベントは約 4 年ごとに発生し、Bitcoin のプロトコルにハードコードされています。 3. 最新の半減により、報酬はブロックあたり 6.25 BTC から 3....
BinanceでBTC先物ファンディング手数料を確認するにはどうすればよいですか?
2026-09-10 08:00:06
ファンディングレート表示の場所1. Binance Futures 取引インターフェイスに移動し、BTCUSDT 無期限契約を選択します。 2. 価格チャートの直下またはオーダーブックに隣接する領域を観察します。この領域には、「資金調達レート」とマークされたラベル付きボックスが含まれています。 3....
SOLUSDT 先物損益の計算方法
2026-09-10 19:19:37
SOLUSDT 先物契約仕様の理解1. 各 SOLUSDT 先物契約は USDT で見積もられ、USDT で決済されるため、線形永久契約となります。 2. 基本資産は SOL ですが、見積資産は USDT です。すべての損益計算は USDT で直接表示されます。 3. 価格変動の最小ティック サイズ...
すべての記事を見る














