在浏览器中使用EOSIO(Quickstart Web IDE)

 空投币   2020-06-15  来源:互联网  0 条评论
优质活动 币圈快讯 平台公告 行情分析
最新羊毛 最新空投 链圈挖矿 活动线报
新币上市 币圈空投 国外项目 币链屋
提醒:本站内容均转自网络,仅用于开发者下载测试,请明辨风险,若涉资金安全及隐私,请谨慎!谨慎!再谨慎!一切风险自担,涉及资金交易及个人隐私务必小心并远离,切记千万别投资,勿上当受骗。《本站免责申明》

EOSIO的入门知识包括以下内容:

  • 安装EOSIO.CDT
  • 使用keosd作为本地开发用的钱包
  • 启动nodeos守护进程
  • 创建EOS账户
  • EOSIO智能合约基础
  • 通证
  • 内联Action
  • 自定义权限
  • 使用EOSIO notify声明Payable Action

在学习这些知识前,可以先通过EOSIO Quickstart Web IDE尝试EOSIO系统的使用。

在浏览器中使用EOSIO

  • 项目地址:EOSIO Quickstart Web IDE
  • Github地址:EOSIO/eosio-web-ide

EOSIO Quickstart Web IDE项目托管在Gitpod上,Gitpod是一款基于VSCode Web版的IDE,可使用Github账号登录: 


登陆后会在Gitpod中创建一个EOSIO/eosio-web-ide项目的工作区:


点击“Open”进入Web IDE界面:


Web界面和本地的VSCode界面类似,不同的是EOSIO Web IDE还增加了很多内容。

控制台滚动显示正在生产的区块信息,EOSIO Web IDE通过Docker集成了一个云端运行环境,可以直接编译和部署EOS智能合约。

通过README文档可以学习EOSIO Web IDE的使用方法。

EOSIO Quickstart Web IDE

EOSIO Quickstart Web IDE使开发人员可以在几分钟内开始构建全栈EOSIO应用程序。

在Gitpod.io和Docker的支持下,为开发人员提供了用于开发和测试的单节点EOSIO区块链,无需进行高级本地环境设置。这里还包括一个示例应用程序,该应用程序具有智能合约和Web前端,已连接到区块链,开发人员还可以直接使用cleos和eosio.cdt之类的EOSIO工具。

通过Web IDE运行EOSIO系统无需在本地计算机上安装任何程序,所有代码都存储在开发人员的个人GitHub帐户上并进行管理,更改会自动保存。

在计算机系统的使用受到限制(比如学校、银行、政府)的场景下,或本地计算机性能不足以运行EOSIO时,Web IDE变得非常有用。

打开终端

点击控制台右上角的图标(Split Terminal)打开终端,在终端中可以直接使用cleos命令。

输入cleos get info命令可以获取当前运行的EOSIO区块链的基本信息: 


示例合约

Web IDE左侧的文件浏览器中的contract目录下有一份示例合约的源码(talk.cpp)。


定义了一张Multi-index数据表:

struct [[eosio::table("message"), eosio::contract("talk")]] message { uint64_t id = {}; // Non-0 uint64_t reply_to = {}; // Non-0 if this is a reply eosio::name user = {}; std::string content = {}; uint64_t primary_key() const { return id; } uint64_t get_reply_to() const { return reply_to; } };

定义了二级索引"by.reply.to",使该数据表可以通过id(主键)和reply_to字段查询数据。

using message_table = eosio::multi_index< "message"_n, message, eosio::indexed_by<"by.reply.to"_n, eosio::const_mem_fun<message, uint64_t, &message::get_reply_to>>>;

再往下是合约代码,只有一个名为post的Action,用于向message表中增加一条数据。

编译合约

在终端输入如下命令编译合约:

eosio-cpp contract/talk.cpp


talk.cpp文件会被编译成talk.abi和talk.wasm两个文件。


talk.abi是合约的JSON格式描述文件,talk.wasm是使用EOS VM编译成WebAssembly文件,可以在浏览器中运行。

部署合约

使用如下命令,为合约创建一个EOS账户,然后使用cleos部署合约:

cleos create account eosio talk EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV cleos set code talk talk.wasm cleos set abi talk talk.abi

合约部署完成后,使用cloes get code命令可以查到合约的哈希值:

cleos get code talk //code hash: 9b67c3e057ce966c78345a096a0680881fdba7788fe352c56041faecbe48d2d5


创建账户的调用合约

使用下面的命令创建两个EOS账户,并调用合约:

cleos create account eosio alice EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV cleos create account eosio bob EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV cleos push action talk post '[1000, 0, alice, "This is a new post"]' -p alice cleos push action talk post '[2000, 0, bob, "This is my first post"]' -p bob cleos push action talk post '[1001, 2000, alice, "Replying to your post"]' -p alice

控制台输出log信息: 


查询数据表

使用cleos get table命令可以查询message表的数据:

cleos get table talk '' message


启动Web前端应用

Web IDE的示例程序不但提供了智能合约,还提供了基于Reactjs的Web前端界面,使用如下命令启动:

gp preview $(gp url 8000)


在Docker镜像的8000端口运行了Web服务,这个前端界面展示了数据,还可以新增数据。

总结

EOSIO Quickstart Web IDE的基本使用就介绍到这里,还有更多内容如建立和运行单元测试、重置区块链等读者可自行体验。

EOSIO Quickstart Web IDE的优点是方便和快速使用,缺点是和本地运行环境比起来有较大的性能差距。

本文地址:http://bilianwu.com/54918.html
版权声明:项目均采集于互联网, 空投币 无法审核全面,且希望大家能赚钱,请谨慎切勿上当受骗!
温馨提示:★★★天上真会掉馅饼!天道酬勤,都是机会!不错过每个空投糖果!真假难以辨认,尽量0撸!
重要提醒:本站内容均转自互联网,请明辨各个项目风险,不构成投资建议,如涉及资金交易,请谨慎操作与自担风险!
《新人必看》 《本站免责申明》

评论已关闭!