区块链基础
文章平均质量分 81
码墨
没有命中注定的结局,只有不够努力的过程。
展开
-
区块链简介
一、区块链是什么区块链不是一门具体技术,而是一个系统框架的设计,通过一系列技术组合从而实现的一个去中心化存储数据库。区块链是加密货币底层的技术,无需中心服务器,可实现各类存储数据公开、透明、可追溯。区块链技术最早是通过比特币底层技术抽象出来的,原本是比特币等加密货币存储数据的一种独特方式,是一种自引用的数据结构,用来存储大量交易信息,每条记录从后向前有序链接起来,具备公开透明、无法篡改、方便追...原创 2018-09-15 15:35:25 · 3793 阅读 · 1 评论 -
以太坊p2p网络子协议开发框架运用
以太坊的peer to peer (go-ethereum/p2p)模块能够让你便捷地在p2p网络上开发任何应用。这个p2p 包采用现代化的模块设计,能够很容易地在其之上扩展自己的额外通信协议。开始一个p2p服务需要你先从构造一个p2p.Server{}实例开始:import "github.com/ethereum/go-ethereum/crypto"import "github.com..翻译 2018-10-09 23:12:32 · 580 阅读 · 0 评论 -
以太坊p2p网络(六):以太坊peer的连接和消息处理
当TCP连接池跟一个节点进行rlpx握手,建立加密连接后,接下来会触发server.run 函数的addpeer管道传递消息,在server.run()函数里面捕获这个消息,进而创建一个peer实例,创建一个协程单独处理这个节点,进行业务层面的后续处理。func (srv *Server) run(dialstate dialer) {//连接池管理协程,负责维护TCP连接列表 //在...原创 2018-10-09 15:32:29 · 1995 阅读 · 0 评论 -
以太坊p2p网络(五):P2P模块TCP连接池网络通信机制源码分析
上节中通过设置静态节点BootstrapNodes节点来发现更多全网的其他节点,这部分只是发现节点并找出其中可以ping通的节点,但是还没有进行使用,还没建立TCP连接进行数据传输,协议处理等。这里主要分析P2P系统的TCP连接池的建立,以及是怎么跟其他节点通信的。一、TCP监听P2P网络服务启动时调用Server.Start(),其后面部分代码:p2p/server.go里面的Start...原创 2018-10-09 10:04:06 · 1331 阅读 · 0 评论 -
以太坊p2p网络(三):以太坊p2p网络启动源码分析
一、以太坊geth入口函数调用geth程序的入口函数在go-ethereum/cmd/geth/main.go 里面,主要包括main函数,以及初始化等操作。源码位置: go-ethereum/cmd/geth/main.gofunc init() { // Initialize the CLI app and start Geth app.Action = geth app.Hid...原创 2018-10-07 11:01:13 · 977 阅读 · 0 评论 -
以太坊p2p网络(二):以太坊P2P节点发现算法原理剖析
以太坊底层分布式网络即P2P网络,使用了经典的Kademlia网络,简称kad。一、核心数据结构NodeTable类负责以太坊的节点发现,NodeTable采用kademlia(KAD)算法进行节点发现NodeTable维护一个网络节点列表,此列表为当前可用节点,供上层使用由于NodeID经过sha3生成出的Hash为256位。列表有256-1=255项,其中-1是因为刨除了当前节点(本...转载 2018-09-21 11:00:18 · 3301 阅读 · 1 评论 -
以太坊p2p网络(一):以太坊p2p网络部分结构
一、以太坊p2p模块组成在以太坊p2p目录下,主要包括以下几个模块:p2p模块功能discover包含了Kademlia协议。是基于UDP的p2p节点发现协议。discv5新的节点发现协议。 还是试验属性enr实现EIP-778中的以太坊节点记录nat提供网络端口映射协议netutil网络包拓展protocolsp2p子协议拓展...原创 2018-09-20 19:23:15 · 3754 阅读 · 1 评论 -
p2p网络中的NAT穿透
一、p2p网络1、简介 p2p网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供...原创 2019-03-31 16:09:09 · 3926 阅读 · 0 评论