Piszę zdecentralizowanego stosowania czat korzystając nodejs
, expressjs
, angularjs
, socket.io
i ipfs
.I używam libp2p tworząc węzły, które komunikują się ze sobą na otwartym związku. Libp2p to moduł sieciowy podzielony na moduły z projektu IPFS.zdecentralizowana czatu aplikacji przy użyciu błędów IPF
Libp2p pozwala mi budować nodes
, które są w stanie obsłużyć do jednego swarm
lub listening/ dialing
. Rozwinąłem do punktu, w którym kilka węzłów może komunikować się ze sobą za pomocą wejść na stronie angularjs (uzupełnionej przez socket.io), ale ich adresy IP i porty tcp
muszą być mocno zakodowane.
Problem, który napotykam, polega na tym, że jeśli nieznana liczba użytkowników dołącza do tego systemu i konfiguruje węzły, jak sobie z tym poradzić. Zrobiłem dużo badań w DHT
specjalnie do jego aplikacji z torrentami, ale nie jestem tak blisko, aby faktycznie zastosować to.
Nie chcę uruchomić centralny system, który śledzi użytkowników jako tracker śledzi siania i leachers w potokach (obecnie nieco zbędny ze względu na DHT)
W scentralizowanej aplikacji czatu, za każdym razem użytkownik wchodzi lub wychodzi, mogę wysłać zdarzenie emitujące z serwera do wszystkich równorzędnych za pomocą socket.io sygnalizując to samo. Ale odpowiednik zdecentralizowanej aplikacji czatu jest czymś, z czym bardzo się borykam.
Potrzebuję wskazówek.
Witaj David. Dziękuję bardzo za odpowiedź. Na pewno będzie szukał przykładu. Btw mamy czat na webnode, kilka miesięcy temu i ja przedłożyłem ten PR https://github.com/ipfs/js-libp2p-ipfs-nodejs/pull/39. Chciałbym wiedzieć, czy mogę pomóc/przyczynić się do tego nowego repozytorium. Daj mi znać. –
To świetnie! Cześć znowu Varun! Zobacz najnowsze aktualizacje na https://github.com/libp2p/js-libp2p/issues/6#issuecomment-313970615, istnieje wiele rzeczy, w których możesz pomóc, czy sprawdziłeś gofry na https://waffle.io/libp2p/libp2p? Zawiera wszystkie problemy ze wszystkich repozytoriów libp2p, dzięki czemu łatwo jest zrozumieć, co jest gotowe do pracy i co jest ważne. –