# ๐ฆ Multisig Wallet Project
This project implements a multisig wallet, designed to enhance security by requiring multiple signatures for transaction approval. The repository is organized into two main directories: `frontend` and `backend`.
## ๐ Introduction
A multisig (multiple signature) wallet requires more than one private key to authorize a transaction. This increases security by distributing trust among multiple parties. Our implementation leverages SolidJS for the frontend to provide a reactive and efficient user interface, and uses Solidity for the smart contract development in the backend, ensuring robust and secure blockchain interactions.
## ๐ Getting Started
To get started with the project, clone the repository to your local machine. You will find two main folders: `backend` for the smart contracts and backend-related functionality, and `frontend` for the web application interface.
### Prerequisites
- ๐ฆ Node.js installed on your machine
- ๐ฅ A code editor like VSCode
- ๐ Basic knowledge of Solidity and JavaScript
### Installation
First, install the dependencies for both frontend and backend:
```bash
# For frontend
cd frontend
npm install
# For backend
cd ../backend
npm install
Navigate to the frontend
directory:
cd frontend
To run the app in development mode:
npm run dev
This will serve the app at http://localhost:5173, where it can be viewed in the browser.
To build the app for production:
npm run build
This compiles the SolidJS app into static files in the dist
folder, ready for deployment.
The backend
directory contains the Solidity smart contracts and deployment scripts. To deploy the contracts to a local blockchain for testing (e.g., using Hardhat or Truffle), navigate to the backend
directory and run:
# Using Hardhat
npx hardhat run scripts/deploy.js --network localhost
- ๐ SolidJS documentation: https://solidjs.com
- ๐ Solidity documentation: https://docs.soliditylang.org
- ๐ Vite documentation for deployment: https://vitejs.dev/guide/static-deploy.html
For frontend deployment, refer to the Vite documentation on static deployment. The backend contracts can be deployed to a testnet or mainnet, depending on your project's needs. Be sure to test thoroughly before deploying to a live blockchain network.
Contributions are welcome! Please open an issue or submit a pull request for any bugs, features, or improvements.
For support, join our Discord channel: https://discord.com/invite/solidjs, or open an issue in the GitHub repository.
This project is licensed under the MIT License - see the LICENSE file for details.
This version includes emojis and markdown enhancements for better readability and engagement on GitHub. Feel free to adjust any parts or add more sections as needed for your project specifics!