Aplikasi Web3 sederhana untuk simulasi pembelian produk digital (E-Book JavaScript) menggunakan Ethereum di jaringan lokal Hardhat.
project-root/
├── react-dapp/ # Frontend React (dApp)
└── solidity/ # Smart contract + script deploy
- 🔐 Autentikasi via wallet (Metamask)
- 💸 Beli produk menggunakan ETH (0.01 ETH)
- 🔄 Reset status pembelian (oleh pemilik contract)
- 📦 Smart contract sudah lengkap dengan ABI & auto-deploy address
Pastikan sudah meng-install:
git clone https://github.com/Fruzh/solidity-local-testnet.git
cd solidity-local-testnetUntuk smart contract (Hardhat):
cd solidity
npm installJika belum pernah install Hardhat di proyek ini:
npm install --save-dev hardhatUntuk frontend React:
cd ../react-dapp
npm installIni akan menjalankan jaringan lokal di http://127.0.0.1:8545 dan menampilkan 20 akun beserta private key-nya.
Contoh akun:
Account #0: 0x5Fb... (Private Key: 0xabc...)
-
Install Extension Metamask di metamask.io
-
Import Akun dari terminal Hardhat:
- Import akun dengan Private Key: Account → Import Account
- Tempelkan salah satu Private Key dari Hardhat
-
Tambahkan Network Lokal:
- Network Name:
Hardhat - New RPC URL:
http://127.0.0.1:8545 - Chain ID:
31337 - Currency Symbol:
ETH
- Network Name:
-
Pilih jaringan "Hardhat" di Metamask.
cd solidity
npx hardhat nodeBuka terminal baru:
npx hardhat run scripts/deploy.js --network localhostIni akan:
- Deploy
TokoDigital.sol - Generate file
contract-address.jsondancontract-abi.json - Simpan alamat contract ke:
react-dapp/src/contracts/contract-address.json - Simpan ABI ke:
react-dapp/src/contracts/contract-abi.json
cd ../react-dapp
npm install
npm run devAplikasi akan tersedia di http://localhost:5173
- Buka
http://localhost:5173 - Klik "🔌 Hubungkan Wallet"
- Klik "🛒 Beli Sekarang" untuk membeli produk
- Jika kamu pemilik contract, tombol Reset Pembelian akan muncul

