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.

Built With

Share this project:

Updates