  Context: Decentralized applications on blockchain platforms are realized
through smart contracts. However, participants who lack programming knowledge
often have difficulties reading the smart contract source codes, which leads to
potential security risks and barriers to participation. Objective: Our
objective is to translate the smart contract source codes into natural language
descriptions to help people better understand, operate, and learn smart
contracts. Method: This paper proposes an automated translation tool for
Solidity smart contracts, termed SolcTrans, based on an abstract syntax tree
and formal grammar. We have investigated 3,000 smart contracts and determined
the part of speeches of corresponding blockchain terms. Among them, we further
filtered out contract snippets without detailed comments and left 811 snippets
to evaluate the translation quality of SolcTrans. Results: Experimental results
show that even with a small corpus, SolcTrans can achieve similar performance
to the state-of-the-art code comments generation models for other programming
languages. In addition, SolcTrans has consistent performance when dealing with
code snippets with different lengths and gas consumption. Conclusion: SolcTrans
can correctly interpret Solidity codes and automatically convert them into
comprehensible English text. We will release our tool and dataset for
supporting reproduction and further studies in related fields.
