E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
以太坊源码
以太坊源码
分析--MPT树
MPT(MerklePatriciaTries)是以太坊中存储区块数据的核心数据结构,它MerkleTree和PatriciaTree融合一个树形结构,理解MPT结构对之后学习以太坊区块header以及智能合约状态存储结构的模块源码很有帮助。首先来看下Merkle树:它的叶子是数据块的hash,从图中可以看出非叶子节点是其子节点串联字符串的hash,底层数据的任何变动都会影响父节点,这棵树的Mer
·
2021-02-22 22:05
区块链以太坊
死磕
以太坊源码
分析之downloader同步
死磕
以太坊源码
分析之downloader同步需要配合注释代码看:https://github.com/blockchain...这篇文章篇幅较长,能看下去的是条汉子,建议收藏希望读者在阅读过程中,指出问题
mindcarver
·
2020-12-23 16:53
区块链
以太坊
同步块
比特币
go-ethereum目录
go-ethereum目录本新手想从头学下
以太坊源码
,但是中文版的go-ethereum目录结构版本都稍旧,就翻译了英文版本的,应该有不少错误,欢迎大家指正。
树叶的叶开心的开
·
2020-12-16 11:23
以太坊
区块链
死磕
以太坊源码
分析之挖矿流程分析
死磕
以太坊源码
分析之挖矿流程分析代码分支:https://github.com/ethereum/g...基本架构以太坊挖矿的主要流程是由miner包负责的,下面是基本的一个架构:首先外部是通过miner
mindcarver
·
2020-12-13 01:31
区块链
以太坊
死磕
以太坊源码
分析之Kademlia算法
死磕
以太坊源码
分析之Kademlia算法KAD算法概述Kademlia是一种点对点分布式哈希表(DHT),它在容易出错的环境中也具有可证明的一致性和性能。
mindcarver
·
2020-12-13 01:59
区块链
以太坊
dht
死磕
以太坊源码
分析之p2p网络启动
死磕
以太坊源码
分析之p2p网络启动p2p源码目录discover/基于UDP的节点发现V4协议discv5/节点发现V5协议enode/节点信息enr/以太坊节点记录(ethereumnoderecords
mindcarver
·
2020-12-13 01:28
区块链
以太坊
p2p
网络
死磕
以太坊源码
分析之挖矿流程分析
死磕
以太坊源码
分析之挖矿流程分析代码分支:https://github.com/ethereum/g...基本架构以太坊挖矿的主要流程是由miner包负责的,下面是基本的一个架构:首先外部是通过miner
mindcarver
·
2020-12-13 01:23
区块链
以太坊
死磕
以太坊源码
分析之Kademlia算法
死磕
以太坊源码
分析之Kademlia算法KAD算法概述Kademlia是一种点对点分布式哈希表(DHT),它在容易出错的环境中也具有可证明的一致性和性能。
mindcarver
·
2020-12-08 21:49
区块链
以太坊
dht
死磕
以太坊源码
分析之p2p网络启动
死磕
以太坊源码
分析之p2p网络启动p2p源码目录discover/基于UDP的节点发现V4协议discv5/节点发现V5协议enode/节点信息enr/以太坊节点记录(ethereumnoderecords
mindcarver
·
2020-12-08 21:43
区块链
以太坊
p2p
网络
死磕
以太坊源码
分析之区块和交易广播
死磕
以太坊源码
分析之区块和交易广播ProtocolManager详解ProtocolManager,从字面上看是协议管理器,负责着p2p通信协议的管理。
mindcarver
·
2020-12-02 14:28
以太坊源码分析
以太坊
区块广播
交易广播
handleMsg
ProtocolManager
以太坊源码
系列之miner解析(2)
//工作者是负责将消息应用到新状态的主要对象typeworkerstruct{config*ConfigchainConfig*params.ChainConfigengineconsensus.EngineethBackendchain*core.BlockChain//FeedspendingLogsFeedevent.Feed//Subscriptionsmux*event.TypeMuxt
weixin_39482724
·
2020-11-18 19:05
以太坊源码解析
区块链
区块链与DApp开发(学习总结)
监听、通信、RPCJavaScript:Dapp应用程序开发Linux:《linux从入门到精通》JavaScript:《JavaScript编程精解》以太坊:《深入理解以太坊》、《第一行代码以太坊》、
以太坊源码
cathasse
·
2020-11-09 02:44
区块链
区块链
以太坊
智能合约
以太坊源码
(03):POA委员会选举机制
目录1名词介绍2矿工投票方法3委员会确定投票流程3.1关键概念描述3.1.1Epoch&checkpointInterval3.1.2Snapshot3.2投票方法1.名词介绍●节点:普通的以太坊节点,没有区块生成的权利。●矿工:具有区块生成权利的以太坊节点●委员会:所有矿工的集合2.矿工投票方法●用户通过RPC接口,调用Propose(addresscommon.Address,authbool
芯链
·
2020-10-10 23:20
ETH开发(三)基于以太坊智能合约开发
大家好,上面几篇文章讲解了,
以太坊源码
编译,以太放私有链的搭建。大家对以太坊有了初步的认识。以太放网络是第一个提出用图灵完备的语言开发图灵完备的智能合约的区块链网络。目前他的生态是最健全的。
jambeau
·
2020-10-01 20:29
区块链开发
区块链
技术篇
以太坊源码
机制:微信h5斗牛网站维护挖矿
联系方式:QQ:2747044651网址拜占庭将军问题分布式系统的状态同步问题。拜占庭帝国繁荣富饶,周边的几个小国家的将军对其垂涎已久但又各自心怀鬼胎。他们必须有超过一半以上的将军同意进攻拜占庭并且不能在战场上做出背叛的动作(达成共识),否则就会进攻失败,引火烧身。而将军的领土有可能被其他几个将军瓜分。基于这种情况,将军们之间的沟通很成问题,有的人口是心非,有的人是忠诚为了组织的利益。如何能最终达
qq_42930821
·
2020-09-17 07:00
windows下编译
以太坊源码
cpp-ethereum
闲话不多说,网上搜的编译
以太坊源码
基本是linux下,windows下的没搜到,并且自己也踏了不少坑,因此记录下来,期望能帮到大家。1.准备工作。
rejames
·
2020-09-16 21:05
转文章
以太坊源码
分析(30)eth-bloombits和filter源码分析
##以太坊的布隆过滤器以太坊的区块头中包含了一个叫做logsBloom的区域。这个区域存储了当前区块中所有的收据的日志的布隆过滤器,一共是2048个bit。也就是256个字节。而我们的一个交易的收据包含了很多的日志记录。每个日志记录包含了合约的地址,多个Topic。而在我们的收据中也存在一个布隆过滤器,这个布隆过滤器记录了所有的日志记录的信息。如果我们看黄皮书里面对日志记录的形式化定义。O代表我们
尹成
·
2020-09-16 04:43
区块链
区块链入门教程
以太坊源码
分析fast sync算法一
区块链入门教程
以太坊源码
分析fastsync算法一,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。
weixin_34013044
·
2020-09-16 04:59
区块链
数据库
11.
以太坊源码
分析(11)eth目前的共识算法pow的整理
eth目前的共识算法pow的整理涉及的代码子包主要有consensus,miner,core,geth/consensus共识算法consensus.go1.Prepare方法2.CalcDifficulty方法:计算工作量3.AccumulateRewards方法:计算每个块的出块奖励4.VerifySeal方法:校验pow的工作量难度是否符合要求,返回nil则通过5.verifyHeader方
boss2967
·
2020-09-16 02:43
Ethereum源码分析
{区块链教程}
以太坊源码
分析fast sync算法二
{区块链教程}
以太坊源码
分析fastsync算法二:上面的表格应该这样解释:如果我们每隔K个区块头验证一次区块头,在N个区块头之后,伪造的概率小于***者产生SHA3冲突的概率。
weixin_33725515
·
2020-09-16 02:09
数据库
区块链
[EOS源码分析]系列开始了
前面一个多月写了比特币源码情景系列(区块链1.0)和
以太坊源码
情景分析系列(区块链2.0),接下来很自然要分析号称“区块链3.0”的EOS的源码,欢迎大家和我一起学习。
区块链斜杠青年
·
2020-09-15 09:03
区块链
EOS
EOS源码分析
EOS源码分析
EOS共识算法
以太坊源码
解读(14)交易池(一)基本流程解析
一、交易池的概念和原理首先了解一下交易池的工作概况:1、交易池中交易来源:本地的交易和远端节点广播的交易;2、交易池中交易去向:被Miner模块获取并验证,用于挖矿;挖矿成功后写进区块并被广播;3、Miner取走交易是复制,交易池中的交易并不减少。直到交易被写进规范链后才从交易池删除;4、交易如果被写进分叉,交易池中的交易也不减少,等待重新打包。交易池模块typeTxPoolstruct{conf
佛系布偶
·
2020-09-14 02:17
以太坊源码
[
以太坊源码
学习] 乙太坊node的启动过程
注:以下所描述的启动过程,是geth命令启动的方式1.主程序:文件位置:cmd/geth/main.go该文件是geth程序的主程序,其主函数如下:funcmain(){iferr:=app.Run(os.Args);err!=nil{fmt.Fprintln(os.Stderr,err)os.Exit(1)}}其中,最核心的代码是if条件中的app.Run(os.Args)app其实是通过文件:
二进制狂客
·
2020-09-12 23:57
区块链
[
以太坊源码
学习] Etherum Backend启动的过程
在上一篇博客[乙太坊源码学习]乙太坊node的启动过程中,我们在其中提到了EthereumBackend的启动过程,大体总结一下就是:(1)以太坊节点注册EthereumBackend的构造函数(2)以太坊节点在启动的过程中,调用构造函数,生成Backend,然后启动它。这是一个很简略和过程,下面我们就详细的学习一下EthereumBackend及它的启动过程。1.Ethereum结构体代码typ
二进制狂客
·
2020-09-12 21:49
区块链
报错:exec:"gcc" executable file not found in %PATH%
问题在编译
以太坊源码
时出现以下错误信息:exec:"gcc":executablefilenotfoundin%PATH%Windows下解决方法1.下载mingw64,并安装下载地址:https://
weixin_34248849
·
2020-09-11 13:55
以太坊源码
学习(四)账户
accounts/accounts.go//AccountrepresentsanEthereumaccountlocatedataspecificlocationdefined//bytheoptionalURLfield.typeAccountstruct{Addresscommon.Address`json:"address"`//Ethereumaccountaddressderivedf
区块小白龙
·
2020-09-10 21:53
区块链
以太坊源码
学习(三)交易
internal/ethapi/api.go//SendTransactionwillcreateatransactionfromthegivenargumentsand//triestosignitwiththekeyassociatedwithargs.To.Ifthegivenpasswdisn't//abletodecryptthekeyitfails.func(s*PrivateAcco
区块小白龙
·
2020-09-10 21:53
区块链
以太坊源码
学习(五)提交交易之交易池
/internet/ethapi/api.go//submitTransactionisahelperfunctionthatsubmitstxtotxPoolandlogsamessage.funcsubmitTransaction(ctxcontext.Context,bBackend,tx*types.Transaction)(common.Hash,error){iferr:=b.Send
区块小白龙
·
2020-09-10 21:53
区块链
以太坊源码
机制:挖矿
狗年吉祥,开工利是,我们继续研究
以太坊源码
。从本篇文章开始,我们会深入到以太坊核心源码中去,进而分析与研究以太坊的核心技术。
weixin_30553837
·
2020-08-24 06:44
以太坊源码
分析--p2p节点发现
p2p(peertopeer)负责以太坊节点间的通信,主要包括底层节点发现(discover)和上层协议运行两大块,本文主要描述其中节点发现部分的实现数据结构节点发现功能主要涉及Server\Table\udp这几个数据结构,它们有独自的事件响应循环,节点发现功能便是它们互相协作完成的。其中,每个以太坊客户端启动后都会在本地运行一个Server,并将网络拓扑中相邻的节点视为Node,而Table是
187J3X1
·
2020-08-20 11:25
以太坊源码
分析(4)——初始化创世区块
在这一节,你将学会:如何初始化创世区块二、代码研究2.1准备工作
以太坊源码
V1.8.0golang1.9+windows系统下goland2018+本系列文章主要是研究
以太坊源码
,所以以太坊的编译工作不详细展开
极地大王章
·
2020-08-11 23:44
以太坊
以太坊源码
分析之 P2P网络(三、UDP底层通信)
区块链特辑:https://blog.csdn.net/fusan2004/article/details/80879343,欢迎查阅,原创作品,转载请标明!这周工作有点小忙,部门区块链基础平台的开发开始进入节奏了,和上一篇间隔间隔有点久了,以后还是要坚持,不能刚开始就犯毛病了。上篇讲的是以太坊p2p网络的一个重点部分——节点发现,在介绍的时候提过,节点发现是通过udp的方式来进行的,这一篇就介绍
还是要学会仰望
·
2020-08-10 09:27
区块链
开源代码
区块链教程
以太坊源码
分析core-state源码分析(一)
区块链教程
以太坊源码
分析core-state源码分析,core/state包主要为以太坊的statetrie提供了一层缓存层(cache)database主要提供了trie树的抽象,提供trie树的缓存和合约代码长度的缓存
congdianquan3478
·
2020-08-08 14:20
以太坊源码
解读 BlockChain的初始化
一、前言ETHereum服务初始化的时候会调用core.SetupGenesisBlock来加载创始区块,然后调用core.NewBlockChain来加载BlockChain模块,这章节主要介绍BlockChain的NewBlockChain函数,BlockChain是以太坊的全节点模式下[区块链链式管理的模块,主要负责区块链的追加、回滚、分叉处理等,另外还为前端提供区块信息查询等功能。二、Bl
李_MAX
·
2020-08-01 09:30
以太坊系列之一: 以太坊RLP用法-
以太坊源码
学习
RLP(递归长度前缀)提供了一种适用于任意二进制数据数组的编码,RLP已经成为以太坊中对对象进行序列化的主要编码方式。RLP的唯一目标就是解决结构体的编码问题;对原子数据类型(比如,字符串,整数型,浮点型)的编码则交给更高层的协议;以太坊中要求数字必须是一个大端字节序的、没有零占位的存储的格式(也就是说,一个整数0和一个空数组是等同的)。如果想学习go语言中的反射用法,这个包里面倒是有比较完善的学
weixin_34281477
·
2020-07-30 10:16
区块链
数据结构与算法
以太坊源码
学习—RLP编码
RLP(RecursiveLengthPrefix),中文翻译过来叫递归长度前缀编码,它是以太坊序列化所采用的编码方式。RLP主要用于以太坊中数据的网络传输和持久化存储。为什么又要造轮子对象序列化方法有很多种,常见的像JSON编码,但是JSON有个明显的缺点:编码结果比较大。例如有如下的结构:typeStudentstruct{Namestring`json:"name"`Sexstring`js
weixin_34268843
·
2020-07-30 10:15
以太坊源码
之『RLP』
RLP源码解析一:概念:RLP(RecursiveLengthPrefix--递归长度前缀):是一个编码算法二:功能:主要用于编码任意嵌套结构的二进制数据。是以太坊中序列和反序列化的主要方法,所有的区块、交易等数据结构都会经过RLP编码之后再存储到区块数据库中三:数据处理特性:RLP处理两类数据字符串(一串二进制数据)列表(不单是一个列表,可以是一个嵌套递归的结构,里面还可以包含字符串,列表)四:
super_lixiang
·
2020-07-30 09:39
区块链
以太坊源码
解析 - RLP(理论)
RLP(RecursiveLengthPrefix),叫递归长度前缀编码,它是以太坊序列化所采用的编码方式。RLP主要用于以太坊中数据的网络传输和持久化存储。定义RLP实际只给以下两种类型数据编码:byte数组byte数组的数组,称之为列表byte数组规则1:对于值在[0,127]之间的单个字节,其编码是其本身。例:a的编码是97。规则2:如果byte数组长度l94^126`31US63?95_1
李柏林
·
2020-07-30 08:23
区块链
转:
以太坊源码
分析(51)rpc源码分析
##RPC包的官方文档PackagerpcprovidesaccesstotheexportedmethodsofanobjectacrossanetworkorotherI/Oconnection.Aftercreatingaserverinstanceobjectscanberegistered,makingitvisiblefromtheoutside.Exportedmethodsthat
uuussseeennn
·
2020-07-30 02:41
以太坊源码
分析(15)node包建立多重协议以太坊节点
node包建立多重协议以太坊节点一个node是一组服务,通过共享资源提供RPCAPI。Services提供devp2p协议,当node实例开始运行,服务被wire到devp2p网络Node管理资源Node实例使用到的所有文件系统资源被放到data目录中。每个资源的路径可以通过额外的node配置改写。data目录是可选的。==如果没有设置或资源路径没有指定,node包会在内存中创建资源。==配置No
尹成
·
2020-07-29 01:20
区块链
区块链入门教程
以太坊源码
分析node包建立多重协议eth节点
node包建立多重协议eth节点node包建立多重协议以太坊节点一个node是一组服务,通过共享资源提供RPCAPI。Services提供devp2p协议,当node实例开始运行,服务被wire到devp2p网络Node管理资源Node实例使用到的所有文件系统资源被放到data目录中。每个资源的路径可以通过额外的node配置改写。data目录是可选的。如果没有设置或资源路径没有指定,node包会在
baidu_39383304
·
2020-07-27 19:25
以太坊源码
深入分析(10)-- 以太坊Bloom过滤器实现原理及应用场景分析
上一节分析reciept产生过程的时候提到:reciept会为日志数据生成一个Bloom过滤器,那Bloom过滤器是用来干嘛的呢?有什么用呢?一,Bloom过滤器的数据结构和reciept创建Bloom的过程typeBloom[BloomByteLength]byteBloomByteLength=256Bloom就是一个256个字节数组。一共2048位。我们看看怎么把庞大的收据日志数据放到blo
japson0409
·
2020-07-15 12:07
区块链
以太坊
go
以太坊源码
分析(7)Ethereum 资源分享
#AwesomeEthereum[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)>collectionofbestresourcesfor
尹成
·
2020-07-15 11:34
区块链
以太坊源码
分析--p2p节点发现
p2p(peertopeer)负责以太坊节点间的通信,主要包括底层节点发现(discover)和上层协议运行两大块,本文主要描述其中节点发现部分的实现数据结构节点发现功能主要涉及Server\Table\udp这几个数据结构,它们有独自的事件响应循环,节点发现功能便是它们互相协作完成的。其中,每个以太坊客户端启动后都会在本地运行一个Server,并将网络拓扑中相邻的节点视为Node,而Table是
japson0409
·
2020-07-12 20:16
区块链
以太坊
go
以太坊源码
分析(4)accounts包简介
accounts包实现了以太坊客户端的钱包和账户管理。账号的数据结构:typeAccountstruct{Addresscommon.Address`json:"address"`//EthereumaccountaddressderivedfromthekeyURLURL`json:"url"`//Optionalresourcelocatorwithinabackend}钱包interface
chunqi zhi
·
2020-07-12 20:41
区块链
golang
以太坊
以太坊源码
分析-交易执行及合约创建具体流程
1.StateProcessor的处理器会遍历块中的每一条交易,通过ApplyTransaction函数来执行交易Process函数会返回receipts和logs以及交易所花费的gas,如果因为交易因insufficientgas而失败,那么将会返回错误func(p*StateProcessor)Process(block*types.Block,statedb*state.StateDB,cf
爱吃鱼的俞阿娟
·
2020-07-12 18:44
区块链
使用阿里云BaaS快速搭建Quorum企业以太坊网络
Quorum简介Quorum(企业以太坊)是由J.P.Morgan主导,在基于
以太坊源码
开发的一套联盟链产品。
Johnliuqiang
·
2020-07-12 18:55
区块链
5.4
以太坊源码
详解4
MPT(实现快速查找以节省存储空间)背景Trie:用于快速检索的多叉树,查找速度快、但是需要耗费大量的存储空间PatriciaTrie:耗费的空间更小MerkleTree:Merkle树是一种用于快速验证内容完整性的数据结构,其基本原理是分别计算树的叶⼦结点的hash值,然后把叶⼦结点的hash值拼接在⼀起,再计算⼀次hash作为其⽗结点的hash值,依次向上直到根结点,根结点的hash值称为Me
尹成
·
2020-07-12 18:51
区块链
以太坊源码
分析(54)以太坊随机数生成方式
最近考虑一个基于以太坊的去中心化赌场的实现,赌场如果需要实现,那么随机数是必须的。然后研究了一下以太坊里面的随机数生成,发现并不容易。以太坊里面生成随机数的几种方式。#oraclizeOraclize定位为去中心化应用的数据搬运工,他作为WebAPIs和DApp的可靠链接。有了Oraclize,就不需要建立额外的信任链,因为我们的行为已经被强制加密验证。Oraclize是一个可证明的诚实的预言机服
尹成
·
2020-07-12 18:20
区块链
以太坊源码
分析(53)以太坊测试网络Clique_PoA介绍
https://github.com/ethereum/EIPs/issues/225Clique的模式下,用户是无法获取以太币的,因为无法挖矿,所以如果需要以太币,需要通过特殊的途径来获取。可以通过这个网站获取etherhttps://faucet.rinkeby.io/需要有google+账号,facebook或者twitter账号才能获取,详细的获取办法参考上面的网站。Clique是以太坊的
尹成
·
2020-07-12 18:20
区块链
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他