- 浏览: 767929 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
fork_database:管理了轻量级状态数据,是由未确认的潜在区块产生的.
1.当本地节点接收(receive)到新的区块时,它们将被推入fork数据库.
2.fork数据库跟踪最长的链及最新不可逆块号.所有大于最新不可逆块号的区块将会发出"irreversible"不可逆信号以后被释放掉,区块已经成功上链变为不可逆,因此fork数据库没有必要再存储.
initialize_fork_db:要先构造区块头状态对象
区块头状态构造参数
1.active_schedule:活动的出块安排,默认为初始出块安排
2.pending_schedule:等待中的出块安排,默认为初始出块安排
3.pending_sechedule_hash:等待中的出块安排的单向哈希值
4.header.timestamp:等于创世块配置文件genesis中的timestamp值
5.header.activeon_mroot:action的Merkle树根,创世块的值为链id值,该值是通过加密算法计算出的
6.id:块id
7.block_num:块号
commit_block->add_to_fork_db
提交区块函数,无论提交是否成功,都不再保留活动的pending块.该函数有一个参数add_to_fork_db,调用时一般为false
maybe_switch_forks:或许要切换分叉库到主库
1.db的读取模式为IRREVERSIBLE时,只关心当前不可逆区块的数据,而fork_db中不存在不可逆区块的数据.其他三种读取模式都涉及可逆区块及未确认的数据,因此需要在maybe_switch_forks函数进行检查处理
2.当fork_db头块的上一个块等于当前节点的头块时,说明有新块被接收,先到达fork_db中
3.当fork_db头块的前一个块不等于主库头块且fork_db头块id也不等于当前节点的头块id时,说明fork_db最新的两个块都不等于主库头块.这里fork_db是更长的一条链,因此要切换主库为fork_db链
controller析构对fork_db的处理:my->fork_db.close()
1.在controller析构时将fork_db关掉,因为它会生成irreversible信号到这个controller.如果db读取模式为IRREVERSIBLE,将应用最后一个不可逆块,my需要成为指向有效controller_impl的指针
2.通常头块不是不可逆的.如果fork_db中只剩一个块,那么一定是头块,一般不会将它删除是因为下一个区块需要从头块建立.但可以在退出之前将这个区块作为不可逆区块从fork_db中删除
controller::startup对fork_db的处理:my->head = my->fork_db.head()
当controller处于startup周期时,会将fork_db的头块设置为主库头块(头块一般不是不可逆的)
1.当本地节点接收(receive)到新的区块时,它们将被推入fork数据库.
2.fork数据库跟踪最长的链及最新不可逆块号.所有大于最新不可逆块号的区块将会发出"irreversible"不可逆信号以后被释放掉,区块已经成功上链变为不可逆,因此fork数据库没有必要再存储.
initialize_fork_db:要先构造区块头状态对象
区块头状态构造参数
1.active_schedule:活动的出块安排,默认为初始出块安排
2.pending_schedule:等待中的出块安排,默认为初始出块安排
3.pending_sechedule_hash:等待中的出块安排的单向哈希值
4.header.timestamp:等于创世块配置文件genesis中的timestamp值
5.header.activeon_mroot:action的Merkle树根,创世块的值为链id值,该值是通过加密算法计算出的
6.id:块id
7.block_num:块号
commit_block->add_to_fork_db
提交区块函数,无论提交是否成功,都不再保留活动的pending块.该函数有一个参数add_to_fork_db,调用时一般为false
maybe_switch_forks:或许要切换分叉库到主库
if( read_mode != db_read_mode::IRREVERSIBLE ) { maybe_switch_forks( fork_db.pending_head(), s ); }
1.db的读取模式为IRREVERSIBLE时,只关心当前不可逆区块的数据,而fork_db中不存在不可逆区块的数据.其他三种读取模式都涉及可逆区块及未确认的数据,因此需要在maybe_switch_forks函数进行检查处理
2.当fork_db头块的上一个块等于当前节点的头块时,说明有新块被接收,先到达fork_db中
if( new_head->header.previous == head->id ) { try { apply_block( new_head, s ); fork_db.mark_valid( new_head ); head = new_head; } catch ( const fc::exception& e ) { fork_db.remove( new_head->id ); throw; } }
3.当fork_db头块的前一个块不等于主库头块且fork_db头块id也不等于当前节点的头块id时,说明fork_db最新的两个块都不等于主库头块.这里fork_db是更长的一条链,因此要切换主库为fork_db链
controller析构对fork_db的处理:my->fork_db.close()
1.在controller析构时将fork_db关掉,因为它会生成irreversible信号到这个controller.如果db读取模式为IRREVERSIBLE,将应用最后一个不可逆块,my需要成为指向有效controller_impl的指针
2.通常头块不是不可逆的.如果fork_db中只剩一个块,那么一定是头块,一般不会将它删除是因为下一个区块需要从头块建立.但可以在退出之前将这个区块作为不可逆区块从fork_db中删除
controller::startup对fork_db的处理:my->head = my->fork_db.head()
当controller处于startup周期时,会将fork_db的头块设置为主库头块(头块一般不是不可逆的)
发表评论
-
eos快照
2019-10-06 08:31 380快照:为区块链提供临时 ... -
eos controller概述
2019-10-03 17:28 292EOS中的模型层是blocks.log和基于chainbase ... -
eos multi_index
2019-10-03 09:01 281EOS的数据库就是chainbase,而调用数据库服务的C++ ... -
eos chainbase状态库
2019-10-01 08:03 431chainbase:是一个快速包含 ... -
eos action
2019-09-28 17:18 182action:在EOS中,action被分配到对应程序(一般是 ... -
eos事务结构
2019-09-28 16:34 394transaction_header:事务头的数据大小是固定的 ... -
eos区块头结构
2019-09-28 08:54 283block_header:区块头 struct block ... -
eos rpc set
2019-09-26 19:27 281set contract:设置合约 xjdeMacBook- ... -
eos rpc create
2019-09-26 19:18 2551.创建公私钥对 xjdeMacBook-Pro:safeco ... -
EOS blocks.log
2019-09-26 07:40 367区块数据通过blocks.log与blocks.index持久 ... -
引用区块
2019-09-25 07:26 309trx.set_reference_block(ref_blo ... -
EOS事务
2019-09-24 07:36 347调用函数add_standard_transaction_op ... -
全节点搭建
2019-09-22 09:34 2631.通过system regproducer命令可将普通账户注 ... -
eos名词解释
2019-09-14 09:34 6541.Authority:权力,要与Permission做好区分 ... -
智能合约依赖库
2019-08-29 07:32 364Action:这部分定义了查询或发送action的API.在E ... -
eos_rpc_system资源获取
2019-08-21 07:39 369资源主要有CPU,net bandwidt ... -
eos_rpc_sign
2019-08-21 07:22 242sign [OPTIONS] transaction:完成EO ... -
eos_rpc_wallet
2019-08-20 07:31 3141.wallet create [OPTIONS]:创建一个新 ... -
eos_rpc_get
2019-08-18 08:38 2901.get info:通过指定全节点API接口获取其连接的EO ... -
nodeos,cleos,keosd
2019-08-16 07:17 304nodeos:是运行在服务端的 ...
相关推荐
EOS 5DS / EOS 5DS R / EOS REBEL T6s / EOS 760D / EOS 8000D / EOS REBEL T6i / EOS 750D / EOS Kiss X8i / EOS M3 EOS-1D X Mark II / EOS 80D / EOS Rebel T6 / EOS 1300D / EOS Kiss X80 / EOS M10 EOS 5D ...
EOS Kiss X3 / EOS REBEL T1i / EOS 500D EOS 7D EOS-1D Mark IV EOS Kiss X4 / EOS REBEL T2i / EOS 550D EOS 60D EOS Kiss X5 / EOS REBEL T3i / EOS 600D EOS Kiss X50 / EOS REBEL T3 / EOS 1100D EOS-1D...
07/31/2017 -Added support for the EOS 6D Mark II / EOS Kiss X9 / EOS Rebel SL2 / EOS 200D 05/31/2017 -Added support for the EOS Kiss X9i / EOS Rebel T7i / EOS 800D / EOS 9000D / EOS 77D / EOS M5 / ...
可适用型号 EOS 40D EOS DIGITAL REBEL Xsi/450D/ Kiss X2 EOS DIGITAL REBEL XS/ 1000D/ KISS F EOS 50D EOS 5D Mark II EOS Kiss X3/EOS REBEL T1i /EOS 500D ...EOS Kiss X70/EOS 1200D/EOS REBEL T5/EOS Hi EOS
佳能相机最新驱动,EDSDK v13.12.1 。 支持Mac OS X 10.15和Windows 10 x32及x64。 相机列表: EOS-1D Mark III ...EOS Kiss X90 / EOS REBEL T7 / EOS 2000D / EOS 1500D EOS REBEL T100 / EOS 4000D / EOS 3000D
支持以下相机: EOS-1D Mark III EOS 40D EOS-1Ds Mark III EOS DIGITAL REBEL Xsi/450D/ Kiss X2 EOS DIGITAL REBEL XS/ 1000D/ KISS F EOS 50D EOS 5D Mark II EOS Kiss X3/EOS REBEL T1i /EOS 500D EOS 7D EOS-1D...
EOS Kiss X3/EOS REBEL T1i /EOS 500D EOS 7D EOS-1D Mark IV EOS Kiss X4/EOS REBEL T2i /EOS 550D EOS 60D EOS Kiss X5/EOS REBEL T3i /EOS 600D EOS Kiss X50/EOS REBEL T3 /EOS 1100D EOS-1D X ...
EDSDK Version 3.2: EOS 5DS / EOS 5DS R / EOS 760D / EOS 750D / EOS M3 (M3 does not support Remote Capture function) support. This version contain the 64bit RAW development modules for EOS 5DS / EOS 5...
EOS Kiss X4/EOS REBEL T2i /EOS 550D, EOS 60D, EOS Kiss X5/EOS REBEL T3i /EOS 600D, EOS Kiss X50/EOS REBEL T3 /EOS 1100D, EOS-1D X, EOS 5D MarkIII, EOS 60Da, EOS 650D, EOS-1D C, EOS 6D, EOS 700D, EOS ...
**EOS6 基础构件库参考手册** EOS6 是一个先进的分布式操作系统平台,它为开发者提供了一套高效、安全且可扩展的基础构件库。这个基础构件库是EOS6生态系统的核心部分,允许开发者构建高性能的去中心化应用程序...
Go 的 EOS.IO API 库正在加载...该库提供对数据结构(二进制打包和 JSON 接口)的简单访问以及对远程或本地运行的 EOS.IO RPC 服务器的 API 调用。它提供钱包功能(KeyBag),或者可以通过keosd钱包签署交易。它还...
文档 00 EOS文档使用指南.chm :00 EOS文档使用指南.chm EOS全部资料合集(包括例子) ...05 EOS基础构件库参考手册.chm :05 EOS基础构件库参考手册.chm ...........等等 EOS全部资料合集(包括例子)
- **EOS Component Library (EOS构件库)**:EOS Component Library是一系列具有高度复用性的预制构件集合,用于快速搭建应用系统。 - 构件复用:支持构件的复用,提高开发效率。 - 构件管理:提供构件管理和版本...
c#控制佳能相机拍照实时传输等源码,内含最新版EOS SDK版本 用的是winforms来编写的 sdk支持相机如下 EOS-1D Mark III EOS 40D EOS-1Ds Mark III EOS DIGITAL REBEL Xsi / Kiss X2 / EOS 450D EOS DIGITAL ...
**普元EOS7.5基础教程(官网版)** 普元EOS是一款国内知名的中间件平台,专注于企业级服务总线(Enterprise Service Bus, ESB)和应用服务器领域。EOS7.5版本是其一个重要的迭代,提供了更强大的功能和优化的性能。本...
普元eos是一款由普元信息技术有限公司开发的软件产品,该产品以提供一套高效的开发解决方案为核心,特别在前端开发领域具有较强的竞争力和广泛的使用。普元eos的帮助文档详细介绍了如何安装使用普元前端开发框架NUI...
**EOS(Ethernet Over SDH)业务** EOS,即以太网在SDH(Synchronous Digital Hierarchy,同步数字体系)上的承载,是一种将以太网数据流映射到SDH通道的技术,它允许以太网业务在SDH网络中高效、透明地传输。这种...
**EOS - 普元企业服务总线** EOS(Enterprise Service Bus),由普元公司研发,是一款高效、灵活的企业服务总线系统。它在SOA(Service-Oriented Architecture,面向服务架构)环境中扮演着核心角色,为企业提供了...
普元EOS操作文档.pdf 普元EOS操作文档.pdf是 Primeton EOS 开发环境的详细使用手册,该文档涵盖了 EOS 开发环境的配置、开发、调试等各个方面的知识点。 EOS初级程序员教程 Primeton EOS 是一个功能强大且灵活的...