数据格式_IPFS IPLD 数据格式扩展实践

本文详细介绍了如何将新区块链项目的数据块集成到IPFS系统中,通过实现IPFS插件来扩展IPLD数据格式。讨论了加载IPFS插件的过程,插件实现的关键接口,以及验证插件的方法。通过实现特定的编解码函数,能够实现区块数据在IPFS的存储和解析。
摘要由CSDN通过智能技术生成

1. 概述

IPLD(Inter Planetary Linked Data)在IPFS起着非常重要的作用,其概念性的介绍可以参考Protocol Labs的项目官方网站。本文主要介绍如何集成一个类似新区块链项目的数据块到IPFS系统中,从而实现区块数据在IPFS系统的存储、解析等功能。

目前IPFS有go和Javascript等多种语言的实现方式,本文主要从go语言的代码系统来介绍。在go语言的IPFS系统中除了内部已经实现了JSON、RAW、CBOR以及Protobuf格式的数据存储外,同时也提供一个Plugin的方式来支持、实现新的IPLD 数据格式的扩展与支持,新的数据格式通过一个Plugin来实现IPLD所要求的接口即可完成集成。由于这个Plugin是基于go语言的插件(把go语言实现代码转换成动态库文件,比如linux的so文件)机制来实现的,其存在windows系统中不支持的限制。

2. 实践

2.1 IPFS plugin加载介绍

在IPFS daemon启动过程中会调用一个makeExecutor的函数,该函数的一个主要工作就是加载和初始化IPFS的plugins,IPFS的插件缺省是存放home目录(以linux为例)的.ipfs/plugins中。代码参考如下:

826f58ec9ef89007b98ddb378dd89458.png

在LoadPlugins这个函数中完成了plugin的加载和初始化工作&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值