使用docker学习EOS

EOS Wiki提供了有关如何使用docker容器编译最新版本代码的说明。但可能有它自己的一些问题,因此我们鼓励你在学习时引用下面镜像。这样最初会更容易,更快。

如果你没有安装docker,请在此处下载:

https://www.docker.com/community-edition

1.获取docker镜像

以下语句将下载包含已编译软件的Ubuntu镜像。

1
docker pull eosio/eos

作为快速测试,运行镜像并获取对bash shell的访问权限,请执行以下操作:

1
docker run --rm -it eosio/eos bash

如果可行,你应该得到如下所示的提示,输入cleos应返回cleos工具的帮助:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
root@a5f9eafaab74:/#cleos
ERROR: RequiredError: Subcommand required
Command Line Interface to EOSIO Client
Usage: cleos [OPTIONS] SUBCOMMAND

Options:
-h,--help Print this help message and exit
-u,--url TEXT=http://localhost:8888/
the http/https URL where nodeos is running
--wallet-url TEXT=http://localhost:8888/
the http/https URL where keosd is running
-v,--verbose output verbose actions on error

Subcommands:
version Retrieve version information
create Create various items, on and off the blockchain
get Retrieve various items and information from the blockchain
set Set or update blockchain state
transfer Transfer EOS from account to account
net Interact with local p2p network connections
wallet Interact with local wallet
sign Sign a transaction
push Push arbitrary transactions to the blockchain
multisig Multisig contract commands
system Send eosio.system contract action to the blockchain.
root@a5f9eafaab74:/#
root@a5f9eafaab74:/#exit

键入exit退出镜像。

2.创建一个docker网络

创建一个docker网络,允许容器相互通信。

1
docker network create eosnetwork

3.运行容器

运行服务器软件(在端口7777上):

1
docker run --name server --network=eosnetwork --rm -p 7777:7777 -i eosio/eos /bin/bash -c "nodeos -e -p eosio --plugin eosio::producer_plugin --plugin eosio::chain_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --http-server-address=0.0.0.0:7777 --access-control-allow-origin=*"

要运行钱包软件(在端口5555上):

1
docker run --name wallet --network=eosnetwork --rm -p 5555:5555 -i eosio/eos /bin/bash -c "keosd --http-server-address=0.0.0.0:5555"

让我们打开一个bash shell,以便我们可以测试一些工具。

1
docker run --name tools --network=eosnetwork --rm -it eosio/eos /bin/bash

4.测试下以便确定它是否全部正常工作

现在让我们确保服务器正在运行: - http://localhost:7777/v1/chain/get_info应该可以在本地Web浏览器中使用。 - 从工具docker实例运行此命令应该工作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ cleos -u http://server:7777 get info

# Expected response
{
"server_version": "749a6759",
"head_block_num": 1953,
"last_irreversible_block_num": 1952,
"last_irreversible_block_id": "000007a0c1ae4e28480dcbeef36e9d4970987969f850453dcf8e244b569d6325",
"head_block_id": "000007a1fc0d5b3dd16ebfe18ab9a288ac8bc7d03caee050a58a502577d25560",
"head_block_time": "2018-05-16T02:04:08",
"head_block_producer": "eosio",
"virtual_block_cpu_limit": 701979,
"virtual_block_net_limit": 7389096,
"block_cpu_limit": 99900,
"block_net_limit": 1048576
}
1
2
3
4
5
6
$ cleos --wallet-url http://wallet:5555 wallet list keys

# We have not created any wallets yet, so this is the expected response
Wallets:
[]
[]

======================================================================

分享一个交互式的在线编程实战,EOS智能合约与DApp开发入门

EOS教程

本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。

  • web3j教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和事件等。

汇智网原创翻译,转载请标明出处。这里是原文