Skip to content
Home
← All work
2024·archived· Solidity· Ethereum· React· Web3.js

Web3 Vault

A web app for storing funds via a Solidity smart contract on the Sepolia testnet. MetaMask for the handshake, Web3.js for everything after.

Context

School module project. Goal: write and deploy a real smart contract to a testnet, then build a web frontend that talks to it end-to-end. Wallet integration, balance reads, transaction history. The full Web3 handshake, not a mock.

Approach

Solidity contract deployed to the Sepolia Ethereum testnet. Containerised React frontend using Web3.js. MetaMask as the wallet provider. The flow: click connect → check that a wallet provider is available (else a browser alert) → confirm the connection prompt in the wallet → on success, load the balance from the contract, then read its transaction history off-chain.

Outcome

Working end-to-end demo. Wallet connects, balance loads from the contract, transaction history reads from the chain. Self-contained Docker container, deployable anywhere with a testnet RPC. Documentation private.

Stack

Contract
  • Solidity
  • Sepolia testnet
Frontend
  • React
  • Web3.js
  • Docker
Wallet
  • MetaMask
Wallet connected, balance live from the contract
Wallet connected, balance live from the contract
Transaction history reading off-chain
Transaction history reading off-chain