March 4, 2021
Foundation

Bee-js beta release and upcoming roadmap

Only one month after our alpha release, we are happy to announce the beta release of Bee-js. It’s a JavaScript library which exposes the Bee functionalities and makes it easy to use in web projects.

The beta version adds support for Feeds and Single-Owner Chunks along with Balance, Chequebook, and Settlement APIs.

You can download it from here:

https://www.npmjs.com/package/@ethersphere/bee-js

Here is the detailed changelog:

https://github.com/ethersphere/bee-js/releases/tag/v0.5.1

We also get a lot of questions about our future plans, so we thought it’s high time to write about them.

The Bee Javascript team’s primary goal is to make the creation of decentralized applications on Swarm possible and easy. Currently, Bee provides the basic facilities to host a web application. However, the data being content-addressed (as opposed to location-addressed with the traditional websites) introduces many new, unsolved challenges regarding the security model and the way we access and handle user data.

Our approach involves developing libraries and tooling in JavaScript to empower application developers. The aim is to make building websites as easy for this new decentralized platform as it is on the current web platform, while unlocking new possibilities that are not available in the centralized world.

At the moment, there are two research areas that we are focusing on: providing higher level APIs for app developers and developing a browser extension for Swarm-enabled dapps.

Higher level API

The higher level API will support features which are either not currently available through the Bee API or not easy to use. Such features are, for example, manifests, ACLs, client-side encryption, decentralized identity handling and a default key exchange protocol.

Later, on top of these features, we are planning to build an even higher-level abstraction layer, a frequent request by developers first trying to build decentralized applications. This higher level library, dubbed Dapp DB, includes features such as a key/value database with collections, indexing & querying. It will provide a data-mapping layer and access control to easily integrate with existing application data models. Additionally, we plan to include messaging protocols as basic building blocks, streamlining the creation of social and sharing applications (forums, chat, photo albums etc.).

Swarm browser extension

Our other ongoing effort is the development of a swarm browser extension, which we currently use as a research vehicle to find out the limitations of the current browsers and provide potential answers and direction for creating a new model for dApps. Everyone is welcome to raise issues and contribute to shaping the future decentralized application environment by having a conversation with us!

We are actively working on adding protocol handling for the bzz protocol. The extension will inject swarm API for Dapps, providing convenient access and security as well. It will manage network connections (local, gateway etc.) and handle different identities.

We continuously share the results of our work with the Bee Go team, providing proposals on API changes and suggesting new features in order to make Swarm a great platform for dApps.

Other projects

There are so many ideas in this space but too little time so we need to strictly prioritize what we are working on. Fortunately, there are many promising projects and talented individuals pushing the boundaries, so we are actively looking for collaborations with others and build solutions together in an open manner.

That said, we have some projects in mind that we are considering pursuing in the future, after we have reached the milestones described above.

For example, we have done some exploratory work regarding how gateways could be used to help transition users to a decentralized model or just to provide alternate business models. This includes incentivising gateways, establishing ways to identify users, and enabling balance, payment support, and microtransactions for specific web and mobile use-cases.

We are also interested in conducting further research into libp2p webrtc connections for a JS light node, compiling Bee Go code to WASM, and potentially incorporating full node functionality in Javascript.

If any of these sound interesting to you, don’t hesitate to contact us on our official tech support channel on Discord.

Follow Swarm community news on X / Twitter.
Discussions about Swarm can be found on Reddit.
All tech support and other channels have moved to Discord!
Please feel free to reach out via info@ethswarm.org
Join the newsletter! .

By clicking on Subscribe you consent to usage of your given e-mail address for receiving communication and news about the Swarm project and news. Data will be controlled and processed by Swarm Foundation.