目前开发智能的IDE, 首推还是Remix, 而Remix官网, 总是由于各种各样的(网络)原因无法使用,本文就来介绍一下如何在本地搭建智能合约开发环境remix-ide并介绍Remix的使用。
写在前面
Remix 是以太坊智能合约编程语言Solidity IDE,阅读本文前,你应该对以太坊、智能合约有所了解,如果还不了解,建议先看以太坊是什么。
Remix IDE 是一款基于浏览器的IDE,跟有些开发聊的时候,发现有一些同学对浏览器的IDE,有一些偏见,其实Atom编辑器就是基于web技术开发的一款编辑器(Atom可以看做一个没有地址栏的浏览器),其实基于浏览器的IDE,有一个很大的好处就是不用安装,打开即用。
Remix IDE的功能全面(传统IDE有的功能这里都有),比如:
1.代码提示补全,代码高亮
2.代码警告、错误提示
3.运行日志输出
4.代码调试
…
更新: Remix 现在提供了一个APP, 叫Remix APP, 如果是Mac 电脑,可以直接使用其提供的发布包,地址为:https://github.com/horizon-games/remix-app/releases
如果你有很好的网络环境,可以直接访问Remix官网。
如果不能还是还是像我一样老老实实把Remix IDE安装在本地,我发现要想成功安装选择对应的版本很关键,具体的版本要求如下:
$ node --version
v10.16.3
$ npm --version
6.11.2
$ nvm --version
0.34.0
node、npm官方安装连接:https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
nvm 是一个node 版本工具,我们可以使用nvm来安装不同版本的node。
nvm 官方安装连接:https://github.com/nvm-sh/nvm
nvm 官方安装方法如下:
1).命令行中输入:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
或者使用wget安装:
在Linux使用sudo apt-get install git安装git即可。
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
2)上图中最后的英文意思说:关闭并重新打开您的终端,开始使用nvm或运行以下命令来使用它:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
3).重启下命令行,输入nvm 试试,应该可以看到 nvm 命令的帮助如下:
4)注意:
要移动,删除,卸载nvm,只需删除’ $NVM_DIR ‘文件夹(通常是’ ~/.nvm ')
1).因为Remix IDE 要求使用最新版node 10.16.3 命令行输入一下命令进行安装:
nvm install 10
安装完成之后,使用node -v 和 npm -v检查下版本号,是否和刚刚列出版本要求一致
卸载指令:
nvm deactivate
nvm uninstall 7.10.1
[sudo] npm install npm -g
1).再次使用npm安装,这也是我安装使用的方法。
npm install remix-ide -g
remix-ide
安装地址
/home/wml/.nvm/versions/node/v10.16.3/lib/node_cache/lib/node_modules/remix-ide
如果出现错误:
Error: EACCES: permission denied, access ‘/usr/local/lib/node_modules’
可以尝试用以下方法解决:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
如果我们使用的是正确的node 和npm 版本的话,应该都可以安装成功,安装成功之后,remix-ide命令用来启动ide.
remix-ide的github 上还提供了另一个方法进行安装,通过clone 代码来安装,方法如下:
git clone https://github.com/ethereum/remix-ide.git
cd remix-ide
npm install
npm run setupremix # this will clone https://github.com/ethereum/remix for you and link it to remix-ide
npm start
注意:Remix IDE 默认是使用8080端口启动的,启动之后在浏览器打开:http://localhost:8080/, 如图:
和大多数IDE一样,最左边是文件浏览,中间是代码编辑区域,右边是功能区域,下边是日志区域。
在右侧的功能区域,常用的是Compile、Run及Debuger几个标签页(Tab)。
在Compile页,会动态的显示当前编辑区域合约的编译信息,如显示错误和警告。编译的直接码信息及ABI接口可以通过点击Details查看到。
在这篇文章里 也有截图说明。
在Run页,可以部署合约,以及调用合约函数等,使用非常简单,我们前面也有多篇文章讲解。
Debuger页在下面调试一节单独讲解。
这是一个非常用的功能,但发现使用的人非常少,通过加载本地磁盘文件,就可以方便代码管理工具(如 git)管理我们的合约代码。
我详细介绍下如何这个功能怎么使用?
使用在线版本的Remix可以使用这个功能, 不过需要安装一下remixd, 安装使用命令npm install -g remixd。
1.在需要的本地合约代码的目录下启动remix-ide, Remix IDE 会自动把当前目录做为共享目录。
如果是使用在线的Remix,需要使用命令remixd -s shared-folder 来指定共享目录
2.加载共享目录,在文件浏览区域上有,有这样一个图标,他用来加载本地共享目录,如图: