简介 本篇我们开始来为后续合约开发做准备了,先来说说EOS内置的系统合约的功能吧,本篇将侧重于合约表数据的查询,这将有利于我们理解EOS的功能,并可以进行必要的数据查询. EOS基础全家桶(七)合约表操作 简介 系统合约介绍 查询合约表 eosio.token eosio abihash userres voters producers refunds 其他表 系统合约介绍 系统合约的代码也是开源的,我们可以在https://github.com/EOSIO/eosio.contracts获得.…
简介 本篇我们将会学习EOS自带的命令行钱包的使用方法,我们将会使用cleos来控制keosd服务对本地钱包进行管理. 虽然现在市面上已经有很多支持EOS的钱包了,有Web钱包,有app钱包,还有浏览器插件钱包,著名有scatter钱包.TokenPocket钱包还有MeetOne钱包等.但是基于服务器上的钱包管理我们还是必须要学会使用keosd的功能,而且,从安全性来说,三方的终究没有官方的更让人放心吧,我的同事就遇到过被三方sdk盗号的情况,所以作为开发人员,熟练使用keosd的功能,对我们…
简介 通过上一期的学习,大家应该能写一些简单的功能了,但是在实际生产中的功能需求往往要复杂很多,今天我就继续和大家分享下智能合约中的一些高级用法和功能. 使用docker编译 如果你需要使用不同版本的CDT来编译不同的合约,那么这个方法是目前最有效的,使用虚拟机也是类似的原理,但是却没有docker更便利.如果你要通过安装卸载在不同的CDT版本间切换,你这是最低效且难以维护的方式了. 之前我就介绍过了使用使用EOS Studio上传的docker镜像,我们打开docker官方的Hub页面,然后搜…
简介 上一篇我们介绍了EOS的专用IDE工具EOS Studio,该工具的优势是简单,易上手,但是灵活性低,且对系统资源开销大,依赖多,容易出现功能异常.那么我们开发人员最容易使用的,可能还是深度定制化的IDE,今天我们介绍如果用强大的VSCode来配置一个EOS的开发环境. 准备 最简配置: eosio.cdt VSCode C++插件 豪华配置: eosio.cdt VSCode C++插件 docker docker的eosio.cdt镜像 eosio.cdt源码及Intellisence…
简介 区块链上的所有操作都是通过交易(Transaction)上链的,无论你是转账交易还是发起的智能合约的调用,而EOS和传统区块链不同的是EOS在一个交易里可以发起多个行为(Action),这使得EOS的操作可以支持更原子化的事务控制,也同时为上链增加了便捷性和可操作性.而今天我们就要学习下EOS中的交易的结构和交易的操作. EOS基础全家桶(十)交易Action操作 简介 交易结构 发起交易的流程 action打包数据 获取区块信息 签名 广播 发起转账交易 调用合约Action 交易结构…
简介 前面我们已经学习了一些EOS的基础知识了,但是在EOS主网上的很多操作(比如:抵押.赎回.买卖内存)都是需要EOS链被正式激活后才可使用,而激活EOS链还需要很多的准备操作,我打算在单独的一篇文章中介绍,为了大家可以先上手使用EOS主网或者模拟测试,我们今天就先学习下如何使用EOS的jungle测试网. EOS基础全家桶(八)jungle测试网的使用 简介 EOS测试网介绍 创建账号 水龙头领取EOS 启动测试网节点 获取测试网的P2P节点地址 获取测试网的RPC API接口地址 钱包中配…
简介 本篇我们会学习最基本的账号相关的操作,包括了创建账号和查询,关于账号资源的操作因为必须先部署系统合约,所以我们会留到后面单独写一篇来讲解. 6-EOS基础全家桶(六)账号管理 简介 账号介绍 账号名介绍 资源介绍 补充说明genesis.json 创建账号 创建系统级账号 创建普通账号 查询账号 查询账号基本信息 查询余额 账号介绍 EOS的设计与以往的其他区块链有很大的不同,传统区块链上使用的账号都是直接使用公钥,而EOS使用了最多13位长的简短账号名,并以此扩展出了账号权限的功能. 账…
简介 今天我们继续补充智能合约的进阶使用技巧,这次的主题是交易,合约内我们除了可以发起内联action的调用,很多使用还需要直接调用其他的合约action或者以交易的形式调用自身的action. 发起交易/延时交易 在合约内可以非常方便的发起一个交易,无论是调用外部的合约action还是调用自身的,都很容易. 这里可能你会有疑问,为何调用自身的action要通过发起交易的方式呢?一个最主要的原因是需要有交易记录,如果直接作为内联方法调用了,链上是看不到直观的记录的,而我们通过区块链浏览器查看交易…
简介 智能合约是现在区块链的一大特色,而不同的链使用的智能合约的虚拟机各不相同,编码语言也有很大差异.而今天我们开始学习EOS的智能合约,我也是从EOS初期一直开发合约至今,期间踩过无数坑,也在Stack Overflow上提过问(最后自己解决了),在实际生产中也积累了很多经验,所以我会连续几周分多次分享合约开发的经验,今天先来点基础的. 一些C++的编程基础 EOS就是使用C++开发的,这也为它带来了诸多好处,而合约也沿用C++作为开发语言,虽然合约中无法直接使用Boost等框架(你可以自己引…
简介 我们马上要进入智能合约的开发了,以太坊最初提供了智能合约的功能,并宣告区块链进入2.0时代,而EOS的智能合约更进一步,提供了更多的便利性和可能性.为了进一步了解智能合约,并进行开发,我们需要先准备好智能合约的开发环境,工欲善其事必先利其器,有了好的开发环境,可以加快我们的开发速度,降低bug率. EOS的IDE介绍 EOS的智能合约是使用C++编写的,而编译是使用EOSIO官方出品的eosio.cdt来完成,所以最简单又最复杂的IDE就是一个编辑器+cdt工具. 简单是因为你只需要一个记…