Playing with Elrond blockchain

github twitter github

I'm always impressed when I go through documentation sites of all bigger and smaller blockchains ecosystems out there. A lot is going on in this area. New solutions, foundations, and great projects arose. Now we have not only the Ethereum ecosystem but a lot of great stuff outside it. And I think this is good.

In this article, I wrote down my thoughts about my first experiences with the Elrond blockchain. I won't focus on blockchain technology much here but rather on tools and what I could learn after a weekend with Elrond. These will be thoughts from the perspective of a JavaScript developer who isn't a Smart Contract coder (yet ;)).

What is Elrond, and why is it interesting?

Elrond is a Proof of Stake (Adaptive State Sharding and Secure Proof of Stake) blockchain that started around June 19, 2019 (according to its White Paper. Its native token/coin is EGLD.

I don't want to enter the path on why it is cheaper, faster, or in any way better than Ethereum because this isn't the point anyway. What matters, in the end, is the ecosystem, flexibility, and how many developers will use it. When I look into the docs, I search how fast I can learn to create something. I explore what the business partners are and what is already built. Technology is, of course, fundamental, but I am sure it is solid in all cases or most of them out there. There will probably be different solutions suitable for different needs.

I think that Elrond has excellent marketing and social media communication. They also made a great mobile wallet Maiar. I was impressed that they were able to achieve a lot in a bit of time. As I write these words, the Maiar Exchange is almost finished and ready to be released. And this will be huge. DeFi is always a big motor for every blockchain out there. They already have full functionality, so it is possible to write Smart Contracts, build custom tokens, NFTs, etc. Great partners are already there too. Just see the elrondpartners.com website.

Techy stuff

Elrond caught my attention when they released the first versions of their React Dapp components and boilerplate. It was a couple of weeks ago. I thought that it could be a perfect time to try it and see how it all connects.

Dapp library is a set of React components that incorporates Elrond SDK for JavaScript, a powerful JavaScript toolset to interact with Elrond blockchain, Smart Contracts, Wallets, APIs, etc. The only missing part here is good documentation. Hopefully, we will get it soon.

I always learn by building stuff, even if this won't ever be useful for anyone. In this case, I had the same approach. I decided to build an app that will allow the logged-in user to mint some NFTs on Elrond's chain. Of course, everything on the testnet. This approach was great because I was able to build something without writing a single Smart Contract. Now, when I know what transactions I should make and how they should look, I can dig deeper and will for sure. So, let's see what I've got till now.

Elven.Tools

After a weekend of hacking, I replicated some of the functionality you can find in Elrond's web wallet. Listing transactions, minting NFT's and listing them.

You can find it here:

And here is a quick walk-through video:

So, in my opinion, Elrond wins some points here. It is straightforward to grasp the tools and start building even if what I've made isn't complicated. Still, it was only one weekend.

My simple project is built using a couple of tools from React Dapp library. What is most important and saves a ton of work is ready to use Authentication flow. There are components like Unlock, Ledger and WalletConnect and also ready to use React Context to glue all.

Besides that, I also used some tools from @elrondnetwork/erdjs, basically to configure required transactions requests.

All other stuff is a standard React app.

Next steps in the learning path

I want to get my hands dirty with Elrond's Smart Contracts, especially since I started to learn Rust. One writes Smart Contracts in Elrond using Rust language, which is, in my opinion, the perfect choice. Many robust blockchains incorporate Rust too. Worth to mention: Polkadot Substrate, Solana, and CosmWasm tools.

There is also an excellent Elrond IDE plugin for VS Code. It is something very similar to Remix. Of course not so advanced and not in the browser. I like the path the Elrond team took. Most developers like me use VS Code, and plugins there are great. Especially that this IDE will install and configure all Python and Rust dependencies which are required and will do this in isolation so it won't mess with your current configuration.

You can watch an official guide here:

Summary

I think the Elrond network is worth promoting, at least at the moment. Of course, not in the context of investment, but technology. I found a lot of great tooling, and I see that we can build a lot already, even if some work is needed, like good documentation.

I love their Maiar wallet. It looks sweet, and it is straightforward to use it. You can even stake your EGLD there. You can also keep ETH and BNB.

Soon there will be a lot of possibilities when Maiar Exchange runs. In plans, there is much more like domain name services and identity services. Sounds exciting and complete. Hey, there is even Maiar browser: browser.maiar.com.

I would love to find more time and dig deeper. Write some Smart Contracts. Play with testnet. I hope it will be possible very soon.

Besides Elrond, I keep an eye on a couple of other new players in the area. Especially Solana, Avalanche, Algorand, Terra, Harmony One. Hopefully, I will be able to write down some thoughts about them too. And of course, I wait for Cardano and Polkadot to be complete, which are, in my opinion, main competitors for Ethereum if we can speak about competition in this context.

Regarding Elven.Tools I would like to keep working on it just for learning purposes. I plan to find out how to transform it into a full-featured minting platform that users will use to create NFTs, sell and send them to others.

If you have any other ideas, please let me know. Follow me on Twitter and GitHub.