Welcome to the MultiSig Wallet Factory project! This blockchain-based application enables users to easily deploy and manage multisignature (multisig) wallets for various use cases, enhancing security and collaborative control over assets.
- Easy Deployment: Deploy multisig wallets with a user-friendly interface.
- Customizable Ownership: Define multiple owners for each wallet, specifying the number of required confirmations for transactions.
- Secure Transactions: Ensure that transactions are executed only after the necessary approvals, enhancing security.
- Wallet Monitoring: Track and monitor deployed wallets and their activities.
Follow these instructions to set up and run the project locally.
Ensure you have the following installed:
-
Clone the Repository:
git clone https://github.com/coredao-org/dapp-tutorial.git cd dapp-tutorial/12-Core-MultiSig -
Install Dependencies:
npm install
-
Start the Local Blockchain:
npx hardhat node
This command starts a local Hardhat blockchain instance.
-
Deploy Contracts:
npx hardhat run scripts/deploy-multisig.js --network localhost "For Local Blockchain" npx hardhat run scripts/deploy-multisig.js --network core "For Core Blockchain"
This command deploys the multisig wallet contracts to the local or core blockchain.
-
Start the Frontend Application:
cd MultiSig-Wallet-Factory/Frontend npm startThis command starts the React frontend application.
-
Access the Application:
Open your browser and navigate to
http://localhost:3000to interact with the application.
-
Create a Multisig Wallet:
- Navigate to the "Create Wallet" section.
- Enter the addresses of the owners and specify the number of required confirmations.
- Click "Create" to deploy the wallet.
-
Manage Wallets:
- View a list of deployed wallets in the "My Wallets" section.
- Select a wallet to view details, propose transactions, and monitor activities.
- Frontend: Located in the
Frontenddirectory, built with React. - Contracts: Solidity contracts are in the
contractsdirectory. - Deployment Scripts: Found in the
scriptsdirectory, used for deploying contracts. - Tests: Located in the
testdirectory, containing test cases for the contracts.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add YourFeature'). - Push to the branch (
git push origin feature/YourFeature). - Open a Pull Request.