介绍
SoLive 是一个轻量级且灵活的在线 Solidity 试验场,受 Remix-IDE 和 React-Live 启发。SoLive 使您能够在 React 组件中编辑、编译、部署和与 Solidity 智能合约进行交互。您可以将 SoLive 集成到您的网站或教程中,让用户直接在浏览器中执行 Solidity 代码。此外,SoLive 还兼容移动浏览器。
使用场景:
- 教育:在 WTF Solidity 教程中,我们将使用 SoLive 替换传统的代码块,让学生能够同时阅读和运行代码。
- 开发人员入门:Layer2 项目可以利用 SoLive 吸引并招募以太坊开发者。
如何实现
SoLive 的设计轻量且灵活。它仅包含编辑、编译、部署和与智能合约进行交互所需的关键模块。
- 编辑模块:我们使用 Monaco Editor 作为代码编辑器。
- 编译模块:我们使用
solcjs
,根据所选的 Solidity 版本进行智能合约编译。 - 部署模块:我们使用
ethersjs V5
和ethereumjs vm
的组合将编译后的合约部署到本地 EVM 上。 - 交互模块:我们使用
ethersjs V5
和一个自定义的 ABI-UI 转换器来与已部署的合约进行交互。