
以太坊
文章平均质量分 66
powervip
我的公众号:区块链战斗机
展开
-
区块链的种类划分
区块链按公开程度和是否有准入制(许可制)可以分为三种类型的区块链: 公有链、私有链和联盟链公有链:完全公开,任何人都可以访问区块链,任何人都可以参与节点竞争出块权(即写入区块),没有准入机制,即不需要任何机构组织或个人的批准都能参与该区块链。对于所有人来说,区块链上的所有数据都是公开透明的,甚至包括源代码都是开源的,去中心化程度最高。例如:比特币、以太坊私有链:非完全公开,一般访问许可限制在一个比较小的范围内,如一个部门或公司。有准入机制,规定谁可以查看和写入区块链,而不是所有人都能访问和参原创 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 评论 -
以太坊的交易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 · 3028 阅读 · 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 · 1458 阅读 · 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 评论 -
如何利用delegatecall进行以太坊智能合约升级
如何利用delegatecall升级以太坊智能合约以太坊智能合约升级在以太坊智能合约的开发过程中,对于一些复杂的合约开发,要开发出完美没有bug的智能合约,要求是相当高的。即使编写出来的智能合约能完美没有bug,也很难保证以后的需求和应用业务逻辑一成不变。所以,在开发智能合约的同时,就要考虑好以后的合约更新和升级问题。思路以太坊智能合约的更新和升级,其中一种思路就是:在智能合约的编写过程中...原创 2020-04-07 17:37:04 · 846 阅读 · 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 · 5192 阅读 · 1 评论