资讯专栏INFORMATION COLUMN

EOS开发教程-Docker构建EOS环境

omgdog / 771人阅读

摘要:确认安装成功并且服务启动之后,再继续进行下一步。适用于开发者的定制环境,其中包含编译智能合约需要的相关工具和依赖库。由于我们是开发者,因此我们选用这个。此时也可以通过的请求,直接访问查询分享一个开发视频教程,密码

由于EOS的版本在不断的更新迭代,本地编译最新版本的方式更新比较繁琐,而且容易出问题。

因此,我们推荐使用Docker容器的方式配置EOS本地测试环境,这样方便维护升级,而且简单。 此外,EOS的Docker Image会每天定时更新并被推送到dockerhub,可以直接去拉取官方的最新版本Image使用。

下面的步骤会以Mac系统为例,由于我们使用Docker环境,理论上不依赖具体的操作系统环境,只要使用的系统能够安装Docker即可。

系统配置要求:

硬盘存储空间 > 8GB

内存 > 4GB

安装docker和docker-compose

可以到Docker官方网站下载Docker,推荐以下版本: 下载安装后,启动Docker服务,不同的系统启动Docker服务方式不同,请具体查看启动方式。 确认docker安装成功并且docker服务启动之后,再继续进行下一步。

不熟悉Docker的同学,可以去查一下Docker的简单命令介绍,这里我们给出CentOS下面常用的命令:

yum install docker 安装服务systemctl start docker.service 启动服务systemctlenabledocker.service 开机启动服务docker pull centos 下载映像到本地docker images centos 查看映像列表docker run -i -t centos /bin/bash 以交互式启动容器docker run centosecho"Hello World"

其他参考资料:docker 命令

如果使用的是Mac系统版本的Docker,docker-compose会跟随docker一起被安装。 如果使用的是CentOS等其他Linux系统,需要多带带安装docker-compose,参考安装:

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)-o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose --version

推荐的docker-compose版本是:(docker-compose的版本差异影响并不大,安装新版本即可)

$docker-compose -vdocker-compose version 1.21.2, build a133471

获得eos的Docker Image

eos的Docker Image 有多种版本,适应于不同的应用场景:

eosio/builder :
包含编译eos的所有依赖库,是eos编译的一个完整环境,这样开发者就无需安装各种工具和依赖库,准备eos的编译环境了。

eosio/eos : 主网节点使用,比较轻量级,镜像中不包含编译智能合约的依赖库。

eosio/eos-dev : 适用于开发者的定制环境,其中包含编译智能合约需要的相关工具和依赖库。

其中eosio/eos 和 eosio/eos-dev 都是继承了 eosio/builder 然后编译出来的定制化镜像。 由于我们是开发者,因此我们选用eosio/eos-dev 这个Image。 当然,如果大家只是想启动一个节点,加入主网中,可以直接使用eosio/eos,这个我们在后面会详细介绍。

根据前面的介绍,这里大家可以直接从官方拉取Image:

docker pull eosio/eos-dev:v1.0.8

docker tag eosio/eos-dev:v1.0.8 eosio/eos-dev:latest

此外,也可以自己获取eos最新代码之后,在本地使用Dockerfile build出eos-dev Image, 进入eos/Docker/dev目录,执行:

docker build.-t eosio/eos-dev:latest

注意

如果不对eos/Docker/dev/Dockerfile 做修改的情况下,使用的事master分支的代码构建的Image

启动本地节点的测试环境

创建volume,供nodeos和keosd挂载使用:

docker volume create --name=local-nodeos-data-volume

docker volume create --name=local-keosd-data-volume

在blockchain/eos/04/docker目录下,启动nodeos和keosd:

docker-compose -f docker-compose-local-eosio1.0.yaml up -d

可以查看log日志:

docker logs -f docker_nodeosd_1

得到如下类似日志:

给cleos命令配置alias

