お知らせ: 2025-06-14

開発の経過は以下にまとめています。

https://zenn.dev/nakamura196/books/41693d2d017082

概要

ブロックチェーンの学習にあたり、デジタル文化財の管理システムのプロトタイプを作成しました。ブロックチェーンの学習が目的のため、不足している機能などが多いですが、今後追加・改修を加えていく予定です。

https://digital-heritage-five.vercel.app/

使用技術

  • EthereumのSepoliaネットワークを使用しています。ブロックチェーンの学習およびプロトタイプの開発が目的であるため、テストネットワークを使用します。
  • 分散ファイルストレージIPFSのホスティングサービスとして、Pinataを使用しています。

https://pinata.cloud/

準備

後述する本サイトの使用にあたり、MetaMaskのウォレットの作成や、ETHのSepoliaテストネットの作成などが必要です。また登録にあたっては、ガス代の支払いに必要なSepoliaETHが一定数必要です。

これらの方法については、別の記事で紹介したいと思いますが、インターネット上の記事を参考にしてください。

使い方

以下のURLにアクセスします。

https://digital-heritage-five.vercel.app/

MetaMaskがインストール済みの場合、以下のように表示されます。

「ウォレットを接続」ボタンを押すと、以下の画面が表示されます。

接続後、以下のような画面が表示されます。

サンプルとして、いらすとやさんの画像を利用させていただきます。

https://www.irasutoya.com/2020/12/blog-post_279.html

名前や説明、画像URLを入力して、登録ボタンを押します。

以下の画面が表示されます。確認ボタンを押します。

以下のようにデータが登録されます。

Transactionの確認

Etherscanを使って、取引の内容を確認することができます。

https://sepolia.etherscan.io/tx/0x1234567890abcdef…(例)

Input Dataに入力されている文字列は、「スマートコントラクトの関数呼び出しのエンコードされたデータ」とのことです。以下の関数でデコードしてみます。

ccf}doouennnt}}csscrotttyccccccccccccdiooooooooooaoeeio{nnnnnnnnnntnItnnsssssssssscsnhptottttoooohopeudllllllurtefepdtdeeee(etsDcu.aeye....e.(aonlrcpcllllrei=tdcoaoeooooorrnaetgmdsdggggorprIi(see((((roue=no'Dr=d'''')rtqpnFa\NDI(Du'uSut=[=naem{'ai0tina'Dmsatrx(gcnsdeecgaebint=etec:re)(2nai4wrco'i;'fpto'iod,pUe2uun0endetRt6trxtgeddiLh2)eS'h'reo::eeie,.Pcn''r4{=g+rdao:,,s.ns'erd''.iai.scae,de).ntnAtomder;pupbrde[dcruruiiet0eootetCn(e]cdr.:.ogtr)oe)s'sd'ys;dd;l,le,p:e[iire'd2cfc('s)[]eue)s,;1)(n(;t];0c1rp),t0ia;'i)nr;1o;ga0n'm)S]s;i;Dgantaat)u;re);

結果、以下のように確認することができました。

%FDNDIueaemnncmsaocoecgdtd:reeieiodpUsntRcPiLrSao:iirnpga:htnmtsaet/ttpdueserr:ces/o::/dbe0l-xoibgn2gpfeu2rt6..2gjeos4ogleusercontent.com/img/b/R29vZ2xl/AVvXsEi5x8DUwBVjGR2IkVozOhVoe1zMnzIrcemz4s8xMsHR1gP8mV809urM_03Et8VWHxlGHXy1Vo2UD6x1z7SUVtVik0d0wCW37bbAIb1q7WOlKdyRiwpDkJiONBKEvgPdJFJFRTwGNMMeGUbW/s691/baby_role_towel_utsubuse.png

IPFSへのファイルアップロード

Pinataと接続しているため、IPFSにファイルをアップロードすることができます。ドラッグ&ドロップなどによりファイルをアップロードすると、以下のように IPFSゲートウェイURL が自動的に登録されます。

上記と同じ登録方法をとることで、データがアップロードされます。

参考

MetaMaskがインストールされていない場合、以下のようなメッセージが表示されます。

まとめ

Web3に関連する開発が初めてで、間違っている点もあるかと思いますが、参考になりましたら幸いです。