People write WILL to dictate how their assets must be managed after they pass away. In this era of emerging technologies, many people possess digital assets such as Bitcoin, but because of how new this technology is, there hasn't been much work focusing CryptoWill i.e WILL powered by Blockchain.
Let's say someone has bought 100 Bitcoins 10 years ago (which would've cost around $300 at that time) and then, unfortunately, passed away in recent years, but now along with that person, those 100 Bitcoins (Worth Approx. $6.1 Million (1BTC = Aprx. $61000) in the year 2021) are also lost.
And due to the nature of the Blockchain, once the private key to the wallet is gone (which is supposed to be only known to the Owner), all assets in that wallet are also lost forever.
This situation could've been managed with the help of WILL, i.e if the person would've written a WILL stating how his Bitcoins should be managed, today those 100 Bitcoins would get saved.
But writing Centralized, Old-fashioned WILL for digital assets on the Blockchain seems so trite and also adds a new set of problems.
Thus CryptoWill is a Decentralized solution for creating your WILL using Smart Contract, which means you are essentially writing your will into the Blockchain. And it is much more flexible than how normal, traditional WILL. You can modify it anywhere and anytime without any hassle.
The Main Problem with Decentralized WILL was that how a smart contract would get to know if a person is alive or passed away? So to tackle this, every CryptoWill has a locking period. Let's assume that we have created a CryptoWill and its locking period is 2 years. For example, if the owner has last interaction with the contract in Oct 2021, and the locking period is 2 years, then this CryptoWill will get unlocked in Oct 2023.
While writing a react component, I made a typo and added a custom component inside its own function, due to this recursive structure nextjs dev server froze without any warning or error, it took me a lot of time to realize the mistake, but I was able to spot it at the end, and got a good lesson out of it.
For Local testing I tried using Ganache Cli for the CELO blockchain, but due to some issues it was not working properly, but then it worked on Alfajores testnet and at the end I was able to test and deploy smart contracts successfully.
Faced some Difficulties while making UI for the web app, but in the end, Material-UI docs helped.
Discussion