  Many empirical software engineering studies show that there is a great need
for repositories where source code is acquired, filtered and classified. During
the last few years, Ethereum block explorer services have emerged as a popular
project to explore and search Ethereum blockchain data such as transactions,
addresses, tokens, smart-contracts' source code, prices and other activities
taking place on the Ethereum blockchain. Despite the availability of this kind
of services, retrieving specific information useful to empirical software
engineering studies, such as the study of smart-contracts' software metrics
might require many sub-tasks, such as searching specific transactions in a
block, parsing files in HTML format and filtering the smart-contracts to remove
duplicated code or unused smart-contracts. In this paper we afford this problem
creating Smart Corpus', a Corpus of Smart Contracts in an organized reasoned
and up to date repository where Solidity source code and other metadata about
Ethereum smart contracts can easily and systematically be retrieved. We present
the Smart Corpus' design and its initial implementation and we show how the
data-set of smart contracts' source code in a variety of programming languages
can be queried and processed, get useful information on smart contracts and
their software metrics. The Smart Corpus aims to create a smart-contracts'
repository where smart contracts data (source code, ABI and byte-code) are
freely and immediately available and also classified based on the main software
metrics identified in the scientific literature. Smart-contracts source code
has been validated by EtherScan and each contract comes with its own associated
software metrics as computed by the freely available software PASO. Moreover,
Smart Corpus can be easily extended, as the number of new smart-contracts
increases day by day.
