导航栏

Home

  • wss://relay.damus.io
  • wss://nostr-pub.wellorder.net
  • wss://nostr.mom
  • wss://nostr.slothy.win
  • wss://relay.stoner.com
  • wss://nostr.einundzwanzig.space
  • wss://nos.lol
  • wss://relay.nostr.band
  • wss://no.str.cr
  • wss://nostr-relay.schnitzel.world
  • wss://relay.nostr.com.au
  • wss://knostr.neutrine.com
  • wss://nostr.nodeofsven.com
  • wss://nostr.vulpem.com
  • wss://nostr-verif.slothy.win
  • wss://relay.lexingtonbitcoin.org
  • wss://nostr-1.nbo.angani.co
  • wss://relay.wellorder.net
  • wss://nostr.easydns.ca
  • wss://relay.dwadziesciajeden.pl
  • wss://relay.orangepill.dev
  • wss://e.nos.lol
  • wss://ragnar-relay.com
  • wss://nostr.data.haus
  • wss://nostr.wine
  • wss://nostr.koning-degraaf.nl
  • wss://nostr.thank.eu
  • wss://relay.hamnet.io
  • wss://nostr.sidnlabs.nl
  • wss://nostr.inosta.cc
  • wss://nostr21.com
  • wss://nostr.ch3n2k.com
  • wss://relay.nostrview.com
  • wss://relay.nostromo.social
  • wss://offchain.pub
  • wss://relay.nostr.wirednet.jp
  • wss://nostr.l00p.org
  • wss://lightningrelay.com
  • wss://bitcoinmaximalists.online
  • wss://private.red.gb.net
  • wss://relay.nostrid.com
  • wss://relay.nostrcheck.me
  • wss://nostrelay.yeghro.site
  • wss://nostrue.com
  • wss://nostr.topeth.info
  • wss://nostr.bitcoiner.social
  • wss://nostr.spaceshell.xyz
  • wss://nostr.roundrockbitcoiners.com
  • wss://relay.nostrology.org
  • wss://nostr-dev.wellorder.net
  • wss://relay.snort.social
  • wss://nr.yay.so
  • wss://nostr.lu.ke
  • wss://atlas.nostr.land
  • wss://nostr.pjv.me
  • wss://brb.io
  • wss://eden.nostr.land
  • wss://nostr-verified.wellorder.net
  • wss://nostr.noones.com
  • wss://relay.nostr.nu
  • wss://nostr-relay.bitcoin.ninja
  • wss://paid.no.str.cr
  • wss://freespeech.casa
  • wss://bitcoiner.social
  • wss://nostr.1f52b.xyz
  • wss://nostr.sebastix.dev
  • wss://nostr.cizmar.net
  • wss://n.wingu.se
  • wss://nostr.bitcoinplebs.de
  • wss://nostr.corebreach.com
  • wss://nostr.tools.global.id
  • wss://xmr.usenostr.org
  • wss://at.nostrworks.com
  • wss://nostr.sovbit.host
  • wss://nostr.1sat.org
  • wss://mastodon.cloud/api/v1/streaming
  • wss://nostr.256k1.dev
  • wss://relay.beta.fogtype.com
  • wss://rsslay.ch3n2k.com
  • wss://relay.nostr.bg
  • wss://nostr.primz.org
  • wss://relay.johnnyasantos.com
  • wss://btc.klendazu.com
  • wss://slick.mjex.me
  • wss://nostr.yael.at
  • wss://nostr.lorentz.is
  • wss://relay.nostrified.org
  • wss://nostr.orangepill.dev
  • wss://relay.primal.net
  • wss://nostr.cercatrova.me
  • wss://nostr.swiss-enigma.ch
  • wss://nostr-relay.derekross.me
  • wss://puravida.nostr.land
  • wss://nostr.sectiontwo.org
  • wss://nostr.oxtr.dev
  • wss://relay.s3x.social
  • wss://relay.ryzizub.com
  • wss://nostr.liberty.fans
  • wss://nostr.frostr.xyz
  • wss://nostr.ginuerzh.xyz
  • wss://nostr.d11n.net
  • wss://nostr.semisol.dev
  • wss://misskey.io
  • wss://nostr.namek.link
  • wss://nostr.gruntwerk.org
  • wss://relay.nostr.wf
  • wss://nostr.land
  • wss://relay.mostr.pub
  • wss://relay.nostrplebs.com
  • wss://purplepag.es
  • wss://yestr.me
  • wss://relay.nostr.ai
  • wss://paid.nostrified.org
  • wss://nostr-02.dorafactory.org
  • wss://nostr.zbd.gg
  • wss://relay.hodl.ar
  • wss://relay.nostr.sc
  • wss://feeds.nostr.band/nostrhispano
  • wss://nostr.middling.mydns.jp
  • wss://nostr.portemonero.com
  • wss://search.nos.today
  • wss://relay.minds.com/nostr/v1/ws
  • wss://welcome.nostr.wine
  • wss://yabu.me
  • wss://nrelay.c-stellar.net
  • wss://nostrja-kari.heguro.com
  • wss://nostr-relay.app
  • wss://rly.nostrkid.com
  • wss://nostr.filmweb.pl
  • wss://relay.utxo.one
  • wss://nostr.strits.dk
  • wss://relay.poster.place
  • wss://nostr.mining.sc
  • wss://nostr.xmr.rocks
  • wss://ithurtswhenip.ee
  • wss://powrelay.xyz
  • wss://relay.vanderwarker.family
  • wss://wc1.current.ninja
  • wss://nostr.ingwie.me
  • wss://nostr.gleeze.com
  • wss://relay.nostrify.io
  • wss://relay2.nostrchat.io
  • wss://relay1.nostrchat.io
  • wss://relay.devstr.org
  • wss://relay.nostr.hu
  • wss://nostr.hifish.org
  • wss://nostr2.sanhauf.com
  • wss://nostrja-kari-nip50.heguro.com
  • wss://nostr.rikmeijer.nl
  • wss://nostrua.com
  • wss://relay.nsecbunker.com
  • wss://nostr.hekster.org
  • wss://nostr.schorsch.fans
  • wss://nostr.reelnetwork.eu
  • wss://nostr.hexhex.online
  • wss://relay.wavlake.com
  • wss://relay.nostr.lighting
  • wss://nostr.sagaciousd.com
  • wss://nostr.fbxl.net
  • wss://multiplextr.coracle.social
  • wss://nostril.cam
  • wss://nostr.btc-library.com
  • wss://relay.getalby.com/v1
  • wss://rss.nos.social
  • wss://nostr.overmind.lol
  • wss://relay.nostrcn.com
  • wss://nostr-01.yakihonne.com
  • wss://nostr.fort-btc.club
  • wss://relay.bitcoinpark.com
  • wss://nostr01.counterclockwise.io
  • wss://relap.orzv.workers.dev
  • wss://christpill.nostr1.com
  • wss://relay.verified-nostr.com
  • wss://nostr.sathoarder.com
  • wss://wbc.nostr1.com
  • wss://nostr.is-defs.fun
  • wss://nostr.heliodex.cf
  • wss://nostr.4liberty.one
  • wss://f7z.io
  • wss://relay.casualcrypto.date
  • wss://relay.notmandatory.org
  • wss://fiatjaf.com
  • wss://relay.despera.space
  • wss://bitstack.app
  • wss://nostr-relay.psfoundation.info
  • wss://purplerelay.com
  • wss://relay.orangepill.ovh
  • wss://nostr.rubberdoll.cc
  • wss://relay.ingwie.me
  • wss://soloco.nl
  • wss://nostr.dlsouza.lol
  • wss://relay.kamp.site
  • wss://nostr.heavyrubberslave.com
  • wss://relay.keychat.io
  • wss://relay.froth.zone
  • wss://nostr.bitcoinist.org
  • wss://nostr.cloud.vinney.xyz
  • wss://relay.momostr.pink
  • wss://nosdrive.app/relay
  • wss://nostrrelay.win
  • wss://nostr.8777.ch
  • wss://unhostedwallet.com
  • wss://21ideas.nostr1.com
  • wss://nostr.stakey.net
  • wss://nostr.sats.li
  • wss://relay.guggero.org
  • wss://relay.noswhere.com
  • wss://unostr.site
  • wss://pyramid.fiatjaf.com
  • wss://frens.nostr1.com
  • wss://creatr.nostr.wine
  • wss://140.f7z.io
  • wss://a.nos.lol
  • wss://directory.yabu.me
  • wss://hist.nostr.land
  • wss://nostr.dodge.me.uk
  • wss://privateisland.club
  • wss://relay.weloveit.info
  • wss://relay.magiccity.live
  • wss://nostr.notribe.net
  • wss://relay.westernbtc.com
  • wss://relay.siamstr.com
  • wss://groups.0xchat.com
  • wss://theforest.nostr1.com
  • wss://problematic.network
  • wss://us.purplerelay.com
  • wss://nostr1.daedaluslabs.io
  • wss://relay.noderunners.network
  • wss://relay.azzamo.net
  • wss://bevo.nostr1.com
  • wss://freelay.sovbit.host
  • wss://relay.sebdev.io
  • wss://inbox.nostr.wine
  • wss://ditto.puhcho.me/relay
  • wss://nostr.t-rg.ws
  • wss://multiplexer.huszonegy.world
  • wss://nostr.huszonegy.world
  • wss://nostr.jcloud.es
  • wss://nostr.thurk.org
  • wss://dev-relay.kube.b-n.space
  • wss://relay.nos.social
  • wss://ditto.slothy.win/relay
  • wss://nostr.hashi.sbs
  • wss://paid.relay.vanderwarker.family
  • wss://nostr.javi.space
  • wss://gleasonator.dev/relay
  • wss://bucket.coracle.social
  • wss://relay.nsec.app
  • wss://relay.sepiropht.me
  • wss://nostr.kungfu-g.rip
  • wss://hotrightnow.nostr1.com
  • wss://relay.artx.market
  • wss://nfrelay.app
  • wss://relay.notoshi.win
  • wss://relay.highlighter.com
  • wss://relay.geyser.fund
  • wss://relay.minibits.cash
  • wss://nostr.petrkr.net/strfry
  • wss://n.ok0.org
  • wss://greensoul.space
  • wss://nostr-02.yakihonne.com
  • wss://nostr-03.dorafactory.org
  • wss://vitor.nostr1.com
  • wss://relay.lax1dude.net
  • wss://relay.zhoushen929.com
  • wss://relay.oke.minds.io/nostr/v1/ws
  • wss://strfry.corebreach.com
  • wss://relay.bitdevs.tw
  • wss://nostr.btczh.tw
  • wss://nostrich.adagio.tw
  • wss://nostr.zoel.network
  • wss://nostr.lifeonbtc.xyz
  • wss://nostr.se7enz.com
  • wss://thecitadel.nostr1.com
  • wss://mleku.nostr1.com
  • wss://nostr2.daedaluslabs.io
  • wss://fiatjaf.nostr1.com
  • wss://nostr.daedaluslabs.io
  • wss://xmr.ithurtswhenip.ee
  • wss://cellar.nostr.wine
  • wss://rkgk.moe
  • wss://nostr.self-determined.de
  • wss://nostr.gerbils.online
  • wss://jingle.carlos-cdb.top
  • wss://carlos-cdb.top
  • wss://bostr.online
  • wss://relays.diggoo.com
  • wss://jp.purplerelay.com
  • wss://ir.purplerelay.com
  • wss://me.purplerelay.com
  • wss://nostr.0x7e.xyz
  • wss://nostr.reckless.dev
  • wss://relay.nostr.net
  • wss://relay.fountain.fm
  • wss://v1250.planz.io/nostr
  • wss://relay.13room.space
  • wss://relay.usefusion.ai
  • wss://ae.purplerelay.com
  • wss://njump.me
  • wss://au.purplerelay.com
  • wss://in.purplerelay.com
  • wss://nosflare.plebes.fans
  • wss://nostr.at
  • wss://bostr.bitcointxoko.com
  • wss://nostria.space
  • wss://nostr.searx.is
  • wss://test.nfrelay.app
  • wss://relay.fanfares.io
  • wss://relay.varke.eu
  • wss://relay.nostr.jabber.ch
  • wss://relay.nostpy.lol
  • wss://relay.camelus.app
  • wss://nostr.myshosholoza.co.za
  • wss://nostr.ussenterprise.xyz
  • wss://nostr.dbtc.link
  • wss://ftp.halifax.rwth-aachen.de/nostr
  • wss://tw.purplerelay.com
  • wss://eu.purplerelay.com
  • wss://relay.benthecarman.com
  • wss://fabian.nostr1.com
  • wss://staging.yabu.me
  • wss://nostr.dmgd.monster
  • wss://testnet.plebnet.dev/nostrrelay/1
  • wss://hivetalk.nostr1.com
  • wss://relay.lawallet.ar
  • wss://relay.piazza.today
  • wss://relay.pleb.to
  • wss://orangepiller.org
  • wss://nostr.lopp.social
  • wss://ch.purplerelay.com
  • wss://loli.church
  • wss://adre.su
  • wss://misskey.04.si
  • wss://cache2.primal.net/v1
  • wss://relay.sincensura.org
  • wss://relay.moinsen.com
  • wss://relay.freeplace.nl
  • wss://cache1.primal.net/v1
  • wss://nostr.openordex.org
  • wss://rly.bopln.com
  • wss://relay.0v0.social
  • wss://nostr.psychoet.nexus
  • wss://relay.nostrr.de
  • wss://us.nostr.land
  • wss://srtrelay.c-stellar.net
  • wss://lnbits.papersats.io/nostrclient/api/v1/relay
  • wss://strfry.chatbett.de
  • wss://relay.nquiz.io
  • wss://nostr.plantroon.com
  • wss://nostr.jfischer.org
  • wss://relay.corpum.com
  • wss://relay.bostr.online
  • wss://lunchbox.sandwich.farm
  • wss://nr.rosano.ca
  • wss://nostr.happytavern.co
  • wss://novoa.nagoya
  • wss://misskey.takehi.to
  • wss://relay.satoshidnc.com
  • wss://nostr.novacisko.cz
  • wss://nsrelay.assilvestrar.club
  • wss://nostr.atitlan.io
  • wss://relay.livefreebtc.dev
  • wss://nostr.tavux.tech
  • wss://nostr.girino.org
  • wss://merrcurrup.railway.app
  • wss://nostr-dev.zbd.gg
  • wss://submarin.online
  • wss://social.camph.net
  • wss://relay.nostrich.cc
  • wss://relay.lumina.rocks
  • wss://profiles.nostr1.com
  • wss://rebelbase.social/relay
  • wss://support.nostr1.com
  • wss://relay.dev.bdw.to
  • wss://ca.purplerelay.com
  • wss://nostr.bitcoinvn.io
  • wss://auth.nostr1.com
  • wss://custom.fiatjaf.com
  • wss://hub.nostr-relay.app
  • wss://nostr.babyshark.win
  • wss://echo.websocket.org
  • wss://nostr.kosmos.org
  • wss://polnostr.xyz
  • wss://relay.refinery.coracle.tools
  • wss://user.kindpag.es
  • wss://nostr.hashbang.nl
  • wss://czas.live
  • wss://chorus.pjv.me
  • wss://relay.agorist.space
  • wss://bostr.cx.ms
  • wss://relay.nostrhub.fr
  • wss://groups.fiatjaf.com
  • wss://hodlbod.coracle.tools
  • wss://hk.purplerelay.com
  • wss://lnbits.satoshibox.io/nostrclient/api/v1/relay
  • wss://relay.cosmicbolt.net
  • wss://nostr.drafted.pro
  • wss://nostr.a2x.pub
  • wss://bostr.lightningspore.com
  • wss://nostr.intrepid18.com
  • wss://de.purplerelay.com
  • wss://obiurgator.thewhall.com
  • wss://nostr.madco.me
  • wss://relay.braydon.com
  • wss://nostr-relay.algotech.io
  • wss://relay.unknown.cloud
  • wss://relay.gems.xyz
  • wss://longhorn.bgp.rodeo
  • wss://notes.miguelalmodo.com
  • wss://onlynotes.lol
  • wss://relay.tagayasu.xyz
  • wss://relay.zone667.com
  • wss://nostr-relay.sn-media.com
  • wss://relay.mostro.network
  • wss://nostr.polyserv.xyz
  • wss://n3r.xyz
  • wss://relay5.bitransfer.org
  • wss://brisceaux.com
  • wss://nostr.faust.duckdns.org
  • wss://satellite.hzrd149.com
  • wss://gnost.faust.duckdns.org
  • wss://relay.jerseyplebs.com
  • wss://nostr.cxplay.org
  • wss://nostr.polonkai.eu
  • wss://libretechsystems.nostr1.com
  • wss://nostr.pailakapo.com
  • wss://relay.alex71btc.com
  • wss://cfrelay.puhcho.workers.dev
  • wss://kiwibuilders.nostr21.net
  • wss://nostr3.daedaluslabs.io
  • wss://relay1.xfire.to:
  • wss://nostr.brackrat.com
  • wss://relay.satlantis.io
  • wss://relay.test.nquiz.io
  • wss://relay.illuminodes.com
  • wss://relay.arrakis.lat
  • wss://cfrelay.haorendashu.workers.dev
  • wss://core.btcmap.org/nostrrelay/relay
  • wss://junxingwang.org
  • wss://relay2.angor.io
  • wss://relaypag.es
  • wss://nostr.skitso.business
  • wss://history.nostr.watch
  • wss://relay.oh-happy-day.xyz
  • wss://invillage-outvillage.com
  • wss://nostr-relay.cbrx.io
  • wss://tigs.nostr1.com
  • wss://misskey.design
  • wss://relay.nostrainsley.coracle.tools
  • wss://relay.cxplay.org
  • wss://relay.angor.io
  • wss://nostr.tbai.me:592
  • wss://strfry.iris.to
  • wss://orangesync.tech
  • wss://nostr.chaima.info
  • wss://relay.minibolt.info
  • wss://jingle.nostrver.se
  • wss://kr.purplerelay.com
  • wss://fl.purplerelay.com
  • wss://relay.chontit.win
  • wss://nostr.bilthon.dev
  • wss://relay.vengeful.eu
  • wss://dtonon.nostr1.com
  • wss://relay.gasteazi.net
  • wss://us.nostr.wine
  • wss://frjosh.nostr1.com
  • wss://relay.staging.geyser.fund
  • wss://nostr.yuhr.org
  • wss://relay.mattybs.lol
  • wss://sushi.ski
  • wss://relay.unsupervised.online
  • wss://nostr.bit4use.com
  • wss://prl.plus
  • wss://news.nos.social
  • wss://airchat.nostr1.com
  • wss://nortis.nostr1.com
  • wss://adeptus.cwharton.com
  • wss://relay.mycelium.social
  • wss://node.coincreek.com/nostrclient/api/v1/relay
  • wss://nostr2.girino.org
  • wss://relay.s-w.art
  • wss://nerostr.girino.org
  • wss://uk.purplerelay.com
  • wss://bostr.erechorse.com
  • wss://eostagram.com
  • wss://relay.coinos.io
  • wss://sendit.nosflare.com
  • wss://relay.nostraddress.com
  • wss://nostrelites.org
  • wss://wot.nostr.party
  • wss://wot.utxo.one
  • wss://haven.cyberhornet.net
  • wss://relay.customkeys.de
  • wss://relay.groups.nip29.com
  • wss://relay29.notoshi.win
  • wss://nostr.2h2o.io
  • wss://relay.nostriot.com
  • wss://relay.lem0n.cc
  • wss://relay.b1t.beer
  • wss://rocky.nostr1.com
  • wss://wot.sovbit.host
  • wss://relay.sovereign.app
  • wss://zap.watch
  • wss://zorrelay.libretechsystems.xyz
  • wss://sorrelay.libretechsystems.xyz
  • wss://mailbox.mw.leastauthority.com/v1
  • wss://memrelay.girino.org
  • wss://relay.lnfi.network
  • wss://wot.girino.org
  • wss://labour.fiatjaf.com
  • wss://wot.codingarena.top
  • wss://relay.nostrdice.com
  • wss://nostr.azzamo.net
  • wss://wot.azzamo.net
  • wss://wot.nostr.sats4.life
  • wss://wot.nostr.net
  • wss://api.freefrom.space/v1/ws
  • wss://wheat.happytavern.co
  • wss://chorus.bonsai.com
  • wss://strfry.bonsai.com
  • wss://wot.sebastix.social
  • wss://inner.sebastix.social
  • wss://haven.accioly.social
  • wss://relay.notestack.com
  • wss://relay.sigit.io
  • wss://satsage.xyz
  • wss://nostr.noderunners.network
  • wss://chronicle.puhcho.me
  • wss://haven.puhcho.me
  • wss://haven.calva.dev/inbox
  • wss://dergigi.nostr1.com
  • wss://wons.calva.dev
  • wss://thebarn.nostr1.com
  • wss://nostr.grooveix.com
  • wss://relay.rodbishop.nz/inbox
  • wss://travis-shears-nostr-relay-v2.fly.dev
  • wss://nostr.sprovoost.nl
  • wss://nostr.x0f.org
  • wss://bostr.syobon.net
  • wss://art.nostrfreaks.com
  • wss://cobrafuma.com/relay
  • wss://alru07.nostr1.com
  • wss://relay.nostrfreedom.net/outbox
  • wss://aplaceinthesun.nostr1.com
  • wss://relay.flirtingwithbitcoin.com
  • wss://plebone.nostr1.com
  • wss://cfrelay.snowcait.workers.dev
  • wss://thewritingdesk.nostr1.com
  • wss://relay.botev.sv
  • wss://relay.degmods.com
  • wss://seth.nostr1.com
  • wss://untreu.me
  • wss://agentorange.nostr1.com
  • wss://reimagine.nostr1.com
  • wss://nostr.takasaki.dev
  • wss://nostr.coincrowd.fund
  • wss://bnc.netsec.vip
  • wss://nostr.community.ath.cx
  • wss://nostr.cltrrd.us
  • wss://relay.xeble.me
  • wss://no.netsec.vip
  • wss://strfry.shock.network
  • wss://relay.8333.space
  • wss://relay02.lnfi.network
  • wss://relay.lightning.gdn
  • wss://nostr.cypherpunk.today
  • wss://relay.nostrfreaks.com
  • wss://relay.shuymn.me
  • wss://haven.eternal.gdn
  • wss://cyberspace.nostr1.com
  • wss://nostr-rs-relay.dev.fedibtc.com
  • wss://relay.das.casa
  • wss://ursin.nostr1.com
  • wss://monitorlizard.nostr1.com
  • wss://wot.shaving.kiwi
  • wss://relay.cyphernomad.com
  • wss://nostr.extrabits.io
  • wss://relay.jellyfish.land
  • wss://wot.tealeaf.dev
  • wss://chorus.tealeaf.dev
  • wss://haven.tealeaf.dev/inbox
  • wss://h.codingarena.top/inbox
  • wss://relay.goodmorningbitcoin.com
  • wss://wot.zacoos.com
  • wss://relay.shawnyeager.com/chat
  • wss://proxy0.siamstr.com
  • wss://articles.layer3.news
  • wss://relay.hs.vc
  • wss://chronicle.dtonon.com
  • wss://wot.dtonon.com
  • wss://relay.stens.dev
  • wss://social.protest.net/relay
  • wss://relay.patrickulrich.com/inbox
  • wss://relay.davidebtc.me
  • wss://relay.dev.ntech.it
  • wss://chronicle.dev.ntech.it
  • wss://nostr.bitpunk.fm
  • wss://lnvoltz.com/nostrrelay/n49jzjytb
  • wss://ghost.dolu.dev
  • wss://thebarn.nostrfreaks.com
  • wss://niel.nostr1.com
  • wss://adoringcardinal1.lnbits.com/nostrrelay/test-relay
  • wss://nostr.thebiglake.org
  • wss://wot.relay.vanderwarker.family
  • wss://haven.girino.org
  • wss://pow.hzrd149.com
  • wss://nostr-news.nostr1.com
  • wss://thewildhustle.nostr1.com
  • wss://nostr.sats.coffee
  • wss://dikaios1517.nostr1.com
  • wss://nostr4.daedaluslabs.io
  • wss://relay.calders.us
  • wss://nostr.mikoshi.de
  • wss://relay.nuts.cash
  • wss://brightlights.nostr1.com
  • wss://darknights.nostr1.com
  • wss://relay.chrisatmachine.com
  • wss://nostr.agentcampfire.com
  • wss://nostr.me/relay
  • wss://relay.nostr.watch
  • wss://dwebcamp.nos.social
  • wss://nostr.1312.media
  • wss://nostr.phauna.org
  • wss://henhouse.social/relay
  • wss://nostr.neilalexander.dev
  • wss://nip13.girino.org
  • wss://tijl.xyz
  • wss://relay.rengel.org
  • wss://relay.stewlab.win
  • wss://relay.badgr.digital
  • wss://relay.crbl.io
  • wss://rl.baud.one
  • wss://relay.axeldolce.xyz
  • wss://nip85.nostr.band
  • wss://antisocial.nostr1.com
  • wss://relay.isphere.lol
  • wss://cl4.tnix.dev
  • wss://nostr.dl3.dedyn.io
  • wss://nostr.camalolo.com
  • wss://hayloo.nostr1.com
  • wss://nostr.schneimi.de
  • wss://wostr.hexhex.online
  • wss://pareto.nostr1.com
  • wss://nostr.pareto.space
  • wss://relay.utih.net
  • wss://relay.lifpay.me
  • wss://david.nostr1.com
  • wss://haven.ciori.net
  • wss://bonifatius.nostr1.com
  • wss://pay.thefockinfury.wtf/nostrrelay/1
  • wss://relay.xplbzx.uk
  • wss://nostr.tac.lol
  • wss://btcpay2.nisaba.solutions/nostr
  • wss://relay.bitcoinschool.nl
  • wss://dev-relay.lnfi.network
  • wss://relay.netstr.io
  • wss://freespeech.social/relay
  • wss://straylight.cafe/relay
  • wss://nostr-relay01.redscrypt.org:48443
  • wss://relay.devvul.com
  • wss://relay.bitcoinveneto.org
  • wss://relay.shop21.dk
  • wss://nostr.mtrj.cz
  • wss://relay.jthecodemonkey.xyz
  • wss://devapi.freefrom.space/v1/ws
  • wss://aaa-api.freefrom.space/v1/ws
  • wss://nostr.rosenbaum.se
  • wss://fido-news.z7.ai
  • wss://stratum.libretechsystems.xyz
  • wss://tamby.mjex.me
  • wss://nostr.cottongin.xyz
  • wss://wot.eminence.gdn
  • wss://hi.myvoiceourstory.org
  • wss://nostr.red5d.dev
  • wss://relay-testnet.k8s.layer3.news
  • wss://nostr.pistaum.com
  • wss://relay-nwc.rizful.com/v1
  • wss://nostrum.satoshinakamoto.win
  • wss://eupo43gj24.execute-api.us-east-1.amazonaws.com/test
  • wss://backup.keychat.io
  • wss://relay.openbalance.app
  • wss://nostr.jonmartins.com
  • wss://social.proxymana.net
  • wss://nostr-pr02.redscrypt.org
  • wss://nostr-pr03.redscrypt.org
  • wss://nostrelay.memory-art.xyz
  • wss://promenade.fiatjaf.com
  • wss://inbox.azzamo.net
  • wss://premium.primal.net
  • wss://nostr.timegate.co
  • wss://team-relay.pareto.space
  • wss://relay.dariccoin.me
  • wss://relay.dannymorabito.com/inbox
  • wss://nostr.lojong.info
  • wss://relay.transtoad.com
  • wss://cfrelay.royalgarter.workers.dev
  • wss://nostr-rs-relay-ishosta.phamthanh.me
  • wss://nostr.rblb.it:7777
  • wss://fiatrevelation.nostr1.com
  • wss://sources.nostr1.com
  • wss://nostr-pr04.redscrypt.org
  • wss://relay.nostronautti.fi
  • wss://moonboi.nostrfreaks.com
  • wss://mats-techno-gnome-ca.trycloudflare.com
  • wss://nostr.d3id.xyz/relay
  • wss://nostr.holbrook.no
  • wss://logen.btcforplebs.com
  • wss://relay.nostrtalk.org
  • wss://community.proxymana.net
  • wss://misskey.gothloli.club
  • wss://mleku.realy.lol
  • wss://relay.maiqr.app
  • wss://relay.tv-base.com
  • wss://relay.rkus.se
  • wss://relay.snotr.nl:49999
  • wss://relay.brightbolt.net/inbox
  • wss://magic.nostr1.com
  • wss://null.spdns.eu
  • wss://nostr.itdestro.cc
  • wss://nostrrelay.taylorperron.com
  • wss://nostr.tegila.com.br
  • wss://stage.mosavi.xyz/v1/ws
  • wss://eclipse.pub/relay
  • wss://relay.asthroughfire.com
  • wss://relay.nostrarabia.com
  • wss://news.utxo.one
  • wss://relay.stream.labs.h3.se
  • wss://mls.akdeniz.edu.tr/nostr
  • wss://asia.azzamo.net
  • wss://tollbooth.stens.dev
  • wss://nostrelay.yeghro.com
  • wss://nostrich.zonemix.tech
  • wss://relay.chakany.systems
  • wss://45.135.180.104
  • wss://relay.mwaters.net
  • wss://kitchen.zap.cooking
  • wss://basedpotato.nostr1.com
  • wss://nostr1.jpegslangah.com
  • wss://primus.nostr1.com
  • wss://wot.mwaters.net
  • wss://prod.mosavi.io/v1/ws
  • wss://bots.utxo.one
  • wss://nostr.caramboo.com
  • wss://9yo.punipoka.pink
  • wss://nostr.trepechov.com
  • wss://stg.nostpy.lol
  • wss://nostr.ovia.to
  • wss://riley.timegate.co
  • wss://willow.timegate.co
  • wss://relay.olas.app
  • wss://social.olsentribe.fyi
  • wss://relay.arx-ccn.com
  • wss://zaplab.nostr1.com
  • wss://hax.reliefcloud.com
  • wss://nostrrelay.blocktree.cc
  • wss://hole.v0l.io
  • wss://nostr.phuture.sk
  • wss://cc3d.nostr1.com
  • wss://coop.nostr1.com
  • wss://synalysis.nostr1.com
  • wss://nostr.luisschwab.net
  • wss://relay.fr13nd5.com
  • wss://relay.nostrfy.io
  • wss://relay.vaporware.network
  • wss://relay.mzm.app
  • wss://nostr.felixzieger.de
  • wss://nostr.spicyz.io
  • wss://relay.pre-alfa.iz-collaborator.com
  • wss://bunker.vanderwarker.family
  • wss://ltgnetwork.nostr1.com
  • wss://relay.bullishbounty.com
  • wss://dev.coracle.tools
  • wss://relay04.lnfi.network
  • wss://jellyfish.land
  • wss://relay03.lnfi.network
  • wss://rtson.onrender.com
  • wss://nostr.1sat.store
  • wss://v2.fly.dev
  • wss://communities.nos.social
  • wss://vidono.apps.slidestr.net
  • wss://nostrboss.com
  • wss://aegis.utxo.one
  • wss://data.relay.vanderwarker.family
  • wss://relay.marc26z.com
  • wss://relay-dev.netstr.io
  • wss://relay.danieldaquino.me
  • wss://aegis.relayted.de
  • wss://relay.nostrverified.fyi
  • wss://n.posto.us.kg
  • wss://relay.hook.cafe
  • wss://aegis.relaynostr.xyz
  • wss://nostrapps.com
  • wss://nostr.douglascruz.com.br
  • wss://wot.relayted.de
  • wss://inbox.mycelium.social
  • wss://relay.d11n.net
  • wss://haven.relayted.de
  • wss://free.relayted.de
  • wss://relay.zapstore.dev
  • wss://chat.mihhdu.org
  • wss://bridge.duozhutuan.com
  • wss://relay.evanverma.com
  • wss://relay.nostrdvm.com
  • wss://nostr.joomaen.top
  • wss://nostr.235421.xyz
  • wss://nostr.bitcoinsult.de
  • wss://nostrelay.circum.space
  • wss://relay1.plor.dev
  • wss://relayrs.notoshi.win
  • wss://fenrir-s.notoshi.win
  • wss://bostr.azzamo.net
  • wss://nos.zct-mrl.com
  • wss://skeme.vanderwarker.family
  • @ DanConwayDev
    2023-04-19 16:12:07

    In The Bull Case for a GitHub Alternative on Nostr I outlined the opportunities for a thriving ecosystem for the software development collaboration experience over nostr.

    I outlined 3 core features that must be enabled:

    1. Authoritative git repositories, updated exclusively by authorised maintainers.
    2. Platform to host the surround collaboration. Comments and interactions around PRs, issues, project tracking, etc.
    3. CI/CD pipeline integration with tools such as CicleCI, travis, Jenkins, etc.

    This article outlines some of the key challenges that we should address to achieve this and how feature 2 could be achieved whilst avoiding may of these problems.

    The Group Authorisation Problem

    A central feature of Nostr is permission-less account creation and authorisation of user activity through public / private key cryptography.

    A key challenge that cuts across core features 1 and 2 above is how the authorisation of a state can be trustlessly verified when the list of maintainers evolves over time. From a git repository perspective the state may be changed by merging a PR, squashing commits or removing a branch. From a collaboration feature perspective the state could be changed by updating the status of an issue or moving a story across a kanban board in scenarios where such actions require authorisation.

    I will shortly be publishing a deep diver into the problem of group authorisation. It applies to many more usecases. The solution I will propose is Nostr Authorisation Groups.

    The Conflicting Change Problem

    How is consensus reached on which of two conflicting authorised changes is accepted?

    Before we get excited about honey badgers and military generals we should consider the nostrian philosophy that values simplify and pragmatism. Given that maintainers trust each other* what is the simplest solution?

    Here is a simple proposal: the nostr Authorisation Event (see below) with the later timestamp takes priority. When the timestamps are identical then the repository reverts to the previous state until a new authorisation event is issued.

    *Changes to the list of Authorised maintainers requires a more robust solution as trust can break down, such as when keys are compromised.

    The State Reversion Problem

    There are scenarios where a state change needs to be reverted. For example, a relay processes an update and then receives either: * a conflicting change with an Authorisation Event that has an identical timestamp or * a delayed Nostr Authorisation Group event that revoked the signers authorisation and was dated before the change was made.

    Assuming Rewriting Git History is supported, clients and relays running a standard git server may have purged data required to revert and would need a way of recovering it.

    Constructing an Authorisation Event Standard

    Authorisation events would need to enable efficient verification that the state reached after any of the following actions will be reflective of the latest authorised state:

    1. clone a repository
    2. a repository with the previous authorised state, pulls changes covered by a single Authorisation Event
    3. a repository with a previously authorised state, pulls changes covered by many Authorisation Events

    The bandwidth efficient standard transport model that git uses to push and pull changes are excellent. There is value in preserving this.

    Signing and verification would happen with by either a wrapper around the standard git client or a custom git client. This would analyse changes pulled from the git server and only allow changes verified by an Authorisation Event. Similarly it would sign Authorisation Event that reflects the changes which are being pushed to the git server. The Git Server enforces the Authorisation Event Standard and will only process the request once the Authorisation Event is received.

    There is a trade-off between lightweight messages and providing useful metadata that could be used for, as an example, state reversion.

    Constructing a Standard for Anchoring the Social Experience

    Clients focusing on the social experience of software development would need to achor messages to elements both inside a git repository (lines of code, commits, etc) and outside the git repository (PRs, issues, kamban boards, etc).

    Either a soft-standard or a NIP should be constructed to establish a referencing schema for a base set of elements.

    The Data Storage Problem

    There are no shortage of ideas about how storing and serving the underlying data in git repositories could be achieved. From NIP-81/94 filesharing to niche relays running a git server. From torrents to trusted centralised repositories.

    This is good news as storage and bandwidth is expensive and the key challenge is finding a model that incentivises actors to provide this service whilst balancing other drivers such as: 1. Resiliency / censorship resistant 2. Reliability 3. Simplicity 4. Efficiency 5. UX impact

    The Interoprablilty Problem

    It would be beneficial for a number of these data storage models to be built and the market could decide which is best.

    Some solutions may have relays run a standard git server that only accept changes that are authorised through nostr events. Clients would issue these events before pushing to the server. Others may store the entire git metadata, such as git refs and object trees, in nostr events and download files via torrents. They could all abstracted this behind a custom git client.

    These implementations could be incompatable which would be bad for the wider git-on-noster project as it would lead to fragmentation.

    Agreeing an NIP for an Authorisation Event Standard as described above would prevent that. Their could even be bridges built to enable repositories to operate using multiple data storage models simultaneously.

    CI/CD Integration

    CI/CD tools enable secrets to be stored and accessed by CI/CD runners. nostr keys can be stored in this manner to enable jobs to be run with the outputs posted on nostr.

    Repositories that require tests to pass before a PR is merged could add branch protection. Clients would only accept a change as authorised if it had a Authorisation event signed by a maintainer and an event signed by the CI/CD user that both referenced the Authorisation event and confirmed the tests passed.

    Work would be needed to remove the friction in setting up integration for project using a verify of CI/CDs.

    Patch vs Pull Requests

    The most commonly used model for integrating changes to a code base is the Pull Request model. A contributor forks a repository, makes some changes and creates a Pull Request. There is discussion, review and changes are made to the folk. When a maintainer is happy they pull the proposed changes into the main repository.

    The alternative is the Patch model. Contributors pull the latest changes from an authoritative repository. They make some changes and package them into a patch, which is sent to maintainers, often via email mailing lists. Discussions and reviews take place, revised patches are issued and when a maintainer is happy they apply the path to the authoritative repository.

    A Simpler Model with Decentralisation Trade-Offs

    Most of the challenges discussed so far relate to how a git repository can be trustlessly verified as being in a state that is authorised by an evolving group of maintainers so that the reliance on a centralised repository is removed. This isn't actually a requirement to enable the collaboration surrounding a git repository to move onto nostr.

    An interim, or even an alternative, approach could be to establish a standard for anchoring the social experience discussed above but avoid or minimise any reliance on an Authorisation Event Standard.

    The anchoring standard could aim to make it easy for clients to create a similar user experience of interacting with a Pull Request and a change request submitted using a patch. This would enable projects to support both and bolster the censorship resistant qualities of without degrading the UX. A bot could even run to take a patch, create a fork on the centralised repository and create a PR so that other users can interact with all proposed changes in the same way.

    Users who are either excluded from access to the centralised repository, or choose to minimise interaction with it, could use the patch model. Whereas other users would be free to use the PR model which they are more comfortable with.

    jb55 produced a tool to send patches with blobs embedded over nostr. It may be possible to recreate a repository entirely from signed patches and avoid interaction with the centralised repository completely so long as branch maintenance and Rewriting Git History is never done. A git client warpper could be done to simulate cloning a repository by downloading every patch. This would be a bandwidth and storage inefficient which might not scale well. jb55 who created the wrapper doesn't "think there should only be patches on nostr".

    Ultimately the patch only model feels like a quick and dirty solution that would enable progress on the social experience which would build moment for a decentralised git repository solution to emerge.

    Concluding Thoughts

    We have covered a lot of ground here yet we barely mentioned incentives or spoken about barriers to adoption. These topics are important but there is perhaps not room in this article to do them justice.

    We have discussed a set of problems and challenges with decentralising repositories and software development collaboration usecase over nostr that solutions will need to either address or avoid. We have set out some of the groundwork for highlighting the standards which would need to be agreed in order to enable interoprable innovation across the usecase.

    I would really value your feedback and pushback on any and all aspects of this. Specifically it appears that the community has been focusing on the patch model. I wonder the extent to which this is for ease of implementation or if its not really a priority to have a decentralised git repository enabled by trustless state verification. I also haven't seen many of the above challenges clearly articulated in relation to a Github Alternative on Nostr. Perhaps I am missing obvious reasons why these are not problems, or the solutions are so simple that they haven't been articulated, or I am not looking in the right places.

    Reach out to me on nostr and let me know! DanConwayDev npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr DanConwayDev@Nostr-Check.com

    yakihonne.com iris.to jumble.social