由于我们不希望每次执行cleos命令都进入docker container中执行,因此我们配置了简短的cleos的alias来代替docker命令:

aliascleos="docker-compose -f docker-compose-local-eosio1.0.yaml exec keosd /opt/eosio/bin/cleos -u http://nodeosd:8888 --wallet-url http://localhost:8900"

(可以将此alias的定义添加到~/.bash_profile 中,这样每次终端启动时候都会自动定义alias) 测试cleos命令是否可用:

cleos get info

注意

以后cleos命令的执行必须在docker-compose-local-eosio1.0.yaml文件所在目录才可以。

此时也可以通过http的请求,直接访问查询:

curl http://localhost:8888/v1/chain/get_info


分享一个EOS开发视频教程,https://www.lanzous.com/b325759/  密码:d55l

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24276.html

相关文章

  • 【许晓笛】听说你买了EOS ,连代码什么样都不知道?

    摘要:说点题外话如果你想提高英语的话,持有一点代币吧,你会急于搞清楚白皮书在讲什么,要是想短时间快速提高英语,持有大量代币吧,别问我是怎么知道的。 最近发现很多人投资了EOS,却并不关心 EOS 目前的开发进度和技术细节,如果你投资了 EOS, 还有一定的技术基础,那就更应该关心 EOS 的开发情况了,下面我们就从 EOS 的源代码说起: Github 是目前最流行的源码管理网站,无数明星项...

    imccl 评论0 收藏0
  • 使用docker compose在EOS本地Testnet上开发

    摘要:为本地配置的钱包。以太坊,主要是针对工程师使用进行区块链以太坊开发的详解。以太坊,主要是介绍使用进行智能合约开发交互,进行账号创建交易转账代币开发以及过滤器和交易等内容。这里是如何使用和在本地上开发 EOS区块链的开发并不是立竿见影的,因为需要一些非显而易见的组件,需要对它们进行配置和协同工作。 nodeos:块生成器守护程序。 keosd:钱包守护进程,存储私钥。 eosio-cp...

    cod7ce 评论0 收藏0
  • 区块链开发中使用的最流行的编程语言

    摘要:我们目前正处于一个新兴的区块链开发行业中。,一种在以太坊开发人员中流行的新的简单编程语言,因为它是用于开发以太坊智能合约的语言。它是全球至少万开发人员使用的世界上最流行的编程语言之一。以太坊,主要是针对工程师使用进行区块链以太坊开发的详解。 我们目前正处于一个新兴的区块链开发行业中。区块链技术处于初期阶段,然而这种颠覆性技术已经成功地风靡全球,并且最近经历了一场与众不同的繁荣。由于许多...

    2shou 评论0 收藏0
  • eos docker运行后无法执行cleos

    摘要:虽然给了安装教程,当然还是用最方便。官方教程了,不过只是想运行的话,也不用,直接在源码的目录下执行就好了,会自动启动两个容器钱包管理组件,负责签名啊啥的区块链节点更新很快,教程更新不及时,截至今天,教程里命令行工具的配置是有问题的。 虽然eos给了安装教程,当然还是用docker最方便。而且现在docker还有阿里云镜像,速度快的不要不要的。 官方教程了https://github.c...

    svtter 评论0 收藏0
  • EOS内存即RAM如何买卖

    摘要:多索引数据库是中的一种数据结构,它根据范围的定义方式提供存储数据的灵活性。例如,每个帐户已存储在合约中定义的多索引数据库中的数,该合约由定义范围的每个帐户的一小块组成。 对于EOS RAM的来说什么最重要呢?我们经常在每天的数字货币和区块链相关新闻中看到EOS旁边的RAM这个词,但是无论如何我们应该关注它的价格,为什么要关注它的价格,即使是那些只想深入了解智能合约开发的人也需要这样吗?...

    ShevaKuilin 评论0 收藏0

发表评论

0条评论

omgdog

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<