搭建Solidity本地编辑环境,Remix-IDE + Remixd黄金组合,加载本地合约代码

问题描述:

相信做过solidity智能合约开发的小伙伴们应该都用过在线Remix编辑器。不可否认它是目前来看最方便快捷且功能强大的在线编辑器。

但是Remix也不是完美的,在使用中我们也遇到了很多问题:

1.本地文件的import不灵活,虽然可以批量导入,但是却不能将多个文件夹下的问题同时导入(无法导入文件夹)。

2.文件目录管理难,大型的dapp项目合约也是要有合理的结构的。虽然最新版本支持Create Folder,但是当我们想要移动文件到另一个目录时却办不到。

3.编辑器加载慢,因为Remix服务器在国外,所以导致每次打开Remix都需要花费很长时间,有时候甚至会出现插件加载失败的情况。

4.无法本地保存,所以Remix支持缓存在浏览器内。 但是我们知道,保存在本地硬盘才是数据保存在安全的方式。

虽然以太坊生态的不断完善,现在已经有了新的解决方案。

Remix IDE(本地)+ Remixd

Remix IDE

项目源码:https://github.com/ethereum/remix-project

介绍: Remix是一个本地部署运行,基于浏览器的编译器和IDE,允许用户使用Solidity语言构建以太坊合约并调试交易。说白了就是一个本地版本的Remix。

Remixd

项目源码:https://github.com/ethereum/remixd

介绍:remixd是一个打算与Remix IDE (aka)一起使用的工具。Browser-Solidity)。它允许在Remix IDE (web应用程序)和本地计算机之间建立websocket连接。实际上Remix IDE使可由remixd共享的文件夹。

说白了就一个提供本地文件目录与Remix IDE链接的服务。

部署流程

Remix IDE

推荐使用Docker, 快速部署,两行命令就搞定,但是前提是本地要有Docker环境。

Linux环境 Docker部署流程

Windows的就很简单了,我就不多介绍了。

我是基于Windows 10环境下操作的,但是命令都是通用的

1.拉取docker镜像

docker pull remixproject/remix-ide:latest

镜像拉取完成后,执行run命令

2.执行docker run

docker run -p 10330:80 remixproject/remix-ide:latest
#10330是本地运行的端口号

这边表示镜像已经启动完毕,我们可以打开浏览器,进入 http://localhost:10330/ 就可以进入Remix编辑器了

那么我们的Remix-IDE已经部署完成,现在我们来部署Remixd,并完成本地文件链接测试

Remixd

Remixd需要node 和 npm环境。部署npm的方法文章也很多,我就不介绍了。

1.拉取源文件

npm install -g remixd

2.启动remixd服务

在驱动Remixd前建议新建一个文件夹作为Remixd链接根目录

我是在我的E盘新建了一个 remix-data文件夹

并执行

mkdir remix-data
cd .\remix-data\    #切换到remix-data目录

remixd -s ./ --remix-ide http://localhost:10330
#启动remixd服务
# ./ 表示当前目录(remix-data)为根目录
# http://localhost:10330是指 Remix IDE 连接地址

这里Remixd服务启动成功。

我们可以看到给了我们提示,Remix IDE必须运行在我们制定的链接地址,且Remixd 监听了我们本地的65520端口,这是一个Websockt服务。

接下来我们就是做一个简单 Remix IDE 连接 Remixd服务的工作

连接

这里我们可以看到,在文件浏览器内有一个localhost目录。 这里既是我们的本地目录。

因为我当前目录下并没有存放任何的文件,所以是空的。接下来我们来添加一份ERC20合约并测试。

测试

1.我现在本地目录放了一个ERC20.sol文件

2.点击 localhost目录 收放按钮,即可刷新目录

这里我们看到我的合约文件已经能看到了。

接下来我们尝试编译

编译完成。

总结

Remix-IDE + Remixd的黄金组合可以很方便的为我们搭建一套本地的Solidity IDE环境,也解决了我们刚刚所提到在线编辑器所不能解决的诸多问题。

tips:

1.在Remix IDE内删除合约会删除掉本地关联的合约

2.改变当前合约目录结构在本地文件目录管理即可

不会用Remix IDE的同学可以参考我以前写过的一篇博文《以太坊开发入门,Remix IDE使用及简单的合约部署》, 所以是1年前的文章,界面有所变化,但是大同小异

有问题,或者建议请留言,谢谢。

猜你喜欢

转载自blog.csdn.net/Lyon_Nee/article/details/109679371
今日推荐