New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Rootstock Workshop - ETHGlobal San Francisco 2024

ETHGlobalThu, Oct 9, 2025, 12:00 AM

Join us for a Rootstock workshop with Sebastian Guaqueta of Rootstock Labs. In this session, we will guide you through building an EVM-compatible dApp on Bitcoin using Rootstock (RSK). Suitable for both seasoned developers and newcomers to blockchain, this workshop will provide a comprehensive introduction to the tools and techniques needed to develop and deploy dApps on Rootstock. This workshop took place at ETHGlobal San Francisco, a 3-day hackathon held from October 18 to 20, 2024, which brought together web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.com/ Email us at: hello@ethglobal.com

Transcript

There is no native gas token other than Bitcoin on Rootstock. So you can implement other tokens. We have other tokens on Rootstock, but gas is paid in Bitcoin. And this also aligns us economically with the Bitcoin network. Around 80% of gas fees on the network are paid to Bitcoin miners.

And then there's scalability. I think this is, you know, Bitcoin doesn't have the capabilities of smart contracts and that's what we offer. But we also offer a faster confirmation time . Right now we're at about 30 seconds. In the future, in the next year or so, we have a proposal to reduce this to about 5 seconds.

And our transaction fees are around 20 cents, you know, right now. So, you know, a lower transaction fee cost on the Bitcoin network. Also, faster confirmation times. And so, in the ecosystem, we have around 400 million in locked native token value . We have been in operation since 2018, with 100% uptime and no security incidents.

So we have a lot of confidence and are happy with the network's performance. You can see other statistics here, but we'd be happy to discuss any other questions about the state of the network. So when we analyze these hackathons, we want new ideas from the hackers and the hackathon participants. But these are some of the things I think are great. We have seen that there are many decentralized games and that Bitcoin is being incorporated into decentralized games.

Telegram is a great platform that we've seen a lot of. The creator economy, monetization of the market space, and content creation are other interesting topics. Bitcoin memes are something new. You know, I'm not sure how familiar you are, but earlier this year, during the launch of a new standard called Runes, which basically brought meme tokens to Bitcoin. Therefore, incorporating it into a network that is closely aligned with Bitcoin is key.

Roottock is a good place for that. Other things, you know, chain governance, Dowo automation, treasury automation, would be really interesting to see. And then, fundamentally, the one below is probably, I think, the biggest opportunity overall to decipher, perhaps the most complicated, but perhaps the most complicated, but how do you generate more opportunities to take advantage of that Bitcoin liquidity through lending and borrowing protocols and models? And, from the ecosystem, you can see some of the partners; I think from the perspective of the hackathon here, some of the most interesting things are in the developer tools block here. We have compatibility with basically all EVM development platforms.

Well, Foundry, Hard Hat, that kind of platform along with third-party platforms you see here, Third Web, Alchemy, Coalent. After this, Sebastian will give a quick demonstration on how to use Alchemy. I think they were added so recently that we don't even have their logo here, but yes. And then yes, the development tools and libraries. Well, if you've built in EVM, you've probably seen some of these before.

But we also have a team here on site, so please come and ask us if there's anything you'd like to do. If you're not familiar with using these tools, come and talk to us and we'll be happy to work with you. And then, yes, why create on Rootstock? Well, besides the hackathon, these are the things you can see; after the hackathon, we have grants. Well, if you want to move your project forward, we have a grant program in place.

You can submit your project and apply for grants here. For this hackathon we have a couple of options. One is to search for the best DeFi DAP on Rootstock with a $5000 prize. We also have an award for the best developer comments, which you can check out later. You can also win some AirPods.

We also have the award for best use of the Rootstock blockchain. There are two prize options here. And the other reason or opportunity we have after the hackathon is what we call the hackavator. It's really about raising the question of, well, I started with Rootstock, it's great, I like it, maybe I want to take this project further, maybe I want to do something else, but to get involved in the ecosystem, provide support and things like that. So, we'll have a content contributor program as part of this.

