[Ethereum] How to list all the contracts currently on the blockchain

abiaddressesblockchaincontract-invocation

I know one way to interact with contracts is, in the geth interface, to use the command:
eth.contract(ABI).at(Address)

But for this I will need to know the ABI and address of the contract in advance.
What if I want to browse the contracts currently in the blockchain (like browsing the apps in play-store)?

Best Answer

EDIT: This answer explains why you cannot list and view the source code of all contracts. The answer by @Xeenych is how to count the total number of contracts.

Some blockchain explorers show some contracts: example with ABI and source code, and example without source (filter out the "value transfers").

The blockchain only has EVM bytecode. Generally, you need the source code of the contract to get the ABI, or the contract author has to provide it to you. See Do I need a compiled contract just to get the ABI definition?

Related Topic