A blazingly fast, local, Ethereum block explorer built on top of Erigon
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
dependabot[bot] 58cd221463
Bump @fortawesome/free-regular-svg-icons from 6.3.0 to 6.4.0 (#743)
16 hours ago
.github Change secret name 4 months ago
.storybook Add viewport addon 4 weeks ago
4bytes@5d2ef13a57 Update 4bytes submodule 4 months ago
chains@acaa12e2f6 Update chains submodule 4 months ago
docs Change customization method for local dev; use .env, avoid modifying versioned config.json 4 months ago
nginx Parameterize chain info using ethereum-lists/chains submodule 1 year ago
public Change the default beacon port to 5052 since our default CL client for tests now is LH 3 months ago
scripts Add support for custom image name (for local build, for ex.) 4 months ago
src Use the word 'difficulty' 2 weeks ago
topic0@bae46479a4 Update topic0 submodule 4 months ago
trustwallet@352a652a85 Update trustwallet assets 4 months ago
.dockerignore Add chain info to production docker image 1 year ago
.gitignore Add radicle ignores 8 months ago
.gitmodules Add ethereum-lists/chains submodule 1 year ago
.nvmrc Revert "Bump node to 18; fix#525" fixes #594 1 month ago
.prettierignore Apply prettier to entire project 2 months ago
.prettierrc.json Apply prettier to entire project 2 months ago
Dockerfile Revert "Bump node to 18; fix#525" fixes #594 1 month ago
LICENSE Initial public alpha version 2 years ago
README.md Clarify licensing after Otterscan API merged into Erigon repo 5 months ago
index.html Apply prettier to entire project 2 months ago
jest.config.js Apply prettier to entire project 2 months ago
package-lock.json Bump @fortawesome/free-regular-svg-icons from 6.3.0 to 6.4.0 (#743) 16 hours ago
package.json Bump @fortawesome/free-regular-svg-icons from 6.3.0 to 6.4.0 (#743) 16 hours ago
postcss.config.js Apply code formatter 8 months ago
run-nginx.sh Add BEACON_API_URL param 7 months ago
tailwind.config.js Tailwind 3 enables everything by default 8 months ago
tsconfig.json Remove react-scripts 8 months ago
tsconfig.node.json First working version using vitejs instead of CRA 8 months ago
vercel.json Trying to silence vercel... 1 month ago
vite.config.ts Fix URL with ENS name in vite; fix #557 2 weeks ago

README.md

Otterscan

An open-source, fast, local, laptop-friendly Ethereum block explorer.

https://user-images.githubusercontent.com/28685/124196700-4fe71200-daa3-11eb-912c-b66494fe4b23.mov

What?

This is an Ethereum block explorer designed to be run locally with an archive node companion, more specifically, with Erigon.

This approach brings many advantages, as follows.

Privacy

You are querying your own node, so you are not sending your IP address or queries to an external third-party node.

Fast

Since you are querying your local archive node, everything is fast, no network roundtrips are necessary.

Actually, very fast

This software was designed to be a companion of Erigon, a blazingly fast archive node.

Really, it is even faster

The standard web3 jsonrpc methods are quite verbose and generic requiring many calls to gather many pieces of information at client side.

We've implemented some custom methods at rpcdaemon level, less information is needed to be json-marshalled and transmitted over network.

Alpha warning

This software is in alpha stage, and for sure lots of features, error handling, edge cases are missing.

Be sure to check it often or send patches 😀

Why?

Current offerings are either closed source or lack many features the most famous Ethereum block explorer has, or simply have high requirements like having an archive node + additional indexers.

Otterscan requires only mainline Erigon executing node, patched Erigon RPC daemon and running Otterscan itself (a simple React app), which makes it a laptop-friendly block explorer.

Why the name?

3 reasons:

  • It is heavily based on Erigon, whose mascot is an otter (Erigon, the otter), think about an otter scanning your transactions inside blocks.
  • It is an homage to the most famous and used ethereum block explorer.
  • The author loves wordplays and bad puns.

It looks familiar...

The UI was intentionally made very similar to the most popular Ethereum block explorer so users do not struggle trying to find where the information is.

However, you will see that we made many UI improvements.

Install instructions

Here.

Contract verification

We make use of Sourcify for displaying contract verification info. More info here.

Otterscan JSON-RPC API extensions

We implemented new JSON-RPC APIs to expose information not available in a standard ETH node. They can be useful for non-Otterscan users and their specification is available here.

Kudos (in no particular order)

We make use of many open-source software and integrate many public datasources, mainly:

To the Geth team whose code Erigon is based on.

To the Erigon team that made it possible for regular humans to run an archive node in a retail laptop. Also, they have been very helpful explaining Erigon's internals which made the modifications Otterscan requires possible.

To the mdbx team which is the blazingly fast database that empowers Erigon.

To Trust Wallet who sponsors and makes available their icons under a permissive license.

To the owners of the 4bytes repository that we import and use to translate the method selectors to human-friendly strings.

To Sourcify, a public decentralized source code and metadata verification service.

To Ethers which is the client library we used to interact with the ETH node. It is high level enough to hide most jsonrpc particularities, but flexible enough to allow easy interaction with custom jsonrpc methods.

Future

Erigon keeps evolving at a fast pace, with weekly releases, sometimes with (necessary) breaking changes.

This project intends to keep following their progress and maintaining compatibility as the availability of the author permits.

Erigon itself is alpha, so I consider this software is also in alpha state, however it is pretty usable.

Also there is room for many improvements that are not possible in the current centralized, closed source block explorer offerings and the author of this software would like to have.

Licensing

This software itself is MIT licensed and redistributes MIT-compatible dependencies.

The Otterscan API is implemented inside Erigon and follow its own license (LPGL-3).

Getting in touch

Erigon Discord server

Our Discord server: https://discord.gg/5xM2q2eqDz

Otterscan also has a community channel under the "ecosystem" section of Erigon's Discord (invite should be requested).

Twitter

Official Twitter account: (@otterscan).

Follow the creator on Twitter for more updates (@wmitsuda).

Donation address

If you like this project, feel free to send donations to otterscan.eth or use our gitcoin grant page: https://gitcoin.co/grants/3224/otterscan