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
以太坊源码
以太坊源码
分析(37)eth以太坊协议分析
node中的服务的定义,eth其实就是实现了一个服务。typeServiceinterface{//ProtocolsretrievestheP2Pprotocolstheservicewishestostart.Protocols()[]p2p.Protocol//APIsretrievesthelistofRPCdescriptorstheserviceprovidesAPIs()[]rpc.
尹成
·
2020-07-09 03:08
区块链
以太坊源码
分析(11)eth目前的共识算法pow的整理
###eth目前的共识算法pow的整理#####涉及的代码子包主要有consensus,miner,core,geth```/consensus共识算法consensus.go1.Prepare方法2.CalcDifficulty方法:计算工作量3.AccumulateRewards方法:计算每个块的出块奖励4.VerifySeal方法:校验pow的工作量难度是否符合要求,返回nil则通过5.ve
尹成
·
2020-07-09 03:07
区块链
go-ethereum
以太坊源码
解析完整版
目录go-ethereum代码阅读环境搭建以太坊黄皮书符号索引rlp源码解析trie源码分析ethdb源码分析rpc源码分析p2p源码分析eth协议源码分析core源码分析*区块链索引chain_indexer源码分析*布隆过滤器索引bloombits源码分析*以太坊的trie树管理回滚等操作state源码分析*交易执行和处理部分源码分析vm虚拟机源码分析*虚拟机堆栈和内存数据结构分析*虚拟机指令
李_MAX
·
2020-07-08 19:52
以太坊源码
分析-交易
以太坊源码
分析-交易机理先说一点区块链转账的基本概念和流程用户输入转账的地址和转入的地址和转出的金额系统通过转出的地址的私钥对转账信息进行签名(用于证明这笔交易确实有本人进行)系统对交易信息进行验证把这笔交易入到本地的
Omni-Space
·
2020-07-07 18:46
以太坊
/
ETH
以太坊
ETH
/
源码分析
以太坊源码
分析之四挖矿和共识之一挖矿主流程
之所以把这部分提前到这里来,也是想对比分析一下和比特币以及EOS的DPOS有什么不同。其实主要是前者,毕竟DPOS是不需要挖矿这个过程的。即使后来改成BFT-DPOS,也是只增加一个超级节点的分布式判定。比特币的POW使用的是块头哈希,算最小值,以太坊与其原理基本一样,不同的是,以太坊不再使用CPU算力,改用了DAG有向无环图。所以自成体系的来了一个ethash.一个个的分析,不要乱。一、挖矿先看
fpcc
·
2020-07-07 08:46
blockchain
以太坊源码
1-节点发现协议(discv4)
本文结合ethereumJ源码,分析以太坊的节点发现协议(discv4)实现过程。discv4是以太坊用来发现公链P2P网络中的其它节点,组成K桶网络的协议。ethereumJ从协议上看discv4协议,用于节点发现,使用udp协议,实现节点之间高成功率的穿透,来发现节点,建立连接的信道rplx协议,节点通信协议,使用tcp协议,为了信息的可靠传输,在已经建好的信道基础上,使用TCP协议传输区块、
jection
·
2020-07-07 04:39
以太坊源码
解读(1)以太坊架构与模块结构
以太坊架构与模块化结构一:以太坊核心概念EVM:以太坊虚拟机,以太坊中智能合约的运行环境Accounts:区别去比特币的UTXO,以太坊构建里账户,账户分为两类,内部账户和外部账户,内部账户指合约账户,外部账户指用户账户Transaction:在以太坊网络上的任何一个消息的传递都是一次交易gas:以太坊网络的运行机制之一,每执行一步合约代码都与要消耗一定的gas,gas的设定一方面是为了提高用户的
Debug_lll
·
2020-07-06 21:08
ETH
以太坊源码
分析(一) - Ubuntu下编译安装go-ethereum以太坊客户端
本文主要来自go-ethereum的官方安装指南:https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Ubuntu步骤:一、获取源码方法1:执行gitclonehttps://github.com/ethereum/go-ethereum方法2:在github上直接下载源码后解压即可二、安装go通过添
yzpyzp
·
2020-07-06 20:21
区块链
以太坊源码分析
以太坊学习笔记(四)——以太坊私链多节点运行
建议学习以太坊或是其它区块链项目首选linux或macos,个人觉得cmd用起来不太方便,因为我手上另有一台window系统的电脑,所以我就在window上重新编译了一下
以太坊源码
,在编译过程中遇到了一些问题
BestWZR
·
2020-07-06 12:36
区块链
以太坊源码
分析(7)Ethereum 资源分享
#AwesomeEthereum[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)>collectionofbestresourcesfor
chunqi zhi
·
2020-07-06 12:59
区块链
golang
以太坊
以太坊源码
分析(四) - 以太坊整体架构和核心概念
以太坊目标以太坊的目标是基于区块链技术打造一个运行智能合约的去中心化平台。以太坊核心概念EVMEVM是以太坊中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络、文件系统或者其它进程。甚至智能合约之间也只有有限的调用。EVM不是基于寄存器,而是基于栈的虚拟机。因此所有的计算都在一个被称为栈的区域执行。栈最大有1024个元素,每个元素256比特
yzpyzp
·
2020-07-06 11:39
区块链
以太坊源码分析
以太坊源码
分析(三) - 以太坊客户端Geth使用以及私有链测试
geth用法geth[选项]命令[命令选项][参数…]geth的常用选项--datadir"xxxx"//指定数据目录,用来存放区块链数据,状态数据,keystore数据等。--cachevalue//分配给内部缓存的内存,单位MB,默认为128--rpc//启用HTTP-RPC服务器--rpcaddrvalue//HTTP-RPC服务器接口地址(默认值:“localhost”),默认只允许本地连
yzpyzp
·
2020-07-06 11:39
区块链
以太坊源码分析
以太坊搭建私链(一):CentOS 安装以太坊 geth 客户端的方法
安装
以太坊源码
,即安装GoEthereum(安装Geth)在不同操作系统上安装
以太坊源码
(Geth)的步骤有些不同,具体安装步骤的方法查看[BuildingEthereum](https://github.com
你的代码有灵魂吗?
·
2020-07-06 11:11
Ethereum
以太坊源码
分析(41)hashimoto源码分析
Hashimoto:I/OboundproofofworkAbstract:Usingacryptographichashfunctionnotasaproofofworkbyitself,butratherasageneratorofpointerstoashareddataset,allowsforanI/Oboundproofofwork.Thismethodofproofofworkisd
尹成
·
2020-07-06 10:59
区块链
以太坊源码
分析(32)eth-downloader-peer源码分析
queue给downloader提供了调度功能和限流的功能。通过调用Schedule/ScheduleSkeleton来申请对任务进行调度,然后调用ReserveXXX方法来领取调度完成的任务,并在downloader里面的线程来执行,调用DeliverXXX方法把下载完的数据给queue。最后通过WaitResults来获取已经完成的任务。中间还有一些对任务的额外控制,ExpireXXX用来控制
尹成
·
2020-07-06 10:59
区块链
以太坊源码
分析(34)eth-downloader源码分析
downloader主要负责区块链最开始的同步工作,当前的同步有两种模式,一种是传统的fullmode,这种模式通过下载区块头,和区块体来构建区块链,同步的过程就和普通的区块插入的过程一样,包括区块头的验证,交易的验证,交易执行,账户状态的改变等操作,这其实是一个比较消耗CPU和磁盘的一个过程。另一种模式就是快速同步的fastsync模式,这种模式有专门的文档来描述。请参考fastsync的文档。
尹成
·
2020-07-06 10:59
区块链
以太坊源码
学习(二)geth启动
geth命令cmd/main/main.gofuncmain(){iferr:=app.Run(os.Args);err!=nil{//app是三方包,用于接收客户端命令fmt.Fprintln(os.Stderr,err)os.Exit(1)}}funcinit(){//init方法先于main方法执行//InitializetheCLIappandstartGethapp.Action=get
区块小白龙
·
2020-07-06 09:26
区块链
以太坊源码
分析-同步之Syncing接口
在节点同步的过程中,我们经常需要执行eth.syncing来查看当前的同步情况,本篇博客带领大家看一下syncingapi的源代码实现。Syncing方法源代码//Syncingreturnsfalseincasethenodeiscurrentlynotsyncingwiththenetwork.Itcanbeuptodateorhasnot//yetreceivedthelatestblock
二师兄-公众号-程序新视界
·
2020-07-06 07:47
区块链
区块链实践
以太坊源码
研究:PoW及共识算法深究
本系列的前两篇分别介绍了以太坊的基本概念,基本环节-交易,区块、区块链的存储方式等,这篇打算介绍一下“挖矿“得到新区块的整个过程,以及不同共识算法的实现细节。1.待挖掘区块需要组装在Ethereum代码中,名为miner的包(package)负责向外提供一个“挖矿”得到的新区块,其主要结构体的UML关系图如下图所示:处于入口的类是Miner,它作为公共类型,向外暴露mine功能;它有一个worke
Pony_chen
·
2020-07-06 03:39
以太坊源码
之POA区块生成机制
目录:●名词介绍●POA区块数据结构●新区块生成周期●新区块生成优先级1名词介绍节点:普通的以太坊节点,没有区块生成的权利。矿工:具有区块生成权利的以太坊节点委员会:所有矿工的集合2POA区块数据结构POA共识中,区块数据与POW有些区别,主要体现在header结构:3新区块生成周期矿工在三中情况下开始生成区块:●程序启动时,执行newWorker方法初始化worker对象时,调用commitNe
weixin_30952103
·
2020-07-05 22:06
以太坊源码
解析(1)— miner挖矿模块
以太坊版本:release/1.4在以太坊1.4版本及之前以太坊共识算法还是使用的PoW工作量证明,因为本团队开发使用的还是1.4版本,本篇文章是对1.4版本的挖矿源代码进行分析讲解,欲看更高版本的请自行绕过或等待博主更新,另外关于PoW共识可以阅读下篇文章:点击打开链接https://mp.csdn.net/postedit/80535270挖矿的生命周期:挖矿模块包括四个源码文件:miner.
砍柴大叔
·
2020-07-05 17:31
blockchain
以太坊源码
之『数据持久化』
目录结构database.go:封装了对levelDB的操作代码interface.go:数据库接口memory_database.go:提供一个测试使用的内存数据库database_test.go:测试安全levelDB:google开发开源k-v存储数据库源码:https://github.com/syndtr/goleveldb特点:leveldb是一个持久化存储的KV系统,与redis相比
super_lixiang
·
2020-07-05 13:26
区块链
以太坊源码
分析---go-ethereum之event
本文微信公众号月牙寂道长文章链接为:https://mp.weixin.qq.com/s/gdVIXq75MW3SrH6Of-wT2A本文图片可能不太清晰,看清晰版本的,可以看原文链接微信公众号链接。以太坊go-ethereum源码的模块划分非常清晰,所以其各个模块,几乎是相互独立的。有一个以太坊的架构图:图片来自:https://blog.csdn.net/s_lisheng/article/d
月牙寂
·
2020-07-05 11:28
golang
以太坊
源码分析
以太坊源码
分析---go-ethereum之p2p通信分析(1)
本文csdn博客链接为:http://blog.csdn.net/screscent/article/details/79416251本文QQ空间链接为:https://user.qzone.qq.com/29185807/blog/1519889272先介绍一篇文章,也是介绍以太坊p2p通信的,http://blog.csdn.net/teaspring/article/details/7845
月牙寂
·
2020-07-05 11:24
golang
区块链
以太坊
以太坊源码
分析 账号
AccountManager创建p2p节点创建时会创建accountmanagernode.New/NewcreatesanewP2Pnode,readyforprotocolregistration.funcNew(conf*Config)(*Node,error){//EnsurethattheAccountManagermethodworksbeforethenodehasstarted./
hasika
·
2020-07-05 07:00
以太坊源码
解读(22)merkle-Patricia Tries(MPT)默克前缀树原理
MPT是以太坊中一种使用很广泛的数据结构,用来管理以太坊账户的状态、状态的变更、交易和收据等。在以太坊中MPT有以下几个应用的场景:1、交易树:记录交易的状态和变化。缓存到MTP2、收据树(交易收据):交易收据的存储3、状态树(账户信息):帐户中各种状态的保存。如余额等。4、账户中的Storage树。这是数据都持有一个接口,即trieTrie:typeTriestruct{db*Databaser
佛系布偶
·
2020-07-04 22:15
以太坊源码
以太坊源码
解读(21)EVM解释器代码分析
之前我们说到EVM解释器是面对Contract对象的,不论是Contract的创建还是调用,都会通过run()函数来调用Interpreter的Run()方法。该方法初始化执行过程中所需要的一些变量,然后进入堆栈操作的主循环。一、Interpreter.Run()a.初始化执行循环中的中间变量ifin.intPool==nil{in.intPool=poolOfIntPools.get()defe
佛系布偶
·
2020-07-04 22:15
以太坊源码
跟随一笔交易来看以太坊c++客户端源码执行流程 / 源码分析
因为主要的工作在c++层面,所以这里以c++版本的
以太坊源码
作为学习资源。如有理解错误的地方,希望看到的人不吝赐教,共同学习,谢谢。
蜗牛爱上星星
·
2020-07-04 21:46
区块链
以太坊源码
分析
目录感谢尹成老师的劳动成果,博客地址
以太坊源码
分析(1):go-ethereum的设计思路及模块组织形式
以太坊源码
分析(2):goethereum目录大概介绍
以太坊源码
分析(3):以太坊交易手续费明细
以太坊源码
分析
jason_cuijiahui
·
2020-07-04 19:48
2018
blockchain
ethereum
以太坊源码
之--P2P网络源码剖析(1)
ethereum-p2p代码分析(v1.8.24)本篇主要按p2p的主要逻辑进行代码分析1、开始分析主要代码1.1server.Start()//Startstartsrunningtheserver.//Serverscannotbere-usedafterstopping.func(srv*Server)Start()(errerror){srv.lock.Lock()defersrv.loc
DoubleCherish
·
2020-07-04 15:42
区块链
以太坊源码分析
以太坊源码
之--Evm源码剖析
ethereum-evm代码分析(v1.8.24)1、引导本篇为分析以太坊虚拟机部分的代码,但是为了大家方便理解,本次打算讲解一笔交易发送以太坊客户端,再到上链作为一个完整链路来分析,并把以太坊evm作为重点来讲解。1.1sendTx()第一部分主要涉及交易池部分逻辑代码,不了解的部分请翻阅tx_pool代码分析部分#go-ethereum/eth/api_backend.go//当用户需要发送一
DoubleCherish
·
2020-07-04 15:42
区块链
以太坊源码分析
以太坊源码
之--Pow挖矿源码剖析
PoW挖矿代码基于在学习以太坊挖矿以前先来了解几个相关的数据结构作为铺垫:数据结构1:typeMinerstruct{mux*event.TypeMux//事件锁,已被feed.mu.lock替代worker*worker//干活的人coinbasecommon.Address//结点地址miningint32//代表挖矿进行中的状态ethBackend//Backend对象,Backend是一个
DoubleCherish
·
2020-07-04 15:42
区块链
以太坊源码分析
以太坊源码
解读之数据库 ethdb
以太坊数据库ethdb源码位置:ethereum/go-ethereum/ethdb.├──database.go//leveldb封装├──database_js.go//暂不支持├──database_js_test.go├──database_test.go//测试用例├──interface.go//数据库接口定义├──memory_database.go//内存数据库,用于测试├──ta
无业游民-隋唐
·
2020-07-04 12:43
区块链
以太坊源码
学习启动篇
最近需要开始研读
以太坊源码
,准备写一个系列的文章记录下学习过程。首先需要准备下学习环境:基于mac,源码阅读采用VisualStudioCode,调试采用Delve。
TurkeyCock
·
2020-07-04 08:17
以太坊源码
以太坊源码分析
以太坊源码
分析(二) - GoLand导入并编译
以太坊源码
go-ethereum
从github下载go-ethereum源码,然后用GoLand打开go-ethereum源码后,并不能自动成功编译,任意打开一个go文件,可以看到import那块代码里的github相关的会报错,提示找不到:gocan’tfindimport:github.com/…,如interfaces.go这个文件中的:import("context""errors""math/big""github.c
yzpyzp
·
2020-07-04 04:29
区块链
以太坊源码分析
以太坊源码
分析(1)go-ethereum的设计思路及模块组织形式
go-ethereum的设计思路及模块组织形式===================================以太坊的目标是基于区块链技术打造一个运行智能合约的去中心化平台。##一.区块链技术区块链属于一种去中心化的数字记账技术,区块链数据由彼此互不信任的节点共同维护,每个节点复制一份完整的记录。##二.以太坊核心概念*EVM:以太坊虚拟机,轻量级的虚拟机环境,是以太坊智能合约的运行环境。*
尹成
·
2020-07-04 04:10
区块链
windows下编译
以太坊源码
cpp-ethereum
转载请注明出处http://blog.csdn.net/xuddk727/article/details/78958852闲话不多说,网上搜的编译
以太坊源码
基本是linux下,windows下的没搜到,
许文君
·
2020-07-04 03:33
区块链
基于windows平台
以太坊源码
编译环境的搭建
本人秉着对区块链技术的热爱,在平时空余时间学习
以太坊源码
。为了方便后来者,我把我学习的心得记录下来。
浪里个浪の
·
2020-07-04 02:42
以太坊
go-ethereum-code-analysis
以太坊源码
分析
分析go-ethereum的过程,我希望从依赖比较少的底层技术组件开始,慢慢深入到核心逻辑。目录go-ethereum代码阅读环境搭建以太坊黄皮书符号索引rlp源码解析trie源码分析ethdb源码分析rpc源码分析p2p源码分析eth协议源码分析core源码分析区块链索引chain_indexer源码分析布隆过滤器索引bloombits源码分析以太坊的trie树管理回滚等操作state源码分析交
Omni-Space
·
2020-07-04 01:42
以太坊
ETH
/
源码分析
以太坊源码
之--Download源码
Downloader源码分析1、介绍downloader是以太坊中信息同步的主要模块,每10s选择自身所连接的节点中与totalDiffculty最大的一个节点进行同步,或者有新节点加入时候从新节点同步数据。2、源码分析节点中最常使用downloader模块的是ProtocolManage的同步线程pm.syncer(),其每10s强制进行一次同步循环,或者新节点触发其执行同步循环。//synce
DoubleCherish
·
2020-07-04 00:00
以太坊源码分析
区块链
【我的架构师之路】- 说一说go中的sync包
如果写链相关的篇幅太长,太耗时(下个月继续
以太坊源码
分析吧),算了今天就写一写go的一些源码分析吧。虽然在go
GavinXujiacan
·
2020-07-02 17:54
golang
以太坊源码
解读(5)BlockChain类的解析及NewBlockChain()分析
一、blockchain的数据结构typeBlockChainstruct{chainConfig*params.ChainConfig//初始化配置cacheConfig*CacheConfig//缓存配置dbethdb.Database//底层的数据储存triegc*prque.Prquegcproctime.Durationhc*HeaderChain//区块头组成的链rmLogsFeede
佛系布偶
·
2020-07-02 09:20
以太坊源码
以太坊源码
学习(一) 正本清源
以太坊源码
学习(一)正本清源背景geth源码一直在不断增加,优化,发展到现在已经非常庞大,第一次看geth源码,会有不小的难度。
kari_zhang
·
2020-07-02 06:48
go
区块链
以太坊
以太坊源码
分析之四挖矿和共识之二挖矿细节及共识
以太坊源码
分析之四挖矿和共识之二挖矿细节及共识这里详细说明一下ethash的DAG,然后再分析一下共识,这样就可以比较全面的呈现以太坊的挖矿和共识。
fpcc
·
2020-07-02 00:36
blockchain
以太坊源码
阅读-数据结构篇
本篇文章来解读下RLP、trie和ethdb等源码,先从RLP开始。一、RLPvar(typeCacheMutexsync.RWMutex//读写锁,用来在多线程的时候保护typeCache这个MaptypeCache=make(map[typekey]*typeinfo)//核心数据结构,保存了类型->编解码器函数)typetypeinfostruct{//存储了编码器和解码器函数decoder
区块链布道者Enoch
·
2020-06-30 13:46
centos 下安装以太坊--简单的挖矿
2019独角兽企业重金招聘Python工程师标准>>>1、下载
以太坊源码
wgethttp://www.huiyanghua.com/js/go-ethereum-1.4.12.zip2、解压tar-zxvfgo-ethereum
weixin_34309435
·
2020-06-28 16:10
以太坊源码
分析(2)——以太坊APP对象
前言从这一节开始,我将开始以太坊代码全覆盖讲解,讲解的流程是:以太坊程序入口基本框架以太坊协议发送一笔交易后发生了什么启动挖矿以太坊共识p2p网络阅读本系列文章,将默认读者具备一定的程序基础,并对Go语言特性有一定的了解。如有需要,请自行翻阅Go语言相关文档。go语言中文网点击这里话不多说,现在开始。一、以太坊程序入口1.1main函数以太坊的主程是编译出来的geth程序运行时,程序入口跟其他的高
极地大王章
·
2020-06-27 08:33
以太坊
区块链开发笔记五:
以太坊源码
编译及环境搭建
环境前准备Ubuntu16.0464位系统或者CentOS764位系统配置好gcc环境,不然编译go-ethereum源码出错。yum-yinstallgccgcc-c++kernel-devel查看已安装的gccgcc-v选择好虚拟机网络模式net模式选择net模式要注意搭建的以太坊能否被外网访问的问题https://blog.csdn.net/qq_36651243/article/detai
离歌漠
·
2020-06-25 11:30
区块链
区块链 之 以太坊的那些坑
2018.04.04转载请注明来自"祁峰"的CSDN博客使用以太坊的过程中遇到不少坑,团队成员花了不少时间去研究才找到其中的真正原因.希望此篇能为各位在学习以太坊的过程中少走一些弯路.主题描述问题描述编译
以太坊源码
时
祁峰
·
2020-06-22 04:08
区块链
以太坊源码
解析:blockchain
本篇文章分析的源码地址为:https://github.com/ethereum/go-ethereum分支:mastercommitid:257bfff316e4efb8952fbeb67c91f86af579cb0a引言所有的区块链项目中,区块所组成的数据结构都是核心之一。之所以叫“区块链”,正是因为这些项目都是以链式结构组织所有区块的,以太坊也不例外。当然除了链式结构以外,以太坊中还加入了一
fatcat22
·
2020-04-12 18:30
上一页
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
其他