eos测试环境搭建

Eos测试环境搭建主要参考EOS官网,分别是单节点环境和多节点环境。

https://developers.eos.io/eosio-nodeos/docs/local-single-node-testnet

https://developers.eos.io/eosio-nodeos/docs/local-multi-node-testnet

当然你也可以使用docker的单节点环境。

https://developers.eos.io/eosio-nodeos/docs/docker-quickstart

docker环境搭建比较简单,这里就不描述了。

 

 

单节点环境搭建

下载源代码

EOS的源代码

git clone https://github.com/EOSIO/eos --recursive

编译源代码

如果想编译指定版本

如指定编译1.0.0版本,使用如下命令:

#git checkout –b xxxy v1.0.0

 

编译脚本在EOS目录,直接运行即可自动安装编译环境。并完成编译

./eosio_build.sh

安装

./eosio_install.sh

 

编译开发合约的工具链

获取源代码

$ git clone --recursive https://github.com/eosio/eosio.cdt
$ cd eosio.cdt
$ ./build.sh
$ sudo ./install.sh

 

获取系统合约

系统合约在下载源代码时,已经有一部分,单最新系统是单独的子目录。用如下命令获取。

$ git clone –recursive https://github.com/EOSIO/eosio.contracts.cdt

 

单节点测试环境

启动nodeos

./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin

启动后,可以在屏幕上看到可以出块了。

默认的配置文件在

~/.local/share/eosio/nodeos/config

你也可以在运行时指定目录。

 

 

测试命令

以下命令基本可以创建账户,测试nodos是否能够满足开发需求。

1.创建钱包

cleos wallet create --to-console

2. 产生新的key

cleos create key --to-console

如产生key为:

5J4igmpzdpeeWgQECfizsHvVN5hYz3sUN7t5BpW1DpRwxvjkF5U

3.导入key

cleos wallet import 5J4igmpzdpeeWgQECfizsHvVN5hYz3sUN7t5BpW1DpRwxvjkF5U

4.导入系统账户的key

cleos wallet import 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

该key在默认配置文件中,可以修改。

5.创建测试账户

cleos create account eosio bob EOS7YS7HokxByKCvZPBWUAe9LUusCoVzRPkTiv9yT2DtBU1LcEYFf

cleos create account eosio alice EOS7YS7HokxByKCvZPBWUAe9LUusCoVzRPkTiv9yT2DtBU1LcEYFf

6.导入token合约

合约在源代码目录

Cd eos/src/build/contracts

cleos set contract alice eosio.token -p alice

7.发行货币

cleos push action alice create '["alice", "1000000000.0000 CC"]' -p alice@active

8.给某人发行100000000.0000 CC

cleos push action alice issue '[ "alice", "100000000.0000 CC", "memo" ]' -p alice@active

9.转账

cleos push action alice transfer '["alice", "bob", "1.0000 CC", "m" ]' -p alice@active

 

搭建多节点测试环境

前几个步骤相当于,把单节点环境的步骤执行一遍。

下面步骤在单个节点上,搭建多个nodeos节点。

 

  1. 启动一个钱包管理服务

keosd --http-server-address 127.0.0.1:8899

  1. 创建钱包

cleos --wallet-url http://127.0.0.1:8899  wallet create --to-console

  1. 导入eosio系统用户的key

cleos --wallet-url http://127.0.0.1:8899 wallet import --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

  1. 启动第一个节点,该节点为“搭建单节点测试环境”的节点。

nodeos --enable-stale-production --producer-name eosio --plugin eosio::chain_api_plugin --plugin eosio::net_api_plugin

  1. 设置系统合约

cleos --wallet-url http://127.0.0.1:8899 set contract eosio build/contracts/eosio.bios

  1. 为生产者用户(比如inita用户)生产key

Cleos create key

  1. 导入新产生的key

 cleos --wallet-url http://127.0.0.1:8899 wallet import xxxxxxx

  1. 创建生产者用户

cleos --wallet-url http://127.0.0.1:8899 create account eosio inita xxx  yyy

  1. 启动第二个节点

nodeos --producer-name inita --plugin eosio::chain_api_plugin --plugin eosio::net_api_plugin --http-server-address 127.0.0.1:8889 --p2p-listen-endpoint 127.0.0.1:9877 --p2p-peer-address 127.0.0.1:9876 --config-dir node2 --data-dir node2 --private-key [\"EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg\",\"5JgbL2ZnoEAhTudReWH1RnMuQS6DBeLZt4ucV6t8aymVEuYg7sr\"]

 

  1. 授权第二个节点的生产者

cleos --wallet-url http://127.0.0.1:8899 push action eosio setprods "{ \"schedule\": [{\"producer_name\": \"inita\",\"block_signing_key\": \"EOS6hMjoWRF2L8x9YpeqtUEcsDKAyxSuM1APicxgRU1E3oyV5sDEg\"}]}" -p eosio@active

 

  1. 查看第一个节点的状态

cleos get info

  1. 查看第二个节点的状态

cleos --url http://127.0.0.1:8889 get info

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值