====== Web3.js を使用した DApps 開発 ====== ===== 前提 ===== Counter スマートコントラクトを使用するため、[[blockchain:truffleを使ったスマートコントラクト開発|Truffleを使ったスマートコントラクト開発]] を実施しておいてください。 Counter スマートコントラクトをデプロイした Ganache or ganache-cli を起動しておいてください。 ===== Counter スマートコントラクトの ABI と address を取得 ===== 「my_project\build\contracts\Counter.json」に Counter スマートコントラクトの ABI と address が記録されていますので、それをメモしておきます。 ABI "abi": [ { "inputs": [], "name": "count", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "get", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "inc", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "dec", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], address(下記では "address": "0x791C2E0e40B2b96f3aE2F5D3F3661478f73fB49D") "networks": { "1651628570834": { "events": {}, "links": {}, "address": "0x791C2E0e40B2b96f3aE2F5D3F3661478f73fB49D", "transactionHash": "0xa8743487adb9a9480ea0510ef29cc1ceba402c74f5cd3063f766c56b41d9bc66" }, ===== Web3.js を使用する HTML の実装 ===== ソースコードは [[https://github.com/shinoburc/SimpleEthereumClient|GitHub SimpleEthereumClient]] で管理しています。 上記リポジトリから index.html を取得し、ABI(現在は同じはずなので、書き換える必要はありません)とaddressを書き換えてください。 ===== 実行 ===== index.html をブラウザで開くと、ブラウザから Counter スマートコントラクトが実行できることを確認できます。 {{:blockchain:2022-05-05_09h38_46.png?800|}}