eos操作系统_EOS基础全家桶(十一)智能合约IDE-EOS_Studio

ee25148307e5005ea20120cdcb7ecc20.png

简介

我们马上要进入智能合约的开发了,以太坊最初提供了智能合约的功能,并宣告区块链进入2.0时代,而EOS的智能合约更进一步,提供了更多的便利性和可能性。为了进一步了解智能合约,并进行开发,我们需要先准备好智能合约的开发环境,工欲善其事必先利其器,有了好的开发环境,可以加快我们的开发速度,降低bug率。

EOS的IDE介绍

EOS的智能合约是使用C++编写的,而编译是使用EOSIO官方出品的eosio.cdt来完成,所以最简单又最复杂的IDE就是一个编辑器+cdt工具。

简单是因为你只需要一个记事本软件,再装好eosio.cdt工具,配合命令行,就可以完成合约的开发了。

复杂是因为你如果需要更好的智能提示、缩进、换行、自动填充和代码关联……你需要自行安装很多插件并配置语言库等。

这次我们先介绍一个EOS中相对成熟的IDE环境,EOS Studio,使用现成的,而且配置很少,算是一个比较适合入门的工具了,但是没有本地环境稳定,算是各有千秋吧。

EOS Studio介绍

先给出官网地址,https://www.eosstudio.io/,可以说这是目前最成熟的EOS智能合约开发IDE了,图形化的界面,支持代码编辑、合约交互和链网络管理等。就算你不开发智能合约,也可以使用它来查主网数据或者调用合约。

之前我们说过EOS的运行环境目前是不支持windows的,所以windows上只能通过docker来运行。那么,EOS Studio提供了Mac、Windows和Linux的安装程序,一想便知是借助了docker技术来实现的。

借助docker技术,使得EOS的开发环境的搭建变得更加的简洁和便利,你可以更方便的更换EOSIO主程序和CDT的版本,也可以更加纯净的安装和删除。

而EOS Studio提供了两种使用方式,一种是WebIDE,可以直接在浏览器中进行开发,这种的使用体验将更接近于以太坊的remix,可以让开发人员在任何有网络的地方进行合约修改和调用。另一种就是传统的应用程序,安装到本地操作系统中,提供更加完整的IDE功能和测试的功能。

WebIDE

介绍

打开官网,正中间醒目的按钮Launch EOS Studio Web就是WebIDE的入口。

b764ee2924f9de1708a94f2ed3650654.png


如果你无法显示IDE的内容,可能需要借助工具|科|学|上|网|才能打开。

3ba46bd6e122b08ded91c8e6ba1ca020.png

主页面提供了很多便于初学者学习的功能,比如开发教程啊、EOS官方合约的源码,还有其他人开源出来的合约等。

网络管理

我们先来切换一下网络,默认是Cloud,是WebIDE自用的网络,等会儿我们登录再使用,先切换到主网(Mainnet)来看看其他功能吧。

33f176e2066f18a078e26f20e9dbe969.png


切换以后可以看到主网的基本信息和目前最新出块信息了。

b21b9689f089ad476b91c195c7805d41.png

合约页

切换了主网,我们来看看导航栏的合约功能,默认选中的是eosio,也就是EOS的系统合约账号。

53a0b2806adc832f84797cbc2fc71bad.png


这个列表可以收藏我们关注的合约,这里我们先看看eosio合约吧。点击eosio进入合约页面。

合约页面功能丰富,可以同时打开多个合约,每个合约里可以进行action的调用、table的查询

18891c1afb3fda61ae7f5592f3863531.png

如果你想调用action,那么你需要先登录,然后还有打开scatter,再完成网页上scatter的登录,然后你就可以使用你的私钥进行签名了,这部分我稍后再介绍。

账号页

我们现在来看看导航栏的账号功能,默认选中的还是eosio。

de8633b55e2d577549b4dacf2da3b9fe.png


这里还提供了创建账号的功能,我们之前说过了EOS创建账号的特殊性,所以这里也需要你登录scatter后才能创建。

80200f9e3e64e4c7b0199698b25c96df.png


账号页的功能比较类似于区块链浏览器,都是和账号相关的信息和交易。

ab6ad7fffd1200c9ef0849bee456dc59.png


不过界面上还是提供了两个实用功能,一个是转账,一个是key管理。

登录账号

为了进一步演示WebIDE的功能,我们现在需要登录,点击导航栏上的人像,选择log in

f80a7279703e723a7b339d5795d6673d.png


这里使用的是github的账号授权登录,因为WebIDE的合约存储是依赖于github的,所以直接使用了github来作为账号登录。

d9fbd14a3b6371d71825f7597e017b77.png


