libp2p

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2025 License: MIT Imports: 44 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultConnectionManager = func(cfg *Config) error {

	mgr, err := connmgr.NewConnManager(160, 192)
	if err != nil {
		return err
	}

	return cfg.Apply(ConnectionManager(mgr))
}

DefaultConnectionManager 创建默认的连接管理器 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息
View Source
var DefaultEnableRelay = func(cfg *Config) error {
	return cfg.Apply(EnableRelay())
}

DefaultEnableRelay 默认启用中继拨号和监听 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息
View Source
var DefaultListenAddrs = func(cfg *Config) error {

	addrs := []string{
		"/ip4/0.0.0.0/tcp/0",
		"/ip4/0.0.0.0/udp/0/quic-v1",
		"/ip4/0.0.0.0/udp/0/quic-v1/webtransport",
		"/ip4/0.0.0.0/udp/0/webrtc-direct",
		"/ip6/::/tcp/0",
		"/ip6/::/udp/0/quic-v1",
		"/ip6/::/udp/0/quic-v1/webtransport",
		"/ip6/::/udp/0/webrtc-direct",
	}

	listenAddrs := make([]multiaddr.Multiaddr, 0, len(addrs))

	for _, s := range addrs {
		addr, err := multiaddr.NewMultiaddr(s)
		if err != nil {
			return err
		}
		listenAddrs = append(listenAddrs, addr)
	}
	return cfg.Apply(ListenAddrs(listenAddrs...))
}

DefaultListenAddrs 配置 libp2p 使用默认的监听地址 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息

DefaultMuxers 配置 libp2p 使用流连接多路复用器 当需要扩展而不是替换 libp2p 使用的多路复用器时使用此选项

View Source
var DefaultPrivateTransports = ChainOptions(

	Transport(tcp.NewTCPTransport),

	Transport(ws.New),
)

DefaultPrivateTransports 是提供 PSK 时默认的 libp2p 传输配置 当需要扩展而不是替换 libp2p 使用的传输时使用此选项

View Source
var DefaultPrometheusRegisterer = func(cfg *Config) error {

	return cfg.Apply(PrometheusRegisterer(prometheus.DefaultRegisterer))
}

DefaultPrometheusRegisterer 配置libp2p使用默认的Prometheus注册器 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息
View Source
var DefaultResourceManager = func(cfg *Config) error {

	limits := rcmgr.DefaultLimits
	SetDefaultServiceLimits(&limits)

	mgr, err := rcmgr.NewResourceManager(rcmgr.NewFixedLimiter(limits.AutoScale()))
	if err != nil {
		return err
	}

	return cfg.Apply(ResourceManager(mgr))
}

DefaultResourceManager 配置默认的资源管理器 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息
View Source
var DefaultSecurity = ChainOptions(

	Security(tls.ID, tls.New),

	Security(noise.ID, noise.New),
)

DefaultSecurity 是默认的安全选项配置 当需要扩展而不是替换支持的传输安全协议时很有用

DefaultTransports 是默认的 libp2p 传输配置 当需要扩展而不是替换 libp2p 使用的传输时使用此选项

View Source
var NoListenAddrs = func(cfg *Config) error {
	cfg.ListenAddrs = []ma.Multiaddr{}
	if !cfg.RelayCustom {
		cfg.RelayCustom = true
		cfg.Relay = false
	}
	return nil
}

NoListenAddrs 配置libp2p默认不监听

这将清除任何已配置的监听地址并防止libp2p应用默认监听地址选项 它还禁用中继,除非用户通过选项显式指定,因为传输会创建一个隐式监听地址,使节点可以通过它连接的任何中继进行拨号

View Source
var NoTransports = func(cfg *Config) error {
	cfg.Transports = []fx.Option{}
	return nil
}

NoTransports 配置libp2p不启用任何传输

这将清除任何已配置的传输(在先前的libp2p选项中指定)并防止libp2p应用默认传输

View Source
var RandomIdentity = func(cfg *Config) error {

	priv, _, err := crypto.GenerateEd25519Key(rand.Reader)
	if err != nil {
		return err
	}
	return cfg.Apply(Identity(priv))
}

RandomIdentity 生成随机身份(默认行为) 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息

Functions

func New

func New(opts ...Option) (host.Host, error)

