Over the last couple of months our team (EOS Argentina) has been thinking of ways to make EOS more accessible to the broader crypto space. EOS has great dapps and a very large community, yet we have heard from friends and crypto enthusiasts that they find it hard to use. Many people agree that the number one problem on EOS is the initial onboarding process, the account creation on EOS is different, and different is not always “easy”. So how can we make EOS less different? We decided to integrate a wallet that crypto users are already familiar with.
In this sense, we set our main objective to make EOS simple by improving its usability and we are glad to say that we have made some progress by bringing Metamask to EOS.
Native EOS account vs micro-account
When we started to think about the integration of Metamask, there were two possible ways of doing it from the EOS account perspective. On the one hand, each Metamask account could be given what we call a “micro-account”, a type of account that lives within a smart contract. These accounts could manage balances in different tokens, make transfers, but it’s difficult to make them interact with other smart contracts and dapps of the EOS ecosystem.
One advantage of these types of accounts is their cost, they take up very little RAM so creating them is very cheap. It should be noted that although they are inexpensive, they still have to be previously created thus having the same initial friction that regular EOS accounts have.
Another significant disadvantage of the “micro-accounts” is that it would require DAPP developers to modify part of the code of their DAPPs if they want to fully support them.
The second option was to create an EOS account for each user in Metamask. These, being standard EOS accounts, would have the ability to interact with any contract/Dapp natively. They would have access to the full power of EOS.
The downside of a full featured EOS account was its cost. To date, creating an account in EOS has a cost of about 0.5 USD. However we think that this is a minimal price to pay to the regular crypto user (those that we are trying to attract), because even considering an increase of 5x it would still be less than an ETH transfer fee. From our point of view, the advantages of using a full EOS account exceed its disadvantages so we went on that route.
User Experience
Metamask users are used to not having to do anything upfront (create account, stake, rex, powerup) in order to use their wallet. They simply install the extension (or the mobile version) and once they received its first tokens (ETH, BNB, etc) they can operate against any DAPP on the network. We wanted to emulate that experience.
[Alice] Hey … give me your address so I can send you some tokens
[Bob] Hi, here 0x1234123412341234123412341234123412341234
[Alice] Sends 5 EOS to 0x1234123412341234123412341234123412341234
[Bob] There they came! Thanks
[Bob] goes to “greatEOSdapp.com” → he uses it as usual, paying a fee for each transaction.
Fees made simple
Fees use the same format as many other networks: you can see how much you will pay for the transaction and the wallet will take care of the resources to cover that transaction.
Test Metamask on Kylin
The Kylin Testnet can be added to Metamask by simply adding a new network in your wallet’s settings.
This is the information you need to add under new networks in your Metamask settings:
All transactions in metamask will be signed for a chainId 95, this chainID is not used by anyone according to https://chainid.network/, however, as a precaution we recommend using a new metamask wallet with a different seed from the one you use regularly on other networks.
After you have added the network you should see Kylin as one of your networks:
You should now be able to send and receive tokens, feel free to leave your Metamask account here to ask for some test coins.
You can also test the UAL integration by going to https://kylin.evodex.io and connecting your wallet, remember that if you are using the mobile version you would need to access it through the “explorer” inside your metamask wallet.
What’s Next?
We will continue to work on this project and will be publishing documentation and code in the coming weeks, we welcome your ideas, contributions and comments.
We are working at full speed to have Metamask on the EOS mainnet as soon as possible.