This may involve sending pull requests to open source repositories we have, these smaller types of lifts, in what will eventually become an accelerator-type program later this year. But yes, come and participate with us. We want to support the projects and teams that are built within Rootstock. And yes, that was the trigger. And Sebastian will give us a demonstration here about Alchemy.

As you know, this is one of the many tools we have to build your projects. He will guide you through the control panel, you know, how to get the RPC node and how to find and use that URL in one of our starter kits. Okay, yes, we have all these QR codes in the presentation, you know, come find us if you need help, but I'll pass it on to Sebastian. Hello everyone. These are the demonstrations we will use.

In this case, we will review some very simple tutorials that we have on our developer page. You'll get an interface demonstration, which is a very easy-to-use tool for setting up a very easy and quick wallet connection with Rooster. We also have a hardware demo that can be easily used to deploy and verify your smart contract if needed. First of all , I'd like to ask how many of you are hackers and unfamiliar with Solidity, and who are familiar with interface integration and all that. Very good.

You'll find this at the end, or if you prefer, come to our stand later and we can share these links to make them very easy to use. The first one we'll review is the Hard Hat starter kit. But finally, we had a partnership with...let me look here, sorry, as Lansensate, we recently had a partnership with Alchemy. We are now included in their RPC API services .

So you can easily find this tool, which is very important for interacting with the blockchain, right? You can create your RPC API in just a few minutes and use it to interact with the blockchain. We'll see it in a moment. The only way to do this is to create your application here and go to the networks, and depending on the network you're going to use for testing, you can choose the one you need, right? So you just have to copy.

In this case, we will work on two different GitHub repositories as I told you before different GitHub repositories as I told you before . The first one is this, let me make it bigger, it's the Hard Hat starter kit. Here you will find some examples of smart contracts that you can implement in just a few minutes you can implement in just a few minutes . We have some common standards like 721 or ERC20 and let me show you an example. In this case, due to time constraints, I have already cloned this repository on my computer.

So, when you start interacting with it, you can run different command lines that make interacting with it easier. TRUE? For example, if you use this, which is a hard hat command, it will help you implement any smart contract you have. In this case, we are implementing an ERC20 standard in a very fast way. If you go to the code when you review it, you will find some implementation examples where you will see some of the constructor parameters or any configuration you need to do for this.

Correct? So, in this case, we will simply implement an ERC20 smart contract on rootstock testn net. To do that, what I did was take the alchemy RPC API for testn net and paste it here in my final file. Then, hardhat will take this RPC URL to deploy the smart contract on the blockchain. Correct?

So, when you put it here, you'll also need your private key. This. Don't worry your private key. This. Don't worry , this is a Bornet one, so there's no rush.

You'll need this information to implement and verify this smart contract and verify this smart contract , right? So, it's as easy as copying or pasting this command and you'll be deploying your smart contract. After this, you can simply run another command to verify the smart contract. In this case, since this contract is an ERC20, you can...you need to specify the command-line interface: which network you need to deploy on, what is the address of the smart contract you need to verify, what are the parameters for the constructor you use to deploy the smart contract to verify.

You know, if you 've done this before, this somewhat painful step in developing smart contracts is how you verify a smart contract. verify a smart contract. TRUE? These tools make it very easy to do. TRUE?

So in this case, you just run the command and, since it was already verified the command and, since it was already verified , you can interact with it. This is the first example. You'll find all the information in the hard-side settings. In this case, we used it for verification. This is a very important part of the tool.

The API URL used for verification. That's usually the point where it becomes very difficult to interact with these types of verifications. That's why we use a tool for Block Scout to perform these types of checks, which makes tracking much easier. Once you have your smart contract implemented and verified, the next step is front-end integration. There's a tool I love using called Rainbow Kit.

