![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
EOS区块链
weixin_33656634
这个作者很懒,什么都没留下…
展开
-
Fabric基本原理
一、Fabric架构二、Fabric网络三、Fabric模块四、Fabric交易流根据Hyperledger Fabric 1.0架构,Fabric交易的整个生命周期可以分为7个阶段。如下图反应了交易的整个生命周期以及交易于账本的交互。(1)在交易的第一阶段,客户端应用发起智能合约A的一个交易请求给背书节点E0。智能合约A配置的背书策略要求...原创 2019-12-17 18:41:31 · 1165 阅读 · 0 评论 -
EOS系列十六:EOS连接主网、测试网
一、连接方法:连接EOS主网、测试网的方法有好多种,可以按照不同的应用场合来区分。1、本地节点不接入主网/测试网,仅仅使用本地终端命令cleos。例子:$cleos -u http://peer1.eoshuobipool.com:8181 --wallet-url unix:///home/tgg/eosio-wallet/keosd.sock get accounteo...原创 2019-05-17 18:02:43 · 529 阅读 · 0 评论 -
EOS系列十四:EOS智能合约中多索引表的高级用法
一、简介多索引表使用的高级功能主要有:1、可以建立多级索引,由不同字段组成的多级索引,方便根据不同字段进行快速操作。2、可以建立只有一行数据的多索引表。3、可以建立体现一对多关系的多索引表,即一个关键字存在多条记录与其对应。如学生表中很多个学生都是同一个班主任,这样根据班主任名字这个关键字可以找到很多条学生记录。二、详解1、建立多级索引的使用方法:(详见https://eo...原创 2019-05-13 17:29:39 · 390 阅读 · 0 评论 -
EOS系列十五:EOS内存的理解
总结一下对ram的理解:一、一个eos帐号需要eos平台分配对应的ram供其使用,这就是该帐号在EOS平台中所占用的资源,eos平台的总内存是有限的,所以分配给每个帐号的ram就具备了稀缺性质,那就具备的价值,这就是内存炒作的根本原因。二、一个帐号的ram中保存的信息主要有:1、保存帐号的基本信息。2、保存在帐号上部署的代码数据,包括代码本身以及合约运行的结果数据如多索引表数据。...原创 2019-05-13 17:57:13 · 1091 阅读 · 0 评论 -
EOS系列十三:RPC调用查询多索引表数据
chain/get_table_rowschain/get_table_rows调用指定多索引数据表的数据行。注意,nodeos时需要启用chain_api_plugin插件。调用参数JSON对象,指定数据表查询条件,其成员如下:scope:数据表作用域,字符串 code:合约的托管账号名,字符串 table:数据表名称,字符串 table_key:键名称,字符串,可选...原创 2019-04-16 11:09:23 · 567 阅读 · 0 评论 -
EOS系列十二:自定义EOS权限新增、修改、删除设置
EOS自定义权限设置通过终端命令行、RPC的方式均可实现,基本沿用通用权限设置命令的方式,例子说明如下:1、设置标准active权限使用如下命令:$cleos set account permission account0 active '{"threshold": 1,"keys": [{"key": "EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8Bh...原创 2019-04-15 16:18:59 · 885 阅读 · 0 评论 -
EOS系列十一:RPC调用方式实现EOS权限设置(权限的完整理解)
在系列九中已阐明了EOS帐号权限的关系,并用命令行的方式展示了具体的设置方法。在RPC调用的方式中,实质上是调用了“eosio”这个合约的"updateauth" action。套用RPC方式向EOS提交transaction的交互步骤(系列十介绍的方法),从而达到通过RPC调用方式实现EOS权限设置。举例说明如下:1、命令行下实现account0的帐号权限设置:$cleos set...原创 2019-04-08 11:52:07 · 937 阅读 · 0 评论 -
EOS系列十:RPC方式向EOS提交transaction的交互步骤
EOS客户端开发,主要采用RPC方式对EOS进行操作,核心步骤如下:url地址(http://192.168.1.79:8888/v1/chain/get_info)一、get_info1、从正常的返回json中获得"head_block_id"、"head_block_time"两个字段值和"chain_id"字段2、为get_required_keys组装post请求参数(js...原创 2019-03-06 14:15:05 · 1176 阅读 · 0 评论 -
EOS系列九:EOS权限设置
在EOS区块链中任何操作都是以账号为发起者,在ADPP智能合约使用过程需要厘清账号权限相关的规则,否则可能没有充分授权导致action调用出错:1)普通账号:调用智能合约操作的账号。2)合约账号:部署合约的账号。一个合约账号accout1仅仅是对于部署其上的合约A而言,才算合约账号,对于部署在账号account2上的合约B而言,account1就是一个普通账号。3)在多个智能合约相互调...原创 2019-01-21 15:09:24 · 442 阅读 · 0 评论 -
EOS系列八:MongoDB的使用
EOS含有mongodb的插件,可以对mongodb友好支持。在此总结一下EOS与mongoDB的交互。一、mongoDB环境搭配。1、下载安装mongoDB,EOS安装时可能已经安装好mongodb。如你的系统未安装或者你不想使用eos默认安装的版本,可以另行安装。安装方法略(最简单方法是命令sudo apt-get install mongodb)。2、新建数据库保存目录以及日志目录...原创 2018-12-20 18:07:16 · 988 阅读 · 0 评论 -
EOS系列七:智能合约通信模型、transaction、action、限制
1、智能合约间的调用通信模型有内联调用和延迟调用。2、action之间的执行完全独立,无法直接通信,如需在action间交互状态数据,则必须由一个action将数据写入EOSIO database(多索引表),再由另一个action从EOSIO database读取。3、EOS对每个transaction的执行限制在30ms以内,否则事务执行失败。所以在编写智能合约时,一个事务不能包含太多...原创 2018-12-14 15:26:54 · 478 阅读 · 0 评论 -
EOS系列六:wallet钱包、key公私钥对、account帐号的关系
经多次验证之后,钱包、公私钥、帐号的关系如下: 1、钱包管公私钥,公私钥管帐号。一个钱包下可管理着多对公私钥,一对公私钥可以管理着多个帐号2、钱包的安全由钱包密码负责校验。帐号的使用安全以及权限由公私钥负责,帐号在创建时已经绑定其对应的公私钥。3、帐号是EOS区块链的操作发起者,任何操作都需要经过帐号来进行。4、公私钥key对可以任意导入钱包和从钱包中删除,任意即表示可以一...原创 2018-11-26 11:35:53 · 948 阅读 · 0 评论 -
EOS系列五:cleos命令行创建、导入密钥、解锁钱包
前置条件:确保节点已经启动$ cd eos/build/programs/nodeos/$ ./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin保持terminal运行状态。钱包操作:另开新的terminal操作:$ cd eos/build/pro...原创 2018-11-15 17:58:08 · 845 阅读 · 0 评论 -
EOS系列四:Ubuntu上搭建EOS开发环境(源码编译)
说明:前述三篇文章介绍的是在docker中运行的单机状态的EOS,现介绍开发环境的搭建。步骤如下:1、git下载源码$ git clone https://github.com/EOSIO/eos --recursive2、 编译源码:下载完成之后会在home目录创建eos文件夹, cd eos,进入到eos目录,然后调用 sudo./eosio_build.sh开始编译源码,这...原创 2018-11-15 14:26:10 · 207 阅读 · 0 评论 -
EOS系列三:关于ABI文件
1、简介eos开发工具包eosio.cdt中的eosio-cpp可以根据合约代码自动生成abi文件,但在某些情况下(一些C++高级特性的使用以及某些自定义类型的使用),自动生成失败,则需要了解abi文件的工作机制,以便debug你的代码。其实abi文件就是用JSON格式进行合约的结构描述,包括合约代码中定义的数据类型、执行函数等。2、ABI文件格式为JSON,主要结构如下: ...原创 2018-11-08 17:32:43 · 1308 阅读 · 0 评论 -
EOS系列二:EOS智能合约开发学习心得
以几个实例演绎开发过程。=================================实例1====================================一、建立合约目录,编写合约c++代码Shellcd /home/game/contractsmkdir hellocd hellotouch hello.cpp编写c++C++#include &l...原创 2018-11-08 16:56:05 · 590 阅读 · 0 评论 -
EOS系列一:区块链EOS开发环境搭建心得
本搭建过程根据官网教程(https://developers.eos.io/eosio-home/docs/setting-up-your-environment)进行,主要步骤如下:一、安装docker1、Debian 9安装docker ce(过程参照https://blog.csdn.net/hnhbdss/article/details/78512651),docker官网的下载需...原创 2018-11-06 11:19:16 · 472 阅读 · 0 评论