libp2p-mk

1.4.1 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i libp2p-mk

Weekly Downloads

2,481

Version

1.4.1

License

ISC

Unpacked Size

14.1 kB

Total Files

5

Last publish

Collaborators

  • mustafa004