Forget-me-block: Ethereum Calendar

As we progress through life’s journey we lose digital information. Who we met, what we talked about, contact details, etc tend to disappear in the digital flux like tears in the rain. Often this happens as we switch providers from Big Tech Corp A to Big Tech Corp B and back again - access is lost to data we have stored in someone else’s stovepipe.

As part of a MSc Computer Science thesis I have designed a proof of concept to combat this by hosting a calendar as an Ethereum smart contract. The eth-cal-open calendar implementation allows read-write access via an Ethereum enabled (e.g. metamask) web browser; it also allows a user to access a read-only version of the calendar in a standard calendar client (e.g. MS Outlook). The theoretical advantage here is that as long as the Ethereum network exists you will be able to access your data.

This proof of concept has also been expanded into a role based access version, eth-cal-auth, where an administrator (which defaults to the smart contract owner) allocates other users (as represented by Ethereum accounts) with date-ranged read or write access. Typical use cases include an organisational group calendar. The primary difference between this and today’s solutions is that once access has been granted (and provided it is not rescinded) a user’s access will continue regardless of their relationship to the organisation - or indeed whether the organisation continues to exist. This makes heavy use of the OpenZeppelin Access Control library.

A synopsis, links to repositories and running instances can be found on my blog:

Alternatively if you want to dive into the research the thesis can be found on arXiv:

With many thanks to @abcoathup for his help in these forums.