BlockScout - The Ethereum Explorer by Andrew Cravenho (Devcon4)

Devcon 4 · 11 Dec 2018 · 6:26

Andrew Cravenho presents BlockScout at Devcon4 in Prague, an open-source block explorer for viewing transactions, addresses, and smart contracts across Ethereum and its compatible networks. The talk covers the explorer's role as an alternative to centrally-run blockchain explorer services.

Speakers

Topics

From Devcon 4, hosted by Ethereum Foundation.

Transcript

Hey everyone, I'm Andrew Cravino with POA Network. Uh I'm going to be talking about an app we've been building called BlockScout. Um BlockScout is an open source EVM blockchain explorer. Um it's currently live at blockscout.com. Um if you'd like to contribute to the project, uh you can do so at github.com/poanetwork/blockscout. All right, so we support um eight networks currently. Um most importantly, uh Ethereum mainnet. We also support the three testnets of Ethereum, uh Kovan, Ropsten, and Rinkeby. Uh Rinkeby will go live uh early next week.

Uh we had to make some customizations there. Uh we also support Ethereum Classic, uh POA Core, POA Sokol, and um uh Hard Spoon, one of our hard spoons of Ethereum mainnet, uh xDai Chain. We support uh Parity, Geth, and Ganache. Um we are working on the internal transactions for Geth, so that should be enabled uh late next week. Uh so why we built uh BlockScout? As a sidechain, uh we don't have access to, you know, uh Etherscan.

Um everybody knows and loves Etherscan. Um so we needed to change this. Um we're friendly to uh fork sidechains, private networks, um and we wanted to allow users of the Ethereum ecosystem to spin up their own full-featured block explorer um connected to their node, so they can check the balances um of their addresses. We thought it was very important for decentralization. Um here are some features of BlockScout.

You have the typical uh blocks, transactions, um everything you'd expect from a typical blockchain explorer. Um the exciting things happen when you get into block reorgs. We have ERC-20 and ERC-721 token support. We have contract verification. You're also be able to query those verified smart contracts directly from BlockScout. Real-time UI, API. So we have an Etherscan compatible restful API. So you could port your application from using Etherscan's API to using BlockScout if you chose to. And really exciting, we just added yesterday to master GraphQL.

Some GraphQL API endpoints which also includes some webhooks. We'll be building more on top of that in the next couple weeks as well. For development stack, we're using Elixir on the Erlang VM with a Postgres database. Erlang is great for running fault tolerant systems. So some other apps that use Erlang were WhatsApp and Heroku. So we thought it was a great choice for BlockScout. I want to talk a little bit about where we're heading and what we're doing right now.

We just launched a couple weeks ago BlockScout. So we're still indexing Ethereum mainnet and we wanted to provide better user experience such as like faster page load speeds, faster indexing times. When a block is mined, we want you know it immediately to be available and imported into BlockScout. So we're working on that. A lot of it right now is where DDoS-ing our own node. So we're building up more nodes on the back end so we can hit it a little harder. We're kind of we're uh reduced by 90% cuz we keep DDoS-ing our node with all the data on mainnet. So we're working on that right now. As far as our indexer, we've had many user requests to define a set of blocks

on any EVM chain and just index those. It's good for analyzing certain sets of data. We're also we have our best engineer working on geth internal transactions. So that should be available late next week. And as I mentioned before, faster indexing times. Block Scout comes with many customizable features. But if you're not familiar with the app, it's difficult to you know, find in the files where these customization settings are. So we're building a back end admin panel. Actually the admin panel is actually done. But over the next couple of weeks we'll be including all these configuration settings such as if you deploy Block Scout, you can change the CSS colors, the logo.

You're able to adjust how much memory you want the application to use. It'll just shrink any of the processes that are too large. It's just a small portion of the the available configuration settings you'll be able to change. We'll also be offering data export so you'll be able to download your transactions, tokens, your coin and token balance history. So you'll be able to do that very soon to CSV. Some other things we're excited about is we have our GraphQL. We think it'll be great for the Ethereum ecosystem to be able to utilize webhooks and other type of endpoints and use our data to build some some great applications.

We'll also have continued development around ERC-721 data attributes so users have better can analyze ERC-721 non-fungible tokens better right on the blockchain. And finally, right now we're working on internal I'm sorry, input data and logs decoding them by the contract ABI. So that should be finished late next week. But I also want to thank EthPrize for their both monetary contribution and their uh support.

If you guys have any questions, um I'll be around after. Um I'd be happy to answer them for you. Thank you.