New 使用给定选项构造一个新的 libp2p 节点,如果没有提供某些选项则使用合理的默认值 默认值包括: - 如果未提供传输和监听地址,节点将监听 "/ip4/0.0.0.0/tcp/0" 和 "/ip6/::/tcp/0" - 如果未提供传输选项,节点使用 TCP、websocket 和 QUIC 传输协议 - 如果未提供多路复用器配置,节点默认使用 yamux - 如果未提供安全传输,主机使用 go-libp2p 的 noise 和/或 tls 加密传输来加密所有流量 - 如果未提供对等身份,它会生成一个随机的 Ed25519 密钥对并从中派生新身份 - 如果未提供对等存储,主机将使用空的对等存储进行初始化

参数:

  • opts: ...Option 配置选项列表

返回:

  • host.Host: 新创建的 libp2p 主机
  • error: 如果发生错误则返回错误信息

func NewWithoutDefaults

func NewWithoutDefaults(opts ...Option) (host.Host, error)

NewWithoutDefaults 使用给定选项构造新的 libp2p 节点,但不使用默认值 警告: 此函数不应被视为稳定接口 我们可能随时选择添加必需的服务,使用此函数即表示您选择不使用我们可能提供的任何默认值

参数:

  • opts: ...Option 配置选项列表

返回:

  • host.Host: 新创建的 libp2p 主机
  • error: 如果发生错误则返回错误信息

func SetDefaultServiceLimits

func SetDefaultServiceLimits(config *rcmgr.ScalingLimitConfig)

SetDefaultServiceLimits 为内置的 libp2p 服务设置默认限制 参数:

  • config: *rcmgr.ScalingLimitConfig 资源限制配置对象

Types

type Config

type Config = config.Config

Config 描述了 libp2p 节点的一组设置

type Option

type Option = config.Option

Option 是一个 libp2p 配置选项,可以传递给 libp2p 构造函数 (`libp2p.New`)

var DefaultPeerstore Option = func(cfg *Config) error {

	ps, err := pstoremem.NewPeerstore()
	if err != nil {
		log.Errorf("创建内存对等点存储失败: %s", err)
		return err
	}
	return cfg.Apply(Peerstore(ps))
}

DefaultPeerstore 配置 libp2p 使用默认的对等点存储 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息
var Defaults Option = func(cfg *Config) error {

	for _, def := range defaults {
		if err := cfg.Apply(def.opt); err != nil {
			return err
		}
	}
	return nil
}

Defaults 配置libp2p使用默认选项 可以与其他选项组合以扩展默认选项 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息
var FallbackDefaults Option = func(cfg *Config) error {

	for _, def := range defaults {

		if !def.fallback(cfg) {
			continue
		}

		if err := cfg.Apply(def.opt); err != nil {
			return err
		}
	}
	return nil
}

FallbackDefaults 仅在未应用其他相关选项时才应用默认选项 将被附加到传递给New的选项中 参数:

  • cfg: *Config 配置对象

返回:

  • error: 如果发生错误则返回错误信息
var NoSecurity Option = func(cfg *Config) error {
	if len(cfg.SecurityTransports) > 0 {
		log.Errorf("不能在不安全的libp2p配置中使用安全传输")
		return fmt.Errorf("不能在不安全的libp2p配置中使用安全传输")
	}
	cfg.Insecure = true
	return nil
}

NoSecurity 是一个完全禁用所有传输安全的选项 它与所有其他传输安全协议不兼容

func AddrsFactory

func AddrsFactory(factory config.AddrsFactory) Option

AddrsFactory 配置libp2p使用给定的地址工厂 参数:

  • factory: 地址工厂实现

返回:

  • Option: 配置函数

func AutoNATServiceRateLimit

func AutoNATServiceRateLimit(global, perPeer int, interval time.Duration) Option

AutoNATServiceRateLimit 更改帮助其他对等点确定其可达性状态的默认速率限制 设置后,主机将限制在每60秒期间响应的请求数量为设定的数字 值为'0'禁用限制 参数:

  • global: 全局限制
  • perPeer: 每个对等点限制
  • interval: 限制间隔

返回:

  • Option: 配置函数

func BandwidthReporter

func BandwidthReporter(rep metrics.Reporter) Option

BandwidthReporter 配置libp2p使用给定的带宽报告器 参数:

  • rep: 带宽报告器实现

返回:

  • Option: 配置函数

func ChainOptions

func ChainOptions(opts ...Option) Option

ChainOptions 将多个选项链接成单个选项 参数:

  • opts: ...Option 要链接的选项列表

返回:

  • Option: 链接后的单个选项函数

func ConnectionGater

