🔗 Day5:React × Ethereum連携!DAppの姿が見えてきた
こんにちは!昨日はローカルブロックチェーン(Ganache)を構築しましたね。 今日はそのネットワークと、 Reactで作るWebアプリを接続 して、Ethereumにリクエストを送る本格的な連携に挑みます! 🎯 今日のゴール Reactアプリを作成する Webページからスマートコントラクトを操作する Metamaskで取引を承認して、メッセージを保存&取得する 🧱 Step 1:Reactアプリを作ってみよう まずはReactでプロジェクトを作成します。 bash npx create-react-app my-dapp cd my-dapp npm start ブラウザに「Welcome to React」の画面が表示されればOK! 🔌 Step 2:必要なライブラリをインストール スマートコントラクトと接続するために、 ethers.js を使います。 bash npm install ethers さらに、スタイル調整用にBootstrapやTailwind CSSを入れてもOK(今回は最小構成に絞ります)。 📄 Step 3:スマートコントラクトの情報を準備 RemixやHardhatでデプロイした「Message.sol」の ABIとコントラクトアドレス を取得しておきます。 例: js const contractAddress = "0x1234..."; // デプロイ先のアドレス const abi = [ ... ]; // Remixでコンパイル後に表示されるABI ※ ABIはJSON形式の関数定義です。ethers.jsはこれをもとに関数呼び出しします。 💬 Step 4:フロントエンドと契約をつなぐ! App.jsまたはMessageComponent.jsxに以下のようなコードを記述: jsx import { useState } from "react"; import { ethers } from "ethers"; import abi from "./abi.json"; const contractAddress = "0x..."; function App() { const [input, ...