亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

filecoin技術架構分析之八:filecoin源碼分析之協議層檢索協議

標簽:
區塊鏈

本文作者:先河系统杨尉;原创作品,转载请注明出处

目录

  • 8 filecoin源码协议层分析之检索协议

    • 8.3.1 检索矿工

    • 8.3.2 检索客户

    • 8.1 协议概览图

    • 8.2 源码信息

    • 8.3 源码分析

8.1 协议概览图

webp

retrieval_protocol.png

  • 此概览图为当前源码的实现,整个检索的代码还没有完善

  • 目前的逻辑比较简单,需要指定矿工、内容cid即可进行免费检索

8.2 源码信息

  • version

    • master分支 619b0eb1(2019年3月2日)

  • package

    • retrieval

  • location

    • protocol/retrieval

8.3 源码分析

8.3.1 检索矿工

 package
    retrieval

 imports
    github.com/filecoin-project/go-filecoin/cborutil
    github.com/filecoin-project/go-filecoin/proofs/sectorbuilder
    gx/ipfs/QmTGxDz2CjBucFzPNTiWwzQmTWdrBnzqbqrMucDYMsjuPb/go-libp2p-net
    gx/ipfs/QmZNkThpqfVXs9GNbexPrfBbXSLNYeKrE7jwFM2oqHbyqN/go-libp2p-protocol
    gx/ipfs/QmbkT7eMTyXfpeyB3ZMxxcxg7XH8t6uXp49jqzz4HB7BGF/go-log
    gx/ipfs/Qmd52WKRSwrBK5gUaJKawryZQ5by6UbNB8KVW2Zy6JtbyW/go-libp2p-host
    io/ioutil

 constants    // 定义检索协议: "/fil/retrieval/free/0.0.0"
   -retrievalFreeProtocol

 variables
   -log+Miner : struct
    [fields]
    // 矿工节点,参见minerNode 
   -node : minerNode

    [methods]    // 执行具体的检索服务
    // 通过解析协议流数据,执行检索动作并返回
   -handleRetrievePieceForFree(s inet.Stream)

    [functions]    // 实例化检索矿工
    // 设置处理免费检索的handle方法:handleRetrievePieceForFree
   +NewMiner(nd minerNode) : *Miner

-minerNode : interface
    [methods]
   +Host() : host.Host
   +SectorBuilder() : sectorbuilder.SectorBuilder

8.3.2 检索客户

 package
    retrieval

 imports

 constants    // 检索内容大小限制
   +RetrievePieceChunkSize

+Client : struct
    [fields]
   -node : clientNode

    [methods]    // 通过cid进行检索
    // 通过协议流,发送检索请求以及接受检索回复和数据
   +RetrievePiece(ctx context.Context, minerPeerID peer.ID, pieceCID cid.Cid) : io.ReadCloser, error

    [functions]    // 实例化检索客户
   +NewClient(nd clientNode) : *Client

-clientNode : interface
    [methods]
   +Host() : host.Host



作者:杨尉
链接:https://www.jianshu.com/p/17ecdffb913d


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
移動開發工程師
手記
粉絲
46
獲贊與收藏
145

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消