I can feel all the puzzle pieces coming together.... SecureRender for high performance and encrypted no-login/register UIs across browser/desktop/mobile, GUN for metaverse sync, and AXE fixed with people's DHT demos to scale!
Mark Nadal
@amark
gosh, such critical last pieces, still need a ton of work/engineering. Ping me if you can help.
:fire: :clap: :zap: :star: :fire: :clap: :zap: :star: :fire: :clap: :zap: :star: :fire: :clap: :zap: :star: :fire: :clap: :zap: :star: @aethiop 's PR to fix React Native with the latest manhattan version is now merged!!!!!! What an epic role model of OSS contribution :) :) :). To use it, please npm install from github main. :fire: :clap: :zap: :star: :fire: :clap: :zap: :star: :fire: :clap: :zap: :star: :fire: :clap: :zap: :star: :fire: :clap: :zap: :star:
Manwë
@Manwe-777
@amark I did not built the DHT but merely connected an existing one (https://www.npmjs.com/package/discovery-channel using bitorrent dht) with Gun, that also works for any other library alike. I would say this is nothing like AXE though, at least not the ideal version of axe you described in the papers. I am happy to join on a call anytime to explain a little more in depth how I managed to get it working along Gun and my ToolDB! could probably set up a small demo too :) Not sure how hard would it be for you to read this (typescript) but the server of my app is already running on this schema I described above; https://github.com/Manuel-777/chain-swarm The db is almost entirely built based on some of Gun's concepts but adapted to my own vision here; https://github.com/Manuel-777/tool-db
Mark Nadal
@amark
@Manuel-777 :fire: :fire: wow nice thinking! Yes, demo and is Thurs 11am CA work? + @Dletta@lmangani@connor-davis
The only important goal of AXE is to be able to handle 100M monthly active users
that is gonna require a lot of engineering work :P
swarm/dht/whatever is all necessary, so I want to understand your efforts more and write code with PANIC to benchmark scale.
WILL
@WillWang002_twitter
Hello guys. Dose anyone knows that how to see the gunDB performance such as memory, CPU etc. It is best to present it in the form of a graph
can we use .open in prod? I got bunch of Deprecated warnings
Connor Davis
@connor-davis
@amark HyperCore has basically developed the dht and one of the devs has created something called, dht-relay, and its working. I am able to connect to the dht from the browser and that means we can mess around and get gun working with it :)
Connor Davis
@connor-davis
That works for me @amark I am finished with school on Wednesday
Connor Davis
@connor-davis
Data coming through hypercore dht
This isnt the best case scenario because everyones gun data gets synced, but eventually work will pay off and they will only receive the data they ask for.
But a one room chat can use this method
Speaking of, does anyone know which event gets fired when data is meant to go out to a relay peer and be forwarded?
hi, on a nodejs stack, using another gunjs instance that i used from react frontend that work with register, get and login, and now dont work on my other nodejs stack. im connecting to my local [ 'http://localhost:8765/gun' ],
import * as SEA from'gun/sea';
const gun = SEA.GUN(gunHosts);
// hang here, no callback
gun.user().auth('username', 'pass', (res) => {
console.log('result!', res);
}));
Jasper Molgvits
@jaspermolgvits_gitlab
Sorry if this is a dumb question, but how do I create a websockety host server for gun? Just run gun on node and direct client to the IP? But how does gun know how to use websockets on my server, and how do I add the IP to the client? I'm really struggling to find this in the docs
James
@u007
Im also struggling with websocket as i know ws is the only way to connect with client peer automatically, which i do not know if it stills stand true
+1 to the two questions above. I also can't really get a hold on this in my mind...
Connor Davis
@connor-davis
LoneWolf New UI
libensveto
@libensveto_twitter
@yarnball yea drop me a dm if you have questions
@connor-davis 😍
Connor Davis
@connor-davis
Inspired by Discord and Whatsapp @libensveto_twitter
libensveto
@libensveto_twitter
its v clean i like it
[whispers - get us off gitter be our saviour]
Connor Davis
@connor-davis
Hehehe, I will have to build "room" chats into it :)
Manwë
@Manwe-777
wait @connor-davis you're writing Gun's graph to the dht? haha
Connor Davis
@connor-davis
Well not necessarily, I am relaying it over the dht
Manwë
@Manwe-777
thats rad, I thought you were just using it for handshaking ! :D
Connor Davis
@connor-davis
Nah XD
Im still learning the inner workings of how stuff gets transferred in Gun
See what happens is that the client connects to the dht and from there I get the dht to relay the data to the other sockets.
What I am excited about more so is being able to expand the capabilities, for e.g. I have built a p2p file sharing app with hyperswarm/dht that allows the desktop app (electron) to act as a server and a client, so if someone is "hosting" then someone connects to their http connection that is relayed over the dht and the "client" connects to that relay and can perform axios get requests etc, now this enables that to work in theory :)
Connor Davis
@connor-davis
But as well as that, now imagine this: You have gun-relays that connect to eachother using the dht and the dht allows them to query data from eachother, simple enough because in nodejs you can pipe data from one relay to another, so when one asks for data, whoever has the data can send it to them. The same can work for a browser client, it connects to the dht and the dht can forward that get request to all on the network and whoever has it sends it to the client. This dht-relay will open those doors if we use it correctly, together. We basically need to work together as a community on this.
Manwë
@Manwe-777
That could work yeah, I cant imagine a regular dht being as fast or reliable to handle too many things floating around though, but then again thats what Mark noticed when designing AXE over a traditional solution like this. Have you seen this one ? https://www.npmjs.com/package/trystero Im testing it to get two browsers connected and it works like a charm, its webrtc so it probably does not scale but it could be interesting
Connor Davis
@connor-davis
Agreed. Theres always a way however, the nice thing with hypercores dht is it is key based, so if I dont want my messaging app to be connected to your dht for instance, then it doesnt need to be. So it can scale I guess. At the end of the day its up to the infrastructures design.
lain: just some quick note, don't rely too much on alias, it can be misleading. The alias is not guaranteed to be unique. You can have multiple people with the same username/alias. It's best to work with pubkey and some custom display name that is saved by the user in his own subgraph