func ConnectionGater(cg connmgr.ConnectionGater) Option

ConnectionGater 配置libp2p使用给定的ConnectionGater根据连接的生命周期阶段主动拒绝入站/出站连接 参数:

  • cg: 连接门控器实现

返回:

  • Option: 配置函数

func ConnectionManager

func ConnectionManager(connman connmgr.ConnManager) Option

ConnectionManager 配置libp2p使用给定的连接管理器 当前"标准"连接管理器位于github.com/libp2p/go-libp2p-connmgr 参数:

  • connman: 连接管理器实现

返回:

  • Option: 配置函数

func DialRanker

func DialRanker(d network.DialRanker) Option

DialRanker 配置libp2p使用d作为拨号排序器。要启用智能拨号,使用`swarm.DefaultDialRanker`。使用`swarm.NoDelayDialRanker`禁用智能拨号

已弃用:使用SwarmOpts(swarm.WithDialRanker(d))代替 参数:

  • d: 拨号排序器实现

返回:

  • Option: 配置函数

func DisableIdentifyAddressDiscovery

func DisableIdentifyAddressDiscovery() Option

DisableIdentifyAddressDiscovery 禁用使用对等点在identify中提供的观察地址进行地址发现 如果你预先知道你的公共地址,建议使用AddressFactory为主机提供外部地址,并使用此选项禁用从identify进行的地址发现 参数:

返回:

  • Option: 配置函数

func DisableMetrics

func DisableMetrics() Option

DisableMetrics 配置libp2p禁用prometheus指标 返回:

  • Option: 配置函数

func DisableRelay

func DisableRelay() Option

DisableRelay 配置libp2p禁用中继传输 返回:

  • Option: 配置函数

func EnableAutoNATv2

func EnableAutoNATv2() Option

EnableAutoNATv2 启用AutoNAT v2功能 参数:

返回:

  • Option: 配置函数

func EnableAutoRelay

func EnableAutoRelay(opts ...autorelay.Option) Option

EnableAutoRelay 配置libp2p启用AutoRelay子系统 依赖:

  • 中继(默认启用)
  • 以下之一: 1. 静态中继列表 2. 提供中继chan的PeerSource函数。参见`autorelay.WithPeerSource`

当检测到节点公开不可访问时(例如在NAT后面),此子系统执行自动地址重写以通告中继地址

已弃用:使用EnableAutoRelayWithStaticRelays或EnableAutoRelayWithPeerSource 参数:

  • opts: AutoRelay选项

返回:

  • Option: 配置函数

func EnableAutoRelayWithPeerSource

func EnableAutoRelayWithPeerSource(peerSource autorelay.PeerSource, opts ...autorelay.Option) Option

EnableAutoRelayWithPeerSource 使用提供的PeerSource回调获取更多中继候选者来配置libp2p启用AutoRelay子系统 当检测到节点公开不可访问时(例如在NAT后面),此子系统执行自动地址重写以通告中继地址 参数:

  • peerSource: 对等点源回调函数
  • opts: AutoRelay选项

返回:

  • Option: 配置函数

func EnableAutoRelayWithStaticRelays

func EnableAutoRelayWithStaticRelays(static []peer.AddrInfo, opts ...autorelay.Option) Option

EnableAutoRelayWithStaticRelays 使用提供的中继作为中继候选者配置libp2p启用AutoRelay子系统 当检测到节点公开不可访问时(例如在NAT后面),此子系统执行自动地址重写以通告中继地址 参数:

  • static: 静态中继地址信息列表
  • opts: AutoRelay选项

返回:

  • Option: 配置函数

func EnableHolePunching

func EnableHolePunching(opts ...holepunch.Option) Option

Experimental EnableHolePunching 通过使NAT后的对等点能够发起和响应打洞尝试来启用NAT穿透,以创建与其他对等点的直接/NAT穿透连接(默认:禁用)

依赖:

  • 中继(默认启用)

此子系统执行两个功能:

  1. 在接收入站中继连接时,它通过在中继连接上发起和协调打洞来尝试与远程对等点创建直接连接
  2. 如果对等点在出站中继连接上看到协调打洞的请求,它将参与打洞以创建与远程对等点的直接连接

如果打洞成功,所有新流都将在打洞连接上创建 中继连接最终将在宽限期后关闭

用户必须重新打开中继连接上所有现有的无限期长期流在打洞连接上 用户可以使用Network发出的"Connected"/"Disconnected"通知来实现此目的

