Reach for New Ecosystems — Building dApps with Hedera and EVM Tools
Ethereum Denver·Mon, Oct 9, 2023, 12:00 AM
Web 3 developers have many layer-1 and layer-2 networks available to them for the deployment of smart contracts and tokenization of assets. With so many options, more groups are choosing to deploy dApps across multiple chains or migrating to stable, EVM-compatible, and sustainable networks, like Hedera. This workshop will introduce you to Hedera for projects that require secure and scalable transaction processing. You will learn how to deploy contracts and tokenize assets using EVM tools, like Hardhat and Chai. This session has something for everyone, whether you just want to migrate away from an old network or capture users in new ecosystems – all while using EVM tools that you’re already familiar with. Ed Marquez
Transcript
All right, I want to start with this image from the Hubble telescope, right? Which was amazing and it did the job of helping us explore and see the universe uh like never before. But it had some limitations just like first generation tech tends to have and that's why as gener or in general as humans we keep working to introduce next generation tech that allows us to do things better. Right? This is the same view but from the newer James Web uh telescope.
And this is a great example of how next generation tech allows us to see and do new things better like we never could before. And so that's what this talk is really all about, right? It's about expanding horizons. And so you're going to see how you can reach new ecosystems and also build DAPs using EVM tools that you may already know on the Hideera network. My name is Ed Marquez and I work in the developer relations group at Swirls Labs.
And in case you're not too familiar with Hideera, we are a decentralized open-sourced POS EVM compatible uh public ledger or layer 1. And we're actually one of the few public DTS that use a leaderless consensus algorithm that also achieves the highest degree of security possible, which is asynchronous BFT. I'm going to tell you more about Hideera towards the end of the presentation. So, in the next 20 minutes or so, we're going to start by focusing on the challenges and choices that web 3 developers have in a multi-chain world. We're we're then going to see a very quick demo of how to EVM on Hideera using familiar tools like hard hat.
And then in the final stretch, we're just going to share a bit more about Hideera. And then we'll see some conclusions as well. So let's start by looking at two problems that come with this explosion of so many layer ones and layer twos, right? And these are problems that that also touch many teams out there. So the first one is that end users in web 3, they're scattered.
They're all over the place. You can see them across many different networks and also many different ecosystems. So naturally, web3 developers are building these crosschain applications to reach a wider and also more diverse user base. But with that deployment of multi-chain or crosschain applications also comes the challenge of having to choose and prioritize the networks that you deploy on. And so those dev teams have to consider a lot of things, right?
Among those is interoperability. So they have to take into account differences at the technology or the protocol level. Also user experiences, right? If you want to provide a consistent user experience, uh you have to understand the nuances, the issues and the functionality of each one of those networks. You have to consider business models.
Can you even monetize the DAP with the price and payments mechanisms of the networks that you're targeting? and also other things like network effects and the reputation or brand impact on your application. Right? Uh an application is just as robust and secure and accessible as the network that is deployed on. So if this is something that your team is facing, my question here is how do you pri prioritize those additional networks that you have to deploy on right?
Do you have wellestablished criteria to help you make that decision and are you considering also the right the right things? Now if we look at the second problem that is where developer teams find themselves having to migrate their application completely to a new network and with so many options available um choosing the right network or the best network for your application is a complex multifaceted decision that requires careful consideration and looking at trade-offs uh between many different criteria. And it's interesting because teams may need to migrate their application due to many reasons, right? Um it could be technical issues with their current network. Maybe they just want to improve the reliability, the security or the performance or the cost or their carbon footprint.
Could also be due to stale ecosystems or due to stale communities or maybe even lack of funding opportunities. Um and also it could be due to issues with governance, right? Maybe there are governance practices that threaten the security of or the future of the application that you're building. Now, regardless of the reason why you have to migrate, having so many options is both a blessing and a curse, right? On the one hand, you have all the freedom to choose the platform and evaluate the platform that is going to best meet the requirements and constraints for your application.
But on the other hand, you also have to consider all those trade-offs that we talked about, right? So it's something that introduces uncertainty and confusion and you also have to evaluate whether the development tools that you're used to or that you prefer are available in those new ecosystems. So the big question here becomes how do you decide on that best option that is going to meet the requirements for your application right and these are challenging questions that for most teams require a decent amount of thought and many teams are facing this maybe your team is one of those these facing these decisions. So what are other teams out there doing? Fortunately, other teams have also gone through this process and many other teams out there are choosing Hideera um as the platform to migrate or deploy their crosschain applications on.
And here are a few examples and use cases. We have Stater. This is a multi-chain uh liquid staking platform and they have deployed on other networks like um avalanche or near phantom and a few others and over the past year they have decided to expand their horizons on the hideera network as well and now they hold a a significant portion of the TVL on the network. Pangolin is another example of a multi-chain application, right? They are a DEX that is present in other networks as well like Avalanche, Polygon, and now Hideera.
Cloud.art is a web3 project that migrated from Polygon to Hideera because they wanted to build their solution on a more reliable, performant, and sustainable platform. And what they do is they enable web 3 content creators to tokenize their most valuable social media content as NFTts. and that way unlock new revenue streams and NFT royalties are not even a concern here because on Hideera those NFT royalties are configured and enforced at the network or the protocol level. And then we also have proven DB.
This is a data integrity solution that migrated from Ethereum to Hideera and they basically provide tamperresistant um data integrity or storage for data and documentation, right? And so they enable tracing the origin, the ownership, the versioning and the security of those artifacts and uh that's a critical workflow for certain regulated industries and they were also acquired recently by Onspan. Now it's not just those four use cases that have migrated. There's dozens of others and here are a few others in the areas of uh collectibles, crosschain bridging, uh gaming and also tokenization of carbon offsets. And these are some of the key reasons why these teams are choosing uh to migrate to Hideera, right?
Top of mind is that access to ecosystems and communities that are seeing exponential growth and also great funding opportunities. There's also the sustainability and the stability aspect. These are teams that are committed to delivering a superior experience to their users. And on Hideera, they can reduce uh their fee structures. they can plan business costs and all while um improving or maximizing the security and the performance of their application and they also migrate because they want to minimize the downtime of their application and since there's no leader node on Hyera there's no central point of failure to attack whereas in other leaderbased networks you can compromise entire network by just attacking the single leader node and so that's the why for these teams if we look at the how Let's take a brief look at the demo.
And so in this demo, we're just going to look at three key steps. First, we're going to deploy a contract and then create a token. And so basically, our contract is going to serve as a faucet for our funible token. This is going to be a native Hideera token. And then once that contract is deployed, our token created, then anyone can interact with our contract.
And the way they're going to do that is they're going to call the contract pay five H bar. H bar by the way is the native cryptocurrency of the network. And then the contract is going to perform a transfer of 100 tokens. But notice that that happens in two steps, right? The first one is to associate the account and the token.
This is a unique benefit of the Hideera network that basically eliminates NFT spamming. And then after that, we perform the transfer. And then the third step is going to be to inspect the transactions and our activity on a network explorer. So here we start with our solidity contract. Here you see that we have our uh standard pragma statements.
We also have these import statements because we are working with the Hyera token service that allows people to create tokens without contracts or also with contracts. in this in this case and then here we have the contract definition and we also have some properties for our funible token. You see this is just a set of funible points for attendees of the conference and then you can specify additional properties like the maximum supply the initial supply and so on. And then you'll notice that down here I also have two functions for this contract. the constructor which is what creates our token once we deploy the contract and then this claim tokens function which anyone can call once that contract has been deployed.
Now they're collapsed for simplicity. Uh that's all we can cover in this amount of time. But once we go into our Visual Studio code, right? Um to execute our JavaScript test, what you see is that we import the necessary libraries. So heart hat and chai.
We describe our test and then once we execute that with a write hard hat command what you see is the first task executes which is deploying the contract and our test basically is to see whether that contract address is not null. Right? So what you see as the result is that we receive a contract EVM address back and our test has also passed. If we execute the second task there, you see that we should be able to call the contract and then receive the tokens and that is also the case. Now the test is to make sure that that block hash is not empty and so we can confirm that in the output as well.
So we receive a block hash and therefore our test has completed successfully. Now it's a simple test but you get the idea right. You can automate these workflows. You can test your uh logic and your contracts with these tools that you're already familiar with. Now let's also inspect that activity in a network explorer.
It's called hash scan and that basically shows you the properties of the entities that you have created in this case the contract that we instantiated and also the transaction activity related to that entity. And then I also mention a block. Uh so in in Hideera these blocks are virtual. There's no notion of blocks but for EVM compatibility purposes we treat a block as a time window of 2 seconds. And so you can actually see all the transactions that are packed in that time window.
And there you see in the middle the association transaction and also the transfer of 100 tokens. So there you have it. That was the example right where we create deployed a contract created a token and then interacted with that contract and inspected all those transactions that occurred on chain. So now let's jump into the third and final part of the presentation. Right?
Let's share a little bit more about Hideera and some conclusions. So if you're new to building on the network, there are some unique benefits at the technical level that may be worth remembering. The first one is leaderless consensus. Now you may be wondering why does that matter and it matters because of fairness. It guarantees fairness.
Uh the whole point of a ledger is to order transactions and record that order as well. And so by eliminating leaderbased moments, no single no single node can actually exclude transactions from being processed or delay them in a significant manner. So Hideera provides uh fairness of access and fairness of order. I also mentioned before token and account associations. This is one that our developer and our user community loves because it basically eliminates concerns like NFT spamming.
And so users can link their account uh to the tokens that they want to transact and they only receive and transact those tokens that they opted in, right? So they can keep their account secure and you can also handle these associations automatically if you want to participate in airdrop. So it's a very well thoughtout balance between account security and flexibility. Builders can also choose the different types of keys, right? The key that cryptographic key that best meets their requirements.
So whether they want postquantum security, higher efficiency or just EVM compatibility, they can get that with ED 25519 keys and also ECDSA keys for their Hideera accounts. And finally, Hideera also supports multisig out of the box. So if you need more than one approver for transactions, it's straightforward to do that on Hideera. You can actually have key structures that match many organizational structures in the real world. So you can have key lists if you want to have all approvers sign your transactions, maybe a threshold if you need three out of five, and also nested structures if you want to have signatures at different levels.
And now you may be thinking, you know, these features and benefits and capabilities are cool, but what does Hideera provide that can help me as a as a web 3 builder? And so to answer that, let's zoom out a little bit and look at the entire stack from the consensus algorithm all the way to what the end users actually get. Right? So at the heart here we see the consensus algorithm running on the mainet nodes and at that level we also have mirror nodes handling all the transaction uh history. Then on top of that foundation you see three core services that developers use.
So we have one for consensus. This is basically a notorizing or timestamping service that enables creating immutable and verifiable logs. And this is heavily used in use cases like supply chain. There's one service for tokenization. So it allows you to create fungeables uh and also non-f fungeible tokens with or without smart contracts.
And of course all the flexibility and programmability and automation that you can do with smart contracts. And then with that first part of the stack, you also see the Hideera governing council bringing the centralized and transparent govern transparent governance to the operations of the network. Now on top of that foundation right that's where the use cases are built by developers in the areas of uh data integrity tokenization decentralized identity payments uh supply chain gaming sustainability you name it and those are the applications that end up delivering the value to the end users right whether it's an individual an enterprise a government or even IoT devices on the edge so in a way you can think of hideera as software infrastructure right and as As a matter of fact, it's green infrastructure because it does not expand your carbon footprint. And that is because Hideera is actually a carbon negative ledger. So the network consumes a very small amount of energy and that also results in a very small carbon footprint.
And so after that we buy certified and verifiable carbon offsets to actually go negative. And not to mention the network also enables dozens of use cases that um encourage transparent accounting and response responsible practices in the areas of sustainability. Now in terms of energy consumption, this most recent study by University of College London actually found that the energy consumption of the network is 3 millionth of a kilowatt hour. And just to put that number in context, with the same energy that it takes to do one Visa transaction, you can actually do more than 1,000 Hera transactions. So it's orders of magnitude, right, in terms of the efficiency improvement that that represents.
And finally, we know it's not just about the tech. It's not just about the services and being green. We know that builders also care about the community and the ecosystem and funding opportunities as well. And so for what it's worth, Hideera actually has the largest ecosystem development fund in web 3. That's called the HAR Foundation.
And we're also very happy with the growth and the adoption that the network has seen in the past 3 years since going open to the public. Now we have over 15,000 developers uh attending events, hackathons, contributing on Discord, hundreds of web 3 and enterprise dabs deployed in production on mainet and on average we're processing more than 500 transactions per second. Um and those are real user submitted and user paid transactions that come from an end user or an application. And that's added to a total count of more than 4.5 billion transactions processed to date.
So in terms of accounts and adoption, we're almost at the two million mark um of accounts on mainet. And we're also seeing pretty good growth in 2023. And there to the left, you also see many of the players and contributors that are uh choosing Hideera to build and deliver value. All right. So in summary, even with dozens of options, right, we're seeing a lot of web 3 developers deploy on Hideera and build on Hideera to reach new ecosystems and also to reap the technology benefits and all while using those EVM tools that they already know.
So we started by going over how choosing and prioritizing a network uh can be a challenge, right, for multi-chain developers. We also mentioned how uh migrating an application completely can be a complex decision and those are things that many developers face. We saw some examples of teams that have decided to migrate to Hideera facing those same challenges and some of the key reasons why they made that decision. And then in the second half we saw a brief demo right of um how you can build on Hyera using those familiar EVM tools like hard hat. And then in the final stretch we learn about what Hideera has to offer in terms of benefits, services, uh the negative carbon footprint and also the thriving ecosystem.
So from here I guess the next step that you can take is just to try it out, right? It's free of cost and free of risk. So if you sign up for an account on this hyera.com/portal, you'll get 10,000 test H bar every 24 hours to take your application for a spin and then you can graduate to deploy on mainet and pay real H bar. Um and we know that community is everything.
So you can always join our developer discord also, you know, get in touch with our Hera experts, our Hideera community. And this is our developer relations team. We'll be at booth 555 uh for the rest of the week. So come talk to us and yeah take those simple steps and remember to keep uh building keep expanding those horizons and reaching new users to create things that uh we've never had before. So with that I want to thank you for your time for your attention and if there are any questions happy to take those.
I think we have a few additional minutes. If not we'll be in the back of the stage. All right. Thank you.
Automatic transcript — names and jargon may be misspelled.