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

Loading player…

Blockscout Workshop - ETHGlobal Brussels 2024

ETHGlobalWed, Oct 9, 2024, 12:00 AM

Join Kirill Fedoseev from Blockscout, for a workshop about Blockscout, 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. This workshop took place during ETHGlobal Brussels, a 3-day hackathon held in Brussels, Belgium from July 12 to 14, 2024. ETHGlobal Brussels 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: x.com/ethglobal Website: https://ethglobal.com Email us at: hello@ethglobal.com

Transcript

[Music] good hi guys welcome to blog Scout Workshop my name is k I'm head of resource and an engineer at blog Scout so if you haven't heard of blog Scout before block Scout is an open source blockchain Explorer for evm networks rollups hundreds of them so the agenda for this Workshop is just a couple of slides why and what is block Scout and why it's important to have something like that and then we'll just go through different things you can use in this hackaton blocks Scout for different apis contract verification and most importantly how to win money in this hakon what's our bounty we believe it's the easiest Bounty throughout this hakon so thank you for coming just uh yeah should be pretty easy to get a part of it so couple of slides about why something like dog Scout is very important uh to have in the industry in the space so in the past couple of months and years we have seen this rapid growth in a number of evm compatible networks rollups with the advancements in the rollups like op Tech arbitrum Zig sync and stuff like that it's become super easy super cheap to launch your own rollup to launch your own evm and then there are just multiple rollup is a service provider who does that for you with just one click of a button you can get in a few minutes your own rollup for devet testet or for even Manet purposes and to use it for whatever specific app requirements you have build your own app chain on top of it and so in this scheme where you can launch your own rollup within minutes it's really important to have also for each of those rollup you need to have some interface some block Explorer to explore what happening on this rollup to explore your transactions your advices the talken movements Etc and so it's really it's really evident that no proprietary or close Source solution will be able to catch up with this open source movement and so you won't be able to ever launch a Clos Source solution in couple of minutes but you can do so with blog Scout maybe not in minutes but in couple of hours for sure if you're doing it for the first time you can launch the blog Explorer for your own newly launched trups or there are also roll up as a service provider or ourselves we are providing the service as well for hosting the open source Explorer for you so what's the state of block Scout today block Scout is the number one most used open source not just open source but most used the blog exploring the number of networks it's really hard to keep on on updating these numbers because the networks are getting launched and turned off each day in tens or even hundreds and so so what's just some bullet points about the blog Scout success in this landscape so blog Scout is fully open source on the backand side on the frontend side it's fully compatible with all of the popular rollup um families like op St arbitrum cync Etc it's fully compatible with the evm mainnet if main at one specification we have a bunch of different modules like ens support or different other ens Fork support on different networks depending on what's important here and there we have some specific modules for supporting account abstraction for supporting data availability and blops um and a lot of different other modules you can turn on and off within the block Scout instances block Scout is user friendly it's simple to use it's very natural and especially when you see it on these hundreds of networks users are becoming very familiar with its interface so it's becoming easy to just use Blog scouton the new new networks as well because you have seen it on the past uh in other networks tens of times already so now about what we have for the haon so basically okay let's talk through the block out apis that you can use for the hackaton which is um basically one of the way you can apply for a bounty um we have I think I should have a separate slide we are okay so yeah we have a bunch of different apis for the blog Scout you can use within your build one of them is the rest and graphql compatible API so that that's the API itself that is powering the open source block Scout UI so whenever you see something happening in a block Scout UI like different transaction information block INF for toking transfers for account abstraction data that's the same data can be extracted through this uh UI specification we have all the docs of course in the swaggers so you can search through them and so if you want to get some specific part of the block Scout data you can find in our UI you can also incorporate it easily within your builds as well just by finding the respective method in the rest API and uh use it right away and the same stuff applies for the graphql which is just slightly different format from the rest uh API standard if you're more familiar with it you can simply use it as well no problem at all then the second piece of the API we have at block Scout is an RPC compatible API which is designed to simplify the transition to block Scout from other potentially close Source block explorers like e scan or other so here we have this bunch of different modules basically it's the same API as the rest API but it's in a different format which is fully compatible with the eer scan other close Source blog Explorer so if you have some library that you using using for the block Explorer interaction to fet some data to do something to find some information or if you already have have some code interacting with the block Scout through through interacting with the block Explorer by using some sort of this API you can just replace the link with the specific RPC compatible API from blog Scout and it will be fully it should work as good as on any close Source block Explorer here as well and then the other solution we have at block Scout is then basically an Choice owner PC compatible API so if you're familiar with all the methods that is uh that are available on the low level of the Chon RPC of the particular evm node implementation then you pretty much get all of this method for getting the logs balances transaction data block data in the juston RPC format and these apis are typically available through the dedicated just RPC providers like infura anchor Alchemy or something like that but we at blog Scout also are able to use our own infrastructure for hosting this data and to we are actually trying to expose the same data through the same compatible API as well and the best use case for it and also the way how we use it in our own UI is as a fullback option for the existing just owner P provider for example here you can see the example for the popular vagmi uh UI Library basically to how to configure the fallback provider between multiple rpcs you can put your injected wallet then some public RPC provider and if something happened to both of those in the end you can also put the followback provider to the blog Scout so that your API and your UI some more robust more redundant or available regarding of what's happening on the on the network level then a bunch of other stuff we have at block Scout is related with the contract verification so just um contract verification is of course a really important topic for the developers and it's really important topic for the security perspective of the evm space so just to give you a few words how the contract verification Works in general is that whenever you're trying to match the certain deployed contract that is currently unverified you are submitting the source code that you used originally to deploy this contract and we recompile it on our own infrastructure with the specific compiler settings you choose like the version optim Optimizer settings specific Library addresses you used and then we basically match the bite codes together and if you get a 100% match then we just put this screen tick in the block Explorer and put the source code and then you're able to interact with the contract through the ABI and this read and right contracts and um review the source code for your own contracts or the contracts verified by other um on chain users so in Block scow the way it works is that in many cases we can also automatically import this Force code from different thir party platforms if the contract is already verified for example if we are able to match that a duplicate contract with the same source code with the same right code already exist on the same blog Scout instance there is a good change there is a good chance it will be automatically matched and verified without any user action needed then we able to do the same with sourcify and uh they share block by code DB database which is sharing this by code and source code information across different block Scout instances so if you're able to find the already verified contract on some other block Scout instance on sourcify there is a good chance it would be automatically imported without any manual Source cost Mission requirement and then one of the other features we are currently working on is called the verifier Alliance which basically A step above on top of this BL c b code database and there the idea is to connect not only open source block Scout instances we are hosting somewhere but also to invite and connect other source code providers like tenderly other block explorers for different analytical tools where you have here and there different forms for submission of contract source code here the idea is to combine them in a single database in the uniform format and so whenever whenever contract is verified somewhere it's immediately getting available for interaction or for analytics in all connected partners and their platforms so if you have if you want to know more about verifier Alliance feel free to join the telegram Community for further updates on that matter so if none of these automatic ways for the contract verification work then unfortunately you have to do something for the CLA or manually through the UI to verify your contract so here we have a bunch of different ways how you can verify and submit your contract information to the block Scout basically they do the same thing but in a slightly different matter and they slightly better in certain use cases and so it's better to use some ways than the other for some particular use cases so first the simplest way and it's probably the best way to do the contract verification for small and very simple contra contracts potentially consisting of just one file with a few lines or the best for the Viper contracts which is a second popular nonsol solidity alternative for evm contracts is to submit the contracts through the block Scout UI just pick the settings you used for the contract compilation like the optimizer runs the compiler version copy paste the source code and click verify and after a few seconds the contract will go through then there is a way to verify it through the different Automation and custom verification logic if you have some custom deployment pipelines custom deployment scripts then you you can incorporate the block Scout API for the verification directly so that through API methods that you attach the source code exactly in the same way as you did in the UI put the all the compilation settings and just make an API call instead of clicking the buttons in the UI then one of my popular ways is to go through cify so you can verify the contract there if it's not verified and then automatically imported block Scout so that's also a quick way to get Contract verified in multiple places at once then there is some third party tools that support the block Scout verification like catapulta which is basically I think the best way to proceed with the contract verification if you have some really complex deployments consisting of huge number of contracts across different chains and you just don't want to do it manually these tools make it easier and faster to just optimize this across different chains explorers Etc and the last is probably the most generic way to approach the contract verification is to use the our Integrations with The Foundry or hard head which I believe are currently two most popular developer Frameworks for solidity contracts and so there through just specifying a couple of CLI options and uh pointing the developer framework to the concrete block scouting instant FAL it will be also relatively easy to automatically verify the block Scout contct whenever you're using those tools to write the deployment or deployment scripts basically and then one of the other features we have in blog Scout is support for different proxy patterns so proxy patterns is very popular way to write and deploy contracts within the solid landscape so we have this huge number of different standards uh we support minimal proxies different proxies based on the specific storage slot parameter AI method based proxy and Diamond proxy custom proxy imp implementation for example agnosis safe so if you're using any of these proxy formats it also should be automatically verified within block Scout whenever you verify both the the proxy contract itself and the implementation and the block Scout will link those contracts together and and simplify how you can interact uh on the contract page with those kind of contracts so now the to the good stuff so basically what we have for the Bounty is our Bounty is very simple very straightforward we just have this pull price of $20,000 for all projects that successfully use the block Scout throughout the builds so basically if you just use the blog Scout as a way to link user to the blog Explorer for their transaction that they made through your D app to the contracts they interacted with to their address profiles or to something else then you qualify if you verify your contracts in the blog Scout and show it to us during the presentation that also make you qualify if you use any of the above mentioned apis like the rest RPC graphql or just put the CH on RPC fullback API for the blog Scout you also qualify and also as an optional bonus you can also prepare and submit your DB um in the DB Scout Marketplace which is DB Marketplace in the block Scout so this would just allow your doob to be available to more users through the blog Scout Marketplace and then the most important St of all you just need to show how you use blog Scout and how you Incorporated it during your presentation to be 100% eligible sorry you need to meet all requirements or one of it's important to meet one of the first three and then of course to show it to us and to specifically clarify it in the project and Mission how used to show the screenshots or even better to show during the live demo then you can be 100% sure and these Bounty will be split among all of the qualified project so we have like 20 of them then each one receives a th000 um yeah and as one more more bonus for what happens with blog Scout after the hackaton we're also starting up and booting up the ambassadorship program for Block Scout and recruiting different ambassadors for creating social media content for representing block Scout in your local communities for participating different events as part of the block Scout brand so if you are interested in something like that and you want to apply and potentially also earn some money for that please fill out the form and we'll get in touch very soon after the hackaton with the more details on on that matter so that that was pretty much it happy hacking and if you have any more questions please feel free to [Applause] ask yeah so the question is are we happy with using Elixir yeah block Scout is open source and it's um currently consisting of two main parts the core back end which is written in Elixir and we also have a bunch of microservices written in Rust and then the the front end is written on next CHS and react so are we happy with using Elixir I think uh yeah why not Elixir is a kind of unusual language of course and you don't meet e a lot and uh maybe for someone it makes it harder to contribute but at the same time also it make it makes blog Scout unique makes it interesting for the lot of developers to look through its codebase to learn something new it's interesting to just nobody wants to contribute to another JavaScript project sometimes but when you see something Elixir that maybe makes it more interesting to you as to contribute something so yeah I guess we are still happy yes uh yeah the question was about the is API export is the API display some information about the tags on the addresses uh the answer is yes we have the API and the micros service for tracking different Texs related to the different addresses we have an service responsible for Linkin addresses with the ens and alternative name service providers so you get those Texs as well but uh yeah for stuff like binance addresses whenever something is labeled somewhere and we imported it yeah there is API for that so is the service of scout only and uh having some on system set up no um there is no requirement to set up your own block Scout or whatever we have like these hundreds of hosted instances of block Scout that hosted some of them are hosted by us around like 50 of them some of them are hosted by rollup as a service providers or the teams as well so unless you're planning to launch your own rollup throughout this uh hackaton then of course you can spend some time to launch the blog Scout and we can help you with that but if you're using the existing chains then there's no need to do that okay there are CH we can just use yes yes for most of the popular chains and rollups optimism main at testet base polygon every every one of them has the block code instance okay I yes we are done thank you very much Happy haing [Music]

Automatic transcript — names and jargon may be misspelled.