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
rococtz
@rococtz:matrix.org
[m]
@ruslanjan: what do you mean by that?
Ruslan Jankurazov
@ruslanjan
@rococtz:matrix.org I can do this data = await gun.get("someNode") and it works. But docs says that I should call .then() beforehand
i001962
@i001962:matrix.org
[m]
Uplibensveto_twitter (libensveto) this is inspiring!
Martti Malmi
@mmalmi
Iris should automatically create an account if you navigate to a url other than the root (https://iris.to). I chose that so I don’t need to make views for non-logged-in users, keeping things simple
Yet you’re not blocked by the login screen when following a direct link to someone’s profile
Ally Jr
@3210jr
Hey again, the docs indicate that the user.grant() method is deprecated, what is recommended instead of that? is it to create a certificate like: var certificate = await SEA.certify(alice.pub, ["^AliceOnly.*"], bob) and then use the cert in writing to the users node?
I'm coming across it in a few examples and snippets, and have some uncertainty around it. Thanks!
1 reply
erokken
@erokken:matrix.org
[m]
Maybe stupid question but couldn't find in docs... Is there anyway to protect data from unauthorized modification or maybe immutable unchangeable data?
1 reply
pwFoo
@pwFoo

Hi,
I played with user nodes as read only data and was surprised to see users child nodes listed by get users node by pub key?

gun.get('~<PUBKEY>').once(console.log)
[...]
BUM: {#: '~MHmPSW9L6hPIz6LSOT_awz53vgOV3KzJU_q6EjtwbYc.hAorZTIMtoVvGiIOSlFVG0Ts_PlwDsoRm6gJikT_ZL4/BUM'}
BUM2: {#: '~MHmPSW9L6hPIz6LSOT_awz53vgOV3KzJU_q6EjtwbYc.hAorZTIMtoVvGiIOSlFVG0Ts_PlwDsoRm6gJikT_ZL4/BUM2'}
BUM3: {#: '~MHmPSW9L6hPIz6LSOT_awz53vgOV3KzJU_q6EjtwbYc.hAorZTIMtoVvGiIOSlFVG0Ts_PlwDsoRm6gJikT_ZL4/BUM3'}
BUM4: {#: '~MHmPSW9L6hPIz6LSOT_awz53vgOV3KzJU_q6EjtwbYc.hAorZTIMtoVvGiIOSlFVG0Ts_PlwDsoRm6gJikT_ZL4/BUM4'}
[...]

So it's possible to read the hole user nodes / graph if the public key is known?

erokken
@erokken:matrix.org
[m]
So have a user/trusted node encrypt data in a signed fashion so as long as you trust that user you can rely on the data?
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 /...
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