Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 15 19:03
    noctisatrae synchronize #1258
  • Aug 15 09:18
    saosophea9988 edited #1272
  • Aug 15 09:14
    saosophea9988 opened #1272
  • Aug 13 21:03

    amark on master

    subscribe only on backpropagati… Merge branch 'master' of http:/… PANIC 4: AXE get subscriptions (compare)

  • Aug 13 18:58

    amark on master

    Panic tests for rod & radix.js … (compare)

  • Aug 13 18:58
    amark closed #1269
  • Aug 13 18:57
    amark commented #1269
  • Aug 13 01:17
    amark commented #1271
  • Aug 10 23:56

    amark on master

    reduce not-found acks if via/re… test undo tmp (compare)

  • Aug 10 21:45
    amark updated the wiki
  • Aug 10 20:18
    amark commented #1271
  • Aug 10 18:47
    amark commented #1268
  • Aug 10 18:16
    amark commented #1271
  • Aug 10 16:57
    draeder commented #1271
  • Aug 10 16:56
    draeder commented #1271
  • Aug 10 12:10
    mmalmi synchronize #1269
  • Aug 10 11:59
    draeder commented #1271
  • Aug 10 11:55
    draeder commented #1271
  • Aug 10 11:37
    draeder commented #1271
  • Aug 10 05:54
    Azarattum commented #1271
