2016-08-10 30 views
5

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.

Odpowiedz

1

Nie musisz się martwić o ten problem, ponieważ libp2p będzie obsługiwać wykrywanie i łączenie węzłów. Na koniec otrzymujesz prymityw dla adresowania procesów, który zawsze wybierze proces, jeśli jest dostępny w sieci.

Pracuję ostatnio w lepszej dokumentacji i samouczkach dla libp2p, przejdź do https://github.com/libp2p/js-libp2p/tree/master/examples i https://github.com/libp2p/js-libp2p. Więcej przykładów na przyszły tydzień, w tym Routing Peer + Routing Treści (aka DHT).

Pozdrawiam!

+0

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ć. –

+0

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. –

Powiązane problemy