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

Loading player…

Blockscout Workshop - ETHGlobal Bangkok 2024

ETHGlobalThu, Oct 9, 2025, 12:00 AM

Join us for a Blockscout Workshop with Kirill Fedoseev from Blockscout. Blockscout is an open-source block explorer, an essential piece of infrastructure for EVM chains. Learn about various Blockscout features, modules and APIs that help developers build and ship faster, while enhancing end-user UX to be simpler, more transparent, and secure. ETHGlobal Bangkok 2024 was a 3-day hackathon that took place November 15 to 17, 2024, and brought together the most skilled 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

Hello everyone. My name is Kirill. I am the head of research at BlockScout. So, let's move on to the BlockScout seminar. So, if you haven't heard of BlockScout before, BlockScout heard of BlockScout before, BlockScout is the most widely used open source blockchain explorer for EVM networks, shard networks, mainnets networks, mainnets , developer networks, anything EVM related.

So, in this seminar, we'll talk about what BlockScout is and why it should be useful to you, why you should use it, why blockchains should use it. We will talk about the APIs available to hackers during this hackathon to be eligible for the BlockScout reward of 20 thousand. We'll talk about contract verification, which is also one of the requirements for receiving the hackathon reward, and then we'll talk about the reward itself in a little more detail. So, why should you use BlockScout? Basically, over the past few years we have seen a rapid growth in the number of networks launched.

Essentially, everyone is now running their own rolled-up package based on the OP stack, Arbitrum, and much more and much more . Everyone has testnets, developer networks have been expanded and closed. Basically, just this week alone we've seen a couple, I think, five network launches or something. And so for all of these networks, all of these networks, any network that is EVM-compatible and even non-EVM-compatible, you need some kind of block explorer. And, uh block explorer.

And, uh , there are a few proprietary solutions, but they're obviously too expensive for everyone to use. They are too rigid, too complicated to run. They cannot be quickly launched in a matter of hours. So, the only possible option that we see here is that there should be an open source blockchain explorer that anyone can use for free, that anyone can host for a small fee, but open source explorers are something that is absolutely essential in any blockchain in any blockchain space. So, BlockScout has been very successful in this journey and is now used by over a thousand different networks.

This includes all the different mainnets, devnets, testnets. Some of these networks are hosted by us, some by various other providers, data aggregation service providers, etc. And then, most of these BlockScout instances are self-hosted by the teams self-hosted by the teams that run the chains, the teams that run their data aggregation sequencers, and they run them completely free on their own infrastructure, in the public cloud, in the private cloud, and there are no restrictions on where you can use BlockScout. So, BlockScout is completely open source. It has a bunch of different open source components that can be customized, optimized, and configured to suit the specific needs of your chain.

It has a bunch of different models that can be turned on and off for specific chains to support user operations, indexing data availability, and so on. It's user-friendly, it's developer-friendly, it has a lot of contributors from the open source space, so BlockScout—it's interesting. So, now let's get back to the hackathon, the prize, and what you need to use during this hackathon to be eligible for the BlockScout prize. Let's start with the API. What BlockScout APIs are available to hackers, what they can be used for, and some different ways to use them.

We have a few different types, so let's start with the first one, which is the REST API. Essentially, we have this public Swagger on every BlockScout instance, you can view a bunch of different endpoints of the rest of the API. Essentially, all of these endpoints are what power the Blockscout interface itself. So Blockscout interface itself. So , all the information you see in the Blockscout interface, such as address information, transaction count transaction count , the transaction list itself , the source code of a specific contract, various token transfers, NFT transfers, and basically anything you can find in the interface, is all obtained through the Blockscout REST API, and you can use the same information you see in the interface by searching and finding the appropriate API from the list.

And then if you like a slightly different format, you don't like REST APIs, you can use virtually the same data and query it through the GraphQL interface. So, among those REST API endpoints that I mentioned on the previous slide, one of the latest additions to that list was the transaction interpretation endpoint. So, essentially, it's a simple endpoint available in most Blockscout instances that allows you to pass a random transaction hash of an existing transaction on that network, and then Blockscout will collect a bunch of different data about those transactions, what happened in them . This data will include some raw low-level information, raw information, as well as decoded information about logs, token transfers, the so-called smart smart contract method. And it will use the LLM model to aggregate all of this data, categorize it, and try to interpret that transaction in an easy-to -understand format that can be displayed to the user in a few lines to give them an idea of ​​what actually happened inside those transactions.

So, was some token or NFT minted, transferred, maybe something was burned, maybe something was burned, maybe some tokens were exchanged, or just a random undefined method was called for a specific contract. So what this API ultimately does is you give it a transaction hash and it outputs you one of the templates from a fixed set of templates that we support and have. And then it gives you a template line that you can see on the slide. And then the variables you have to fill this template with, such as token name, token quantity, NFT ID, etc. NFT ID, etc.

So, if you want to display some transaction summaries in the UI or something like that, you can use the Transaction Interpretation REST API and the BlockScout microservice for that. So, the second API model we have in BlockScout is an RPC-compatible API. Essentially, this is an API that you may be familiar with from other researchers. So, many different researchers support this API format. So if you have some library that works and uses this particular API format and you don't want to rewrite it to make it work, you just want to use it as is, or you're just very confident in using this particular type of API, we support that too .

