Libp2p chat with discovery and pubsub

Dicovery - pubsub chat with libp2p

How to test

Run boostrap node

$ go run main/main.go --port 35005 --nick boot --pk XDLjuaVJ2yKQ2zHMmsee5PGHtDHmkkvFAZLvdK3RVLcGcjASwNKpF4UnU6Xi3i6zBY9duGoMdd2mX332NqXxA3Ju3L4QqfL1zaAAf9A3KhoMrqX9j1SeC8GYxZbdHTU1WzBF48VPKCvgNhghko8LwvQ9J2TFQi19ekKfbYB893TgDXnmvN9AiNwuadCHzUmkBz5FWRQdCf4RZnxD5LHorwPoGeofnYNcAneWWpyoCYfasR4oSR38J7nEymbzzF4Ereh4tKvLaU78Ej34cW3oqMgVTsgEESUTwQR2R6VQMi72GJxrSYMpCfu2CG6BsPnULe2Z35NMRhy2PGk1kLJujHcNwoQHo1zaREGgHsKNfjWcizWFm72k3YEGHpi3MBf4esYrLbisyft2RMyYfoYQNk4GwDYvtQaoJe8bvX1C39mZrLZ4z2hYLEzPzfSh7jsmQTupLAMkrqFH4BKm3bYcpd7JrXhgyvDNrTdnw4gHcQJzYGQofSVbMqDyWksvxgontohQLWs4bb1DzQG7MZNBcwv8SUzsA5HgN52qEu8aQxaaYz6vHLL6vg7xNkiwxm4r445JMNUwj4zHGyNjCZHejkYgDyd8tvRseQZvfJRmwNKGFx7J1NqwsXJsezYtUL2icYXWZXoEYf8EE4gWzcYTUeVLwjZJPKbthpR2CcpSSCofxpMke38LBsQ9DMfHS1JKpdZkdqybkvAT2xwvbRKkpEmM19DTUaN9myTPv6KCEGmDnzVMLg8HZ2oWfbT3WxPRh8kCBeRCefoH6EqucaRdHLTwGM36JSrWoyYBKi1ggomVNstkYP91phUfdrC7YXSBzJLAvH2ancqw66sBH4fvZQGfmQUNJy2Kb5pKmyeMLrZGMmYbZZG46e4fSVreCmV7XbXDU5YZNSD4rkBQh2ZmhX9SExhc3Q5wpS66mRABFXPXBnkkgkExznLdWXxa5nkizGb6fhcoGmVJqY3Cygq7B1QtFB4mY83Y85QXGWmM6Ucz89jXHdcwoCNRr7ZHi3WaNXuDEAgd5KQ3x4BgsGs3SQYt5Vkqbn29bEnFDyyrm3A4CMJhh8aiK1MrfpkfXkWVCaXCzR5q2nb6JHDCe4zVZJtK6YUMi67h4E8BXNDpL2JWzSG1o3LDg5EnpPUvPPLJ6bh9oGG1JGfCpDRcSfHb3r4Fdmk7eT16HRbc2qf8FvS5WyKohrioQySDVrwVVJVgyapdU7YJiWYoUJmmnrZewhNPJVoNsbnwDJZRBrFeNDciqmFoQhDTfhMUBoBaxRaxdaPrQgMeKT7QRW4NyPVYDfLy29Ajx5xsZXSKjvKsSzD1WRS6xhsS1AFDCdtSSCnsA2MMZmpe3SRwmtXx46QnXAYe9RuNctmihorK5nDheiKJK1D9D546bhRp5QbSbpo3WuH3JYnwhK2f8QmUeR8BHapBKbXJ5EvuXpsXBwz9FpUT9zzrkLhDyJ46iZLCZokfVMh3z6ywYBn6V6EZ28i6ifTPrQBk6fWs3qVz97Pm1qLVjhs47sKdCjbHvJ5bSWmrEuQ1fvKWcKuVJhREL4BVMUhtWtZ6cMSmNzUinZdVBxSirjaAfo14P2R75fn9574Rd9KGtVUtsEDqNMtif6eboNNofUdSN8DMv7

Run other nodes

  • $ go run main/main.go --nick io --port 35006 --peer /ip4/127.0.0.1/tcp/35005/p2p/QmbzJUvbqoL9LzbGqtNpTkvT6B4ABU8A784HEZzZ2DN87a
  • $ go run main/main.go --nick zabokrec --peer /ip4/127.0.0.1/tcp/35005/p2p/QmbzJUvbqoL9LzbGqtNpTkvT6B4ABU8A784HEZzZ2DN87a --port 35007
  • $ go run main/main.go --nick jojo --peer /ip4/127.0.0.1/tcp/35005/p2p/QmbzJUvbqoL9LzbGqtNpTkvT6B4ABU8A784HEZzZ2DN87a --port 35008

Type message from any terminal to send to everyone message or type --- zabokrec --- hej to "send message only" to zabokrec

Similar Resources

P2P Forwarder - a tool for farwarding tcp/udp ports. Made using libp2p.