I don't know if you're familiar with it . It's a very interesting tool because it offers a great abstraction of how to communicate your front-end with your wallet, right? It offers you some very practical buttons like this one and provides you with this service. In the example I was showing earlier, we have another public repository called Rootstock Rainbow Kit, which is already complete with this example. You can check if it's public by noting that we have a branch called Main and another branch called Completed.

Then, in the completed example, you will find the complete exercise. Due to time constraints, in this exercise, I will only show you the completed example, in which a very important point is how to configure your network to work with your front-end, right? So, in your application's main file D, you'll find that it's encapsulated in a guacmi provider, encapsulated in a guacmi provider, right? And this one has a configuration file. Within this configuration file, you will find the general settings for Wagmei and Rainbow Kit to determine which network you will use to connect your application.

So here, using the WMI string library , you can find your networks, any network you need. For example, if you use rootstock, this will be the main network, and rootstock test net will be the one we use to connect to the test network. TRUE? This is an important point. Let me show you the application in action.

One second. This is the application. This is a very basic example of how to interact with your smart contract after implementation. The basics are how to read and write information in your smart contract information in your smart contract . TRUE?

That's the point at which every developer starts registering for these types of hackathons. We have these two functions and in this example I try to show two different ways of interacting with this type of function. One is called hook for re for react. I'll go there in a moment, but I'll tell you what the most important points are for this interaction most important points are for this interaction . In this case, the first one is the contract API.

You know that for every interaction you'll have to make with your smart contract, the front-end needs to know what you're calling, what the function name is, and what parameters you need to call. Here you will see that we are using two different functions we are using two different functions . Balance is the one that reads this and retrieves the user's balance, and the other is the mint function, which will mint tokens for the user's smart contract . Another important thing that we have coded here, but which you will normally put dynamically in some configuration file or in your N file, is the address of the contract where you implemented your smart contract, and within this part, as I told you before, we have two different functions. One is handle handle retrieve, which is the one we use to read the information from the smart contract.

This function uses the read contract configuration of a package called wagmi core. With this, you call a synchronization function called read contract and pass some parameters for configuration. In this case, I pass the contract address, the arguments, and the name of the function you want to call in this function. You simply receive and allocate the value you're retrieving from the blockchain, right? But for the correct contract, let me give an example here.

I'll glue it. We're going to mint another 100 in this case. I have this hash. I'll just check its status; It's pending, so in the meantime I can show it to you. This is another example of how to use these tools.

It's a big contract these tools. It's a big contract . This is a Guacmi link and this is a reactive function. You simply call the "big contract" function and read the status of that link. So, any time the data we call the hash here changes, you'll immediately receive a change in that state.

Therefore, you don't receive it as if you were reading the value right there, but you can use this variable `val v` only in your code; in this case, as we use it here, as soon as the variable changes, it will appear here in the function. So if you recover the balance again, you'll have five and you'll have to add your balance to your address. This is a very basic example of how to interact, and you can go to these repositories and use them or simply ask us if you need it. OK. Any questions?

Yes. So, in general, with Roottock, So, in general, with Roottock, do you use the same key system as Bitcoin or is it different? No, is it different? We are a Bitcoin sidechain. So everything is EVM.

You can create your wallets just like you do in Ethereum with MetaMask or another provider, and it's exactly the same, but they are not the same accounts as in Bitcoin. You can transfer your Bitcoin from Bitcoin to RTO because it is a paired token. Oh, sorry. The question was whether the wallets, whether the accounts work the same, whether it's the same Bitcoin account in RTOK, right? Yes, that was the question.

Sorry, I forgot there was another question. No, thank you very much. I hope that if you have any questions, you can go there and ask us. You can scan this code. If you're working on this, you can opt for these AirPods, or you can opt for the 500 we have for price tracking, which is very interesting for getting the best feedback we can get on the hack.

Thank you so much.

Automatic transcript — names and jargon may be misspelled.