You can use it to query almost the same information that is available through the REST API, but in a slightly different format using different API query parameters, but again , it's just a different interface. You can query all tokens, token transfers, logs, account information, blocks, contracts, transactions, whatever. And the last API we have in BlockScout is a JSON RPC- BlockScout is a JSON RPC- compatible API. Essentially, it's the same API that you use when connecting to a JSON RPC endpoint, but here we support almost all the JSON RPC methods of the ETH namespace, and, um ETH namespace, and, um , it's best to use it for this API in your frontends, in your dApps, as a fallback to your existing JSON RPC provider. So, if you're using Infura or something similar, you can add it to the end of the list as a second fallback JSON RPC provider on the BlockScout JSON RPC endpoint, and your app will simply run more fallback.

It will be more accessible and will use an additional source of information to query its data if the first one fails , does not respond, times out, or something happens. So, that's pretty much it for the available APIs. Now let's talk a little about contract verification contract verification . So, the idea behind contract verification is that we try to verify contracts verify contracts available on the network in bytecode format. We try to match them to the specific source code you used to compile and deploy that bytecode.

So the way it works is that once you have untested untested bytecode on some of the networks that we support, you can go through the UI or through the various command line interfaces that we support, which I'll talk about a little bit later, and you just send the source code files, specify the settings that you used to compile, such as the Solidity version, the number of optimizer runs, and so on. And then the BlockScout backend will compare... It will recompile the source code you provided and compare whether the bytecodes match bytecodes match what we saw in the chain. And if so, you'll see that nice green check mark in the BlockScout interface, and the UI will let you know that the contract is now verified. You will be able to view its source code, interact with it using programs to read and write contracts, and so on.

So, in fact, in many cases, BlockScout can automatically check and import some contracts that it has already seen in the past on the same BlockScout instance at a different address. For example, if you deploy the same contract multiple times just to test it over and over again, there is a high chance that these contracts will be automatically verified because the bytecodes are identical, and if you verify the first one, the second and subsequent ones will be verified automatically. Then we will be able to import identical contracts also from other BlockScout instances connected via the BlockScout bytecode database. We will then be able to automatically import smart import smart contracts from other source code verification service providers, such as Sourcify. And then, in the future, this source code import will also be available.

You will be able to directly import import any verified contract that has contract that has ever been verified on other networks through another block explorer. And all of this will work through the verification alliance initiative, which is that we want to create a common database of all the verified contracts, and we're working on this with a number of different partners, routes can do tender supply and do block exploration. So it will happen very soon. And if your contract is being deployed for the first time is being deployed for the first time , you will have to perform some manual actions to be able to test it. So, there are a few ways to do this.

The simplest way that works best for a small, for a small, single- file smart contract is to simply go to the block explorer interface, click a few buttons, fill in a few settings, submit, copy and paste the source code, and verify the contract through the interface. So, this works best for the simplest contracts and for Viper contracts. You can then create your own verification pipelines using BlockScout's raw API for verification. You can verify using any verification plugin, such as Sourcify, and then import the contracts into BlockScout. This also works well.

You can use some automation tools or frameworks to test and automate your validation tool. So, if you are confident in using Foundry, there is a checkbox for this to automatically validate your contracts using the Foundry CLI. The same goes for Hardhat, or you can use some automation tools like Catapulta to automatically validate your contracts in multi-chain deployments. And if you want to learn more about the Verifier Alliance initiative, please scan the QR code and follow the news, join and yes, see what's happening there. And the last point I want to talk about regarding contract validation contract validation is that we also support a number of different proxy patterns.

So proxy patterns. So , proxy templates are a very common way to deploy contracts nowadays. So when you want to do some things to upgrade or reduce the volume of your smart contracts on- chain to reduce fuel costs, etc., that's a typical use case for a proxy. So, there are different types of proxies that we support.

There are fixed, minimal proxy standards proxy standards , there are some storage slot-based proxy standards that place the implementation address under a specific slot, and there are several others, and we support them all. The BlockScout UI will automatically detect, so you don't need to press any buttons to detect this proxy, it will be automatically detected automatically detected as soon as someone opens this contract in the BlockScout UI, and yes, we will conveniently show the type of proxy detected. We will also allow you to interact with the underlying implementation directly through the user interface when you navigate to the proxy address. So now, if you can pay attention to our reward. So our reward.

So , we have a very simple reward during this hackathon. So, essentially, that's 20 grand off the pool price, and that's it. And we're going to divide it equally between all qualifying projects and teams that meet the following requirements. Basically, depending on what you create or what projects, we understand projects, we understand that everyone has their own requirements, their own needs. Some teams have smart teams have smart contracts, some don't.

Some need APIs, some don't. So, just try to use BlockScout as much as possible throughout your project. If you have any smart you have any smart contracts, check them, make sure they are verified in BlockScout, try interacting with them using BlockScout. If you need some data, such as token transfers for a specific address, use the BlockScout API to query it. If you have links from your decentralized application to transactions on the network that your user has sent via an on- network wallet, you can place a BlockScout link on them after sending the transaction.

If you would like to include your decentralized application in the BlockScout decentralized application marketplace, which is a decentralized application marketplace for many different networks, you can also fill out this marketplace submission form. And, basically, the most important requirement after that is that we just want to see how you use BlockScout in your final presentation. Either it'll be live in front of our table, or when you're recording a video, just remember how you're using BlockScout using BlockScout , interact with BlockScout as you go through, and, uh, show the judges a bunch of different transactions. So, just show how you use Blockscout in your final presentation, and that's it. Well done, young people.

You are qualified. You will definitely get a share of this 20 thousand prize. So, this concludes the master class. If you have any questions, please ask please ask . Otherwise, happy hacking.

Join our communities. And if you have any questions after this workshop, please come to our booth, or if no one is there, please ask them on Discord, Blockscout's global partner.

Automatic transcript — names and jargon may be misspelled.