Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 12:39
    fsvieira opened #1172
  • Dec 01 23:00
    amark commented #1167
  • Dec 01 21:21
    Oxey405 opened #1171
  • Nov 30 15:07
    Emad-salah opened #1170
  • Nov 29 22:49
    fsvieira edited #1168
  • Nov 29 22:47
    fsvieira commented #1168
  • Nov 29 13:47
    capitalistdog commented #1156
  • Nov 29 06:11
    amark commented #1164
  • Nov 29 04:12
    amark updated the wiki
  • Nov 29 04:05

    amark on master

    ReactNative/Expo fix for SEA (#… (compare)

  • Nov 29 04:05
    amark closed #1169
  • Nov 29 04:05
    amark commented #1169
  • Nov 29 03:33
    amark commented #1156
  • Nov 28 22:33
    aethiop opened #1169
  • Nov 28 22:05
    i001962 commented #1168
  • Nov 28 14:49
    davay42 updated the wiki
  • Nov 28 10:46
    resession commented #1167
  • Nov 28 01:49
    fsvieira edited #1168
  • Nov 28 01:33
    fsvieira edited #1168
  • Nov 28 01:08
    fsvieira edited #1168
libensveto
@libensveto_twitter

yep, the rejection is bc i got no eth to pay for it. I should play around on a testnet. The mvp would be

product creation -> checkout generator with product built in snippet -> analytics of all transactions that checkout produces -> potential profiling of repeat customers & streamlining for them.

Then b2b functionality for business to start trading in eth, with automated payments, one off payments and invoicing in eth.

like if xero or quickbooks could do b2b transactions and plug and play checkouts

@amark
libensveto
@libensveto_twitter
successful transaction with data put in a bucket on the other end
rococtz
@rococtz:matrix.org
[m]
@3210jr: It's not best practice to use root nodes in the first place because root nodes are part of the public space. That means that everybody can delete/edit that data and you don't want that. If you want to build a real app, you must use the user space which everyone can read, but the write is restricted. By default, only the owner of the user space can write, but you can grant other people write access using SEA.certify. These certificates can allow specific people or even everybody but based on certain rules (for example, you can write under my user node, but only into a sub-node that contains your pub key).
1 reply
achilles
@achilldotes_twitter
Hello all, I have finished up a project and have a lot more free time to study gun. I learn best by reverse engineering pre built things while following along with the documentation. My main concerns are understanding how log in and register systems work on gundb. I am looking for a project that performs logging/registering and perhaps some other tasks like private messaging if possible. The first open source project that pops up into my mind would be NotABug. I haven't had the time to look into their code, but the site seems very well formed from the outside. Is this the best possible project I could devoid my time to? Or has a more impressive forum/chat open source project been made for gun? Thank you for your time.
rococtz
@rococtz:matrix.org
[m]
@achilldotes_twitter: The authentication part is actually part of the SEA module, not really part of the core of Gun.
If you are interested in chat/messaging/social media built with gun, you can checkout iris messenger:
https://github.com/irislib/iris-messenger
https://github.com/irislib/iris-lib
Also, if you want to reverse engineer it, why not just straight-forward engineering without reversing it?
https://gun.eco/docs/Porting-GUN
achilles
@achilldotes_twitter
@rococtz:matrix.org thank you so much, I think this might be my prime choice as long as it's open source. Looks very robust. My only complaint is how it automatically creates an account on first page visit. However, I bet that is more of a DAPP thing and is pretty well respected in the DAPP community. I will be considering that in my implementation.
rococtz
@rococtz:matrix.org
[m]
who creates an account on first visit? iris messenger?
that's nothing to do with gun
it's just an app decision in iris messenger
Mark Nadal
@amark
@3210jr :wave: ! :clap: @rococtz:matrix.org
@libensveto_twitter ahh duh I should have realized that lol sorry. Interesting. I'm not super familiar with blockchain/payment world, so is what gun is doing here is realtime updates - but don't they depend upon reading ethereum status, so therefore just as slow?
@achilldotes_twitter :wave: ! :clap: :clap: @rococtz:matrix.org !
libensveto
@libensveto_twitter
@amark a failed transaction -> failed gun put() so yea just as slow. Guns the backbone for attaching wallets to people, analytics for sales and inventory management.
Ruslan Jankurazov
@ruslanjan
Does .then() no longer required?
rococtz
@rococtz:matrix.org
[m]
@3210jr: anytime, good luck with the app 👍️ I think we always have to assume bad intentions from the users when building apps
@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?