1. 比特币行情首页
  2. EOS

手把手教你玩eos:使用EOSFactory与EOS交互

文章由EOS节点EOSWing(柚翼)首发于eoswing.io博客,并向知币(ZHIBI.COM)授权刊载。内容将不定期更新,仅供学习交流之用。 0.引言 0.1教程概况 手把手教你玩eos系列教程,从最基础开始,一步一步教你学会用eos。比如发代币,开发DAPP等等。 本文是第十六篇

文章由EOS节点EOSWing(柚翼)首发于eoswing.io博客,并向知币(ZHIBI.COM)授权刊载。内容将不定期更新,仅供学习交流之用。


手把手教你玩eos:使用EOSFactory与EOS交互

0.引言

0.1教程概况

手把手教你玩eos系列教程,从最基础开始,一步一步教你学会用eos。比如发代币,开发DAPP等等。

本文是第十六篇。本篇教程讲解如何使用EOSFactory及其Python CLI轻松直观地与EOS进行交互。

0.2 学习内容

启动本地测试节点

管理账户和智能合约

运行测试合约

清理环境

0.3 机器环境

●笔记本电脑

●操作系统:Windows 10

1 启动本地测试节点

1.1 进入环境

首先进入WSL中的ubuntu的命令行,然后运行Python CLI。

Python3


手把手教你玩eos:使用EOSFactory与EOS交互

进入Python shell后,导入EOSFactory库。

from eosfactory.eosf import *

1.2 启动本地测试节点(testnet)

启动单节点本地testnet。

reset()


手把手教你玩eos:使用EOSFactory与EOS交互

获取testnet当前状态的信息。

info()


手把手教你玩eos:使用EOSFactory与EOS交互

1.3 管理本地testnet

要停止当前的testnet。

stop()


手把手教你玩eos:使用EOSFactory与EOS交互

要继续运行当前的testnet。

resume()


手把手教你玩eos:使用EOSFactory与EOS交互

停止当前的testnet并启动一个新的。

reset()


手把手教你玩eos:使用EOSFactory与EOS交互

2 管理账户和智能合约

2.1 创建主账户

首先,确保本地testnet正在运行。

info()查看,没有就reset()启动一个。

创建一个可以创建其他帐户的主帐户,名称为master。当然,你也可以取其他名称:

create_master_account(“master”)


手把手教你玩eos:使用EOSFactory与EOS交互

注意:名称master只是全局变量的名称,而不是区块链上创建的帐户的实际名称。

您无需担心锁定或解锁钱包,管理其密码或将私钥导入其中。所有这一切都由EOSFactory来处理。

查看master主账户信息。

master.info()


手把手教你玩eos:使用EOSFactory与EOS交互

2.2 创建子账户

使用master创建测试帐户:

create_account(“charlie”, master)


手把手教你玩eos:使用EOSFactory与EOS交互

查看账户信息:

charlie.info()


手把手教你玩eos:使用EOSFactory与EOS交互

和上面的master一样,名称charlie只是全局变量的名称,而不是区块链上创建的帐户的实际名称。

如果你想命名EOS链上的账号名,可以使用参数account_name。

下面创建一个命名链上账号名的账户charlie2。

create_account(“charlie2″, master, account_name=”charlie22eos”)


手把手教你玩eos:使用EOSFactory与EOS交互

查看charlie2的账户信息:

charlie2.info()


手把手教你玩eos:使用EOSFactory与EOS交互

2.3 管理智能合约

定义contract

创建一个部署智能合约用的账户host

create_account(“host”, master)


手把手教你玩eos:使用EOSFactory与EOS交互

定义contract,将账户和智能合约所在文件夹绑定。

contract = Contract(host, “/mnt/f/EOS/eosfactory/contracts/02_eosio_token”)

构建合约

contract.build()


手把手教你玩eos:使用EOSFactory与EOS交互

部署合约

可以使用code()来检查合约。首先我们看下没有部署合约的code()提示。

contract.code()


手把手教你玩eos:使用EOSFactory与EOS交互

