# An Organized Repository of Ethereum Smart Contracts' Source Codes and Metrics
## 2 Related Work
### Related Projects
#### 2.3.2 Ethereum Block Explorers  
Ethereum block explorers are platforms that allow the users to explore and search the Ethereum blockchain for transactions, addresses, tokens and other activities taking place on the Ethereum blockchain [20]. Unlike GitHub, the Ethereum block explorers allow access to only Ethereum data used in the Ethereum blockchain and thus smart contracts' real use cases. To date, in the market, there are different Ethereum block explorers:  
* **Ethplorer** ([[https://ethplorer.io/](https://ethplorer.io/)]([https://ethplorer.io/](https://ethplorer.io/))) provides an API to access many Ethereum data, such as the balances for a specified token and the description of a specific address, but it does not allow \begin{table}
\begin{tabular}{c l l l} \hline \hline
**Project’s Name** & **Home Page** & **REST API URL** & **Limitations** \\ \hline GitHub & [[https://github.com/](https://github.com/)]([https://github.com/](https://github.com/)) & [[https://developer.git](https://developer.git)]([https://developer.git](https://developer.git))... & Some repositories have restricted access. \\ Ethplorer & [[https://ethplorer.io/](https://ethplorer.io/)]([https://ethplorer.io/](https://ethplorer.io/)) & [[https://api.ethplorer](https://api.ethplorer)]([https://api.ethplorer](https://api.ethplorer))... & Requests are limited to 3000/week. \\ EtherScan & [[https://etherscan.io/](https://etherscan.io/)]([https://etherscan.io/](https://etherscan.io/)) & https://etherscan... & Smart contracts’ addresses are not immediately available. \\ EtherChain & [[https://www.ethech](https://www.ethech)]([https://www.ethech](https://www.ethech))... & [[https://www.ethech](https://www.ethech)]([https://www.ethech](https://www.ethech))... & Smart contracts’ source codes are not available. \\ BlockScout & [[https://blockscout.com/](https://blockscout.com/)]([https://blockscout.com/](https://blockscout.com/)) & [[https://blockscout.com](https://blockscout.com)]([https://blockscout.com](https://blockscout.com))... & Smart contracts’ source codes are not available. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Project list, main features and limitations. access to the smart contracts' code. The full documentation of the Ethpoler API is available at the following address ([[https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API](https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API)]([https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API](https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API))). The requests to API are limited to 5 per second, 50/min, 200/h, 2000/24 h and 3000/week. * **EtherChain** ([[https://etherchain.org/](https://etherchain.org/)]([https://etherchain.org/](https://etherchain.org/))) is an explorer for the Ethereum blockchain. Unlike Ethplorer, it claims to provide smart contract code, even though it actually displays the contract byte code and the constructor arguments for a specific smart contract's address. EtherChain provides the API just to access the Oracle gas price predictions ([[https://www.etherchain.org/api/gasPriceOracle](https://www.etherchain.org/api/gasPriceOracle)]([https://www.etherchain.org/api/gasPriceOracle](https://www.etherchain.org/api/gasPriceOracle))), but not the Ethreum data. If the users want to gather Ethereum data from EtherChain, they need to parse the HTML code. * **BlockScout** ([[https://blockscout.com/poa/xdai/](https://blockscout.com/poa/xdai/)]([https://blockscout.com/poa/xdai/](https://blockscout.com/poa/xdai/))) provides an API to access the Ethereum data. It claims to have an API to access only the source code of a few verified smart contracts. Anyway, the addresses list of the verified smart contracts is not available in BlockScout. * **EtherScan** allows for exploration and searching of the Ethereum blockchain for smart contracts. However, when downloading the smart contracts' source code, the block explorer presents some limitation.