Inspiration
I am a huge crypto enthusiast! However, I always wondered how can I seamlessly share my cryptocurrency with all my family and friends so they can access the money too, but of course with restrictions because I can't let them make me go broke. Hahah! Therefore, with that idea in mind, I decided to come up with a smart wallet but for cryptocurrency using Blockchain!
What it does
- The wallet has a single owner at any given time, ensuring centralized control over its core operations.
- The wallet can receive funds in the form of Ether from any external account or smart contract.
- Funds on the wallet can be transferred to Externally Owned Accounts, and other Smart Contracts
- Each party (recipient) has a maximum limit on the amount they can send in a single transfer.
- Ownership of the wallet can be transferred to a new owner, but only after approval from 3 out of 5 authorized voters. This feature ensures collective decision-making and prevents unilateral control over ownership changes.
How I built it
- I developed the smart contracts in Solidity featuring deposit tracking, role-based access control, and on-chain governance.
- Then I used Truffle and Ganache to compile, test, and deploy those smart contracts, ensuring transactions are immutable and resistant to tampering.
- Furthermore, I used a responsive React front end with ethers.js for real-time blockchain interactions.
- At last, I improved the final touches on the UI of the application with Framer Motion to deliver smooth animations, custom modal alerts, and dynamic transitions.
Challenges I ran into
The biggest challenge was to manage access controls. Since, every user has certain limitations and restrictions, it was quite difficult to create a seamless interface that determines who the user with just one click and accordingly apply the restrictions. However, after not giving up and determination, I was able to manage effective access controls for all parties on the wallet.
Accomplishments that I am proud of
The sleek design of Wallet Share is something I truly stand behind. I picture something truly futuristic and simple at the same time for Web3 applications. Therefore, that's what I was hoping to do with this project. The entire application offers a simplistic yet very detailed design throughout all activities.
What I learned
Since this application focused a lot on role-based access controls, I had to think critically when constructing the smart contracts, and that allowed me to look at various functionalities from a different standpoint ensuring every situation is handled appropriately.
What's next for Wallet Share
I would like to integrate additional security measures and deploy the application on live Ethereum testnets/mainnet. Additionally, in terms of scalability, I would like to host the application on Google Cloud's Blockchain Node Engine to access all the cloud features.
Log in or sign up for Devpost to join the conversation.