A privacy focused Ethereum wallet supporting ERC5564 stealth addresses for confidential transactions. This project combines a React + TypeScript frontend with Solidity smart contracts to enable sending and receiving ETH through stealth addresses, offering enhanced privacy for blockchain users.
This wallet allows you to:
- Send ETH to stealth addresses.
- Send ETH from stealth addresses.
- View send transaction history.
- View balances for all addresses.
The project includes:
- A frontend app for wallet management and transaction tracking.
- Smart contracts for stealth address operations.
- Scripts and tooling for local Ethereum network deployment.
- Frontend: React, TypeScript, ethers.js, Material UI
- Smart Contracts: Solidity, Hardhat
- Tooling: Makefile for automating contract tasks
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
The application will run on http://localhost:5173.
-
Navigate to the contracts directory:
cd contracts -
Install dependencies:
npm install
-
Start the local Ethereum node using Hardhat:
make localnet
-
Deploy the smart contracts to the local network:
make deploy
-
(Optional) Fund a test address with ETH:
make fund address=0xYourAddress
In the contracts/ directory, the provided Makefile includes the following commands:
-
Compile contracts
Compiles all Solidity contracts:
make compile
-
Start local Ethereum network
Starts a local Hardhat node:
make localnet
-
Deploy contracts
Compiles and deploys contracts to the local Hardhat network:
make deploy
-
Fund an address
Funds a specified address with 1000 ETH on the local Hardhat network:
make fund address=0xYourAddress
- Send ETH to stealth addresses (privacy-focused transfers).
- Send ETH from stealth addresses.
- Manage your keys.
- View transaction history for selected addresses.
- Display balance for each address.
- Search transactions.
