![見出し画像](https://assets.st-note.com/production/uploads/images/152116612/rectangle_large_type_2_7a3ef84330e41cc5a5b4203968404637.png?width=1200)
【完全保存版】MetaplexのUmiでファイルのアップロードをしてみよう!
0 はじめに
Metaplexではブロックチェーンとのやり取りに「umi」を使います。
今回は、そのumiを使ってファイルのアップロードを行ってみます。
1 UploaderInterfaceについて
今回、こちらの「UploaderInterface」を使います。
これによって、次の3つを使うことができます。
![](https://assets.st-note.com/img/1724719273016-L47kQVhFpI.png?width=1200)
2 使用するアップローダーについて
次に、誰がどこに保管するのかについて、色々な選択肢があります。
今回は、下の選択肢の中から、「Irys」を使おうと思います。
これを使うことで「Irys」を通じて、「Arweave」に保管ができます。
![](https://assets.st-note.com/img/1724715814335-s0peTrrWTP.png?width=1200)
せっかくなので、「IrysUploader」を見てみましょう。
下のように、「UploaderInterface」の型を取ることが確認できます。
![](https://assets.st-note.com/img/1724715929514-R3sjJAzAex.png?width=1200)
3 irysUploaderの設定
下のようにして、設定します。
「irysUploader」は「umi-uploader-irys」の中にあります。
今回は、devnetなので、下のように、「https://devnet.irys.xyz」を使用します。
![](https://assets.st-note.com/img/1724716243595-isjiBACU9D.png?width=1200)
4 アップロード費用の取得
では、「UploaderInterface」の機能を使ってみましょう。
「getUploaderPrice」を使うことで、下のように費用が「25740 Lamport」であることがわかりました。
(「Lamport」はSOLの最小単位で10の9乗分の1です。)
![](https://assets.st-note.com/img/1724717243470-r1OV6c3V9j.png?width=1200)
ちなみに、ドキュメントはこちらです。
![](https://assets.st-note.com/img/1724718321806-DAlBhqCVib.png?width=1200)
取得時「25740n」とあったようにBigIntで取得する、であったり、単位は何かなどがこちらでわかります。
![](https://assets.st-note.com/img/1724718657029-s7cnVer9i6.png?width=1200)
5 画像のアップロード
画像のアップロードは「upload」で行います。
戻り値としては、保存した先のURLが返ってきます。
![](https://assets.st-note.com/img/1724717174384-SCUYgJGYC1.png?width=1200)
ドキュメントはこちらです。
![](https://assets.st-note.com/img/1724718685402-b85A3Id8YO.png?width=1200)
なお、返ってきたURLを表示すると、このようになりました。
![](https://assets.st-note.com/img/1724718908413-77bhU9NZlE.png?width=1200)
6 JSONファイルのアップロード
NFTのメタデータ情報などをアップロードする際には、「uploadJson」関数を使います。
![](https://assets.st-note.com/img/1724717209921-YZ4R3YEmT9.png?width=1200)
ドキュメントはこんな感じです。
![](https://assets.st-note.com/img/1724718707806-HHGfY7t957.png?width=1200)
返ってきたURLを見てみると、このようになりました。
![](https://assets.st-note.com/img/1724718930911-iAIVvjC5KR.png?width=1200)
これで、MetaplexのUmiを使ったファイルのアップロードについては以上です。
ぜひやってみてください
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