这是一个翻译的系列文章,原文参考: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 简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

随机推荐

  1. 线程安全的SimpleDateFormat

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

  2. 2012年游戏软件开发独立本科段01B0815自考科目

    01B0815自考科目 课程代码[学分] 课程名称 03708[02] 中国近现代史纲要 03709[04] 马克主义基本原理概论 03684[10] 综合英语(四) 01042[05] 应用数学 0 ...

  3. 【JVM第五篇--运行时数据区】方法区

    写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.栈.堆.方法区的关系 虚拟机运行时的数据区如下所示: 即方法区是属于线程共享的内 ...

  4. UNIX系统编程:文件IO(I)

    1.标准C库中访问文件用的是文件指针FILE *(stdin,stdout,stderr):对于linux系统编程而言,所有对设备或文件的操作都是通过文件描述符进行的 2.当打开或者创建一个文件的时候 ...

  5. 认识socketserver

    1.服务端 # 如果socket起一个tcp服务,在同一个时间只能和一个客户端通信 # 如果socketserver起一个服务,在同一个时间就可以和多个客户端通信了 # socketserver # ...

  6. a标签禁用

    a标签禁用可以使用CSS3的特性来控制 <a class="disabled">我是a标签</a> a.disabled { pointer-events: ...

  7. webpack 无法打包:No configuration file found and no output filename configured via CLI option

    报错内容 No configuration file found and no output filename configured via CLI option.A configuration fi ...

  8. 阿里技术专家深入讲解,SpringMVC入门到进阶,看这一篇就够了

    前言 SpringMVC是一个实现了Web MVC设计模式的轻量级Web框架.它与前辈Struts 2框架一样,都属于MVC框架,因为其使用和性能等方面比Struts 2更加优异,所以Spring M ...

  9. 【建议收藏】阿里P7总结的Spring注解笔记,把组件注册讲的明明白白

    环境搭建 注解的方式是通过配置类的方式来注入组件,注解注入要比XML注入的方式简单,注解注入也需要在前者的基础上,添加一个spring-context的包,也是实际开发中常用的方式. 准备所需Jar包 ...

  10. 深度分析:Java 静态方法/变量,非静态方法/变量的区别,今天一并帮你解决!

    静态/非静态 方法/变量的写法 大家应该都明白静态方法/字段比普通方法/字段的写法要多一个static关键字,简单写下他们的写法吧,了解的可以直接略过 class Test{ // 静态变量 publ ...