Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 26 19:12
    amark commented #1163
  • Nov 26 10:29
    aethiop commented #1163
  • Nov 25 20:02
    davay42 updated the wiki
  • Nov 25 20:00
    davay42 updated the wiki
  • Nov 25 20:00
    davay42 updated the wiki
  • Nov 25 01:36

    amark on master

    Thanks to @DimensionDev https:/… (compare)

  • Nov 25 01:26
    resession commented #1167
  • Nov 25 00:25
    amark commented #1167
  • Nov 24 23:32
    resession edited #1167
  • Nov 24 23:32
    resession opened #1167
  • Nov 24 07:14
    sirpy commented #1163
  • Nov 23 22:56
    amark commented #1163
  • Nov 23 21:52

    amark on master

    Change Dockerfile `python` pack… (compare)

  • Nov 23 21:52
    amark closed #1166
  • Nov 23 21:51

    amark on master

    change stats.radata file (#1161… (compare)

  • Nov 23 21:51
    amark closed #1161
  • Nov 23 21:49
    amark commented #1161
  • Nov 23 21:47
    amark closed #1160
  • Nov 23 21:47
    amark commented #1160
  • Nov 23 21:45
    tcurdt commented #1166
pwFoo
@pwFoo

Some days back there was an example with path like node names / IDs... Thats nice to get child nodes. But is there a technical reason why I shouldn't use path style (/parent/child/node) to create new nodes? I can keep that strings simple without special characters apart from /...

Ok, read graph / tree like a path seams to work, but create nodes that way seems to be not the same...

libensveto
@libensveto_twitter
@i001962:matrix.org thanks hopefully it doesnt take to long to build, and there will be abit of traction
Mark Nadal
@amark
@ruslanjan SEA includes the await ability, GUN does not by default.
@mmalmi :clap:
@3210jr :clap: @jakethejab .
@erokken:matrix.org :clap: @jakethejab
@pwFoo .open(cb after requiring it, docs/API#open
/ has no special meaning, at any point the soul or UUID could be random, not a path, so be careful.
@libensveto_twitter :clap:
pwFoo
@pwFoo
@amark I don't need recursive documents. Is it possible to hide child documents?
rococtz
@rococtz:matrix.org
[m]
@pwFoo: What do you mean by hide? Hide them when you request them or just hide them so nobody can access them at all?
pwFoo
@pwFoo
Or are all user documents visible by public key of the user?
@rococtz:matrix.org I think it's needed by design... But wasn't clear to me.
pwFoo
@pwFoo
I thought I just share one "link" (pubkey + document) to a user document and people just know about that document. But user node includes the document path of sub documents and so everybody could explore the hole user tree
rococtz
@rococtz:matrix.org
[m]
@pwFoo: yes, in gun ALL data is visible by everybody, even if they don't know the pub key
Mark Nadal
@amark
@pwFoo :clap: @rococtz:matrix.org correct, which is why SEA exists to encrypt the data so nobody can read it.
rococtz
@rococtz:matrix.org
[m]
@pwFoo: right, I should have mentioned that! everything is visible, but if you encrypt it on the client side using SEA.encrypt, everybody will still be able to see it but it won't mean anything to them
Ruslan Jankurazov
@ruslanjan
Can I use any gun relay, or specifically made for the app?
Would be cool If we could just use existing network
btw how AXE is going?
Mark Nadal
@amark
@ruslanjan better if you can deploy yoru own with the 1-click. I was gone for the 3 weeks and gotta get back to docs before I do AXE so AXE is still... trashed :( but don't worry, that's the future, so must-requirement for me.
erokken
@erokken:matrix.org
[m]
The 1-click is just running npm start in the github project right?
rococtz
@rococtz:matrix.org
[m]
erokken: correct
@amark: Imagine this situation, please: I deploy my peer to heroku and it will have AXE turned on by default. My peer will automatically be added to a cluster. After a while, my peer gets taken down for whatever reason. Is there any way to ensure the data was replicated redundantly on other peers? Is there any way to force that?
Mark Nadal
@amark
@erokken:matrix.org :clap: @rococtz:matrix.org !
@rococtz:matrix.org because we have millions of unreliable browsers to start with, that will already be emulating that behavior, yes, relay peers will have the same logic.
Peers will choose a shard key, and the health of that shard key (online replication factor) will have to be monitored.
rococtz
@rococtz:matrix.org
[m]
@amark: How can we make them choose the right shard key? Can you tell a node relay "Hey, other than being a relay, can you also make sure you always watch this subgraph?" ? The other worry is how do you watch user spaces since they are all root nodes?
Mark Nadal
@amark
shard keys will either be (A) hardcoded via environment params or (B) if not defined, the peer will ask the network to assign it a shard.
achilles
@achilldotes_twitter
Quick question, what If I try to use a DAPP like sirius without enabling LocalStorage?
rococtz
@rococtz:matrix.org
[m]
@amark: Are there any examples on how to use these shard keys? I am a bit behind on that and on AXE in general
Mark Nadal
@amark
@achilldotes_twitter it'll be in-memory only, or if you have peers, sync with them.
@rococtz:matrix.org it is not implemented yet -- oh there is another idea, want to help with AXE?
rococtz
@rococtz:matrix.org
[m]
I would like to, but where would I start? At the moment I know nothing about it
Mark Nadal
@amark
@rococtz:matrix.org what is your time zone? I'll send you some links, do a screenshare, and get you started!
🤩🤩🤩Thank you!!! You're already so helpful just replying to people too!!
Sorry I would've replied right away but I started working on docs and missed your message.
rococtz
@rococtz:matrix.org
[m]
@amark: no worries :) It would be great if you could share all the reading materials on AXE and then we can see where that takes us! I am in New Zealand
Mark Nadal
@amark
@rococtz:matrix.org well :P the explainers are in podcasts from years ago I'd have to hunt down, the code is just stuff like https://github.com/amark/gun/blob/master/lib/axe.js#L35-L58 ... what this basically says is "each time somebody asks for data, take turns sending it to 3 other peers at a time. If they happen to reply all with the same data, then stop sending it to the network. If the data is different, or nobody is subscribed, keep falling back to others in turn"
lines 69 ~ 95 is for when somebody saves data to the network, it tries to only relay it to people who are subscribed to common soul, and debounce (but that might be causing the delays :( so need to PANIC test this... https://github.com/amark/gun/blob/master/test/panic/load.js , https://github.com/gundb/panic-server )
cryptoboid
@cryptoboid
Hi! I've been trying out GUN but I've run into a problem: has anyone tried to use it with SvelteKit? Because currently it's not working for me
6 replies
achilles
@achilldotes_twitter

I have been thinking about the idea of automatically creating an account on first visit. I think it is something integral to DAPPs, but at the same time, I think slightly more credentials might be necessary for certain projects. I am thinking in particularly about email authentication. Would it be possible to use SEA to grab user emails and enforce account verification by email? I've taken a first glance at SEA but my biggest concern seems that it would be difficult to add this.

One other concern I have is that it's mentioned in the gundb docs that "It is unsafe to use usernames as links". Why? If a user can already see another username, why can't we have the username appear as example.com/username? Is this sort of option pre-built into SEA? If I can have email authentication, then I would feel more comfortable with allowing accounts to have the advantage of having example.com/username.

Just trying to get a good idea of how things work.
Thank you for taking the time to read this!

libensveto
@libensveto_twitter
@achilldotes_twitter iris does this, a name prompt is asked on first visit, it generates keys like example.com/pub . no email or passwords required, worth checking out
Ruslan Jankurazov
@ruslanjan
How to do text search. Like when user types it searches for results. I could do lex tree but docs says deeply nested things cause undefined behavour ornis it no longer true.
And it hard to keep public index correct
GiuseppeLantieri
@GiuseppeLantieri
Hello every one, i have some trouble with the heroku peers of my app, I have always get status 400
Lorenzo Mangani @qxip
@lmangani:matrix.org
[m]
Your own peers or someone elses peers on Heroku?
GiuseppeLantieri
@GiuseppeLantieri
My own peers, now all it's working but sometimes if i open the console i see the error
I dunno if is a real problem or is just something that can appen
Lorenzo Mangani @qxip
@lmangani:matrix.org
[m]
Most likely hitting an heroku limit? check the service faq
Clients that break these limits in requests will see their request fail with a 400 Bad Request response.
Wasis Haryo Sasoko
@yokowasis
Anyone have any idea on how to send message to other people using iris-lib ? I can't find anything on the docs. The example is when you have the full key pair. What if you only have pub and epub. How to send message to other people ?
Wasis Haryo Sasoko
@yokowasis
NVM. Got it
achilles
@achilldotes_twitter
@libensveto_twitter I meant if it's possible to do example.com/user instead of example.com/pub
rococtz
@rococtz:matrix.org
[m]
@ruslanjan: You have to manually create a text index. In MongoDB or SQL, this is done automatically for you (if you specify you want it indexed), but in Gun you create the index yourself:
gun.get('thatIndex').get(item.name).put(refToItem);
and then you use the LEX queries
Ruslan Jankurazov
@ruslanjan
So i just do this ‘gun.get(index).put({text: dataRef})’. I will try
@rococtz:matrix.org
Mark Nadal
@amark
@cryptoboid :wave: hiiii! :) :clap: @mundane_pftts:matrix.org ! Did that work?
@achilldotes_twitter only a server can generate emails so you'd need a backend :( :( :( tho in past we've talked about adding an email gateway to the relays that has a rate limited notification API, would you be interested in helping build this? I'll screencall and show you the code & algorithm to start. Elsewise on page load just check localStorage for account else generate await SEA.pair() to create new! Then you can SEA.secret( share their email with some admin account you run. Usernames are not secure cause there is no centralized enforcement of who owns the username, this is p2p/offline/local-first remember!
@ruslanjan 3 years ago @robertheessels built a full text search demo, but it probably would need to be rebuilt - you up for that? Its fun! :clap: @rococtz:matrix.org Bunch of phonetic word vector indices! I'll screencall and help work you thru it.
@GiuseppeLantieri :clap: @lmangani:matrix.org . Maybe try to redeploy? (If you can tell me the crash error, that'd help)
@yokowasis yo @mmalmi <-- Iris-lib Q for you!
@rococtz:matrix.org AXE screencall today work for you?