A Comparative Study of Rust Smart Contract SDKs for Application-Specific Blockchains
摘要
This paper reports on a comparative study of two recent software development kits (SDKs) for so-called “Application-specific Blockchains” that support development of smart contracts in general-purpose languages. Specifically we report on the similarities and differences between Cosmwasm and Polkadot smart contracts written in the Rust programming language. To help guide our comparative study we start from a representative set of Solidity smart contracts, namely an English auction contract and a Non-Fungible Token (NFT) contract. Both contracts offer insights into the requirements that must be offered by a smart contract SDK. We develop a concrete baseline for comparison between Cosmwasm and Polkadot by translating the two Solidity contracts into Rust, using the respective SDKs. Our comparison defines a starting point for better understanding the design space of smart contract SDKs, and what the advantages and disadvantages are of different API interfaces and execution models.