Beaker, a P2P browser for decentralized sites

After two years of development, first release announced significant experimental web browser "Beaker 1.0", what stands out for its integrated support for the protocol of Hypercore P2P communications.

With this protocol, a decentralized content delivery network is formed, whose nodes are browser users. Said network allows you to host web applications that do not require servers.

The project code is written in JavaScript using the Chromium engine and the Electron platform and is distributed under the MIT license.

The Hypercore protocol combines blockchain and BitTorrent technologies. As with BitTorrent, visitors download files from the site and begin to participate in its distribution.

The main difference with Hypercore is the ability to modify files without creating a new URL.

To create your site, you just need to prepare the necessary HTML / JavaScript code, create a Hyperdrive environment and place a link to this environment, which is accessed via the URL "hyper: //".

When you open this link, the content will be downloaded directly from the author's system, after which the uploader may participate in its distribution to other users.

The Hypercore protocol relies on a record that is available only to add new data and does not allow changes to the information already added.

Such records can be quickly distributed among network participants in P2P mode, while each node can download only the fragments of interest in the record and start participating in their distribution.

The integrity of the record is verified by the "Merkle Tree" structure, in which each branch verifies all the underlying branches and nodes, thanks to the joint hash (in the form of a tree) using the BLAKE2b-256 hash function.

Having the final hash, the user can verify the correctness of the entire history of operations, as well as the correctness of the past states of the database.

To create sites, the browser has a built-in code editor, tools to synchronize directories with the content of the site, a web terminal (a command console for navigating the Hyperdrive environment) and a special API for reading and downloading files.

Supports linking multiple Hyperdrive environments, merge environments, create forks, participate in the distribution of other users' environments.

In addition to the creation of decentralized sites, Beaker application areas such as the exchange of private data (access to the resource can only be obtained by a link informed in the form of a hash), the organization of web programming training (in the process can be limited to a browser without additional server systems and tools), simplifying interaction in web development teams and testing site prototypes (you can fork the site, make a change and share the result).

How to install Beaker 1.0 on Linux?

For those who are interested in being able to install this web browser on their distro, they should know that the package for Linux is currently built in AppImage format or to build it from source code.

In the first of the two cases, we must download any of the current packages. We do this from the following link.

For the case of Appimage like For example, I'll take the latest version 1.0 right now, it's downloaded with:

wget https://github.com/beakerbrowser/beaker/releases/download/1.0.0/Beaker.Browser-1.0.0.AppImage

We give execution permissions with:

sudo chmod +x Beaker.Browser-1.0.0.AppImage

And we execute with double click on the file or from the terminal with:

./Beaker.Browser-1.0.0.AppImage

Now, for those who are interested in building the browser from source code, they should have ibtool, m4, autoconf and automake.

To install these tools, for example on Debian, Ubuntu and any derivative of these:

sudo apt-get install libtool m4 make g ++ autoconf

In the case of Fedora and derivatives:

sudo dnf install libtool m4 make gcc-c ++ libXScrnSaver

And finally, to compile the browser, just type the following commands:

git clone https://github.com/beakerbrowser/beaker.git
cd beaker / scripts
npm install
npm run rebuild
npm start

If you want to know more about it, you can check the following link.



		

The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.