fractal
@fractal:matrix.org
[m]
oh hey Evan
Evan
@evan-brass:matrix.org
[m]
Ahoy!
I heard there might be some juicy WebRTC DHT treasure going on here. Where could I start reading to get up to speed?
1 reply
Ghost
@ghost~62c3eb896da0373984998ff1
any hekp explain this install been at it for 2 days
harshavardhan282
@harshavardhan282
warn - ./node_modules/gun/gun.js
Critical dependency: the request of a dependency is an expression
can anyone explain how to resolve this error
Don Robert
@donlevirobert_gitlab
any chance someone can give direction in layperson terms, i am so frustrated
i have tried on kali
i have tried on wimdows and cant understand how to get this working
entermonke
@entermonke:matrix.org
[m]
use search in the element app?
If you only want a relay, then just do this:
npm install gun && cd node_modules/gun && npm start
Don Robert
@donlevirobert_gitlab
I guess I am pretty lost, I am new to this end of things. I know alot of peaple that are interested in getting out of the main stream bs, and would be interted in this. But I can not figure out how to set it up so they can down load as an app, or even get it working at all. I have to head to work but if someone wouldbe willing to give me some direction later it would be appreciated
Manwë
@Manwe-777
@donlevirobert_gitlab if youre running latest github it has some bugs , might want to try npm instead. Would be nice to know what you tried (as in code), to get an idea of what could be failing.
Don Robert
@donlevirobert_gitlab
@Manwe-777 honestly I have tried npm, git hub a few different ones https://www.youtube.com/watch?v=Rc2sIPDrX_k , https://www.youtube.com/watch?v=zvo6jC1OA3Y, https://www.youtube.com/watch?v=J5x3OMXjgMc&t=272s, https://gun.eco/docs/ (that was the most confusing thing to be honest) I trired with firebase, I tried with ste,
@Manwe-777 it have to be me, I really think a walk though to ppl that don't code, or build sites my help alot with getting this more main stream... I have want to help and get this out to my colleagues, that is why I ened up on the form... Honestly this is the second chat form I have every reached out to..
Don Robert
@donlevirobert_gitlab
I will even do it, once I figure it out lol
Azarattum
@azarattum:matrix.org
[m]
12 replies
Azarattum
@azarattum:matrix.org
[m]
I think the server migration should be theoretically possible cryptography-wise. I guess some clever trick is needed to make this work. Maybe a user can store a public key of the server it currently trusts. So, any changes that violate this rule will be rejected from the network. (Or something along these lines. I really need to think this trough before implementing anything...)
Azarattum
@azarattum:matrix.org
[m]
I’m curious, is there a way to tell gun relay what data to cache? Ideally I would want it to store all the data of it’s users, some globally available network cache and maybe parts of data of a user from another server. About the last one: for example user A wants to share access to a document with user B, but they are served by different servers. Both users explicitly agree on this transaction. In this case I want the relay of user B to cache A’s document.
Lexi
@Lexi:matrix.org
[m]
Question is do you also want users to be able to revoke read permissions on that data? Or only future data? The latter is possible however still not easy. But if it's self hosted all that doesn't matter, right?
2 replies
Daniel Raeder
@draeder
When you go to use a library you wrote months ago only to find out it doesn't work correctly after npm install... 😭😭😭😭😭
And your local code is broken because you were working adding features... LOL ugh.
Sarah Kay
@SarahKay99
In a DMing app... if User A doesnt copypaste User B's public key into their screen, how can User A and User B share public keys? For example I am User A and I find User B through their alias.
I want to start DMing User B. How does the system facilitate public key sharing between User A and User B without copy pasting?
Mark Nadal
@amark
@entermonke:matrix.org ipv6 & pubkeys seem roughly same in difficulty to remember. Linkability matters. Iris Web of Trust should let us do "Elon Musk" with 99% score, confidence ratings on/for every name.
@snowyu :+1:
@Leo24535831_twitter just the docs for now, eventually I'll write new courses but I always get busy with scaling.
@spoggy:matrix.org I think they said I could copy it, I'll try to publish it publicly.
@quixnix:matrix.org (?)
@entermonke:matrix.org gun/axe.js
@poiyo:matrix.org :clap: @rococtz:matrix.org .
@hadrienmp:matrix.org :clap: @draeder .
@SuleimanZhukov did you get it figured out?
@DecentralisedTech yes, password is local only.
@nicholasoxford :clap: @azarattum:matrix.org @Manwe-777 . It should. What error does it give?
@azarattum:matrix.org :clap: @rococtz:matrix.org :clap: @Lexi:matrix.org !
You usually don't want WebRTC to exceed 6 connections. Could look at how many people are subscribed to a particular node in AXE, but that is only for each network hop. Latest github has upgraded put acks to have probabilistic counters of who has saved data. (And yes, they come from other peers, even if not directly connected). Yes, AXE in NodeJS runs by default - this is a good current status of where AXE is at:
https://twitter.com/marknadal/status/1529177377120497664 ( + @evan-brass:matrix.org )
@SarahKay99 :+1: .
@yorreraj they listeners are gun.on('hi', function... and 'byte' not connected/disconnect.
@azdez:matrix.org looks like your * taking higher precedence?
@draeder :fire: :clap: :fire: !
@azarattum:matrix.org :clap: @Lexi:matrix.org that is an excellent explanation!!!
  • Happy to hop on a call, @draeder has been helping me build AXE in code calls. Feel free to join!
    :clap: @rococtz:matrix.org .
    Nice diagram. Decentralized is different than Federated. Email is federated. You can build a federated system with decentralized systems, but I'd recommend you stick to fully decentralized. :clap: @draeder :clap: @Lexi:matrix.org :clap: @Manwe-777 .
    @entermonke:matrix.org + @fractal:matrix.org :clap: yes @mmalmi ! Iris! :)
    @evan-brass:matrix.org , yes WebRTC signaling automatically happens from every peer (even browsers!), join the (see above) calls as we're building the DHT part now!
    @ghost~62c3eb896da0373984998ff1 what is wrong?
    @harshavardhan282 if you are using GUN for browser, it is pre-built, just use gun/gun.js (don't build it). If React Native, see https://github.com/aethiop/jot tutorial.
    @donlevirobert_gitlab :clap: @entermonke:matrix.org :clap: @Manwe-777 . If you're mainstream, why not just use an in-browser app that runs GUN already? There is no need to download/install GUN to use GUN. Using a browser app that uses GUN already helps contribute to the network. Maybe I'm misunderstanding your goals? What are your goals?
    @entermonke:matrix.org founder of freenet guy just DMed me last week to talk! I felt so honored. We're discussing to see if we can make locutus interoperably use same messaging system as GUN's.
    @azarattum:matrix.org yeah @draeder 's gunsafe pairing system might be an interesting solution for doing trusted remote compute.
    Yes, the DHT part will allow peers to select a lexical shard they persistently store data for (until running out of space).
    :clap: @Lexi:matrix.org .
    @spoggy:matrix.org nice mindmap! Have you seen @davay42 's realtime mindmapping & node system? Its gun-vue & includes tons of other modules. Very advanced.
    :clap: @bmatusiak for explaining cryptography stuff. Hey, is anyone able/willing to sponsor @bmatusiak ? Or know companies hiring in cybersecurity you can refer him to?
    @quixnix:matrix.org might need to tag typescript people to help you.
    @snowycoder:matrix.org I can't tell if gitter is being buggy, or just jumping to chats I replied to last week or not. But you saw how GUN does decentralized discovery and rebalances itself right? (See the twitter link I linked to above, it has a video). You and @Azarattum having similar Qs, I'll try to expand more - let me know!
@SarahKay99 clicking on links (which have the pubkey) is gonna be easiest since that is how pretty much all apps/web work to start. Once people are already in your app tho, you can do indexed searches like @rococtz:matrix.org has demos/links of. So in-app users would search for a name, and you'd show a list of results (maybe Web of Trust score, Iris-style) and people would click on those accounts and "add friend" which underneath would add their pubkey.
HOPE EVERYONE HAD AN AMAZING FOURTH OF JULY!!!!!!!!! :fireworks: :fireworks: :fireworks: :fireworks: :fireworks:
Mark Nadal
@amark
A quick summary of how AXE's DHT will work, interoperating with our RAD storage engine:
https://twitter.com/marknadal/status/1544403948122955776
Happy to expand on further detail here, given recent Qs.
tedd pasta
@azdez:matrix.org
[m]
@amark: when we create our own relay, is it express.use(Gun.serve) or express.use(Gun.serve(someDirectoryToServe))?
Daniel Raeder
@draeder
Manipulating the terminal CLI with node.js has been one of the most excruciating things I've endeavored onto.. Particularly trying to do it with no dependencies.. I caved. I now have a dependency.
Daniel Raeder
@draeder
@amark @bmatusiak Things are shaping up at work for my endeavors and I am going to need someone who can code when it truly takes off.. I'll ping when it's time
Grant Yap
@grantyap

hey guys quick question, is there a way to "construct" the subproperties of a chain just one level deep before returning it?

for example:

{
    "name": "foo",
    "address": {
        "city": "bar",
        "street": {
            // unneeded data
        }
    }
}

here, i'd like to access just the name and address.city

i thought about using load(), but i don't really need to access all the subproperties

or will i have to do separate get() calls to achieve this?

tldr: is there a way to include the resolution of subproperties when using on() or once() on a document?

Azarattum
@azarattum:matrix.org
[m]

Is there a full text search example? Like, how do I search for let’s say post’s descriptions that include the word ‘test’? Especially if the searching peer does not have all the posts currently available in it’s database.

Is there a way to tell the network “hey does anybody has X” and retrieve only the search results, but not an entire posts set? I’m okay if some kind of indexing setup is needed, since O(n) for this isn’t very nice...

rococtz
@rococtz:matrix.org
[m]
Azarattum: there isn't anything out of the box, but it can be implement with not so much effort. I wrote this example some time ago, maybe you can find what you need in it:
https://codesandbox.io/s/react-playground-forked-631nt
2 replies
rococtz
@rococtz:matrix.org
[m]
Azarattum: The users only store what they subscribe to so they won't store huge amounts of data unless they actually try to access it and subscribe to it. I think the easiest thing to do is to test your own scenario using multiple browsers and see what happens. You can always inspect the local storage in the developer console and see what gets stored
Azarattum
@azarattum:matrix.org
[m]
But, when you do get({ ".": { "*": e.target.value } }) don't you subscribe to an entire peer?
Also how did you figure out the { ".": { "*": e.target.value } } part? I can't see anything in docs mentioning that you can use something other than a string as a key to get.
Azarattum
@azarattum:matrix.org
[m]

rococtz: The users only store what they subscribe to

So, data accessed with once or load wouldn't be stored?

1 reply
rococtz
@rococtz:matrix.org
[m]
Azarattum: The data accessed with once or load will be stored. Again, try it yourself and see what happens, that's the best way to find out. This is the documentation for the queries: https://gun.eco/docs/RAD#lex
Lexi
@Lexi:matrix.org
[m]
Does anyone know what the label Object of GUN nodes is for? Is there documentation for it?
Omarabuziad
@Omarabuziad
@draeder @rococtz:matrix.org @bmatusiak @Manwe-777 @ilhamgum @amark
there is any limit on node capacity for storing data? i'm testing the node
it's start give me this message : Warning: "You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."
i'm trying to query 400 refNodes
6 replies
Suleiman Zhukov
@SuleimanZhukov
@draeder @rococtz:matrix.org @bmatusiak @Manwe-777 @ilhamgum @amark @lexi:matrix.org
How Gun get() node, does it scan, or by index?
1 reply
Omarabuziad
@Omarabuziad
image.png

@draeder @rococtz:matrix.org @bmatusiak @Manwe-777 @ilhamgum @amark @lexi:matrix.org

I have this basic structure for the database for emails but I'm sure there is something wrong
I create 613 converID Node at conversations Node, and at the user Inbox node i but the 613 references for the converID nodes
when I tried to retrieve these 613 conversations with the subject and body property, it takes more than 63 sec
I first get the hole refPath for all converId nodes at Inbox node using gun.get("accounts").get(user).get("inbox").once( async (data)=>{
after that
i loop through each ref-path and retrive the converId property
gun.get("conversations").get(converID ref-path).once( async (data)=>{
}
i feel there is something wrong , 613 records takes 63 sec ??

i also try
gun.get("accounts").get(user).get("inbox").map().once( async (data)=>{
and store data in react state and show it
}
it takes more than 111 sec !!

8 replies
Sahara NFT
@SamiLaayouni_twitter
Hello everybody. I have a couple of questions. 1) How do I save information to the user like name/age... 2) How can I implement pagination? 3) How do I make sure that users can't change the information of other users. 4) How do I subscribe to data? I'm new to this and any help would be appreciated.
Lexi
@Lexi:matrix.org
[m]
@Omarabuziad: Have you tried without React, just plain Vanilla? How long does it take then?
Daniel Raeder
@draeder
@SamiLaayouni_twitter
  1. This depends on what you want that data for.. E.g. is it an index of users for an app? If so, gun.get('app-name').get('users').get(username).put(age)
  2. Use Lex: https://gun.eco/docs/RAD#lex
  3. Use the user API: gun.user().get('root-node').put(data)
  4. gun.get('app-name').get('users').get(username).on(data => console.log(data))
Sahara NFT
@SamiLaayouni_twitter
Thanks
Bo
@worldpeaceenginelabs
@amark the magic glitches with Gun seem to happen with Sveltekit only, because its more meant for serverside rendering and routes. SvelteJS is what you want to use with Gun if. It overcomes also the 1K+/sec limitation of DOM, because there is no DOM in Svelte. And your Typescript gets compiled to vanilla-js automatically. check out https://github.com/worldpeaceenginelabs/FORM-GUN to try it yourself. It comes with Tutorial.
Omarabuziad
@Omarabuziad

@draeder @rococtz:matrix.org @bmatusiak @Manwe-777 @ilhamgum @amark @lexi:matrix.org
I have this query

const oneTimeArray = [] ;

gun.get("emails").map().once( (data)=>{

** it will return 613 records as objects for example { subject : data.subject , body : data.body }
what is the best way to render it using react ?
i try to use

1 - setEmails(prev = > [...prev , { subject : data.subject , body : data.body } ] but this make the performance so bad and the query need 1 sec to retrive data , after using setState it's take 100 sec for retrive and render the data
}

2- I tried to store the whole data in one array and then after that render it one time, like
oneTimeArray.push({ subject : data.subject , body : data.body } )

}
and after gun statement i tried to catch the array and it's keep give empty array , any ideas?