一切的开始
最开始学习使用 Solidity 进行基于 Ethereum 的区块链应用开发的时候,
使用的是 Remix Online 版本: https://remix.ethereum.org/
非常方便简单, 编写完代码即可自动编译, 自动检查编写过程中的错误, 类型提示等等.
相信很多初学者都是基于这个进行的开发, 也就都并不陌生了.
多种痛苦的尝试
但是随着开发的项目变大, 项目中出现包依赖, 基于 npm 管理数据包等情形时, 就转向了常用的本地 IDE.
尝试过 IntelliJ IDEA + Solidity 插件, VSCode + Solidity 插件, 直接 VIM 生敲等等方式,
一般插件的更新兼容性都略慢, 生敲又存在很大的不便.
一次偶然的发现
后来混迹 Gitter 的时候聊起这个问题, 他们就介绍使用 Remixd, 可以将本地目录映射成一个 websocket 服务器,
然后向外提供文件服务, 对 npm 第三方依赖包也有很好的支持.
这就是使得 Remix Online + 本地目录变得十分方便. 后来其实又发现了 Remix IDE,
其实就是将远程的 Remix Online 替换成了本地版本, 去掉了网络因素.
安装和使用 Remixd + Remix IDE
npm i -g remixd remix-ide
使用 Remixd + Online IDE
找到项目目录的完整路径, 例如 /home/xxx/projects/demo-contracts
执行 remixd -s /home/xxx/projects/demo-contracts 即可启动本地 websocket 服务.
打开 Online IDE, https://remix.ethereum.org/ 然后点击锁链按钮, 即可按照提示连接本地 websocket 服务.
使用 Remix IDE
进入项目目录, 例如 /home/xxx/projects/demo-contracts
执行 remix-ide
启动后会提示访问 http://localhost:8080
进行本地 IDE 的访问.
打开浏览器网页后, 点击小锁链按钮, 即可加载本地的项目工程.
参考文档
可以参考官文: https://remix.readthedocs.io/en/latest/tutorial_remixd_filesystem.html?highlight=remix-ide
进行详细的安装了解.