npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

libp2p-mk

v1.4.1

Published

Libp2p tabanlı bir P2P ağ çözümü! Bu proje, **Libp2p** kullanarak ağ bağlantıları oluşturmak, PubSub sistemiyle mesajlaşmak ve düğümler arası iletişimi kolaylaştırmak için tasarlanmıştır.

Downloads

2,481

Readme

libp2p-mk

Libp2p tabanlı bir P2P ağ çözümü! Bu proje, Libp2p kullanarak ağ bağlantıları oluşturmak, PubSub sistemiyle mesajlaşmak ve düğümler arası iletişimi kolaylaştırmak için tasarlanmıştır.


🚀 Başlangıç (Starting)

1. Start Dosyasını Çalıştırma

import { StartAddrss, stratTopic } from "libp2p-mk/start";

StartAddrss();
stratTopic();

2. Proje Dosyası

import { Server, libp2pFun } from "libp2p-mk";

const server = new Server();
server.server = await libp2pFun();

📚 Metotlar ve Açıklamaları

Düğüm Yönetimi

| Metot | Açıklama | |--------------------------------|--------------------------------------------------------| | getPeerId() | Libp2p düğümünün Peer ID'sini döner. | | writePeerIdOn(el) | Peer ID'yi belirtilen bir HTML elementine yazar. | | Dialer(address) | Belirtilen bir multiaddr adresine bağlanır. | | dialerWith(btn, input) | Butona tıklandığında input'taki adrese bağlanır. | | getMultiaddrs() | Düğümün dinlediği multiaddr'leri bir dizi olarak döner.| | writeMultiaddrs(el) | Multiaddr'leri belirtilen HTML elementine yazar. | | getConnectionAddress() | İlk multiaddr adresini döner. | | getConnectionPeers() | Bağlantıdaki tüm peer'lerin adreslerini döner. | | onConected(func) | Bağlantı güncellendiğinde çalışacak bir fonksiyon ekler.|


PubSub Yönetimi

| Metot | Açıklama | |--------------------------------|--------------------------------------------------------| | subscribeTo(topic) | Belirtilen PubSub topic'ine abone olur. | | subscribeWith(btn, input) | Butona tıklandığında input'taki topic'e abone olur. | | getSubscribers(topic) | Belirtilen topic'e abone olanları döner. | | subscribeOnChange(func) | Abone listesi değiştiğinde bir olay tetikler. | | sendMessage(topic, msg) | Belirtilen topic'e mesaj yayınlar. | | sendMessageWith(btn, input, topic) | Butona tıklandığında belirtilen topic'e mesaj gönderir. | | onMessageGet(fun) | PubSub üzerinden mesaj alındığında çalışır. |


Veri Dönüşümü ve HTML Yardımcı Metotlar

| Metot | Açıklama | |--------------------------------|--------------------------------------------------------| | toString(d) | Uint8Array türündeki veriyi string'e çevirir. | | writeOn(el, arr) | Bir dizi içeriğini belirtilen HTML elementine yazar. |


⚙️ Kurulum

Bu projeyi kullanmak için aşağıdaki paketleri yükleyin:

npm install libp2p @chainsafe/libp2p-gossipsub @chainsafe/libp2p-noise @chainsafe/libp2p-yamux @libp2p/circuit-relay-v2 @libp2p/dcutr @libp2p/identify @libp2p/webrtc @libp2p/websockets @multiformats/multiaddr uint8arrays

📜 Örnek Kullanım

HTML Sayfası ile Kullanım

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Libp2p Example</title>
</head>
<body>
  <div>PeerID: <span id="peer-id"></span></div>
  <ul id="multiaddrs"></ul>

  <input type="text" id="multiaddr-input" placeholder="Multiaddr girin">
  <button id="dial-btn">Bağlan</button>

  <script type="module">
    import { Server, libp2pFun } from "libp2p-mk";

    (async () => {
      const libp2pNode = await libp2pFun();
      const server = new Server();
      server.server = libp2pNode;

      server.writePeerIdOn("#peer-id");
      server.writeMultiaddrs("#multiaddrs");
      server.dialerWith("#dial-btn", "#multiaddr-input");
    })();
  </script>
</body>
</html>

🛠️ Proje Durumu

Bu proje aktif geliştirme aşamasındadır. Yeni özellikler ve iyileştirmeler için güncellemeleri takip edin.


🤝 Katkıda Bulunma

Pull request'ler memnuniyetle karşılanır. Öneri veya hata bildirimi için bir issue oluşturabilirsiniz.


📄 Lisans

Bu proje MIT lisansı altında yayınlanmıştır.