启用"AutoRelay"选项(参见"EnableAutoRelay")不是强制性的,但很好,这样如果对等点通过AutoNAT发现它是NAT后的并且通过私有可达性,它就可以发现并连接到中继服务器 这将使其能够通告中继地址,这些地址可用于接受入站中继连接以协调打洞

如果配置了"EnableAutoRelay"并且用户确信对等点具有私有可达性/在NAT后,可以配置"ForceReachabilityPrivate"选项以短路通过AutoNAT的可达性发现,以便对等点可以立即开始连接到中继服务器

如果配置了"EnableAutoRelay",可以使用"StaticRelays"选项配置一组静态中继服务器供"AutoRelay"连接,这样它就不需要通过路由发现中继服务器 参数:

  • opts: 打洞选项

返回:

  • Option: 配置函数

func EnableNATService

func EnableNATService() Option

EnableNATService 配置libp2p为对等点提供确定其可达性状态的服务 启用后,主机将尝试回拨对等点,然后告诉它们是否成功建立此类连接 返回:

  • Option: 配置函数

func EnableRelay

func EnableRelay() Option

EnableRelay 配置libp2p启用中继传输 此选项仅配置libp2p接受来自中继的入站连接,并在远程对等方请求时通过中继进行出站连接 此选项支持circuit v1和v2连接 (默认:启用) 返回:

  • Option: 配置函数

func EnableRelayService

func EnableRelayService(opts ...relayv2.Option) Option

EnableRelayService 配置libp2p运行circuit v2中继,如果我们检测到我们是公开可访问的 参数:

  • opts: 中继选项

返回:

  • Option: 配置函数

func ForceReachabilityPrivate

func ForceReachabilityPrivate() Option

ForceReachabilityPrivate 覆盖AutoNAT子系统中的自动可达性检测,强制本地节点相信它在NAT后面且外部不可达 返回:

  • Option: 配置函数

func ForceReachabilityPublic

func ForceReachabilityPublic() Option

ForceReachabilityPublic 覆盖AutoNAT子系统中的自动可达性检测,强制本地节点相信它是外部可达的 返回:

  • Option: 配置函数

func IPv6BlackHoleSuccessCounter

func IPv6BlackHoleSuccessCounter(f *swarm.BlackHoleSuccessCounter) Option

IPv6BlackHoleSuccessCounter 配置libp2p使用f作为IPv6地址的黑洞过滤器 参数:

  • f: *swarm.BlackHoleSuccessCounter 黑洞成功计数器

返回:

  • Option: 配置函数

func Identity

func Identity(sk crypto.PrivKey) Option

Identity 配置libp2p使用给定的私钥来标识自己 参数:

  • sk: 私钥

返回:

  • Option: 配置函数

func ListenAddrStrings

func ListenAddrStrings(s ...string) Option

ListenAddrStrings 配置libp2p监听给定的(未解析的)地址 参数:

  • s: 要监听的地址字符串切片

返回:

  • Option: 配置函数

func ListenAddrs

func ListenAddrs(addrs ...ma.Multiaddr) Option

ListenAddrs 配置libp2p监听给定的地址 参数:

  • addrs: 要监听的multiaddr地址切片

返回:

  • Option: 配置函数

func MultiaddrResolver

func MultiaddrResolver(rslv network.MultiaddrDNSResolver) Option

MultiaddrResolver 设置libp2p dns解析器 参数:

  • rslv: multiaddr DNS解析器实现

返回:

  • Option: 配置函数

func Muxer

func Muxer(name string, muxer network.Multiplexer) Option

Muxer 配置libp2p使用给定的流多路复用器 参数:

  • name: 协议名称
  • muxer: 多路复用器实现

返回:

  • Option: 配置函数

func NATManager

func NATManager(nm config.NATManagerC) Option

NATManager 配置libp2p使用请求的NATManager 此函数应传入一个接受libp2p Network的NATManager构造函数 参数:

  • nm: NAT管理器构造函数

返回:

  • Option: 配置函数

func NATPortMap

func NATPortMap() Option

NATPortMap 配置libp2p使用默认的NATManager 默认NATManager将尝试使用UPnP在网络防火墙中打开端口 返回:

  • Option: 配置函数

func Peerstore

func Peerstore(ps peerstore.Peerstore) Option

Peerstore 配置libp2p使用给定的peerstore 参数:

  • ps: peerstore实现

返回:

  • Option: 配置函数

func Ping

