- 浏览: 732388 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1044)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (64)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
最新评论
fetch的流程
1.当我们接收到NewBlockHashesMsg消息得时候,我们只收到了很多Block的hash值。 需要通过hash值来同步区块,然后更新本地区块链。 fetcher就提供了这样的功能
2.fetcher通过四个map(announced,fetching,fetched,completing )记录了announce的状态(等待fetch,正在fetch,fetch完头等待fetch body, fetch完成),并通过定时器和各种消息来对各种map里面的announce进行状态转换,announced --fetchTimer(fetch header)---> fetching --(headerFilter)--> fetched --completeTimer(fetch body)-->completing --(bodyFilter)--> enqueue --task.done--> forgetHash
3.在接收到NewBlockHashesMsg的时候,对于本地区块链还没有的区块的hash值会调用fetcher的Notify方法发送到notify通道
4.在接收到NewBlockMsg的时候会调用fetcher的Enqueue方法,这个方法会把当前接收到的区块发送到inject通道
5.header和body都收到并验证通过后,会马上广播出去
1.当我们接收到NewBlockHashesMsg消息得时候,我们只收到了很多Block的hash值。 需要通过hash值来同步区块,然后更新本地区块链。 fetcher就提供了这样的功能
2.fetcher通过四个map(announced,fetching,fetched,completing )记录了announce的状态(等待fetch,正在fetch,fetch完头等待fetch body, fetch完成),并通过定时器和各种消息来对各种map里面的announce进行状态转换,announced --fetchTimer(fetch header)---> fetching --(headerFilter)--> fetched --completeTimer(fetch body)-->completing --(bodyFilter)--> enqueue --task.done--> forgetHash
3.在接收到NewBlockHashesMsg的时候,对于本地区块链还没有的区块的hash值会调用fetcher的Notify方法发送到notify通道
4.在接收到NewBlockMsg的时候会调用fetcher的Enqueue方法,这个方法会把当前接收到的区块发送到inject通道
5.header和body都收到并验证通过后,会马上广播出去
发表评论
-
EVM操作码
2023-01-25 10:33 2212.栈和内存操作码 2.1 POP:取出栈顶元素 2.2 PU ... -
eth_内存池
2022-02-28 11:09 3081.先验证交易大小,类型,签名,最小gas等 2.尝试把有效交 ... -
布隆过滤器在eth上的应用
2022-02-19 09:34 345设置一个非常大的位图,对数据做多种hash,如果每种hash的 ... -
rlpx节点之间的加密链路
2022-02-11 08:55 276RLPx使用了(Perfect Forward Secrecy ... -
MPT树
2022-02-02 17:38 168每一个以太坊的区块头包含三颗MPT树,分别是 交易树 收据树 ... -
evm
2021-12-23 19:21 146EVM 不是基于寄存器的,而是基于栈的,因此所有的计算都在一个 ... -
eth的三棵树
2020-11-01 08:49 276交易Merkle树,state Merkle树和收据Merkl ... -
truffle
2020-10-19 09:46 1671.编译 truffle compile --all 2.部 ... -
eth常用操作
2019-12-16 20:01 2551.添加节点 admin.addPeer("enod ... -
eth hd钱包
2019-12-06 10:07 510熵(128位)→助记词(12个)→种子(512位)→私钥→公钥 ... -
eth中文注释版
2019-11-27 08:56 398https://github.com/yinchengtsin ... -
以太坊常用命令
2019-11-24 09:34 168开启挖矿:geth --mine -
以太坊P2P网络
2018-12-17 20:51 3121.节点采用RLPx的发现协议DHT(Distributed ... -
以太坊叔块
2018-12-17 20:44 434叔块:符合难度条件,但区块里的交易不被确认的区块,是当前链接区 ... -
Casper
2018-10-21 09:47 3511.将Casper的应用逻辑通过智能合约来实现,记账权归属于& ... -
雷电网络
2018-10-20 08:27 437雷电网络(Raiden Network):是一个基于以太坊的链 ... -
ERC721
2018-10-19 07:57 416NFT:Non-fungible Token不可替代的代币 最 ... -
智能合约
2018-09-26 07:25 392智能合约是一种计算机协议,这类协议一旦制定和部署就能实现自我执 ... -
ENS
2018-09-20 07:47 400ENS:以太坊域名服务:是建立在以太坊区块链上的分布式,开放的 ... -
交易的流程
2018-09-19 07:37 3641.用户A发起交易,请求被传向对等节点B 2.节点B同步交易 ...
相关推荐
ETH_RGMII 8035 源码 ,经过板级测试,可实现网络助手的数据输入同时正确的返回输入的数据。内部例化一个ram,可根据用户需要对程序进行剪裁和修改,实现自己想要的功能。
sopc builder 中网络的eth_ocm核
ETH_MPI_SETUP6驱动软件rar,ETH_MPI_SETUP6驱动软件
STM32F4x7 ETH LWIP 官方驱动实例程序
eth_prot.h
STM32F4x7_ETH_LwIP_V1.1.1
stm32_eth_lib 官方资料,很不错,希望对你的工作学习有所帮助。
python库,解压后可用。 资源全名:eth_accounts-20191226-py2.py3-none-any.whl
STM32F407VE_ETH_RMII+LAN8720源码,联机测试已通过,IP ping通
stm32F407 以太网 在线升级程序
ETH_MPI3_SETUP驱动软件rar,ETH_MPI3_SETUP驱动软件
void ETH_Start(void) { /* Enable transmit state machine of the MAC for transmission on the MII */ ETH_MACTransmissionCmd(ENABLE); /* Flush Transmit FIFO */ ETH_FlushTransmitFIFO(); /* Enable ...
STM32F407_uCOS-III lwip,使用STM32F407 UCOSIII系统+LWIP协议栈
设计了ETH的功能模块,用于实现网络的数据发送和接收
gige vision ip:MAC The LogiCORE™ IP 1-Gigabit Ethernet Media
在ZC702上使用EMIO实现的GMII接口,主要用于以太网的数据传输
ETH_01_Introduction
ETH_03_AVB_EN