Day 10: Explore the blockchain with Etherscan, Zapper, and Zerion

CORE CONCEPTS

Today we won’t perform any transactions. Instead, we’ll explore several popular tools that work with public transaction data on the blockchain. We’ll also learn a bit about smart contracts and the concept of composability, one of Ethereum’s killer features.

Smart contracts as Lego blocks

In web2, code and transaction data are the valuable intellectual property of software companies. It’s not possible for a Walmart developer to clone Amazon’s fulfillment software. It’s not possible for an Expedia customer to see what other people paid for the same air ticket. Such information is private and closely guarded.

In web3, it’s the opposite. Code and transaction data are public. Anyone can view the source code of a smart contract. Anyone can also freely borrow, modify, or build on top of that smart contract.

In this way, smart contracts are like Lego blocks: you can compose them anyway you want, to build whatever you want.

Composability enables developers to create new projects and applications without having to code everything from scratch. It has led to what is affectionately referred to as a “Cambrian explosion” of new ideas, dapps, and tools that have imported or forked popular smart contract implementations.

Composability also creates strong incentives for collaboration rather than competition. If a company (or DAO) gets too big or greedy, a new company (or DAO) can quickly deploy a competing product. This trait, which is hardcoded into Ethereum’s DNA, is producing entirely new ownership and fee structures.

Vitalik, one of Ethereum’s creators, even posited that organizations with a large market share should keep raising fees until they start losing market share.

We’re not developers, so we won’t go much deeper into the details of how all of this works behind the scenes. Still, it is important to underscore that the concept of composability is one of Ethereum’s most important innovations.

Etherscan

As discussed in previous sections, all Ethereum transaction data is stored on a public ledger. Anyone can access and read from it.

Etherscan is a block explorer and analytics platform that makes it easy to access this data. It essentially works as a search engine so users can find and analyze transactions on the Ethereum blockchain. (Polygonscan provides a similar service on the Polygon network.)

We’ll do a quick tour of Etherscan that covers:

  1. Searching and lookup up an ENS name
  2. Viewing the smart contract that was used to register the ENS name
  3. Viewing all the gas fees spent on registering ENS names
  4. Looking up the ENS names registered most recently
  5. Picking a random ENS name and seeing what else its owner owns

Get started by going to the Etherscan homepage and entering your ENS name in the search box. You can do this from any browser - it doesn’t need to be your MetaMask enabled browser since we won’t be performing any transactions today.

Search for your own ENS domain name
Search for your own ENS domain name

Once you’ve searched for your name, you should see a result that is similar to the one below. (You can also use my ENS name 14days.eth if you want to follow my steps exactly.)

This screen should be familiar. It shows the resolved address, registrant and controller of the ENS name all mapping back to the same public key address.

Now scroll down to the bottom and click the link in the transactions field. This will pull up information about the smart contract that performed the registerWithConfig transaction.

Click on the transaction link
Click on the transaction link

The next set of results allow us to learn more about the transaction that ENS performed when we registered our domain name. You should see a results page that is similar to the one below. It includes a timestamp as well as information about the non-fungible token (NFT) that was minted when we registered our ENS name.

We can even inspect the smart contract that facilitated this transaction. Click on the link that is next to the word “Contract” in the Interacted With (To) row. This will pull up the ETH Registrar Controller contract.

Click on the smart contract link
Click on the smart contract link

After clicking on the smart contract link, you’ll see a table of the most recent transactions that have used the ETH Registrar Controller contract. This is a public log of all the times that a function within the contract has been triggered.

We can also view the source code of the smart contract itself. Click on the Contract tab at the top of the table (or click here). It should bring up the following screen, including the latest source code.

Select the Contract tab to view the smart contract's source code
Select the Contract tab to view the smart contract's source code

We won’t be performing an audit of the source code. But any developer who wishes to inspect or use the source code can do so freely.

Once again, it is extremely powerful to see all the transactions that use this smart contract as well as its source code. Imagine being able to inspect an airline’s pricing algorithm AND see the most recent transactions that rely on that algorithm?!