func Ping(enable bool) Option

Ping 配置libp2p支持ping服务;默认启用 参数:

  • enable: 是否启用ping

返回:

  • Option: 配置函数

func PrivateNetwork

func PrivateNetwork(psk pnet.PSK) Option

PrivateNetwork 配置libp2p使用给定的私有网络保护器 参数:

  • psk: 预共享密钥

返回:

  • Option: 配置函数

func PrometheusRegisterer

func PrometheusRegisterer(reg prometheus.Registerer) Option

PrometheusRegisterer 配置libp2p使用reg作为所有指标子系统的注册器 参数:

  • reg: prometheus注册器

返回:

  • Option: 配置函数

func ProtocolVersion

func ProtocolVersion(s string) Option

ProtocolVersion 设置libp2p Identify协议所需的协议版本字符串 参数:

  • s: 协议版本字符串

返回:

  • Option: 配置函数

func QUICReuse

func QUICReuse(constructor interface{}, opts ...quicreuse.Option) Option

QUICReuse 配置QUIC传输的地址重用 参数:

  • constructor: QUIC构造函数
  • opts: QUIC选项

返回:

  • Option: 配置函数

func ResourceManager

func ResourceManager(rcmgr network.ResourceManager) Option

ResourceManager 配置libp2p使用给定的ResourceManager 当使用p2p/host/resource-manager实现ResourceManager接口时,建议通过调用SetDefaultServiceLimits为libp2p协议设置限制 参数:

  • rcmgr: 资源管理器实现

返回:

  • Option: 配置函数

func Routing

func Routing(rt config.RoutingC) Option

Routing 配置libp2p使用路由 参数:

  • rt: 路由构造函数

返回:

  • Option: 配置函数

func Security

func Security(name string, constructor interface{}) Option

Security 配置libp2p使用给定的安全传输(或传输构造函数) 参数:

  • name: 协议名称
  • constructor: 传输构造函数,可以是已构造的security.Transport或一个函数,该函数可以接受以下任意参数:
  • 公钥
  • 私钥
  • Peer ID
  • Host
  • Network
  • Peerstore

返回:

  • Option: 配置函数

func ShareTCPListener

func ShareTCPListener() Option

ShareTCPListener 在TCP和Websocket传输之间共享相同的监听地址,这允许两种传输使用相同的TCP端口 目前此行为是可选的。在未来的版本中,这将成为默认行为,此选项将被移除 参数:

返回:

  • Option: 配置函数

func SwarmOpts

func SwarmOpts(opts ...swarm.Option) Option

SwarmOpts 配置libp2p使用带选项的swarm 参数:

  • opts: swarm选项

返回:

  • Option: 配置函数

func Transport

func Transport(constructor interface{}, opts ...interface{}) Option

Transport 配置libp2p使用给定的传输(或传输构造函数) 参数:

  • constructor: 传输构造函数,可以是已构造的transport.Transport或一个函数,该函数可以接受以下任意参数:
  • Transport Upgrader (*tptu.Upgrader)
  • Host
  • Stream muxer (muxer.Transport)
  • Security transport (security.Transport)
  • Private network protector (pnet.Protector)
  • Peer ID
  • Private Key
  • Public Key
  • Address filter (filter.Filter)
  • Peerstore
  • opts: 传输选项

返回:

  • Option: 配置函数

func UDPBlackHoleSuccessCounter

func UDPBlackHoleSuccessCounter(f *swarm.BlackHoleSuccessCounter) Option

UDPBlackHoleSuccessCounter 配置libp2p使用f作为UDP地址的黑洞过滤器 参数:

  • f: *swarm.BlackHoleSuccessCounter 黑洞成功计数器

返回:

  • Option: 配置函数

func UserAgent

func UserAgent(userAgent string) Option

UserAgent 设置与identify协议一起发送的libp2p用户代理 参数:

  • userAgent: 用户代理字符串

返回:

  • Option: 配置函数

func WithDialTimeout

func WithDialTimeout(t time.Duration) Option

WithDialTimeout 设置拨号超时时间 参数:

  • t: 超时时间

返回:

  • Option: 配置函数

func WithFxOption

func WithFxOption(opts ...fx.Option) Option

WithFxOption 添加用户提供的fx.Option到libp2p构造函数中 实验性功能:此选项可能会更改或删除 参数:

  • opts: ...fx.Option fx选项列表

返回:

  • Option: 配置函数

Directories

