Many development teams put a lot of work into preparing ICON 2.0 for launch. Goloop was designed by ICONLOOP, but that was just the start. Preparing the mainnet for the upgrade was a monumental task requiring many months of work.
One important task that can not be overlooked was building the new blockchain explorer for ICON 2.0. P-Rep team Geometry Labs took charge of this project — we interviewed the team’s CTO to learn more about their involvement.
What’s a blockchain explorer?
The explorer is the main gateway to seeing events and data on the blockchain by inspecting a transaction or seeing votes for various nodes across the network. Users of Ethereum might be familiar with Etherscan, which is the explorer for that blockchain. Geometry Labs is working towards building an even better explorer for ICON with a public API that others can build on as well.
On building ICON Explorer 2.0
Geometry Labs did not build the original explorer, but they put a lot of thought into how the new one could improve on the older design.
“The majority of the work went into rebuilding the backend. But seeing as how we did that, we also had to rewire the frontend,” said Geometry Labs’ CTO, Rob Cannon. “Our new explorer features page load times that are much faster — basically instantaneous.“
The whole backend is built on a microservice architecture. This breaks the blockchain down into different domains that represent different activities. Domains include: blocks, transactions, logs, addresses, contracts, governance and metrics. Using this architecture, developers will be able to integrate a variety of data that they would otherwise have to build their own bespoke solution for.
“What’s cool is that all the data that drives the explorer is now public,” Cannon said. “Anybody can query it. There’s a rich API that offers query parameters for numerous logical use cases where you need to filter things such transactions or logs to or from any address.”
All the source code is public, and can be downloaded here. Currently the priority is getting a stable version running in production but developers are welcome to make contributions to the source code which they can run individually on their own.
Regarding programming languages, all of the explorer’s core services are written in Go, while specialized services such as contracts, governance and metrics are written in Python.
There are assuredly many more details that developers will want to learn, such as metadata associations for smart contracts and websocket support for real-time data streaming from the blockchain, but this is all far beyond the scope of an Iconist news article.
Geometry Labs just finished up their milestones for their grant from the Contribution Proposal Fund (CPF), and are now looking to move on to a new project. Being off-chain data analysis specialists with extensive experience in DevOps, the team was an obvious choice to handle a project as complicated as the 2.0 blockchain explorer, and they hope to find another project with similar challenges to tackle.
“We’re looking for ways to extend the architecture and apply it to different parts of the ecosystem. All the different P-Rep teams need something like this,” Cannon said. “I feel that the best way to help the ecosystem is to find the one problem everybody has and build a solution that everybody can use.”