Eduba is a protocol for publishing linked articles peer-to-peer on the Holepunch platform.
In this repository is the initial proof of concept client. It is a desktop application built on Electron.
See the architecture overview PDF.
Eduba is still in phase 1 (see architecture overview PDF), and while there are installers available, Eduba will make changes that are not backwards compatible. Please use Eduba only for testing.
Download and run the package for your OS from the releases page.
Note: Publishers are being renamed to Channels, so you may see those used interchangeably. A publisher/channel is essentially the underlying data structure for transferring content.
Signing in allows you to publish articles, save bookmarks, and subscribe to channels. Eduba uses your login credentials to generate the identifiers of the channels that you create. To ensure that your publishers' identifiers are unique, Eduba uses recovery phrases and hardware wallets for signing in, as is common in cryptocurrency. Eduba supports Ethereum and Bitcoin addresses, where each address is a unique user. You are not required to be familiar with cryptocurrency to use Eduba. Just click on the icon for generating a phrase, save it as you would a password, and use it to sign in. In the future, Eduba will use a smart contract based account identifier instead of login credentials as the key to generate channel identifiers.
Articles are written in Markdown. To create an article, you must first create a publisher.
Eduba is a proof of concept and there are some bugs. If you get stuck, try deleting the localstorage cache. Article markdown supports HTML, but there is a bug, so HTML cannot have an open tag that does not have a closing tag.
yarn
touch .env
yarn start
Files are saved in the default application data directory for your OS.
Edit .env
as desired.
APP_DATA_DIRECTORY="ABSOLUTE_PATH_TO_THIS_REPO/data"
LOG_LEVEL="debug"
You can run a local Hyperswarm testnet for development.
node scripts/testnet.js
The script will output the environment variable DHT_BOOTSTRAP_NODES
.
Add it to your .env
See the Electron Forge documentation for instructions on building native OS packages.
This application is in development. Do not trust it to be a reliable store of data. Keep a copy of all the articles and files that you publish, so that if you need to, you can easily restore your data. Do not use Eduba for sensitive information.