We can view other analytics about the smart contract, too. Click on the Analytics tab and then the TxnFees button. This will pull up all of the gas fees associated with this smart contract. (Click here and then the TxnFees button if you're lost.)

This analysis shows that users have spend more than 22,000 ETH (worth $70M at the time the transactions occurred) using the ETH Registrar Controller contract. Yep, it’s a very popular contract!

Analyze the cumulative gas fees of the smart contract
Analyze the cumulative gas fees of the smart contract

Now, lets backtrack a bit to the results we pulled up when we clicked on our transaction. Hit back a few times on your browser to get the screen below and then click on the link right next to words “Mint of” in the Transaction Action row.

If you’re lost, either repeat the steps at the beginning of the exercise (search for your ENS names and then click on the transaction link) or just skip ahead and click here.

Once you’ve clicked the link, you will see information about the Ethereum Name Service (ENS) token itself.

Click here to view more information about the ENS token
Click here to view more information about the ENS token

This page shows all of the transactions involving an ENS non-fungible token. You should get a list of the most recent transactions, similar to the one below. The actual transactions, however, will be different.

It’s a long list -- more than 3 million transactions. If you click the Holders tab, you’ll see that there are over 400,000 unique wallet addresses that hold an ENS NFT. And if you click the Inventory tab, you’ll see a snapshot of the 10,000 most recently active tokens.

View the latest transactions that involve an ENS non-fungible token
View the latest transactions that involve an ENS non-fungible token

Go back to the Transfers tab, then click View NFT for one of the transactions. I pulled up the 5th one down on my list -- a transaction To and account named “elnft.eth”. Here’s the NFT that this user just minted.

View a random NFT that was just minted by the ENS contract
View a random NFT that was just minted by the ENS contract

Finally, if we want to keep exploring, we can click on the Owner link (elnft.eth in my case) and see what else the owner is doing. You can see this person is a pretty frequent user with more than 200 transactions and a variety of different transaction types.

Explore another user's transactions
Explore another user's transactions

Feel free to keep exploring!

You can also explore the Polygon network with a similar interface, using Polygon Scan.

Zapper and Zerion

We’ve used Zapper in previous sections to bridge and swap tokens. It also provides a handy dashboard of what’s in our wallet.

To display what’s in our wallet, Zapper is tapping the same public ledger that Etherscan is accessing. We don’t even need to connect our wallets to view this type of info!

Whereas Etherscan offers a sophisticated search engine and a barebones (not very pretty) dashboard, Zapper offers a barebones search engine and a sophisticated (pretty) dashboard. Both services rely on the same data, they just visualize it differently.

Go to Zapper (you don’t need to be on your MetaMask-enabled browser) and enter the ENS name that you randomly discovered in the previous exercise into the search bar. (I will continue using “elnft.eth”.)

Search for information about an ENS name
Search for information about an ENS name

I can see what’s in this user’s wallet, displayed in a pretty looking dashboard. I can see the user created the wallet address in August 2021 and the different tokens they hold in it.

A random user's Zapper profile
A random user's Zapper profile

I can view their NFT collection by clicking the NFT tab and the estimated value of those NFTs at current floor prices.

A random user's NFT collection
A random user's NFT collection

You can also see their transaction history by clicking on the History tab. This is the same information we saw on Etherscan, just in a more visually appealing format.

Zerion is another crypto portfolio management service, similar to Zapper. Visit the app by clicking here. You don’t need to connect your wallet. Just enter an ENS name you want to lookup in the search bar.

Search for a user on Zerion
Search for a user on Zerion

Zerion’s initial dashboard displays the price performance of the user’s portfolio. It also has options to view NFTs and History of transactions.

Zerion's pretty dashboard for a random user
Zerion's pretty dashboard for a random user

Once again, they are tapping the same public data as Zapper (and Etherscan), just visualizing it differently.

Some final thoughts

If you have ever used personal finance software, like Mint or Personal Capital, then you are familiar with the (difficult and tedious) work of linking all your accounts manually so that you can get a consolidated view of your income and expenses. On public blockchains, all of this information is readily available -- and the (easy and relatively fun) work is comparing different visualization and analysis options.

We are only just beginning to explore the new frontiers made possible by composable data and source code.

Eventually, developers will be able to use just one line of code to add a full range of currency options to their ecommerce store or to assess creditworthiness based on transaction history. And these are just obvious, skeuomorphic use cases.

Much more experimentation is still needed.

Further reading

Subscribe to Carl Cervone
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.