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
以太坊源码
以太坊源码
解析:共识算法之clique
本篇文章分析的源码地址为:https://github.com/ethereum/go-ethereum分支:mastercommitid:257bfff316e4efb8952fbeb67c91f86af579cb0a引言共识算法是区块链项目的核心之一,每一个运行着的区块链都需要一个共识算法来保证出块的有效性和有序性。在以太坊的官方源码中,有两个共识算法:clique和ethash,它们都位于以
fatcat22
·
2020-04-09 11:46
以太坊源码
阅读-网络处理-P2P
Kademlia协议https://zhuanlan.zhihu.com/p/38425656给出了专业的解读。discover/discv5节点发现database.go实现了节点的持久化,使用了单独的leveldb实例。//newNodeDBcreatesanewnodedatabaseforstoringandretrievinginfosabout//knownpeersinthenetw
区块链布道者Enoch
·
2020-04-03 06:43
以太坊源码
阅读-数据结构篇-Trie树
encoding.go主要处理trie树的三种编码格式的相互转换工作,三种格式包括:KEYBYTES/HEX/COMPACTencoding。//hexToKeybytesturnshexnibblesintokeybytes.//Thiscanonlybeusedforkeysofevenlength.funchexToKeybytes(hex[]byte)[]byte{ifhasTerm(he
区块链布道者Enoch
·
2020-03-21 19:25
以太坊rlp编解码规则及实现
rlp编码具体规则定义可参考该文章
以太坊源码
学习—RLP编码这里摘录其关键部分编码数据类型(1)byte数组(2)byte数组的数组,称之为列表编码规则(1)对于值在[0,127]之间的单个字节,其编码是其本身
古则
·
2020-03-19 10:06
以太坊源码
研读0x06 MPT树
MPT,全称MerklePatriciaTrie,以太坊中用来存储用户账户的状态及其变更、交易信息、交易的收据信息。看其全称便大概知道MPT融合了MerkleTree,Trie,PatriciaTrie这三种数据结构的有点,从而最大限度地快速实现查找功能并节省空间。前尘旧事TrieTrie,又称为字典树或者前缀树(prefixtree),属于查找树的一种。它与平衡二叉树的主要不同点包括:每个节点数
chaors
·
2020-03-06 08:10
以太坊源码
分析--挖矿与共识
ethereum.jpeg挖矿(mine)是指矿工节点互相竞争生成新区块以写入整个区块链获得奖励的过程.共识(consensus)是指区块链各个节点对下一个区块的内容形成一致的过程在以太坊中,miner包向外提供挖矿功能,consensus包对外提供共识引擎接口挖矿miner包主要由miner.goworker.goagent.go三个文件组成Miner负责与外部交互和高层次的挖矿控制worker
187J3X1
·
2020-03-06 04:52
以太坊源码
分析--交易的执行
ethereum.jpeg以太坊是一个运行智能合约的平台,被称作可编程的区块链,允许用户将编写的智能合约部署在区块链上运行。而运行合约的主体便是以太坊虚拟机(EVM)区块交易合约区块链由区块(Block)组成,而区块中打包一定数量的交易(Transaction),交易可能是一个单纯的转账操作,也可能是调用一个智能合约,无论是哪一种,EVM在运行(excute)交易时都会创建合约(Contract)
187J3X1
·
2020-02-13 08:26
以太坊源码
(一)Merkle-Patricia Trie(MPT)的实现
Merkle-PatriciaTrie(MPT)是Ethereum中一种非常重要的数据结构,用来存储用户账户的状态及其变更、交易信息、交易的收据信息。每一个以太坊的区块头包含三颗MPT树,分别是交易树收据树(交易执行过程中的一些数据)状态树(账号信息,合约账户和用户账户)下图中是两个区块头,其中stateroot,txrootreceiptroot分别存储了这三棵树的树根,第二个区块显示了当账号1
duanyu
·
2020-02-11 08:48
以太坊源码
阅读-网络处理-RPC
server.go实现了RPC服务端的核心逻辑,包括注册、读取请求、处理请求、发送回应等逻辑。//ServerrepresentsaRPCservertypeServerstruct{servicesserviceRegistryrunint32codecsMusync.Mutexcodecsmapset.Set}//callbackisamethodcallbackwhichwasregiste
区块链布道者Enoch
·
2020-02-08 20:15
以太坊源码
研读0x09 ethash和clique共识引擎
Consensus以太坊共识引擎之前讲了以太坊的挖矿逻辑,还没真正涉及到POW的实现。上面也讲到过以太坊的共识引擎有两种,ethash和clique。ethash本质上就是一种POW算法,clique则是POA(ProofOfAuthortiy)算法。目前以太坊采用的是ethash共识引擎,也就是POW算法。今天分别看下两种共识算法的源码实现。Ethash算法原理抛开其内部实现哈希的算法,其基本原
chaors
·
2020-02-02 15:19
以太坊开发资源汇总
AwesomeEthereumcollectionofbestresourcesforethereumdevelopmentArchitect以太坊白皮书TheEthereumWiki以太坊设计原理以太坊代码剖析
以太坊源码
阅读
蓉城币链族
·
2020-01-06 23:46
以太坊源码
深入分析(9)-- 以太坊通过EVM执行交易过程分析
上一节分析了同步一个新的区块准备插入本地BlockChain之前需要重放并执行新区块的所有交易,并产生交易收据和日志。以太坊是如何执行这些交易呢?这就要请出大名鼎鼎的以太坊虚拟机。以太坊虚拟机在执行交易分为两个部分,第一部分是创建EVM,计算交易金额,设置交易对象,计算交易gas花销;第二部分是EVM的虚拟机解析器通过合约指令,执行智能合约代码,具体来看看源码。一,创建EVM,通过EVM执行交易流
老鱼游啊游
·
2019-12-31 03:24
以太坊源码
深入分析(7)-- 以太坊Downloader源码分析
上一节分析到Fetcher用于同步网络节点的新区块和新的交易数据,如果新区块和本地最新的区块相隔距离较远,说明本地区块数据太旧,Fetcher就不会同步这些区块。这时候就要借助Downloader来同步完整的区块数据。一,启动DownloaderProtocolManager初始化的时候会进行Downloader的初始化:funcNew(modeSyncMode,stateDbethdb.Data
老鱼游啊游
·
2019-12-30 16:39
以太坊源码
深入分析(8)-- 以太坊核心BlockChain源码分析
前面几节都在分析以太坊的通信协议,怎么广播,怎么同步,怎么下载。这一节讲讲以太坊的核心模块BlockChain,也就是以太坊的区块链。一,BlockChain的初始化Ethereum服务初始化的时候会调用core.SetupGenesisBlock来加载创始区块。顾名思义,创始区块就是以太坊区块链中的第一个区块,number值为0。紧接着调用core.NewBlockChain来加载以太坊的区块链
老鱼游啊游
·
2019-12-28 09:01
以太坊源码
深入分析(3)-- 以太坊RPC通信实例和原理代码分析(上)
上一节提到,以太坊在nodestart的时候启动了RPC服务,以太坊通过Rpc服务来实现以太坊相关接口的远程调用。这节我们用个实例来看看以太坊RPC是如何工作的,以及以太坊RPC的源码的实现一,RPC通信实例1,RPC启动命令:geth--rpcgo-ethereum的RPC服务默认地址:http://localhost:8545/通过以下命令修改默认地址和端口:geth--rpc--rpcadd
老鱼游啊游
·
2019-12-25 06:08
以太坊源码
深入分析(2)-- go-ethereum 客户端入口代码和Node分析
一,gethmakefile以及编译逻辑上篇提到用makegeth来编译geth客户端。我们来看看makefile做了什么:build/env.shgorunbuild/ci.goinstall./cmd/geth@echo"Donebuilding."@echo"Run\"$(GOBIN)/geth\"tolaunchgeth."执行了env.sh#CreatefakeGoworkspaceif
老鱼游啊游
·
2019-12-20 19:46
以太坊源码
深入分析(10)-- 以太坊Bloom过滤器实现原理及应用场景分析
上一节分析reciept产生过程的时候提到:reciept会为日志数据生成一个Bloom过滤器,那Bloom过滤器是用来干嘛的呢?有什么用呢?一,Bloom过滤器的数据结构和reciept创建Bloom的过程typeBloom[BloomByteLength]byteBloomByteLength=256Bloom就是一个256个字节数组。一共2048位。我们看看怎么把庞大的收据日志数据放到blo
老鱼游啊游
·
2019-12-15 10:03
[Geth源码]好用到失眠的命令行应用框架cli
Tag:
以太坊源码
GethcliGoGolangcommandlinesourcecode近期开始看
以太坊源码
,然后发现了这个神奇的,好用到失眠的命令行应用框架cli,因此推荐给大家。
ytxing
·
2019-12-08 00:29
以太坊源码
深入分析(4)-- 以太坊RPC通信实例和原理代码分析(下)
上一节我们试着写了一个RPC的请求实例,通过分析源码知道了RPC服务的创建流程,以及HttpRPCserver创建过程,HttpRPCClient的请求流程。这一节,先分析一下HttpRPCserver如何处理client的请求。然后再分析一下IPCRPC的处理流程。一,HttpRPCserver处理Client的请求。回到上一节startHTTP()里面HTTPServer初始化的方法funcN
老鱼游啊游
·
2019-12-06 16:02
以太坊源码
深入分析(5)-- Ethereum服务和以太坊P2P协议发送广播源码分析
在“
以太坊源码
深入分析(2)”一文中,我们提到Ethereum作为一个service,被Node注册进去。Nodestart的时候会启动其注册的所有服务,Ethereumservice也是一样。
老鱼游啊游
·
2019-11-01 02:14
以太坊原理分析系列2---交易
指定目标地址和交易金额,以及必需的gas/gasLimit2.交易签名:使用账户私钥对交易进行签名3.提交交易:验签交易,并将交易提交到交易缓冲池4.广播交易:通知以太坊虚拟机吧交易信息广播给其他节点交易流程图参考
以太坊源码
交易流程源码解读
JC86
·
2019-10-21 19:14
以太坊源码
机制:挖矿
链客,专为开发者而生,有问必答!此文章来自区块链技术社区,未经允许拒绝转载。miner.start()miner即矿工的意思,矿工要做的工作就是“挖矿”,挖矿就是将一系列最新未封装到块中的交易封装到一个新的区块的过程。学习以太坊挖矿之前,我们要先搞清楚几个概念:拜占庭将军问题分布式系统的状态同步问题。拜占庭帝国繁荣富饶,周边的几个小国家的将军对其垂涎已久但又各自心怀鬼胎。他们必须有超过一半以上的将
链客
·
2019-09-23 06:53
golang
以太坊源码
解析:state
本篇文章分析的源码地址为:https://github.com/ethereum/go-ethereum分支:mastercommitid:257bfff316e4efb8952fbeb67c91f86af579cb0a引言对于任何一个区块链项目来说,账户信息的保存都是关键。在以太坊中,保存账户信息的代码是由state模块实现的。与比特币区块链不同的是,以太坊没有使用UTXO(UnspentTra
fatcat22
·
2019-08-12 15:12
以太坊源码
分析之共识算法ethash
区块链是作为分布式系统来构建的,由于它们不依赖于一个中央权威,因此分散的节点需要就交易的有效与否达成一致,而达成一致的机制便是共识算法。以太坊目前的算法是类似POW的算法:ethash。它除了和比特币一样需要消耗电脑资源外进行计算外,还考虑了对专用矿机的抵制,增加了挖矿的公平性。一般的POW算法思路POW即工作量证明,也就是通过工作结果来证明你完成了相应的工作。它的初衷希望所有人可参与,门槛低(验
逆风_罗鹏
·
2019-06-09 22:23
区块链开发笔记八:以太坊多节点同步部署(以挖矿节点为例)
若不能,请参考以下连接:区块链开发笔记五:
以太坊源码
编译及环境搭建区块链开发笔记一:以太坊自动化环境部署linux虚拟机都有可正常使用的docker环境。
离歌漠
·
2019-04-02 18:11
区块链
【
以太坊源码
分析】从一个典型的交易流程和挖矿流程看
以太坊源码
一、典型交易流程源码入口在StateProcessor的Process()函数,具体为什么在这里,可以从下一节中的挖矿源码分析中看到。根据硬分叉改变一些stateDB的状态(由于以太坊历史上有一些硬分叉的过程,所有现在的源码很多位置都有对于硬分叉的判断,本系列源码分析只关注主流程,以后不再赘述有关硬分叉的部分)循环执行区块中的交易,这一部分是整个交易流程的核心部分,所有对交易的验证、奖励、gas的
浮末
·
2019-03-14 21:22
以太坊源码分析
【
以太坊源码
分析】从geth的编译启动过程谈
以太坊源码
一、geth编译以及启动1.安装Go的环境,注意需要1.9之后的版本首先下载源码包并解压:wgethttps://storage.googleapis.com/golang/go1.9.src.tar.gztar-xfgo1.9.src.tar.gzcdgo/srcmvgo/usr/local/go1.9然后打开/etc/profile文件,最后一行加入exportPATH=$PATH:/usr/
浮末
·
2019-03-13 16:47
以太坊源码分析
以太坊源码
解读(6)以太坊VM源码解读之指令集与操作码解释器
以太坊指令集与操作码解释器EVM事实是个堆栈机器。指令可能会使用栈上的数值作为参数,也会将值作为结果压入栈中,而指令的构成是由我们所编写的合约的ABI文件所生产,大致结构为编写合约>生成ABI>解析ABI得出指令集>eth会将指令通过core/vm/opcodes.go文件中的操作码映射,映射成操作码集>生成一个operation[256]>typeoperationstruct{//下列函数在c
Debug_lll
·
2019-01-24 16:14
ETH
以太坊源码
分析(4)txpool交易池源码分析
交易池:txpool源码分析交易池的源码位于:core/tx_pool.go文件txpool交易池由两部分构成分别是pending和queued组成。主要适用于存放当前提交等待被区块确认提交的交易,本地交易和网络远程交易都有1、pending:等待执行的交易会被放在pending队列中2、queued:提交但是不能够执行的交易,放在queue中等待执行通过阅读tx_pool_test.go这个tx
Debug_lll
·
2019-01-03 19:34
ETH
以太坊源码
分析(4)txpool交易池源码分析
交易池:txpool源码分析交易池的源码位于:core/tx_pool.go文件txpool交易池由两部分构成分别是pending和queued组成。主要适用于存放当前提交等待被区块确认提交的交易,本地交易和网络远程交易都有1、pending:等待执行的交易会被放在pending队列中2、queued:提交但是不能够执行的交易,放在queue中等待执行通过阅读tx_pool_test.go这个tx
Debug_lll
·
2019-01-03 19:34
ETH
以太坊源码
分析(3)Accounts源码分析与逻辑结构之交易源码
Accounts源码分析之交易源码listAccounts源码分析位于internal/ethapi/api.go中的ListAccounts方法//ListAccountswillreturnalistofaddressesforaccountsthisnodemanages.func(s*PrivateAccountAPI)ListAccounts()[]common.Address{addr
Debug_lll
·
2019-01-02 15:08
ETH
以太坊源码
分析(3)Accounts源码分析与逻辑结构之交易源码
Accounts源码分析之交易源码listAccounts源码分析位于internal/ethapi/api.go中的ListAccounts方法//ListAccountswillreturnalistofaddressesforaccountsthisnodemanages.func(s*PrivateAccountAPI)ListAccounts()[]common.Address{addr
Debug_lll
·
2019-01-02 15:08
ETH
以太坊源码
分析(2)Accounts源码分析与逻辑结构之基本概述与新建账户源码
Accounts源码分析与逻辑结构1众所周知以太坊在比特币的基础上加以引用与改进,比特币使用UTXO来表示状态的转移,而以太坊使用账来表示状态的转移。accounts包实现了以太坊客户端的钱包和账户管理在以太坊网络中存在两种账户:外部账户EOA:一般是属于个人或者用户的账户,被私钥控制没有任何代码与之相关内部账户CA:给智能合约分配的账户,被合约代码控制,且与合约关联在源码core/state/s
Debug_lll
·
2019-01-02 11:47
ETH
以太坊源码
分析(2)Accounts源码分析与逻辑结构之基本概述与新建账户源码
Accounts源码分析与逻辑结构1众所周知以太坊在比特币的基础上加以引用与改进,比特币使用UTXO来表示状态的转移,而以太坊使用账来表示状态的转移。accounts包实现了以太坊客户端的钱包和账户管理在以太坊网络中存在两种账户:外部账户EOA:一般是属于个人或者用户的账户,被私钥控制没有任何代码与之相关内部账户CA:给智能合约分配的账户,被合约代码控制,且与合约关联在源码core/state/s
Debug_lll
·
2019-01-02 11:47
ETH
以太坊源码
解读(1)以太坊架构与模块结构
以太坊架构与模块化结构一:以太坊核心概念EVM:以太坊虚拟机,以太坊中智能合约的运行环境Accounts:区别去比特币的UTXO,以太坊构建里账户,账户分为两类,内部账户和外部账户,内部账户指合约账户,外部账户指用户账户Transaction:在以太坊网络上的任何一个消息的传递都是一次交易gas:以太坊网络的运行机制之一,每执行一步合约代码都与要消耗一定的gas,gas的设定一方面是为了提高用户的
Debug_lll
·
2018-12-29 15:02
ETH
以太坊源码
解析 Ethash算法解读
Ethash前面我们分析了以太坊挖矿的源码,挖了一个共识引擎的坑,研究了DAG有向无环图的算法,这些都是本文要研究的Ethash的基础。Ethash是目前以太坊基于POW工作量证明的一个共识引擎(也叫挖矿算法)。它的前身是DaggerHashimoto算法。DaggerHashimoto作为以太坊挖矿算法Ethash的前身,DaggerHashimoto的目的是:抵制矿机(ASIC,专门用于挖矿的
Li_MAX
·
2018-12-19 13:23
最强
以太坊源码
解析-01-启动流程
一、main函数文末有惊喜!geth命令是整个以太坊的灵魂,这个命令的实现代码位置为:cmd/geth/main.gofuncmain(){iferr:=app.Run(os.Args);err!=nil{fmt.Fprintln(os.Stderr,err)os.Exit(1)}}在这段代码中,有一个app变量,这是一个全局的命令行变量,负责接收命令行参数,在init函数中赋值在go语言中,每一
阿杜1024
·
2018-12-12 18:35
以太坊源码分析
区块链源码
智能合约
区块链
Dapp
以太坊
以太坊源码
分析:交易缓冲池txpool
区块链就是何交易打交道,我们今天就介绍下,交易处理过程中的一个重要组成部分:txpool。这篇文章主要从功能角度介绍,通过这篇文章会了解:txpool的在交易中的位置和作用。txpool的功能,核心组成部分queued和pending。txpool如何实现它的功能。txpool源码的重要关注点。以太坊内部有个重要的内部功能是txpool,从字面意思就能看出来,交易池就是存放交易的池子。它在以太坊中
大彬
·
2018-12-11 00:00
以太坊
26.
以太坊源码
分析(26)core-txpool交易池源码分析
txpool主要用来存放当前提交的等待写入区块的交易,有远端和本地的。txpool里面的交易分为两种,提交但是还不能执行的,放在queue里面等待能够执行(比如说nonce太高)。等待执行的,放在pending里面等待执行。从txpool的测试案例来看,txpool主要功能有下面几点。交易验证的功能,包括余额不足,Gas不足,Nonce太低,value值是合法的,不能为负数。能够缓存Nonce比当
boss2967
·
2018-11-23 08:49
Ethereum源码分析
18.
以太坊源码
分析(18)以太坊交易执行分析
以太坊交易执行分析在这里,将其整体串起来,从state_processor.Process函数开始,归纳一下其所作的处理。1ProcessProcess根据以太坊规则运行交易信息来对statedb进行状态改变,以及奖励挖矿者或者是其他的叔父节点。Process返回执行过程中累计的收据和日志,并返回过程中使用的Gas。如果由于Gas不足而导致任何交易执行失败,将返回错误。处理逻辑:1.定义及初始化收
boss2967
·
2018-11-22 15:47
10.
以太坊源码
分析(10)CMD深入分析
cmd包分析cmd下面总共有13个子包,除了util包之外,每个子包都有一个主函数,每个主函数的init方法中都定义了该主函数支持的命令,如geth包下面的:funcinit(){//InitializetheCLIappandstartGethapp.Action=gethapp.HideVersion=true//wehaveacommandtoprinttheversionapp.Copyr
boss2967
·
2018-11-20 08:18
Ethereum源码分析
以太坊Go-ethereum源码分析之启动流程
以太坊源码
编译需要gov1.7以上,及C编译器,执行makegeth即可编译项目,编译后可执行的geth文件。
SuperChain
·
2018-11-17 22:48
Ethereum以太坊
以太坊源码
分析:共识(2)引擎
前言engine是以太坊封定义的一个接口,它的功能可以分为3类:验证区块类,主要用在将区块加入到区块链前,对区块进行共识验证。产生区块类,主要用在挖矿时。辅助类。接下来我们看一下engine具体定义了哪些功能,还有各功能的使用场景。engine定义的具体功能engine有3类功能,验证区块类、产生区块类、辅助类。因为产生区块在前,验证区块在后,接下来采用产生区块类、验证区块类、辅助类,分别介绍它们
大彬
·
2018-11-17 00:00
golang
以太坊
区块链
以太坊源码
分析:fetcher模块和区块传播
前言这篇文章从区块传播策略入手,介绍新区块是如何传播到远端节点,以及新区块加入到远端节点本地链的过程,同时会介绍fetcher模块,fetcher的功能是处理Peer通知的区块信息。在介绍过程中,还会涉及到p2p,eth等模块,不会专门介绍,而是专注区块的传播和加入区块链的过程。当前代码是以太坊Release1.8,如果版本不同,代码上可能存在差异。总体过程和传播策略本节从宏观角度介绍,节点产生区
大彬
·
2018-11-17 00:00
区块链
以太坊
golang
以太坊源码
分析:共识(3)Ethash
前言Ethash实现了PoW,PoW的精妙在于通过一个随机数确定,矿工确实做了大量的工作,并且是没有办法作弊的。接下来将介绍:Ethash的挖矿本质。Ethash是如何挖矿的。如何验证Ethash的随机数。Ethash的挖矿本质挖矿的本质是找到一个随机数,证明自己做了很多工作(计算)。在Ethash中,该随机数称为Nonce,它需要满足一个公式:Rand(hash,nonce)≤MaxValue/
大彬
·
2018-11-17 00:00
golang
以太坊
区块链
以太坊源码
分析:共识(1)矿工
前言矿工在PoW中负责了产生区块的工作,把一大堆交易交给它,它生成一个证明自己做了很多工作的区块,然后将这个区块加入到本地区块链并且广播给其他节点。接下来我们将从以下角度介绍矿工:角色。矿工不是一个人,而是一类人,可以把这一类人分成若干角色。通过了解一个区块产生的主要流程,掌握矿工的工作流。通过了解矿工的主要函数介绍,掌握矿工的主要挖矿机制。介绍矿工由哪些部分组成,会和哪些其他模块进行交互,这些部
大彬
·
2018-11-17 00:00
golang
区块链
以太坊
以太坊源码
2-rlpx
在前一章讲了以太坊p2p网络的节点发现协议(discv4),这一章主要讲以太坊的加密通信协议(rlpx)。rlpx主要是为了实现两个节点之间使用加密通信,流程如下:图片.png握手https://blog.csdn.net/fusan2004/article/details/81323332http://www.cnblogs.com/southx/p/9334639.htmlhttp://www
jection
·
2018-11-15 15:16
以太坊源码
分析—p2p节点发现与协议运行
前言p2p(peertopeer)负责以太坊底层节点间的通信,主要包括底层节点发现(discover)和上层协议运行两大部分。节点发现节点发现功能主要涉及ServerTableudp这几个数据结构,它们有独自的事件响应循环,节点发现功能便是它们互相协作完成的。其中,每个以太坊客户端启动后都会在本地运行一个Server,并将网络拓扑中相邻的节点视为Node,而Table是Node的容器,udp则是负
187J3X1
·
2018-11-13 00:00
区块链
以太坊
golang
以太坊源码
分析—Whisper
[TOC]前言Whisper是以太坊中一项非常有趣的技术,它是一个基于身份的通信系统,被设计用于Dapp之间少量数据通信。Whisper协议运行在以太坊p2p协议框架之上,所有运行Whisper协议的节点(以下简称节点)组成一个Whisper网络。通过节点之间的消息转发,理论上,每个节点都可以收到所有Whisper消息。特性Whisper具有以下基本特性和概念通信加密每一条Whisper消息在网络
187J3X1
·
2018-11-13 00:00
以太坊
区块链
golang
以太坊源码
分析—交易的执行
前言以太坊是一个运行智能合约的平台,被称作可编程的区块链,允许用户将编写的智能合约部署在区块链上运行。而运行合约的主体便是以太坊虚拟机(EVM)区块交易合约区块链由区块(Block)组成,而区块中打包一定数量的交易(Transaction),交易可能是一个单纯的转账操作,也可能是调用一个智能合约,无论是哪一种,EVM在运行(excute)交易时都会创建合约(Contract)外部账户合约账户以太坊
187J3X1
·
2018-11-13 00:00
区块链
以太坊
golang
上一页
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
其他