EOS测试环境部署

下载源码

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

 

查看版本

git tag

切换最新版本分支

git checkout v1.2.1

执行脚本

cd /www/eos-env/eos/

sudo ./eosio_build.sh

开始执行时,会下载很多的东西,包括boost、mongodb、secp256k1、LLVM等

 

sudo ./eosio_install.sh

 

修改配置文件

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

vim config.ini

http-server-address = 0.0.0.0:8888

contracts-console = true

enable-stale-production = true

producer-name = eosio

private-key = ["EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV","5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]



plugin = eosio::chain_api_plugin

plugin = eosio::history_api_plugin

plugin = eosio::chain_plugin

plugin = eosio::history_plugin

plugin = eosio::net_plugin

plugin = eosio::net_api_plugin

 

启动EOS

cd /www/eos-env/eos

vim start.sh

nohup nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --contracts-console &

chmod 777 start.sh

 

-e:enable-stale-production,参加上面config.ini的相关说明。设置以后相当于true。

-p:producer-name,给定了一个名字“eosio”用于出块者名字。

--plugin:就是~/.local/share/eosio/nodeos/config/config.ini最后一个配置字段。

--contracts-console 打印日志到控制台

 

因为config.ini中配置plugin,所以可以只使用nodeos启动

nohup nodeos &

节点正常运行。。。。

 

创建智能合约

创建智能合约

eosiocpp -n helloworld

 

编译wast

eosiocpp -o helloworld/helloworld.wast helloworld/helloworld.cpp

 

编译abi

eosiocpp -g helloworld/helloworld.abi helloworld/helloworld.cpp

 

部署智能合约

创建钱包

cleos wallet create -n fish1208 --to-console

Creating wallet: fish1208

Save password to use in the future to unlock this wallet.

Without password imported keys will not be retrievable.

"PW5KiK9GU2TVo2TpA9Ragpzygj8s54AiCxBi2gDVzgUzWZCxbHZsS"

 

导入初始账户eosio的主秘钥到钱包

cleos wallet import -n fish1208 --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

imported private key for: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

所有新的blockchains,都是通过主秘钥启动,唯一初始账户:eosio。要与区块链交互,需要将这个初始账户的私钥导入到你的钱包。

 

查看钱包

cleos wallet list

带*表示钱包解锁;不带*表示钱包加锁

 

创建key

cleos create key --to-console 

Private key: 5JZEmy65HqCu1iobB98hA7ca1NYzRtK28gqWyonC25cUA54EmJS

Public key: EOS8jdARRTMt1gFkKJwccdCPnkXJDi2b3sJSQuY3Db7whEBhFaF2X

 

将Private key导入钱包

cleos wallet import -n fish1208 --private-key 5JZEmy65HqCu1iobB98hA7ca1NYzRtK28gqWyonC25cUA54EmJS

imported private key for: EOS8jdARRTMt1gFkKJwccdCPnkXJDi2b3sJSQuY3Db7whEBhFaF2X

 

查看Private key导入情况

cleos wallet keys

 

创建用户账户

cleos create account eosio fish EOS8jdARRTMt1gFkKJwccdCPnkXJDi2b3sJSQuY3Db7whEBhFaF2X EOS8jdARRTMt1gFkKJwccdCPnkXJDi2b3sJSQuY3Db7whEBhFaF2X

 

将智能合约绑定到账号

cleos set contract fish hello -p fish

hello文件夹,里面有合约的所有文件.cpp .abi .wast

hello -p fish指定路径,指定加密账户

 

执行智能合约函数

cleos push action fish hi '["1234"]' -p fish

 

调用hello合约中的hi函数

 

钱包解锁

cleos wallet unlock -n fish1208 --password PW5KiK9GU2TVo2TpA9Ragpzygj8s54AiCxBi2gDVzgUzWZCxbHZsS

 

钱包加锁

cleos wallet lock -n fish1208

 

猜你喜欢

转载自blog.csdn.net/yuch_hong/article/details/107377514