お知らせ: 2025-06-14
開発の経過は以下にまとめています。
https://zenn.dev/nakamura196/books/41693d2d017082
概要
ブロックチェーンの学習にあたり、デジタル文化財の管理システムのプロトタイプを作成しました。ブロックチェーンの学習が目的のため、不足している機能などが多いですが、今後追加・改修を加えていく予定です。
https://digital-heritage-five.vercel.app/
使用技術
- EthereumのSepoliaネットワークを使用しています。ブロックチェーンの学習およびプロトタイプの開発が目的であるため、テストネットワークを使用します。
- 分散ファイルストレージIPFSのホスティングサービスとして、Pinataを使用しています。
準備
後述する本サイトの使用にあたり、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に入力されている文字列は、「スマートコントラクトの関数呼び出しのエンコードされたデータ」とのことです。以下の関数でデコードしてみます。
結果、以下のように確認することができました。
IPFSへのファイルアップロード
Pinataと接続しているため、IPFSにファイルをアップロードすることができます。ドラッグ&ドロップなどによりファイルをアップロードすると、以下のように IPFSゲートウェイURL が自動的に登録されます。

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

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

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