Docker+VS Code=EOS新玩法 | 大狗教你EOS开发

Posted IMEOS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker+VS Code=EOS新玩法 | 大狗教你EOS开发相关的知识,希望对你有一定的参考价值。



本期 IMEOS 教程是 的进阶版,同样由 EOSgeek 社区的 Kenn Zhang 撰写,由大狗稍作修改。


注:本期 IMEOS 教程在 Mac、Ubuntu 等 Linux 核心操作系统、Windows 10 Professional 下适用,Windows 其它版本还请安装 Linux 双系统。

昨天我们已经讲过了如何使用 Docker 快速的运行起来 EOS 的环境,但是也有同学疑惑的说,为啥我用 docker stop 命令来停止容器之后,下次我再用 docker run 命令来启动容器会报错呢?其实吧……你仔细看看错误提示信息就会发现是告诉你同名的容器已经存在了。所以 docker start [容器名]  命令才是正确的容器重启方法。

对于还不熟悉 Docker 的同学,在终端里面输入 docker help 就可以列出各种命令了,然后还可以再继续查看列出命令的帮助,例如 docker stop —help。
当然,对于我这种懒人,这样还是感觉麻烦。所以,就有了今天的这篇教程了!

1 了解 Docker-compose

https://github.com/EOSIO/eos/blob/master/Docker/docker-compose.yml 

具体里面各个参数的意思我们回头再说,您先瞅瞅:

Docker+VS Code=EOS新玩法 | 大狗教你EOS开发(六)

2 安装配置 VS Code

我们需要一个好的 yaml 编辑工具和容器管理工具,这里我墙裂推荐微软的 Visual Studio Code :

https://code.visualstudio.com/ 

免费、开源、功能强大、扩展众多,最重要的是两个关键特性特性:
(1)跨语言——安装相应的插件后,能写市面上几乎所有编程语言的代码。所以在 EOS 编程中,不管是JS前端代码、 NodeJS 后端代码、C++ 智能合约代码,还是配置文件,一个编辑器就能搞定,节省大量精力。
(2)跨平台——不管 Windows、MacOS 还是 Linux 用起来都是一样的。

下载安装完毕之后,按下 Ctrl+Shift+X( Mac 下为 Command+Shift+X ),或者点击「查看」>「扩展」,打开扩展窗口,然后在搜索栏输入 Docker ,安装由微软出品的 “Docker” 和 Jun Han 出品的 “Docker Explorer” 两个插件。

3 创建 yml 文件

好了,现在我们在 VS Code 中新建一个 docker-compose.nodeos.yml(其实命名为啥都可以,只不过大家习惯于用 docker-compose 做前缀,而且某些插件对他更加友好) 把它存在一个文件夹中,例如我存在 EOSDocker 文件夹。然后输入如下最精简的内容:

version: "3"

services:
  nodeosd:
    image: eosio/eos:latest
    command: /opt/eosio/bin/nodeosd.sh
    working_dir:
      /opt/eosio/bin/
    ports:
      - 8888:8888
      - 9876:9876
    expose:
      - "8888"

第一行是版本信息,下面的内容按照字面意思就可以理解了:

1)我们需要一个服务,服务名为“nodeosd”。
2)这个服务的镜像是 eosio/eos ,标签为 latest 。
3)启动起来后要执行的命令是 /opt/eosio/bin/nodeosd.sh。
4)工作路径为 /opt/eosio/bin/。
5)它需要用到两个端口: 8888 和 9876 。
6)8888 端口是容器的对外暴露端口,允许外部访问。

4 执行 yml 文件,启动 nodeos 系统

然后,通过「文件」>「打开」,打开 yml 文件所在的文件夹。注意!是打开文件夹,打开文件是不行的。

Docker+VS Code=EOS新玩法 | 大狗教你EOS开发(六)

然后只要在 Visual Studio Code 里面左侧文件目录里右击的 yml 文件选择 Compose Up 就好啦。

Docker+VS Code=EOS新玩法 | 大狗教你EOS开发(六)

你会在左侧的 Docker Containers 目录里看到你的这个运行起来的容器(正常的话是绿色图标),右键点击它选择“Attach”,在 VS Code 下方的集成终端里就能看到区块产生的过程了。

Docker+VS Code=EOS新玩法 | 大狗教你EOS开发(六)

停止它?一样容易啦…右击这个 yml 文件,选择 Compose Down 即可。

除此之外,还可以通过“Execute in Bath”,从 VS Code 的集成终端里直接进入容器的「里世界」,看看容器里到底都有啥……

5 设置 cleos 别名

因为在 Docker 下调用 cleos 的命令相对于原生安装法要长,所以我们可以通过 Linux 中的 alias 命令设置别名,让 Docker 下的 cleos 和普通方法安装下的 cleos 一模一样!
这个设置的命令是这样子的:

alias cleos='docker-compose exec nodeosd cleos —wallet-url http://localhost:8888'

然后运行:

cleos get info

如果出现以下返回,说明 alias 设置成功了!之后我们该怎么使用就怎么使用 cleos 即可。

Docker+VS Code=EOS新玩法 | 大狗教你EOS开发(六)

最后是两个小贴士:

1)如果不想使用别名了,unalias [别名] 即可。在本例中就是 unalias cleos 。 

2)直接输入 alias 可以查看目前的所有别名。

5 总结与预告

通过  和 第6期 两期,我们学会了如何通过 Docker 来安装及运行 EOS 系统,对于直接安装的时候老是出现奇怪问题的同学应该有所帮助:D。

在下一期,我们将回归主线,继续研究智能合约的相关内容。

下期见!


想要更好地学习 EOS 开发,欢迎进群交流,扫码名额有限先到先得:


Docker+VS Code=EOS新玩法 | 大狗教你EOS开发(六)





= END =


长按识别下方二维码

以上是关于Docker+VS Code=EOS新玩法 | 大狗教你EOS开发的主要内容,如果未能解决你的问题,请参考以下文章

VS Code 和 Microsoft Teams 可以这样一起玩!!!

FarmEOS游戏玩法制作

GitHub新神器,宇宙第一编辑器--VS Code!危

vs-code-server docker安装

vs code使用docker调试程序

链游周五见丨战斗盛典年底上线完整版;The Sandbox开发商被收购;隐秘世界OL接入EOS钱包