部署合约:

contract.deploy()


手把手教你玩eos:使用EOSFactory与EOS交互

再次查看合约hash:


手把手教你玩eos:使用EOSFactory与EOS交互

3 运行测试合约

3.1 创建代币

首先创建10亿的EOS代币。

host.push_action(

“create”,

{

“issuer”: master,

“maximum_supply”: “1000000000.0000 EOS”,

“can_freeze”: “0”,

“can_recall”: “0”,

“can_whitelist”: “0”

}, [master, host])


手把手教你玩eos:使用EOSFactory与EOS交互

注意:该push_action方法有三个参数:操作的名称,JSON格式的操作参数以及需要权限的帐户。

注意:如果您想要在不广播的情况下查看实际交易,请使用show_action方法代替push_action。

3.2 发放代币

发给charlie代币100EOS。

host.push_action(

“issue”,

{

“to”: charlie, “quantity”: “100.0000 EOS”, “memo”: “”

},

master)


手把手教你玩eos:使用EOSFactory与EOS交互

查看下charlie当前账户信息

host.table(“accounts”, charlie)


手把手教你玩eos:使用EOSFactory与EOS交互

3.3 代币转账

现在charlie的代币转账25EOS给charlie2。

host.push_action(

“transfer”,

{

“from”: charlie, “to”: charlie2,

“quantity”: “25.0000 EOS”, “memo”:””

},

charlie)


手把手教你玩eos:使用EOSFactory与EOS交互

再次查看charlie账户信息

host.table(“accounts”, charlie)


手把手教你玩eos:使用EOSFactory与EOS交互

查看charlie2账户信息

host.table(“accounts”, charlie2)


手把手教你玩eos:使用EOSFactory与EOS交互

可以看出,已经转账到位。

4 清理环境

4.1 关闭本地testnet

stop()


手把手教你玩eos:使用EOSFactory与EOS交互

4.2 退出Python CLI

exit()


手把手教你玩eos:使用EOSFactory与EOS交互

5 后记

延伸阅读

在本文的学习中如果遇到问题,欢迎留言或者在如下链接寻找解决方案:

●使用EOSFactory与EOS交互: http://eosfactory.io/build/html/tutorials/02.InteractingWithEOSContractsInEOSFactory.html

如果觉得这一系列教程有点意思,请投票给柚翼节点(eoswingdotio)。您的投票是本教程持续更新的动力源泉,谢谢。

系列教程回顾:

手把手教你玩eos:教程开篇絮语及目录

手把手教你玩eos:(一)使用docker搭建eos本地运行环境

手把手教你玩eos:(二)钱包和账户的创建与管理

手把手教你玩eos:(三)使用智能合约创建和发放代币

手把手教你玩eos:(四)编写第一个智能合约Hello_eos

手把手教你玩eos:(五)编写智能合约游戏——三连棋

手把手教你玩eos:(六)架设EOS区块浏览器

手把手教你玩eos:(七)卡牌游戏第一课——搭建前后端框架

手把手教你玩eos:(八)卡牌游戏第二课——存储状态和登录

手把手教你玩eos:(九)卡牌游戏第三课——从区块链中读取状态

手把手教你玩eos:(十)卡牌游戏第四课——游戏核心组件

手把手教你玩eos:(十一)卡牌游戏第五课——AI部分

手把手教你玩eos:(十二)卡牌游戏第六课——战斗部分

手把手教你玩eos:(十三)卡牌游戏第七课——完善游戏流程

手把手教你玩eos:(十四)卡牌游戏第八课——优化细节体验

手把手教你玩eos : (十五)配置windows10下的EOSFactory开发测试框架


手把手教你玩eos:使用EOSFactory与EOS交互
添加新手交流群:币种分析,每日早晚盘分析
添加助理微信,一对一亲自指导:Zsm1991-8-03

发布者:Rx, Kerner,转请注明出处:https://www.btchangqing.cn/62207.html

发表评论

登录后才能评论
商务微信
商务微信
客服QQ
分享本页
返回顶部