资讯专栏INFORMATION COLUMN

eos docker运行后无法执行cleos

svtter / 1546人阅读

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

虽然eos给了安装教程,当然还是用docker最方便。而且现在docker还有阿里云镜像,速度快的不要不要的。

官方教程了https://github.com/EOSIO/eos/...,不过只是想运行的话,也不用build,直接在源码的Docker目录下执行:

$ docker-compose up

就好了,会自动启动两个容器:

keosd 钱包管理组件,负责签名啊啥的

nodeosd 区块链节点

eos更新很快,教程更新不及时,截至今天(2018-5-23),教程里cleos(命令行工具)的配置是有问题的。

Long version
# 有问题!
$ alias cleos="docker-compose exec keosd /opt/eos/bin/cleos -H nodeos"

首先你可能遇到命令不存在,因为路径变过了,当前是/opt/eosio/bin/cleos。即便是改变了路径,发现还是会报错:

Host and port options (-H, --wallet-host, etc.) have been replaced with -u/--url and --wallet-url
Use for example -u http://localhost:8888 or --url https://example.invalid/

错误也说明了原因。
重新配置下发现还是报错:

# 还是有问题!
$ alias cleos="docker-compose exec keosd /opt/eosio/bin/cleos -u http://localhost:8888/"

$ cleos get info
Error 3130001: Missing Chain API Plugin
Ensure that you have eosio::chain_api_plugin added to your node"s configuration!
Error Details:
Chain API plugin is not enabled

这错报的真是惊天地泣鬼神,按照提示你死活是搞不对的,因为默认Chain API Plugin是打开的。

其实是本来就不该连localhost,要连到链上去。
修改为:

$ alias cleos="docker-compose exec keosd /opt/eosio/bin/cleos -u http://nodeosd:8888/ --wallet-url http://localhost:8888"

$ cleos get info

{
  "server_version": "4e99cf47",
  "head_block_num": 1975,
  "last_irreversible_block_num": 1974,
  "last_irreversible_block_id": "000007b6d7f08fed622ffbf03d516e70d05d6f731cd3157cf5b0215182e0a3aa",
  "head_block_id": "000007b77d87993ec68eaaa3cf3752433e7a012aeffb41f9d65c2ffffda5fe195c",
  "head_block_time": "2018-05-23T08:07:40",
  "head_block_producer": "eosio",
  "virtual_block_cpu_limit": 717591,
  "virtual_block_net_limit": 7553528,
  "block_cpu_limit": 99900,
  "block_net_limit": 1048576
}

好了,终于可以愉快的使用cleos了。

Short Version
$ alias cleos="docker-compose exec keosd /opt/eosio/bin/cleos -u http://nodeosd:8888/ --wallet-url http://localhost:8888"

cleos即可正常使用。

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

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

相关文章

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

    摘要:确认安装成功并且服务启动之后,再继续进行下一步。适用于开发者的定制环境,其中包含编译智能合约需要的相关工具和依赖库。由于我们是开发者,因此我们选用这个。此时也可以通过的请求,直接访问查询分享一个开发视频教程,密码 由于EOS的版本在不断的更新迭代,本地编译最新版本的方式更新比较繁琐,而且容易出问题。 因此,我们推荐使用Docker容器的方式配置EOS本地测试环境,这样方便维护升级,而且...

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

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

    cod7ce 评论0 收藏0
  • EOS】1.环境搭建

    摘要:在启动额外的节点之前,你必须先加载合约。该合约使您能够直接控制其他帐户的资源分配,并访问其他特权调用。返回到第二个终端窗口,运行以下命令加载合同第二个窗口遇到的坑卡主不动无法继续运行,重启电脑搞定。创建一个账户需要个一个是和这里个一样。 官方文档 获取代码 git clone https://github.com/EOSIO/eos --recursive # --recursive表...

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

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

    ShevaKuilin 评论0 收藏0
  • 区块链平台EOSIO开发智能合约和dapp(一)

    摘要:与传统方式不同,在去中心化的网络及区块链上运行后端代码智能合约。这个博客涵盖了什么在本博客中,我将展示如何设置区块链并开发智能合约。 在我倾听Bettina Warburg的演讲之后,我对去中心化经济(dApps)的概念着迷。传统的Web应用程序是: 前端→后端→数据库 相比之下,dApp网站是: 前端→智能合约→区块链 例如,当你进入电子银行时,网页将调用后端代码来获取你的个人数据并...

    tylin 评论0 收藏0

发表评论

0条评论

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