#DappCon22 : Day 1 - Otterscan, An Open Source, Local Block Explorer For EVM Chains, Willian Mitsuda
DappCon 2022 · September 2022 · 19:31
Willian Mitsuda presents Otterscan, the open-source, locally-run block explorer for EVM chains he built, at DappCon 2022. The talk covers why running your own block explorer against a local Ethereum node matters for developers who want to inspect transactions without relying on centralized explorer services.
Speakers
Topics
From DappCon 2022, hosted by Dappcon Berlin.
Transcript
teach the parenting apparently otter scan is a what is it look Explorer it's a block Explorer but it's much better than this ether's gamut we've been using for a long time and so William will explain us why that's the case I guess right welcome sir thank you so hello my name is William and I'm going to present to other school so that is foreign your home
oops and that's it that's how it looks like however we decided to not just Implement another block Explorer we decided to take a different approach to how it's implemented it's implements like a real deck so in the process we could fix some of the issues that other block explorers have just well so let's take a look at each one of these issues first of all it is a classical guitar well we all want decentralization but
the inconvenience truth is that we are we like you know we all depends on a very centralized and closest search is of software other school relies on variable which is another type of load implementation that takes less than two terabytes of disk space and is able to synchronize the entire main net in less than one week and it also has a very importantly not same law but not so expensively harder requirements other skill is implemented as a simple
reactor so it collects two animals to get all data it needs so you don't need any additional software you don't need configuri external databases that's how you need and because everything is local authors can never goes down the only requirements here is to have is for you to have a working internet connection so your loads is always up to date with the rest of the network you should never shoot number two standard Json at C apis are not very good [Music]
I just said that our needs is a working area remote but that's not a complete truth the main issue here is that these standard apis are very limited you know they like a lot of features that we need to build up of Explorer for example there is no easy way to get out from the how transactions made by a certain address and this is just one of the issues that the community members have been complaining over and over so what did we do we implemented some custom apis inside the iPhone search and the good the good thing here is that
not only that anyone can discover customize the article nodes and make use of our apis so not only we spoke with our problem but also we contributed back to the equivalent so anyone can make use of things let's take a look at some some examples here here we have the OTS get Contract Creator methods it allows us to give in a contract address to get the others who created these contracts and also the transaction hash when it captured and it also works with the acquire
contracts another example is the code yes protection Network which is very self-explaining it allows us to get the error message given any failure transaction another issue is to certain we don't use code Source databases to make a block Explorer we need not only motion data but also we need for example token icons or we need to record four bytes method selectors
in this case we use and open source Cycles from first wallet's projects and we also use the four the open source for bytes databases from the project the economists even for Price conversion we we don't use closet Source data for press conversion we use all chain data directly from channeling to feeds such verification it was spotlight first verification we use search File
it's a good thing here is that not only we use developing verification data but also since we we help them to promote their project in the process we end up creating a positive feedback from between both projects here's an example we have here the these two deposit contracts certified publishes the verified metadata into ipfs and we take them and show in this fancy interface here we have the Nifty two deposit transaction
notice how the method the verified metadata is used to decode the transaction parameters and not all that but the nutspack comments are used to show human readable description for all the introduction parameters so wrapping up others come is a block Explorer that's implemented as a real debt it's fast it's private as a consequence of these those decisions it only depends on open data and supports public goods oops
everything is open source open source on GitHub so please go check out our project on GitHub please start our project to give some to increase our visibility also since others can realize every every relies on variable by using other screen not only you are using a referencing code block Explorer but also you are helping to increase the clients the diversification executive supplies diversification before finishing I'd like to attend the people from the airport team and our donors from Bitcoin Bitcoin brands for supporting our projects
then that's it of course okay if someone wants to see a demo please can reach me after the presentations I can collect my computer so I think it's better maybe later okay A little bit of stage frame in terms of demos yes Ah that's good no that's good they always found don't do that uh guys uh do we have any questions here great presentation this is an awesome project man I really appreciate it uh the decentralization part hi and how good is your nft integration
do you show them and do you have like apis for tokens and teas and so on it's still the world map we need to develop some indexes to index out this information and we plan to index erc20 nfts everything and then we display them with their face but first we will let them inside the airport thank you um can you just confirm the prerequisites so you'll need an archive note of Aragon um you need other scan and then there's another database so let's assume where
you create all these surgical indices based on the database of paragon yes you don't need any other database we use our information that is our active inside your catalogs okay but you don't need to like compute a whole bunch of other indices and foreign [Music] [Music]
not the archive note for now is enough yes thank you there is a question over here um so but you use anyone and all of the modular um thinking uh so you have your own singing stage if I remember correctly right a person we don't have custom stages but we're going to have some so in that situational information right now there are no no custom stages there are custom RPC letters uh okay okay do you need to pass something uh or as I
say because I haven't used uh understand for a month or so yes with kpi a fork of Ergo that has a very minimal patch but we we plan to eventually merge it Upstream but right now the code is not very I don't think it's time to to merge it because there are many many changes occurring inside the airplane self um I think this it is healthier for me to keep them separate in my own Fork yeah okay I understand thanks a lot thank you there was a question over here yes okay go for it just to continue what
you were saying so say I have a running erragon archive node do I and I want to use the auto scan do I need to rerun your Oregon or can I somehow use my testing yeah no you can just replace the air gun binary with the D1 from our fork okay cool yes here uh thank you for the projectile I like a lot of the idea and what what I have seen and one question regarding um more technical I guess you are using all the tracing methods to get the
information in place right and that's why I don't you don't have the for example drc20 because you don't index events for now at least uh one question is that um I guess you use a rhython because you depend on these methods but for example what would stop you for example producing nevermind that they also have this tracing stuff or open ethereum well it's deprecated now but they also have this tracing stuff in place uh sorry I couldn't understand could you repeat please oh yeah sorry I mean uh what stops you from using for example never mind this death of uh Oregon as they already provide these tracing endpoints the same trains filter Trace block and all this stuff uh there's some information that
is not available on tracing so we customize the Algos and it was convenient because I worked next to teaching they support me and so I I alright I'm used to their database model So in theory it could be those those custom apis could be ported through another other implementations like for example there is another client called akula I don't know if you are aware of that but they implemented the authors API so you are you are able to run authors come against akula yeah thank you very much thank you okay let's go here
my question was just answered no okay uh personally right oh you don't have the question anymore okay so there's a joke or something ether sent through like internal message calls are you like indexing these for a given address and did you need a new like Json RPC method for that uh with splitting on it in the interface when you get the transactional details so what we actually do is we we do a In-Place tracing so we we enter the page we run the trace we we get the internal transfers and first search the air going itself has this all of this information
already mapped so we just use what they have see thank you more questions I'm sorry if you said this but is there a URL where I can go to to just try out auto scan today and no because it's uh local first software so you have to install it in your machine but there is a sepolia that's not the instance it's a there's a public one on sepolia.hotorscon.io that you can try out on test match thank you do you want to do a little bit of a
product development here so what is what would be the most next important requested feature from the audience here what do you guys think what what do they need to implement uh have you ever thought about other chains also other chains yeah evm teams first starters of course yeah well I think this this is a question you should ask for the people from where you go because if Fargo implements other chains others come we work on that okay people from Oregon what's up with the support
BSC and polygon actually we are working with the respective team and so I think that auto scan could work with bscn polygon maybe there are some some trick to do but nothing too too hard to do okay so when then no no actually no no actually actually Aragon is working on yeah polygon so yeah I think other countries should work fine on the SCM particle right now the only challenge is to sink the entire chain which I haven't done because I
don't have this space there are very big chains but this is a little more right yes when I test yes it's enough maybe six okay a super huge yeah
and okay so there are plans for you know exchange or where are you going right [Music] noses those chain X die yes okay the next big one straight of course right all right um goes one goes okay um if you want to take other scan to the cloud not just leave it local what would be the challenge for you um I personally won't do that because currently it's not optimized for cloud environments so if you're wearing it
locally you can run heavy queries and you will only break your machine your own machine so if you share it on the clouds people could abuse it so it's not safe but eventually I plan to optimize it so it can be wrong on cloud public Cloud all right thank you are you working on it yourself like did you build the whole thing just by yourself did you build the whole thing by yourself yes oh wow Kudos man I don't know okay thank you guys thank you William thank
you thanks good job