登录以后,我们也顺带把scatter登录了,点击底部栏左侧钥匙旁边,然后授权scatter进行登录。

98fe018bd1607fe12b804c7eeecb3826.png

项目管理

登录后我们就可以使用项目管理的功能了,默认肯定是没有项目的,你可以通过首页的链接打开他人的或者官方的合约,也可以新建一个合约,

bac964bf9b15ead26b753c66e211f14a.png


我这里已经有两个合约了,一个是我之前测试写的candy,一个是EOS官方的token合约。这里我们再新建一个test合约,点击New输入合约名即可。

7bcf0d0d022e4929f1d4b669dd412a5f.png


我们看到,默认的为我们创建了头文件test.hpp和源码实现test.cpp,另外的.eosproj是项目文件,自动生成了一个README.md文件,他连abi和wasm文件都帮我们生成好了,不过是空文件。

项目配置

点击项目目录上的齿轮按钮进入项目的设置页面。

f219ce430665e75b2d3ebcf216dae32b.png

里面包含了两部分,构建配置和部署配置。这里具体的配置我先不做说明,在后面我们具体将合约的编译和发布的时候再详细说明。

编译

WebIDE的编译是通过请求其服务器上的服务进行编译,我们点击锤子图标进行编译。

66844a0ad381bce142cbc30e468a5074.png

然后等待构建成功就行了,这时abi和wasm文件就生成好了。

c27dd17488a34542c74926bd5e5f08ca.png

048d75e391906ab9f65ceab8fbac6a60.png

WebIDE中的构建有时不稳定,在我写这篇文章的时候就遇到了500错误或者编译很久无返回。

部署

我们需要先做一些准备工作。

  • 导入私钥

首先是导入私钥,点击底部栏左下角的钥匙图标。

42ef6fdbf916c8433d48b0ce5badb7a1.png


打开了key管理页面,我们将要部署合约的账号私钥导入。

b1be872780b02fa70100da7f4cb4a409.png


这里我们导入了官网testnet中我的一个账号hvzwqywduhbu的active私钥,这个账号已经购买了足够的内存和其他资源。

注意:这里的私钥管理安全性很低,不建议将主网的账号私钥通过这种方式导入,如果需要使用生产环境的账号,请使用scatter导入,并在页面上登录scatter即可。
  • 切换网络

切换到需要部署合约的账号所在的网络,我们这里使用Block.one,也就是官方testnet。

  • 收藏合约账号

打开账号页面,输入账号名,并收藏。我们这里使用的是hvzwqywduhbu,在搜索框搜索,然后点击右侧的五角星收藏。

7b2e2f1d8dee84a8b12b5e07ffeac81b.png
  • 部署

合约已经编译成功后,abi和wasm文件准备就绪了,我们直接点击docker图标进行部署。

8bda9a3734846d4af0cfae0b762ae70f.png

然后选择账号,这里我们选择hvzwqywduhbu。

d6eac3529a03284612e49ba4fdac54a7.png

最后就等待部署成功即可。

fb6ad7f884748c917eaea74dc744cd3a.png

8916ee9ff3ce7354beb8c9be58c756d2.png

本地IDE

安装EOS Studio到本地操作系统,可以选择对应的安装包下载安装即可。默认安装程序会安装Docker、EOSIO主程序、CDT和系统合约。在官网首页里选择当前系统类型然后下载。

0398251a7e2fac19c7d535577d99728b.png

安装

打开安装程序我们可以看到需要安装docker,EOSIO主程序,CDT和系统合约。

14a8a6214b3c61d871638fe5af902558.png


我们逐个安装即可。

使用

本地使用方法与WebIDE类似,所以这里不再做重复介绍。本地有一个优势就是可以自启一个Local节点,然后测试合约也会很方便。当然,合约的编译和部署也会更加稳定一些。

总结

EOS Studio最初的设计其实是非常好的,加上功能也很全面,对于初学者来说,降低了开发和使用的门槛。

但是问题也很明显,提供的云服务经常有报错,合约的编译和部署也存在着很多问题,并不稳定。

所以在下一篇文章,我还是会介绍传统的简单而复杂的IDE环境搭建,这也是最服务开发人员使用习惯的IDE环境,敬请期待。

EOS基础全家桶(十一)智能合约IDE-EOS_Studio|链鱼社区|FishoPark|区块链技术|区块链公司|区块链开发|区块链金融|数字经济|区块链技术与价值诠释者​www.fishopark.com
be132348e6b143e7714f216f9f10c6cb.png

更多内容请关注微信公众号

http://weixin.qq.com/r/OSlSSl7EqQPWrRop93wr (二维码自动识别)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值