Welcome to my personal challenge project: a web-based Ethereum wallet capable of sending raw transactions without relying on external libraries. This project leverages the power of React, Vite, and several cutting-edge technologies to create a minimalistic yet fully functional Ethereum wallet. Dive into the world of blockchain development with me as we explore the capabilities of raw JSON RPC and the security of BIP39 mnemonic seeds.
To run this project, you'll need to have the following environment variable set:
VITE_INFURA_PROJECT_ID
: Your Infura project ID to connect to Ethereum networks.Also ensure you have Node.js installed to use npm commands.
npm install
.VITE_INFURA_PROJECT_ID
environment variable with your Infura Project ID.npm run dev
, and navigate to http://localhost:3000
to view the app.To ensure code quality and consistency, we've tailored the ESLint configuration for this project. Follow the guidelines below to further customize ESLint for your development needs:
parserOptions
in the ESLint configuration to include your project settings.plugin:@typescript-eslint/recommended-type-checked
for type-aware linting rules.eslint-plugin-react
for React-specific linting rules and add plugin:react/recommended
& plugin:react/jsx-runtime
to your configuration for optimal React coding practices.Your contributions are welcome! Whether it's bug fixes, feature additions, or improvements to the documentation, feel free to fork this repository and submit a pull request.
This project is open-sourced under the MIT License. See the LICENSE file for more details.
Embark on this journey with me as we build a secure, efficient, and user-friendly Ethereum web wallet. Let's explore the possibilities together!