
区块链
文章平均质量分 74
powervip
我的公众号:区块链战斗机
展开
-
如果Fabric的智能合约函数陷入死循环会怎么样
如果Fabric的智能合约函数陷入死循环会怎么样?后果很严重原创 2022-10-12 17:41:28 · 1862 阅读 · 1 评论 -
区块链的种类划分
区块链按公开程度和是否有准入制(许可制)可以分为三种类型的区块链: 公有链、私有链和联盟链公有链:完全公开,任何人都可以访问区块链,任何人都可以参与节点竞争出块权(即写入区块),没有准入机制,即不需要任何机构组织或个人的批准都能参与该区块链。对于所有人来说,区块链上的所有数据都是公开透明的,甚至包括源代码都是开源的,去中心化程度最高。例如:比特币、以太坊私有链:非完全公开,一般访问许可限制在一个比较小的范围内,如一个部门或公司。有准入机制,规定谁可以查看和写入区块链,而不是所有人都能访问和参原创 2022-05-24 12:05:55 · 3374 阅读 · 0 评论 -
区块链实现的去中心化究竟是为了追求什么
1. 前言在讨论这个主题之前,先简单介绍一下以太坊创始人V神(Vitalik Buterin)的故事。关于V神的故事,主要参考这2篇文章:https://www.sohu.com/a/330885775_120212783https://baijiahao.baidu.com/s?id=1606564732009184692&wfr=spider&for=pcVitalik Buterin,以太坊创始人,由于以太坊的巨大成功,币圈都称他为V神。V神是一位天才少年,他的才能惊人,技术原创 2021-03-17 12:51:35 · 714 阅读 · 0 评论 -
拜占庭容错共识算法介绍
1. 前言区块链的共识算法中,除了常见的工作量证明(PoW,Proof of Work)和权益证明(PoS,Proof of Stake)外,还有拜占庭容错(Byzantine Fault Tolerance, BFT)共识算法。拜占庭容错(Byzantine Fault Tolerance, BFT)共识算法是由拜占庭将军问题衍生出来的共识算法。拜占庭将军问题:拜占庭将军问题是Leslie Lamport在10世纪80年代提出的一个假想问题。拜占庭是东罗马帝国的首都,由于当时拜占庭罗马帝国国土辽阔原创 2020-12-22 17:34:07 · 5512 阅读 · 0 评论 -
以太坊的交易id是如何来的
基础概念在计算机里,一个字节(Byte)是8个比特(Bit),即8位二进制数,即1Byte=8bit。8位二进制数也就是2位十六进制数。举个例子:全是0的1个字节就是 00000000,转换为十六进制字符串就是"0x00"全是1的1个字节就是 11111111,转换为十六进制字符串就是"0xFF"最低位是1的1个字节就是 00000001,转换为十六进制字符串就是"0x01"前缀0x表示十六进制。我们每进行一笔以太坊的交易,就会得到该笔交易的交易id,它是一个64位的十六进制字符串,例如:“原创 2020-10-10 12:50:01 · 3029 阅读 · 0 评论 -
Windows环境下,如何通过离线签名的方式在以太坊控制台中创建和调用智能合约
在Windows环境下,如何通过以太坊控制台console的方式创建和调用智能合约?具体步骤如下:(1) 使用solc.exe编译智能合约solc.exe是Windows环境下用来编译solidity智能合约的一个C ++实现的Solidity语言编译器。我们可以从https://github.com/ethereum/solidity/releases下载对应solidity语言版本的solc的Windows二进制文件。这里使用的solc版本是0.4.25,对应使用的solidity语言版本也是0.原创 2020-07-10 17:41:15 · 971 阅读 · 0 评论 -
Windows环境下搭建基于PoA共识算法的多节点以太坊私链
本文阐述在一台windows电脑上,搭建基于PoA共识算法的以太坊私链(3个挖矿节点),步骤如下:(1)生成3个矿工账号假设3个节点的数据目录分别是:节点1 e:\work\test\1_poa_data节点2 e:\work\test\2_poa_data节点3 e:\work\test\3_poa_data\分别运行下面的生成账号命令为3个节点生成3个矿工账号:geth --datadir e:\work\test\1_poa_data\ account new geth --d原创 2020-07-09 12:03:17 · 1460 阅读 · 0 评论 -
在0.6.8版本的solidity中使用delegatecall进行合约升级
在0.4.26版本的solidity中,delegatecall的返回值只有1个,表示delegatecall是否调用成功的布尔变量。在0.6.8版本的solidity中,delegatecall的返回值有2个,一个是表示delegatecall是否调用成功的布尔变量,另一个则是被调用函数的返回值。通过delegatecall调用逻辑合约来修改数据合约中的状态变量,从而实现数据和逻辑分离。后面可以通过升级逻辑合约来改变业务逻辑,但数据合约不能升级。下面通过例子来说明在0.6.8版本的solidity中原创 2020-06-18 12:30:34 · 1124 阅读 · 0 评论 -
我是如何投资数字货币的(1.2版)
前言2018年9月,笔者曾经写了一篇<<我是如何投资数字货币的>>的文章,介绍了笔者本人在投资数字货币上的一些认知。原文链接:http://8btc.com/thread-224990-1-1.html随着时间的推移,后面对原文进行了一些补充和修改,形成1.1版本。原文链接:https://bihu.com/article/1220377009这次是基于1.1版本的基础上再次补充内容,作为笔者本人对投资数字货币的进一步总结。本文全文超9000字,阅读时间约需要20分钟。1.原创 2020-06-05 17:48:28 · 2078 阅读 · 0 评论 -
区块链的硬分叉和软分叉
我们知道,区块链分叉分为两种:硬分叉和软分叉。在解释“硬分叉”和“软分叉”这两个概念之前,先解释“向前兼容”和“向后兼容”这两个概念向前兼容和向后兼容向前兼容的英文为:Forwards Compatibility,Forward有“将来”的含义。因此向前兼容就是指:以前的版本支持现在版本生成的数据,现在的版本支持以后的版本数据。比如你的CD盘可以放在CD光驱播放,也可以放在DVD光驱播放。向后兼容的英文为:Backwards Compatibility,Backward有“回头”的意思。所以向后兼容就原创 2020-06-03 17:48:43 · 2067 阅读 · 0 评论