P2P Forwarder - a tool for farwarding tcp/udp ports. Made using libp2p.

P2P Forwarder A tool for farwarding ports. Made using libp2p. How it works A: opens desired ports ports inside P2P Forwarder A: shares it's id from P2

Nov 14, 2022

A simple toy example for running Graphsync + libp2p.

A simple toy example for running Graphsync + libp2p.

graphsync-example Here we outline a simple toy example (main.go) where two local peers transfer Interplanetary Linked Data (IPLD) graphs using Graphsy

Dec 8, 2021

A simple port forward tools build on libp2p with holepunch support.

p2p-tun A simple port forward and tun2socks tools build on libp2p with holepunch support. Usage NAME: p2p-tun - port forward and tun2socks through

Dec 20, 2022

Kiara is a Go equivalent of Phoenix PubSub that makes it easy for Go applications to communicate with each other.

Kiara is a Go equivalent of Phoenix PubSub that makes it easy for Go applications to communicate with each other.

Kiara is a Go equivalent of Phoenix PubSub that makes it easy for Go applications to communicate with each other. Examples Basic Usage Custom Co

Nov 1, 2022

The server-pubsub is the main backend of DATAVOC project that manages all the other web-server modules of the same project such as the processor

server-pubsub The server-pubsub is the main backend of DATAVOC project that manages all the other web-server modules of the same project such as the p

Dec 3, 2021

Use Consul to do service discovery, use gRPC +kafka to do message produce and consume. Use redis to store result.

Use  Consul to do service discovery, use gRPC +kafka to do message produce and consume. Use redis to store result.

目录 gRPC/consul/kafka简介 gRPC+kafka的Demo gRPC+kafka整体示意图 限流器 基于redis计数器生成唯一ID kafka生产消费 kafka生产消费示意图 本文kafka生产消费过程 基于pprof的性能分析Demo 使用pprof统计CPU/HEAP数据的

Jul 9, 2022

Subfinder is a subdomain discovery tool that discovers valid subdomains for websites. Designed as a passive framework to be useful for bug bounties and safe for penetration testing.

Subfinder is a subdomain discovery tool that discovers valid subdomains for websites. Designed as a passive framework to be useful for bug bounties and safe for penetration testing.

Fast passive subdomain enumeration tool. Features • Install • Usage • API Setup • License • Join Discord Subfinder is a subdomain discovery tool that

Jan 4, 2023

Service registration and discovery, support etcd, zookeeper, consul, etc.

discox 支持类型 zookeeper etcd consul 示例 zookeeper server package main import ( "fmt" "github.com/goeasya/discox" "os" ) func main() { cfg := discox

Aug 31, 2022

A service registry and service discovery implemention for kitex based on etcd

kitex etcd Introduction kitexetcd is an implemention of service registry and service discovery for kitex based on etcd. Installation go get -u github.

Feb 18, 2022
RPC over libp2p pubsub with error handling

go-libp2p-pubsub-rpc RPC over libp2p pubsub with error handling Table of Contents Background Install Usage Contributing Changelog License Background g

Dec 14, 2022
Pubsub-go - Go-redis pubsub with websocket

go-redis pubsub with websocket # start a local dev server $ make dev

Jan 28, 2022
Go-random-chat - Fast and scalable real-time random chat written in go
Go-random-chat - Fast and scalable real-time random chat written in go

Go Random Chat Fast and scalable real-time random chat written in go. Features:

Dec 21, 2022
go-chat is a gRPC based chat CLI written in golang for command line lovers
go-chat is a gRPC based chat CLI written in golang for command line lovers

go-chat go-chat is a gRPC based chat CLI written in golang for command line lovers. This CLI allows you to chat with your friends without leaving the

Oct 14, 2022
Tcp chat go - Create tcp chat in golang

TCP chat in GO libs Go net package and goroutines and channels tcp tcp or transm

Feb 5, 2022
📦 Command line peer-to-peer data transfer tool based on libp2p.

pcp - Peer Copy Command line peer-to-peer data transfer tool based on libp2p. Table of Contents Motivation Project Status How does it work? Usage Inst

Jan 5, 2023
A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks.
A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks.

Hyprspace A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks. demo.mp4 Table of Contents A Bit of Backstory Use Cases A Digital N

Dec 29, 2022
🌌 A libp2p DHT crawler that gathers information about running nodes in the network.
🌌 A libp2p DHT crawler that gathers information about running nodes in the network.

A libp2p DHT crawler that gathers information about running nodes in the network. The crawler runs every 30 minutes by connecting to the standard DHT bootstrap nodes and then recursively following all entries in the k-buckets until all peers have been visited.

Dec 27, 2022
libp2p implementation in Go
libp2p implementation in Go

The Go implementation of the libp2p Networking Stack. Table of Contents Background Usage API Examples Development Using the go-libp2p Workspace About

Jan 1, 2023
Transport to allow go-libp2p applications to natively use i2p for communication

I2P Transport for go-libp2p This library can be used to build go-libp2p applications using the i2p network. Look at transport_test.go for example usag

Sep 15, 2022