A JS version of ZeroNet, using libp2p.
This project was mainly created to see how the zeronet protocol can be improved and to provide better programmaticall usage of zeronet.
But it will also be compatible with zeronet-py (and will have an uiserver).
TODO...
Todos/Notes have been moved to the Roadmap
Just run npm start
and it should:
- Launch a server on 0.0.0.0:15543
- Launch a uiserver on 127.0.0.1:15544
- Make itself visible in the mdns
We expose a streaming interface based on pull-streams
, rather then on the Node.js core streams implementation (aka Node.js streams). pull-streams
offers us a better mechanism for error handling and flow control guarantees.
You can learn more about pull-streams at:
- The history of Node.js streams, nodebp April 2014
- The history of streams, 2016
- pull-streams, the simple streaming primitive
- pull-streams documentation
If you are a Node.js streams user, you can convert a pull-stream to a Node.js stream using the module pull-stream-to-stream
, giving you an instance of a Node.js stream that is linked to the pull-stream. For example:
const pullToStream = require('pull-stream-to-stream')
const nodeStreamInstance = pullToStream(pullStreamInstance)
// nodeStreamInstance is an instance of a Node.js Stream
To learn more about this utility, visit https://pull-stream.github.io/#pull-stream-to-stream.
ZeroNetJS is developed independently from ZeroNet
Docs are autogenerated by a script