EOSIO的入门知识包括以下内容: 安装EOSIO.CDT使用keosd作为本地开发用的钱包启动nodeos守护进程创建EOS账户EOSIO智能合约基础通证内联Action自定义权限使用EOSIO notify声明Payable Action在学习这些知识前,可以先通过EOSIO Quickstart Web IDE尝试EOSIO系统的使用。 在浏览器中使用EOSIO 项目地址:EOSIO Quickstart Web IDEGithub地址:EOSIO/eosio-web-ideEOSIO 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)
总结 EOSIO Quickstart Web IDE的基本使用就介绍到这里,还有更多内容如建立和运行单元测试、重置区块链等读者可自行体验。 EOSIO Quickstart Web IDE的优点是方便和快速使用,缺点是和本地运行环境比起来有较大的性能差距。 —- 编译者/作者:松果 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
在浏览器中使用EOSIO(Quickstart Web IDE)
2020-06-15 松果 来源:区块链网络
LOADING...
相关阅读:
- 行情分析外,用140倍高杠十分钟 赚100万,一分钟后爆仓清零,有人问;2020-08-01
- 第630篇:李笑来说Defi最近还得出事……2020-08-01
- SEC将监控合同授予Ciphertrace,美国监管机构开始涉足Binance链2020-08-01
- 读币圈头条拿3000key红包||5张图来看以太坊的发展史。2020-08-01
- 以太坊的五年:从少年梦到市值380亿美元区块链2020-08-01