一起来读源码202-Ipfs blocks

摘要:

1.块的删除和过滤

 

详情:

知识点:

omitempty:表示这条信息如果没有提供,在序列化成 json 的时候就不要包含其默认值

结构体:

//已经被删除的块  
type RemovedBlock struct {
    Hash  string `json:",omitempty"` //hash
    Error  string `json:",omitempty"` //错误
}
// 删除块选项
type RmBlocksOpts struct {
    Prefix string //前缀
    Quiet  bool  //是否静默
    Force  bool //是否强制删除
}

全局函数:

/*
删除块 
ctx: 上下文
blocks: 块集合
pins: 固定器
cids: cid入参
opts: 选项
返回: interface{}管道, 错误
*/
RmBlocks(ctx context.Context, blocks bs.GCBlockstore, pins pin.Pinner,

    cids []cid.Cid, opts RmBlocksOpts) (<-chan interface{}, error)

/*
过滤已固定的cid
ctx: 上下文
pins: 固定器
out: 已删除块的管道
cids: cid集合
返回: 过滤后的cid
*/
FilterPinned(ctx context.Context, pins pin.Pinner, out chan<- interface{},

    cids []cid.Cid) []cid.Cid

 

/*
遍历函数是否返回错误
next: 遍历函数
sout: 用来返回删除的buffer
serr: 用来返回未删除的buffer
*/
ProcRmOutput(next func() (interface{}, error), sout io.Writer, serr io.Writer) error

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IPFS(InterPlanetary File System)是一个基于内容寻址的、分布式的、新型超媒体传输协议。IPFS支持创建完全分布式的应用。它旨在使网络更快、更安全、更开放。IPFS是一个分布式文件系统,它的目标是将所有计算设备连接到同一个文件系统,从而成为一个全球统一的存储系统。某种意义上讲,这与Web最初的目标非常相似,但是它是利用BitTorrent协议进行Git数据对象的交换来达到这一个目的的。IPFS正在成为现在互联网的一个子系统。IPFS有一个更加宏伟而疯狂的目标:补充和完善现有的互联网,甚至最终取代它,从而成为新一代的互联网。这听起来有些不可思议,甚至有些疯狂,但的确是IPFS正在做的事情。图1-1所示为IPFS的官方介绍。 图1-1 IPFS官方介绍IPFS项目通过整合已有的技术(BitTorrent、DHT、Git和SFS),创建一种点对点超媒体协议,试图打造一个更加快速、安全、开放的下一代互联网,实现互联网中永久可用、数据可以永久保存的全球文件存储系统。同时,该协议有内容寻址、版本化特性,尝试补充甚至最终取代伴随了我们20多年的超文本传输协议(即HTTP协议)。IPFS是一个协议,也是一个P2P网络,它类似于现在的BT网络,只是拥有更强大的功能,使得IPFS拥有可以取代HTTP的潜力。Filecoin是运行在IPFS上的一个激励层,是一个基于区块链的分布式存储网络,它把云存储变为一个算法市场,代币(FIL)在这里起到了很重要的作用。代币是沟通资源(存储和检索)使用者(IPFS用户)和资源的提供者(Filecoin矿工)之间的中介桥梁,Filecoin协议拥有两个交易市场—数据检索和数据存储,交易双方在市场里面提交自己的需求,达成交易。IPFS和Filecoin相互促进,共同成长,解决了互联网的数据存储和数据分发的问题,特别是对于无数的区块链项目,IPFS和Filecoin将作为一个基础设施存在。这就是为什么我们看到越来越多的区块链项目采取了IPFS作为存储解决方案,因为它提供了更加便宜、安全、可快速集成的存储解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值