Path Synopsis
Package core 通过类型别名提供对基础的、核心的 go-libp2p 原语的便捷访问。
Package core 通过类型别名提供对基础的、核心的 go-libp2p 原语的便捷访问。
connmgr
connmgr 包为 libp2p 提供连接跟踪和管理接口。
connmgr 包为 libp2p 提供连接跟踪和管理接口。
crypto
Package crypto 实现了libp2p使用的各种加密工具。
Package crypto 实现了libp2p使用的各种加密工具。
discovery
Package discovery 提供了libp2p的服务广告和节点发现接口
Package discovery 提供了libp2p的服务广告和节点发现接口
event
Package event 包含本地事件总线的抽象,以及 libp2p 子系统可能发出的标准事件。
Package event 包含本地事件总线的抽象,以及 libp2p 子系统可能发出的标准事件。
host
Package host 提供了 libp2p 的核心 Host 接口。
Package host 提供了 libp2p 的核心 Host 接口。
metrics
Package metrics 提供了 libp2p 的指标收集和报告接口。
Package metrics 提供了 libp2p 的指标收集和报告接口。
network
Package network 提供了libp2p的核心网络抽象层。
Package network 提供了libp2p的核心网络抽象层。
network/mocks
Package mocknetwork 是一个由 GoMock 生成的包
Package mocknetwork 是一个由 GoMock 生成的包
peer
Package peer 实现了用于表示 libp2p 网络中对等节点的对象
Package peer 实现了用于表示 libp2p 网络中对等节点的对象
peerstore
Package peerstore provides types and interfaces for local storage of address information, metadata, and public key material about libp2p peers.
Package peerstore provides types and interfaces for local storage of address information, metadata, and public key material about libp2p peers.
pnet
Package pnet 提供 libp2p 中私有网络的接口。
Package pnet 提供 libp2p 中私有网络的接口。
protocol
Package protocol 提供了 libp2p 中用于协议路由和协商的核心接口。
Package protocol 提供了 libp2p 中用于协议路由和协商的核心接口。
sec
Package sec 提供了 libp2p 的安全连接和传输接口
Package sec 提供了 libp2p 的安全连接和传输接口
sec/insecure
Package insecure 提供了一个不安全的、未加密的 SecureConn 和 SecureTransport 接口实现。
Package insecure 提供了一个不安全的、未加密的 SecureConn 和 SecureTransport 接口实现。
transport
Package transport 提供了 Transport 接口,它代表用于发送和接收数据的设备和网络协议。
Package transport 提供了 Transport 接口,它代表用于发送和接收数据的设备和网络协议。
p2p
host/peerstore/pstoreds
已弃用: 基于数据库的 peerstore 将在未来从 go-libp2p 中移除。
已弃用: 基于数据库的 peerstore 将在未来从 go-libp2p 中移除。
host/resource-manager
rcmgr 包是 go-libp2p 的资源管理器。
rcmgr 包是 go-libp2p 的资源管理器。
host/resource-manager/obs
Package obs 实现资源管理器的指标跟踪
Package obs 实现资源管理器的指标跟踪
http
HTTP semantics with libp2p.
HTTP semantics with libp2p.
net/gostream
Package gostream 允许使用 [LibP2P](https://github.com/libp2p/libp2p) 流替换 Go 中的标准网络栈。
Package gostream 允许使用 [LibP2P](https://github.com/libp2p/libp2p) 流替换 Go 中的标准网络栈。
net/mock
Package mocknet 提供了一个用于测试的模拟网络 net.Network。
Package mocknet 提供了一个用于测试的模拟网络 net.Network。
net/reuseport
Package reuseport 提供了一个基础传输层,用于自动(且智能地)复用TCP端口
Package reuseport 提供了一个基础传输层,用于自动(且智能地)复用TCP端口
transport/webrtc
Package libp2pwebrtc implements the WebRTC transport for go-libp2p, as described in https://github.com/libp2p/specs/tree/master/webrtc.
Package libp2pwebrtc implements the WebRTC transport for go-libp2p, as described in https://github.com/libp2p/specs/tree/master/webrtc.
transport/webrtc/udpmux
The udpmux package contains the logic for multiplexing multiple WebRTC (ICE) connections over a single UDP socket.
The udpmux package contains the logic for multiplexing multiple WebRTC (ICE) connections over a single UDP socket.
transport/websocket
websocket 包实现了基于 websocket 的 go-libp2p 传输层
websocket 包实现了基于 websocket 的 go-libp2p 传输层

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL