paint-brush
MyETHMeta v2 – Some Improvements on the Gravatar for Your Ethereum Accountby@thebojda
146 reads New Story

MyETHMeta v2 – Some Improvements on the Gravatar for Your Ethereum Account

by Laszlo FazekasDecember 24th, 2024
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

MyETHMeta is a Gravatar-like metadata service for Ethereum accounts. It was originally deployed on the Polygon chain, but is now on the Gnosis chain. The service can be easily updated at the specified URL.
featured image - MyETHMeta v2 – Some Improvements on the Gravatar for Your Ethereum Account
Laszlo Fazekas HackerNoon profile picture


I started working on the MyETHMeta project about three years ago, which is a Gravatar-like metadata service for Ethereum accounts. I’m aware that there are other solutions, such as associating metadata with ENS names, but I wanted to create the simplest possible system, one that works just like Gravatar.


With MyETHMeta, it’s enough to assign a URL to our Ethereum address once, which costs a fraction of a cent on the Gnosis chain. There are no recurring maintenance costs like with ENS, and the metadata can be easily updated at the specified URL. This is straightforward to achieve with traditional Web2 hosting, and if we use decentralized storage, such as IPFS or Swarm, it’s also possible by utilizing IPNS or Swarm Feeds.


Since I’ve already written a comprehensive article about the service itself, here I’d rather focus on the changes and future plans.


Migration to a GitHub Organization: For the original MyETHMeta, I registered a custom domain and hosted the pages on AWS. However, since this is a dApp (with the backend being a smart contract), this setup is completely unnecessary. The services provided by GitHub Organizations and the associated GitHub Pages are perfectly sufficient. Another reason for this decision was my desire to make the service as independent from myself as possible. Until now, I have been covering the costs of the domain and hosting. If, for any reason, I were no longer able to do so (for example, if I got hit by a car), the service would become unavailable. With this setup, it can function perfectly well without me.


Restructured Repository Layout: Along with migrating to the organization, I also split the existing repository into several independent repositories. This makes the project much more organized and easier to manage.


New Smart Contract on the Gnosis Chain: The MyETHMeta smart contract was originally deployed on the Polygon chain. While gas fees are relatively low there, the Gnosis chain is even cheaper. Writing a single URL (which, in most cases, is all that’s needed per account) costs only a fraction of a cent.


Support for EIP-712 Meta-Transactions: Although Gnosis fees are very low, many users still struggle with funding their accounts with xDAI. With EIP-712 meta-transactions, a profile provider can cover this cost, resulting in a much better user experience. If someone is capable of installing MetaMask (or any wallet), they can easily create a MyETHMeta profile through a profile provider.


After these changes, here are a few future plans.


Profile Hosting: My goal is to make MyETHMeta accessible to everyone, even those who don’t own cryptocurrency or have any knowledge about blockchain. To achieve this, I plan to create a simple profile hosting service where anyone can create and publish their own profile for free. All they’ll need is an Ethereum wallet.


Social Account Verification: Currently, the profile is a simple JSON file where anyone can write anything. I plan to create an Oracle service that enables the verification of social accounts. Verified accounts would be marked with a green checkmark, proving that the specified social account truly belongs to the Ethereum account. Since a social account can only be linked to one Ethereum account, this would also serve as a kind of proof of unique humanness (albeit not a very strong one).


Unique Humanness Badges: Profiles could include badges that prove uniqueness. If a user verifies their identity through WordID or the Proof of Humanity service, they can earn badges for it, demonstrating that the profile linked to their Ethereum account is entirely unique.


Censorship-Free Encrypted Communication and Social Network: In a previous article, I wrote about how the ActivityPub federated protocol could be made entirely decentralized. This would only require specifying an inbox and outbox (whether centralized or decentralized) in the profile JSON, where the account owner could receive encrypted messages and provide access to their public feed. Since the protocol is fully compatible with ActivityPub, it could even be integrated into the Fediverse through simple gateways.


Karma Currency Support: I’ve written several articles on HackerNoon about the concept of Karma currency, a trust-based monetary system. The most critical aspect of this solution is ensuring that each person has only one account and that people can trust one another. A profile system like this is ideal for achieving that, as it allows multiple ways to prove uniqueness and build trust between users. The MyETHMeta profile could display a Karma balance and provide access to Karma transactions associated with the profile.


If you like the project, feel free to follow it on GitHub, and I’m always open to ideas and contributions. Although this is currently a one-person project, I see myself as just the maintainer. Since the system is entirely decentralized and I have no control over the smart contract’s operation, MyETHMeta doesn’t belong to me. If anyone disagrees with anything, they can create their own fork and shape the project to their liking. The system is fully autonomous and operated by the community, and I plan to carry out further developments in this spirit.


You can find the GitHub repos here: https://github.com/MyETHMeta