Abstracted in

Aeon Pocket

A **depricated** web-wallet for AEON Cryptocurrency
Star Fork

I collaborated with MehKnown on this project. I think it was his idea. So, one day I was going on doing my things. You know sleeping, eating, and sometimes coding. And MehKnown pings me and said ‘Hey I found a crypto-currency that even you can mine even on your peasant laptop’. So I checked it out. AEON was the crypto-currency he was talking about. A fork of Monero but uses the CryptoNight-Lite hashing algorithm so that it can be mined on CPU and doesn’t necessarily need a powerful GPU.

The Challenge

I and MehKnown explored AEON for a few weeks and came to know about the web wallet bounty and thought ‘we can do that!‘. Later realizing that it isn’t just calling a few APIs from the UI kind of project. AEON (like Monero) works with two cryptographic keys. One for identifying your transactions (known as view key) and another for sending some AEON to another wallet (known as spend key). Each of these keys comprises public and private keys.

The address of the wallet is a combination of public view key and public spend key. To identify if a transaction in a block in the blockchain belongs to your wallet, you need to use your private view key. And to send some amount of AEON to another wallet, you need to create a transaction, sign it with your private spend key and post it to the network. There it will be picked by the miners and if the checks are successful, it will be added to the blockchain.

Simple enough right? That is what I and MehKnown thought. But soon realized that the entire codebase was in C++. Which was slightly out of MehKnown domain and completely out of my domain. But we tried fiddling with the code anyway. We found that there is a JS module that was created using web assembly which we can use for these cryptographic operations.

The major challenge was the part that we were not allowed to transfer the spend key to our server in any case. It can not be even stored in the browser’s local storage. Meaning, to sync a wallet, we need to send each block to the client and then rely on the client to identify a transaction and tell the server about it. Hence, your wallet cannot be synced in the background.

Reception

However, after a month of hard work, we solved the problem and MehKnown announced the beta release on AEON’s Reddit thread. More than 100 wallets were created on the very first day. And after a month it settled down to daily 25 active users. People liked what we did. We even got some free media coverage.

What went wrong?

It was going great for a while but then issues started cropping up. AEON decided to change its internal workings and it required the user to resync their wallet from the start of the block. A very heavy transaction for us. Anyway, I and MehKnown made it through somehow. Only to realize that there were other such milestones planned. And some of it may require us to rewrite the entire thing.

Then there was this other very human challenge involved. As AEON is a crypto-currency, money is involved. Many people do trading on it and make their living from it. Since, we were the only web wallet for AEON, some even relied on it to be up 24x7. While both me and MehKnown had to do our full-time jobs to pay our bills. Needless to say, whenever any issue happened someone loses their money and we would be at the receiving end of their rage.

Keeping all these factors in mind we decided to deprecate the project. And with a heavy heart we announced that we would go offline on 30th September 2018.

I have not failed. I’ve just found 10,000 ways that won’t work. - Thomas A. Edison


Pushkar Anand
Written by Pushkar Anand.
developer in India.