This Solidity contract implements a multi-signature wallet on the Ethereum blockchain. It allows multiple owners to collectively manage and control funds through a secure approval process. The contract is designed to be flexible, allowing owners to dynamically add or remove signers.
- Multi-signature functionality: Transactions require approval from a predefined number of signers.
- Dynamic signer management: Owners can add or revoke signer status for increased flexibility.
- Ether deposits: The contract allows for Ether deposits.
- Events: Events are emitted for key actions, providing transparency.
- Knowledge on Solidity : [https://docs.soliditylang.org/en/v0.8.24/]
- Remix IDE : [http://remix.ethereum.org/]
- Navigate to the Remix IDE: Copy and paste the code from (https://github.com/albertisaac12/MultiSigWallet/blob/main/multisigwallet.sol) (Note: A message might pop up, Read And allow the code to be Pasted)
- Install MetaMask from (https://chromewebstore.google.com/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn)
- Set Up MetaMask (Its a relatively simple task just go through the installation procees and you will be good to go 😁)
- Enabe the Test Networks on MetaMask. [Follow The Steps Below 👇] (Note: Make Sure to Click on all The boxes Highlighted in Red)
-
Now make sure to Create at least 4 to 5 accounts on MetaMask
-
Time to get some Test Sepolia Ether into our Wallet, we will be using Alchemy to get some test ether (Go to This Link: https://sepoliafaucet.com/ )
-
Click on Alchemy Login on the Top-Right if you do not have an account make sure to create one (Relatively easy task 😁).
- Now copy any of your account addresses from MetaMask and Paste it in the Box just like below 👇
-
Hit on Send ETH and Voila there will be 0.5 Sepolia ETH deposited in your wallet within 2 minutes. (Note: You can only claim ETH once every 24 hours and this Sepolia ETH **doesn't hold any real-world Value. **)
-
Now head over to Remix IDE, Time to set our ETH provider, just follow the images below 👇
- Now time to Deploy the Smart Contract and Test out its Functioning.
- Head over to the Deploy & run transactions tab in the Remix IDE (the tab has a symbol similar to ETH])
- Now Select your contract from contract section and make sure that you are still on injected provider and then check the deploy section. The Deploy section must be expecting 2 arguments an _owners[] array and _required uint.
- Remember we made multiple accounts During the setup process, open a notepad and copy alteast 4 account addresses like this => ["address 1" , "address 2" , "address 3" ,"address 4"] also make sure to give _required value greater than the number of addresses in _owners[].
- Finally head down and hit on "transact" (its a box highlighted in yellow just below DEPLOY section).
-
Now MetaMask will pop for transaction Approval. Hit on Confirm.
-
Once Your Transaction is Sucessful you will recieve the confirmation on the "Console"
-
Voila You have finally Deployed Your Contract Sucessfully now you can play around with the contract as you like.
If you have any troubles completing the steps or have any quries feel free to ping me LinkedIn (https://www.linkedin.com/in/abhigadipalli/)