p2p social networking with Rotonde & Beaker
Rotonde is an experiment into the idea of self-hosted social media feeds.
As described by its own specification, it is "platform agnostic", meaning that it doesn't need to be tied to a specific website, service or API. You can host the data anywhere, and distribute it in any fashion you like, as long as the structure of the data is correct.
@neauoire has opened a new codebase that brings the Rotonde concept to Beaker Browser, a p2p web-browser built on top of the dat protocol.
This guide will demonstrate setup of Rotonde within Beaker, allowing you to create new posts and follow other Rotonde users.
Install Beaker Browser
If you haven't already, install a copy of Beaker Browser.
The guide below will demonstrate how to install and use Rotonde, but if you'd like to know more about how to use Beaker, visit their Documentation website.
Fork an existing Rotonde feed
Creating a new Rotonde feed is as simple as making a copy of one that already exists. Beaker Browser conveniently allows users to "fork" p2p websites.
First, visit @neauoire's Rotonde feed at the following dat://
URL: dat://2f21e3c122ef0f2555d3a99497710cd875c7b0383f998a2d37c02c042d598485/.
Then, in the dropdown menu to the right of Beaker's address bar, click Fork this site
. Specify the title of your fork to be the name you'd like to use (eg. @alice
), then click either Finish Downloading Files
, or Create Fork
(whichever appears first).
Open your new Rotonde feed
After forking a website, it will become available in your "Library" inside Beaker. Open the application menu in the top right corner of the browser, then click Library
.
Your new website titled @alice
should now be available in the left sidebar. After this website is selected, you can navigate to it either by clicking the blue Share
button, or URL external link icon next to your website's name.
Resetting your fork
The website you forked will contain @neauoire
's Rotonde feed. To clear this out and setup a fresh feed for yourself, click the Input command here
field (this is called the "commander") at the top of the page, and press Ctrl + Shift + Backspace
.
You can then refresh the page after running these commands.
Edit your profile
To edit your feed's profile (username, description, URL), you can click the commander, and enter any of the following (press Enter
after each):
edit:name <name_goes_here> (eg. @alice)
edit:desc <description_goes_here> (eg. "p2p navigator")
edit:site <URL_goes_here> (eg. https://p2p.is.cool)
Follow another user
In Rotonde, users can follow each other using their p2p URL's. The URL that you copied and pasted, or clicked out to from your Beaker library, is yours.
You can share this URL with other users of Beaker Browser if they'd like to visit your feed, and also follow you.
To follow another user's feed, ask for their URL, and copy and paste it into the commander. Hit Enter
to begin following them, then refresh the page to start seeing their updates.
If you'd like to try, here's my Rotonde feed URL: dat://6fd46b20841eb9652081894a16014f12e19f47b97af4ab10c093284fba611d15/
Create a new post
In order to create a new post on your feed for others to see, you can simply enter new text into the commander, then hit Enter
to begin distributing it to your followers.
Editing a post
You can edit your posts by clicking on their timestamp, which will populate commands into your commander. It may look something like this:
edit:0 <post_goes_here>
If you alreaady know the ID of the post you'd like to edit, you can type this command out manually.
Deleting a post
You can also delete your posts in the same way you would edit them. To delete the post we just edited, we could type the following into the commander, or click a posts timestamp and edit the command that way:
delete:0
Distributing your feed
Beaker Browser is built on top of a p2p protocol called dat
which allow users to distribute and share websites directly between each other.
As explained earlier, the fundamental method of sharing your p2p websites (and in this case, your Rotonde feed) with other Beaker users is via the dat://
URL that you can copy to the clipboard from your Beaker library.
When a friend visits your URL, both your Beaker Browser, and your friend's Beaker Browser, will talk directly to each other and funnel data from one side to the other. Your friend can choose to seed that same URL with Beaker, so that if you go offline, and your friend is still online, your site will still be available to other users.
The idea of a p2p network is that users will seed websites and data they are interested in, allowing distribution of that information to be more resiliant and available to others, without a central repository.
In order to seed another user's Rotonde feed or Beaker p2p website, you can add it to your library by clicking the dropdown menu on the right side of Beaker's address bar and click "Add to Library".
You may want to be able to seed your Rotonde feed to other users, even if you are offline, and nobody else is available to seed for you. We can do this using a p2p website hosting service called Hashbase.
Seeding your website with Hashbase
Hashbase is a hosting service built by the creators of Beaker Browser, which can act as another seed for dat://
based websites.
Register for Hashbase, and then Login to their dashboard.
First, copy your Rotonde feed's dat://
URL from your Beaker library to your clipboard.
Next, on Hashbase's dashboard, press the blue Upload archive +
button. Paste your feed's dat://
URL into the URL
field, and set the Name
field to "rotonde". Then, press Add Archive
.
After your Rotonde feed has finished seeding to the Hashbase servers, your site will continue to be served to new visitors even after you close Beaker Browser, and go offline.