自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

powervip的博客

www。study。win

  • 博客(20)
  • 收藏
  • 关注

原创 严正声明:不要抄袭本人的创作内容

严正声明:不要抄袭本人的创作内容

2022-10-11 17:43:07 1447

原创 使用 Cloudflare 进行域名跳转(重定向)

1 在Cloudflare添加你的域名登陆 https://www.cloudflare.com/,填好你的Cloudflare账号和密码,登陆进Cloudflare。点击左侧菜单的“Websites”,在右侧的页面点击“Add a Site”按钮,添加自己的域名,如study.win添加成功后,选择study.win这个域名,进入该域名的配置页2 配置DNS服务器a) 点击左侧菜单的“DNS”,看到系统为study.win这个域名生成的2个DNS服务..

2022-04-08 17:37:44 13777

原创 拜占庭容错共识算法介绍

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 5157

原创 我是如何投资数字货币的(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 1894

原创 联邦拜占庭共识算法的工作流程

回到投票收敛过程,任何时候,只要一个节点发现它的投票和它的信任节点列表中的大部分节点相同,那么它将接收这一共识结果。每个节点的信任节点列表是由节点运营者根据各种因素自行确定的,这可能包括节点的行为,声誉,稳定性,历史记录,甚至可能包括地理位置,或者任何其他因素,只要节点运营者认为这些因素重要。不同于比特币的 PoW(工作量证明)或者以太坊的 PoS(权益证明),FBA 算法采取的方法是让网络中的节点自由选择他们信任的其他节点,并形成一个“信任节点”的列表,这个过程也称作节点的“配对”。

2024-01-05 17:04:52 921

原创 大白话说区块链和通证

另一方面,区块链可以运行在至少1个节点上,如果区块链运行在多个节点上,哪怕其中一个节点改变了自己的区块链上的数据,那么它的区块链的数据,也就是区块链账本,就会和其它节点的区块链账本不一样,这样,就会形成区块链的硬分叉,形成2条不同的区块链。当然,如果区块链运行在1个节点上的时候,区块链的数据还是可以直接被修改的,但只有1个节点的区块链,也说不上去中心化了,和中心化的系统没有太大区别,只是数据修改起来更麻烦一点。需要注意的是,每笔交易的信息,改变了哪怕1 bit的内容,交易的哈希值也就会被改变。

2024-01-05 17:01:57 1201

原创 如果Fabric的智能合约函数陷入死循环会怎么样

如果Fabric的智能合约函数陷入死循环会怎么样?后果很严重

2022-10-12 17:41:28 1762 1

原创 openssl的使用方法(使用openssl生成csr文件和私钥key文件)

使用openssl生成csr文件和私钥key文件

2022-08-30 17:44:47 3448

原创 区块链的种类划分

区块链按公开程度和是否有准入制(许可制)可以分为三种类型的区块链: 公有链、私有链和联盟链公有链:完全公开,任何人都可以访问区块链,任何人都可以参与节点竞争出块权(即写入区块),没有准入机制,即不需要任何机构组织或个人的批准都能参与该区块链。对于所有人来说,区块链上的所有数据都是公开透明的,甚至包括源代码都是开源的,去中心化程度最高。例如:比特币、以太坊私有链:非完全公开,一般访问许可限制在一个比较小的范围内,如一个部门或公司。有准入机制,规定谁可以查看和写入区块链,而不是所有人都能访问和参

2022-05-24 12:05:55 3156

原创 区块链实现的去中心化究竟是为了追求什么

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 587

原创 【2020年度征文】我的程序猿写作之路

大学毕业后,从事软件开发工作很多年了,也很早就认识CSDN网站,这个中国最大的程序员网站。工作上需要找资料,或遇到问题需要寻找解决方案,很自然就会想到CSDN网站。CSDN里面有无数热情的程序猿无私地分享着自己的编程技巧、开发经验和工作心得。一般的技术问题都能在这里找到答案,即使一些棘手的难题,也会有高手大侠热情地帮助你。在这里,无私分享和帮助精神得到了充分的体现。虽然CSDN网站用了好久了,但以前一直大多是以游客的身份去使用CSDN,一般就是浏览相关的文章而已。因为我觉得我的技术水平还不达到牛人级别,文

2021-01-08 13:00:50 212 3

原创 总结超级账本合约开发过程中遇到的坑

1. 不要尝试获取节点本地的时间作为key或value的值即使每个节点的本地的时间系统是经过校对一致的,但同一个交易在每个节点上执行的时间点不一定是相同的。如果使用time.now().unix()来取节点本地的时间作为key或value的值,会导致每个节点执行同一个交易的结果不一致,从而造成交易失败。正确的做法是使用函数GetTxTimestamp()来获取交易的时间。每个节点通过函数GetTxTimestamp()来获取到的交易时间是相同的例子:t, err := stub.GetTxTimest

2020-12-18 17:31:59 435 3

原创 以太坊的交易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 2807

原创 我为什么不赞成EOS节点通过分红给投票人的方式进行拉票

目前,区块链公链EOS的节点竞选投票参与率偏低。究其原因,除了EOS持币人的参与系统建设的意识不高外,更重要的是,EOS持币人投票需要付出投票手续费,而且没有任何收益。这样看似亏本的事情,人们当然不愿意做,特别是对于生活在中国这样普通群众参政意识不强的环境下的人更是如此。为了提高投票参与率,目前有一种建议是,允许EOS节点通过分红给投票人的方式为节点自己拉票。通过节点分红,投票者投票获得奖励,从而激励EOS持币人更多地参与投票。这种方式,短期来看,确实是简单而有效地激励更多的EOS持币人进行投票。但从长期

2020-07-30 12:56:39 450

原创 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 860

原创 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 1325

原创 在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 1032

原创 区块链的硬分叉和软分叉

我们知道,区块链分叉分为两种:硬分叉和软分叉。在解释“硬分叉”和“软分叉”这两个概念之前,先解释“向前兼容”和“向后兼容”这两个概念向前兼容和向后兼容向前兼容的英文为:Forwards Compatibility,Forward有“将来”的含义。因此向前兼容就是指:以前的版本支持现在版本生成的数据,现在的版本支持以后的版本数据。比如你的CD盘可以放在CD光驱播放,也可以放在DVD光驱播放。向后兼容的英文为:Backwards Compatibility,Backward有“回头”的意思。所以向后兼容就

2020-06-03 17:48:43 1926

原创 如何利用delegatecall进行以太坊智能合约升级

如何利用delegatecall升级以太坊智能合约以太坊智能合约升级在以太坊智能合约的开发过程中,对于一些复杂的合约开发,要开发出完美没有bug的智能合约,要求是相当高的。即使编写出来的智能合约能完美没有bug,也很难保证以后的需求和应用业务逻辑一成不变。所以,在开发智能合约的同时,就要考虑好以后的合约更新和升级问题。思路以太坊智能合约的更新和升级,其中一种思路就是:在智能合约的编写过程中...

2020-04-07 17:37:04 786 1

原创 图文并茂详细介绍Solidity的三种合约间的调用方式 call、delegatecall 和 callcode

最近开始学习以太坊智能合约编程,其中涉及到智能合约之间的函数调用。Solidity的三种合约间的调用方式有call、delegatecall 和 callcode这3种方式。参考了下面的文章: https://www.cnblogs.com/x-poior/p/10511552.html对于文章中提到的三种调用方式的异同点call: 最常用的调用方式,调用后内置变量 msg 的值会修改为...

2020-02-15 18:31:38 4947 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除