@what @cwebber let me know if this helps: we're trying to do for p2p, decentralized apps what things like rails and django did for web 2.0 apps. that is: we want to give you a technology stack that lets you focus on the business logic of your app and have the output be both secure and decentralized.
I can highly recommend taking a look at the pear runtime. If you are familiar with nodejs javascript, all it takes is:
`npm install pear -g`
and then
`pear run pear://runtime`
to get started. Just follow instructions.
This runtime is part of the @dat_ecosystem and JS was choosen to exactly provide an easy way for anyone to get started with p2p.
an example cross platform app is https://keet.io
runtime docs are here https://docs.pears.com
have fun
@serapath @what @cwebber @dat_ecosystem I am looking at the docs and it appears to be blockchain based, or at least uses something similar? is that correct? specifically looking at hypercore as it appears to be the central component https://docs.pears.com/building-blocks/hypercore
@dthompson @serapath @what @cwebber
dat started in 2013 and is a 501c3 public good organisation. the initial dat grew into a protocol, then into a project, then into a foundation hosting multiple projecys, into an ecosystem of projects with the dat a.k.a hyper stack having its own peer to peer runtime, much closer to the original nodejs vision of the early days.
The dat stack or hyper-stack including hypercore is open source and does not and will never use any blockchain.
@dat_ecosystem @serapath @what @cwebber thanks for clarifying. is it correct though that hypercore is the foundational piece here? I see "append-only log" and "signed merkle tree" in the project readme.
@dthompson @dat_ecosystem @what @cwebber
The foundational piece is hard to say in a hyper modular ecosystem.
If i would need to list the main pieces, i'd say its the interaction between the following modules:
p2p networking:
1. hyperdht
2. hyperswarm
3. hyperdht-relay
data replication protocol:
1. hypercore
2. corestore
data structures
1. hyperbee
2. hyperblob
3. hyperdrive
4. hyperdb
multiwriter
1. autobase
There are many more useful modules build and maintained by many ecosystem devs
@dthompson @dat_ecosystem @what @cwebber
And the most interesting way to start using them is probably the `bare runtime` if you want something low level
...or the pear runtime if you want to build cross platform apps and have a more electron like batteries included runtime.
pear runtime extends bare runtime
https://keet.io is an example app built with the stack and does not involve ANY servers or ANY cloud. ...it features text, image and file sgaring, video and audio calls
@serapath @dat_ecosystem @what @cwebber I found this tutorial which was helpful for understanding things a little better. https://docs.pears.com/guides/making-a-pear-desktop-app
I see that networking uses dht: hyperswarm -> hyperdht -> dht-rpc
what's the serialization format for messages (peer.write in the tutorial)? is it json?
@dthompson @dat_ecosystem @what @cwebber
all connections are streaming based on
https://github.com/mafintosh/streamx
hypercore and others use protomux
https://github.com/holepunchto/protomux
connectiins are end to end encrypted with noise
https://github.com/holepunchto/hyperswarm-secret-stream
for encoding of protomux messages it uses
https://www.npmjs.com/package/compact-encoding
@dthompson @dat_ecosystem @what @cwebber
you can do json if you want.
in hypercore its binary blocks ...encoded however you like. and its all streaming
@dthompson @what @cwebber @dat_ecosystem
afaik there is no blockchain involved.
the holepunch projects (one dat ecosystem project) is open sourcing their runtime and the only relation to "blockchain" is, that an inactive co-founder is related to a blockchain project and funded the team to keep improving the p2p tech stack, but it doesnt use any blockchain parts at all.
Somebody could use the open source p2p runtime to build an app and maybe that cpuld use blockchains if the app devs decide so
@dthompson @what @cwebber @dat_ecosystem
...but so far i havent seen anyone doing that and the holepunch team also shared the goal is to keep the stack highly modular and decoupled from anything blockchainy
also, there is another dat implementation in rust without the holepunch team involved.
@serapath @what @cwebber @dat_ecosystem also I tried to look into keet but I can't find the source code. is it proprietary?
@dthompson @what @cwebber @dat_ecosystem
yes. keey UI/UX is proprietary at the moment.
The p2p stack, the dat/hyper stack and the bare/pear runtime it is built on top of is open source.
The holepunch team said they open source keet when it hits beta, but i guess we'll have to wait and see.
In the mean time, other messengers, like https://cabal.chat and more than 20 dat ecosystem projects use the same stack as well.
two noteworthy ones are:
1. peerviewer
2. and https://holesail.io