- 博客(8)
- 收藏
- 关注
原创 5.4 交易鉴权
5.4.1 账户权限相关概念权限EOS采用父子分层的权限结构,低级权限(子权限)由高级权限(父权限)派生而来,父权限拥有子权限所有的能力。子权限能做的事父权限也能做,但是反过来,父权限能做的事,子权限不一定能做。-owner 是最高等级权限,拥有owner权限就意味着拥有账户的所有权,我们可以把owner理解为超级管理员权限。- active 是owner的子权限,主要用来发送交...
2019-05-18 17:37:17
757
原创 8.4 EOS共识代码实现
共识相关的对象我们先来看看block_header_state的结构:struct block_header_state {• block_id_type id;//块id• uint32_t block_num = 0;//块序号• signed_block_header ...
2019-05-09 11:21:05
508
原创 8.3 EOS两轮共识原因
背景介绍曾经一篇标题为"震惊!V神和BM竟如此互怼!"的文章在网上热议起来,这是一篇BM和V神在issue上对于DPOS的机制的讨论,接下来我们具体讨论下他们的讨论内容:先看一下英文版的:翻译成中文版的:这似乎并不安全。考虑一个包含四个验证器的情况,因此我们允许一个拜占庭。假设在时间T之前,共同商定的头部是Z; 然后,有时(T,T + 1,T + 2,T + ...
2019-05-09 10:46:28
438
原创 8.2 EOS区块共识流程
背景上一章节已经简单的介绍了EOS节点的共识流程,下面举例说明节点生产的区块是如何达成共识的:EOS共识分为两个部分:共识出备选不可逆块:当区块有(2/3 + 1)个节点确认后,则这个区块被加入到备选不可逆块列表中。 从备选不可逆块列表中选出最终的不可逆区块:对备选不可逆列表中的块进行从小到大排序,取1/3处,即为最终的不可逆块序号,小于此序号的都认为已成为不可逆块。1. 共识出备...
2019-05-09 09:59:04
441
原创 8.1 主流共识介绍
背景共识算法是区块链项目中最核心的部分,有分布式,就需要达成共识。共识算法对于加密货币而言至关重要的,因为它可以防止双花问题。从历史上看,双花问题是限制数字货币发展的一个重要挑战,直到采用了分布式账本之后才得以改观。正因为加密货币是由公开的和不可篡改的分布式账本实现的,因此必须采用共识算法来验证账本是否具有唯一性,以保证整个加密货币网络不被恶意节点所破坏。因此,共识算法必须具备容错的能力。...
2019-05-09 09:22:23
549
原创 3.7 钱包、帐户、token、智能合约、action、权限、权重和阀值之间关系
3.7.1 账户、钱包和密钥的关系如图所示,右边是EOS Wallet钱包,里面只存放私钥及由该私钥产生的公钥(公私钥对),而且钱包有一个密码,需要输入密码才能解锁钱包,读取私钥。钱包和账户没有直接的关系 左边是EOS Account账户,可以把它看成是一个保险箱,里面有EOS Token以及智能合约,而需要转移里面的EOS Token(或者执行智能合约),你需要钱包中对应的私钥来解锁这个...
2019-04-30 14:21:33
1196
原创 2.6 visual studio开发linux程序
2.6.1 前言 在linux环境下开发C++程序,除了需要掌握C++的知识外,还需要掌握如何写makefile和使用GDB进行调试,这对于不熟悉makefile和GDB的开发人员是比较麻烦的,目前vs2015及以上的版本能够支持linux c++程序的开发和调试,与传统vs上的windows编程不同的是,vs所需要的Linux环境需要搭载在一个linux的服务器上,vs相当于将...
2019-04-29 16:35:15
1003
原创 2.5 visual studio调试nodeos
2.5.1 前言 Visual Studio在调试c++程序时,调式信息通是过界面的方式展示出来的,这很方便了我们的开发人员,那么如果只有源代码,而没有把源代码创建成解决方案,比如,linux环境下的C++工程,没有Visual Studio的解决方案工程,那么如何快速的调式这个项目呢? Visual Studio提供了打开一个代码文件夹,配置一些详细信息来运行和调...
2019-04-29 16:14:30
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人