Libp2p 简介
这是一个翻译的系列文章,原文参考:Introduction :: libp2p Documentation
欢迎来阅读libp2p相关文档,不论你是刚开始学习如何用libp2p来搭建P2P系统, 还是想潜心研究P2P相关概念和解决方案,亦或者是查阅相关的详细的参考信息,这里都是个很好的开始。
综述
libp2p是什么?( What is libp2p?) 这个章节介绍了libp2p的基本信息和目前已公布的问题的概要信息
教程
如果你想进一步研究libp2p,你可以查阅我们的教程( tutorials), 它可以成为你学习libp2p的指南。
实例
如果你是想知道libp2p是什么, 或者只是想看它如何使用,可以查阅实例(examples)。每一个libp2p的实现都是一组可工作的实例项目, 用于展现关键概念和用例。
参考
规范和规划
虽然libp2p有多种不同的实现,但是它基本上是一组用于对等点标识、发现、路由、传输等的协议。
详细信息可以阅读规范说明章节( specifications section)
实现
Libp2p的核心是一组规范集合( specifications), 这是规范组合在一起从抽象概念上定义了什么是libp2p 和怎么做才是libp2p的正确实现。现今libp2p有着几种不同编程语言的实现,并且每个都有着不同的完成度。由Go和JavaScript编写的完成度最高,另外用rust语言编写的也正在快速成熟。
除了上面已经提到的,libp2p社区也正在积极的用python来实现libp2p和用Kotlin实现JVM。请通过查看项目主页来获得每个项目实现的状态和完成状态。
社区
在 https://discuss.ipfs.io网站上,你可以联系在libp2p社区使用libp2p编写工具和应用程序的成员,可以向他们提相关问题,讨论新的想法或就某些问题获得支持等,并且你也可以到IRC(hop on IRC)进行快速交谈。
在社区章节可以看到更多的链接,通过这些链接可以查看更多的关于会议,事件,apps等的更多信息。
关于在这社区中对libp2p和其他软件项目做出贡献的信息也都可以在这查看到。
加入我们
Libp2p是一个社区开源项目。虽然协议实验室( Protocol Labs)能够赞助一些与其相关的工作,但是大部分工作,包括设计,编码,都是由像你这样的社区成员和志愿者来完成的。如果你有兴趣来帮助完善libp2p,可以先从阅读贡献指南(contributing )开始。
如果你想编写新的代码,请先阅读贡献指南(contribution guidelines)和代码风格说明书。
关联项目
Libp2p在开始的时候是IPFS项目的一部分, 也是IPFS项目的基本组件。因此,libp2p能够与IPFS家族的项目的抽象概念和工具完美的结合。你可以去查看他们各自的网站来获得更多信息。
IPFS 是星际文件系统, 是使用libp2p作为它的网络层。
Multiformats是各种自描述数据格式系统
IPLD 是一系列用于描述地址-内容链接的工具,比如IPFS 文件, Git commits, or Ethereum blocks.
The Permissive License Stack 是一个为软件开发提供特许策略的工具,这个非常适合开源项目。
Libp2p 简介的更多相关文章
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- Cesium简介以及离线部署运行
Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...
随机推荐
- []Spring创建Bean的过程
1. beans包提供了以编程方式管理和操作bean的基本功能,而context包增加了ApplicationContext,它以一种更加面向框架的方式增强了BeanFactory的功能. 2. co ...
- CSS之calc()
calc() 函数支持任意CSS长度单位的混合计算,遵循标准数学运算优先级规则,可以动态计算长度值.注意,calc()函数内部的运算符两侧各加一个空白符,否则会产生解析错误. calc()使用的难点在 ...
- JS仿贪吃蛇:一串跟着鼠标的Div
贪吃蛇是一款80后.90后比较熟悉的经典游戏,下面通过简单的JS代码来实现低仿版贪吃蛇效果:随着鼠标的移动,在页面中呈现所有Div块跟随鼠标依次移动,效果如下图所示. <!DOCTYPE htm ...
- 模块化-CommonJs、AMD、CMD、ES6
在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理.模块化是一种处理复 ...
- mybatis insert转update,duplicate关键字的使用示例,及返回情况说明
主键存在时又insert转为update某个关键字段,示例如下,注意,如果这条数据曾经不存在,此时执行insert返回条目是1,如果已存在,执行update返回条目是2!!!<insert id ...
- Linux_CentOS 7下Nginx服务器的安装配置
1.安装 1.1 配置epel yum 源 wget http://dl.Fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm ...
- mybatis-plus使用p6spy 插件进行sql性能分析
1.依赖 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId& ...
- Springboot 框架整理,建议做开发的都看看,整理的比较详细!
什么是 Spring Boot? SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品,是用来简化 spring 初始搭建和开 ...
- 如何用ABBYY FineReader提取图片中的文字
作为OCR文字识别软件中的佼佼者,可能大家对于ABBYY FineReader的使用还不熟练,没关系,今天小编就为大家演示,如何用ABBYY FineReader这款文字识别软件,将一张截图中的文字识 ...
- Java(8)I/O
目录 一.File类 1.File类概述 2.File类实例化 3.File类常用方法 二.IO流的原理 1.IO流的原理 2.input和output的理解 三.IO流的分类 1.分类 2.图示 3 ...