Skip to main content

How to Run the Expedition Block Explorer for Ethereum

Created on
Updated on
Nov 26, 2024

3 min read

Overview

When exploring and working with the Ethereum blockchain network, a developer might find themselves needing to look up transactions, tokens, addresses, or prices. An Ethereum blockchain explorer, a useful, beginner-friendly tool used to analyze various blockchain data, would be the ideal solution for this. It can be used by both developers and regular users and can help reduce the development time for building on Ethereum.  

In this guide, we will walk through how to install and run the Expedition Ethereum block explorer locally. Let's get started!  

What is the Expedition Ethereum Block Explorer?

Expedition is an open-source block explorer for Ethereum created by Etclabs team. It is built on a variety of other open-source items, including Jade Service Runner for managing background services (Multi-Geth) and OpenRPC for underlying functionality. If you have a node endpoint, you can run Expedition directly. 

Expedition does not use a database and can be configured to point at any remote RPC node for any EVM-based network. We can look forward to these features once everything is set up:

  • Display chain id
  • Node Syncing status
  • Runtime configuration for endpoints
  • Search by Block, Transaction, Address
  • Charts for the hash, transaction count, gas used, uncles
  • Preview latest blocks with pagination
  • Multi-language support

Before proceeding, please make sure you have the following installed on your machine. If you don't, follow the help links to get set up:

  • NodeJS installed  [help]
  • Git installed  [help]

Install Expedition Ethereum Block Explorer

As mentioned earlier, Expedition doesn’t use any database, so we can simply clone it and run it using our QuickNode URL. We can install Expedition using git and npm installer of Node.js. You can simply copy the below in your cmd/terminal:

$ git clone https://github.com/etclabscore/expedition.git && cd expedition && npm install

Above, we are first cloning the Expedition file from GitHub. Then we're changing the directory to expedition and finally, we're installing expedition using npm.

You might encounter errors such as 'HTTP' request fatal' and this might be because of the git version installed on your computer. Ensure that you have the latest and most stable git version. Additionally, make sure that you copy the exact link because these links are case-sensitive in git.

The most common issue at this step is an internal failure with node-gyp. You can follow node-gyp installation instructions here if you run into it.

Note: You will need to have your python version match one of the compatible versions listed in the instructions above if you encounter the node-gyp issue.

Set Up Your QuickNode Endpoint

For our purposes today, we'll need an API endpoint to connect with the Ethereum main network. You're welcome to use public nodes or deploy and manage your own infrastructure; however, if you'd like faster response times, you can leave the heavy lifting to us and sign up for a free account here.

After you've created your Ethereum endpoint, copy the HTTP Provider link on the left-hand side and save it. We'll use it in the next section. 

Screenshot of Quicknode Ethereum endpoint 

Running Expedition

Now, we're ready to run our Expedition explorer. Use the following command to run it locally: 

$ REACT_APP_ETH_RPC_URL=ADD_YOUR_ETHEREUM_NODE_URL npm start

Make sure to replace the ADD_YOUR_ETHEREUM_NODE_URL with the HTTP provider from the instructions above. 

This will start the explorer at https://localhost:3000/. You can view it in your browser and see something like this:

Voila! You now have the Expedition explorer running locally on your machine. 

Conclusion

Great work! Within just a few minutes, we were able to host our own Ethereum block explorer with QuickNode and Expedition. Since Expedition does not use any database and does not pull data in real-time, there is no maintenance cost.

We ❤️ Feedback!

If you have any feedback or questions on this guide, let us know. We'd love to hear from you! Feel free to also reach out to us via Twitter and/or our community server on Discord.

Share this guide