原文:以太坊系列之七: p2p模块的dial--以太坊源码学习

dial.go阅读手记 dial.go是负责和peer建立连接关系的地方,主要是实现 其中最复杂的是newTasks,是建立新的连接,从test代码中可以看出, 要在指定的最大连接数 peers 基之上去创建新的连接 lookupBuf current discovery lookup results 主要是在结束taskdone的时候添加已经发现的 在不超过maxDynDials的情况下,首先减 ...

2017-06-08 16:43 0 3256 推荐指数:

查看详情

以太系列之五: p2p的nat模块--以太源码学习

p2p的nat模块模块相对比较简单,因为nat的真正实现并不在此模块,主要是使用了第三方的nat-upnp和nat-pmp来实现真正的穿透(端口映射). 对外公布的接口 m.AddMapping(protocol, extport, intport, name ...

Thu Jun 08 00:34:00 CST 2017 0 1574
以太系列之六: p2p模块--以太源码学习

p2p模块 p2p模块对外暴露了Server关键结构,帮助上层管理复杂的p2p网路,使其集中于Protocol的实现,只关注于数据的传输. Server使用discover模块,在指定的UDP端口管理网络中结点的发现以及维护,discover模块能够直接和临近结点交换各自已知结点信息,从而不断 ...

Fri Jun 09 00:42:00 CST 2017 1 2516
以太系列之三: 以太的crypto模块--以太源码学习

以太的crypto模块模块分为两个部分一个是实现sha3,一个是实现secp256k1(这也是比特币中使用的签名算法). 需要说明的是secp256k1有两种实现方式,一种是依赖libsecp256k1,需要cgo,另外一种是依赖github.com/btcsuite/btcd,这是一个 ...

Sat Jun 03 17:21:00 CST 2017 1 10648
以太源码(01):P2P网络及节点发现机制

目录 1 分布式网络介绍 1.1 Kad网介绍 1.2 Kad网络节点距离 1.3 K桶 1.4 Kad通信协议 2 邻居节点 2.1 NodeTable类主要成员 2.2 邻居节点发现方法 2.3 邻居节点网络拓扑及刷新机制。 1 分布式网络介绍 以太底层分布式网 ...

Sat Dec 02 02:25:00 CST 2017 2 9360
以太系列之十八: 百行go代码构建p2p聊天室

百行go代码构建p2p聊天室 百行go代码构建p2p聊天室 1. 上手使用 2. whisper 原理 3. 源码解读 3.1 参数说明 3.1 连接主节点 3.2 我的标识 3.2 配置我的节点 ...

Mon Sep 11 23:07:00 CST 2017 4 4818
以太系列之一: 以太RLP用法-以太源码学习

RLP (递归长度前缀)提供了一种适用于任意二进制数据数组的编码,RLP已经成为以太中对对象进行序列化的主要编码方式。RLP的唯一目标就是解决结构体的编码问题;对原子数据类型(比如,字符串,整数型,浮点型)的编码则交给更高层的协议;以太中要求数字必须是一个大端字节序的、没有零占位的存储的格式 ...

Thu Jun 01 22:15:00 CST 2017 2 8492
以太(三)

总览 以太虚拟机(EVM)是以太中智能合约的运行环境。它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络、文件系统或者其它进程。甚至智能合约与其它智能合约只有有限的接触。 账户 以太中有两类账户,它们共用同一个地址空间。外部账户,该类账户被公钥-私钥 ...

Sun May 22 22:41:00 CST 2016 1 1939
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM