WEBアプリからCandyMachineを呼び出す
☎️ Web アプリケーションから Candy Machine を呼び出す
ここまでのレッスンで以下3つのことを行いました 🎉
1. Webアプリケーションのセットアップを行う
2. ウォレットへの接続機能を構築する
3. Candy Machineをセットアップし、NFTをアップロードして、すべてをDevnetにデプロイする
次は、Webアプリケーションから、ユーザーが実際にCandy Machineと通信できるようにします。
まずはcomponents/CandyMachine/index.tsxをご覧ください。これはMetaplexのフロントエンド・ライブラリの一部です。
このファイルについて詳しく説明しませんが、ぜひコードを読んでみてください。
🌲 .envプロパティを設定する
まずは.envプロパティを設定 します。
始める前に ソースコードを GitHub などにコミットする場合は、.env.localファイルをコミットしないようにしてください。
これは、Webアプリケーションを作成する際の共通の注意点です。
これらのファイルには通常、機密情報が含まれているため、.gitignoreに登録するなど対処してください。
Solana-NFT-Dropフォルダ直下に.env.localファイルを作成してください。フォルダ階層は次のとおりです。
Solana-NFT-Drop
+└── .env.local
.env.localファイルに公開鍵を保存します。記載内容は下記の通りです。
NEXT_PUBLIC_CANDY_MACHINE_ID=
NEXT_PUBLIC_SOLANA_NETWORK=
NEXT_PUBLIC_SOLANA_RPC_HOST=
1つ ずつ見ていきましょう。(ここでは引用符""で囲う必要はありません! )
NEXT_PUBLIC_CANDY_MACHINE_ID=
=のあとに、Candy Machineの公開鍵を記載してください。なくしてしまった場合は、cache.jsonファイルをご覧ください。
candyMachineのvalueの値が公開鍵です。
NEXT_PUBLIC_SOLANA_NETWORK=
=のあとに、devnetと記載してください。
NEXT_PUBLIC_SOLANA_RPC_HOST=
=のあとに、https://explorer-api.devnet.solana.comと記載してください。
Candy Machineにはdevnetからアクセスしているので、RPCをそのdevnetのリンクに向ける必要があります。
記載例
NEXT_PUBLIC_CANDY_MACHINE_ID=3EVLt8KbaLGC3AragKvXDNHzWee7y6hkxzgNAuW4E43M
NEXT_PUBLIC_SOLANA_NETWORK=devnet
NEXT_PUBLIC_SOLANA_RPC_HOST=https://explorer-api.devnet.solana.com
これらの変数は、WebアプリケーションがどのCandy Machineと通信するか、どのネットワークを利用するかなどを指し示すために使用されます。
※ .env.localを変更する際には、ターミナルで開発サーバーのプロセスを強制終了し、再度yarn devを行う必要があります。
最後に、Phantom WalletのネットワークがSolana Devnetに設定されていることを確認してください。
🤬 NFT の変更に関する注意
テストに使用したNFTコレクションを変更したい場合は、以前と同じ手順を踏む必要があります。
1. MetaplexCLIのSugarコマンドによって生成されたconfig.jsonファイル、cache.json