Muhammad Ahmad Zafar, Falak Sher, M. Janjua, Salman Baset
{"title":"Sol2js","authors":"Muhammad Ahmad Zafar, Falak Sher, M. Janjua, Salman Baset","doi":"10.1145/3284764.3284768","DOIUrl":null,"url":null,"abstract":"Could smart contracts written in Solidity, a popular language among blockchain developers for Ethereum, be run on other blockchain platforms such as Hyperleger Fabric. To run Solidity smart contracts on another blockchain platform, one can either incorporate the Ethereum Virtual Machine (EVM) in the target blockchain, or perform a source-to-source translation of the Solidity contracts to a smart contract language for the target platform. This paper presents Sol2js, an open source source-to-source translation tool that generates Javascript smart contracts for Hyperledger Fabric from Solidity contracts, and provides a conceptual mapping of Ethereum constructs to that of Hyperleger Fabric, where possible. Presently, the tool is able to successfully translate 65-70% of Solidity constructs including major types, functions, inheritance, and events. The preliminary results show that the average of the lines of code (loc) across translated contracts is 7.5x more than the average of Solidity contracts loc while preserving contract semantics.","PeriodicalId":437474,"journal":{"name":"Proceedings of the 2nd Workshop on Scalable and Resilient Infrastructures for Distributed Ledgers","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-12-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2nd Workshop on Scalable and Resilient Infrastructures for Distributed Ledgers","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3284764.3284768","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9
Abstract
Could smart contracts written in Solidity, a popular language among blockchain developers for Ethereum, be run on other blockchain platforms such as Hyperleger Fabric. To run Solidity smart contracts on another blockchain platform, one can either incorporate the Ethereum Virtual Machine (EVM) in the target blockchain, or perform a source-to-source translation of the Solidity contracts to a smart contract language for the target platform. This paper presents Sol2js, an open source source-to-source translation tool that generates Javascript smart contracts for Hyperledger Fabric from Solidity contracts, and provides a conceptual mapping of Ethereum constructs to that of Hyperleger Fabric, where possible. Presently, the tool is able to successfully translate 65-70% of Solidity constructs including major types, functions, inheritance, and events. The preliminary results show that the average of the lines of code (loc) across translated contracts is 7.5x more than the average of Solidity contracts loc while preserving contract semantics.