需求理解
书接上回,上回我们整活调研了编译器solang,这这回我们调研一下同功能的soll编译器,要求如下:
soll是我们用过的另一个编译器
你也可以一起对比着试试
看看两者的成熟度
最终的目标,是看到那个编译器先能支持大规模的以太坊合约编译到EWASM。
从要求的描述中,应当将它解析成以下几个小任务:
- 下载soll编译器,研究研究怎么用
- 下载几个solidity合约代码,试试soll是否能成功编译。
- 对比soll和solang,看两者谁先满足最终目标
那么接下来就按步骤依次解决吧。
一.soll编译器
1.什么是soll
什么是soll,我们从soll的github界面可以得到如下信息:
SOLL是一个新的编译器,用于从Solidity和Yul 生成Ewasm(以太坊味的WebAssembly)文件。
为了尽可能多地支持开发人员,我们设计的项目不仅支持更智能的合约编程语言(例如Rust和C ++),而且还支持各种VM(例如Ewasm VM和evm)。为了实现这一目标,我们首先开发了SOLL,这是针对在Ewasm VM上运行的基于Solidity的智能合约的编译器。
对于应用程序用户,请参考本文档。您将知道如何使用SOLL从Solidity智能合约或Yul语言生成Ewasm字节码,然后将Ewasm字节码部署到以太坊Ewasm TestNet。
对于开发人员,我们提供了另一个文档来解释SOLL的设计以及如何开发和测试SOLL的功能,有关更多详细信息,请参阅《开发人员指南》。