Build

Swarm provides a complete stack of essential base layer components for developers. Create and host dApps, NFT meta-data, and media files - all decentralised!

Bee

Bee is a peer-to-peer client that connects you with other peers all over the world to become part of Swarm network, a global distributed p2p storage network that aims to store and distribute all of the world's data. Running a full Bee node gives you all the functionalities of Swarm.
1 Welcome to Swarm.... Bzzz Bzzzz Bzzzz
2                 \     /
3             \    o ^ o    /
4               \ (     ) /
5    ____________(%%%%%%%)____________
6   (     /   /  )%%%%%%%(  \   \     )
7   (___/___/__/           \__\___\___)
8      (     /  /(%%%%%%%)\  \     )
9       (__/___/ (%%%%%%%) \___\__)
10               /(       )\
11             /   (%%%%%)   \
12                  (%%%)
13                    !

Bee-js

Bee-js is Bee’s complementary JavaScript library. It’s a powerful tool for building completely decentralised apps with just a few lines of code.
1 $ curl http://localhost:1633/chequebook/cashout/36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f
2
3 {
4     "peer""36b7efd913ca4cf880b8eeac5093fa27b0825906c600685b6abdd6566e6cfe8f",
5     "lastCashedCheque": {
6         "beneficiary": "36b7efd913ca4cf880b8eeac5093fa27b0825906",
7         "chequebook": "36b7efd913ca4cf880b8eeac5093fa27b0825906",
8         "payout": "1000000000000000000"
9     },
10     "transactionHash": "0x780cb6a37d1946978087896e1e489c37e30fe3e329510fff8d97360f73529f5a",
11     "result": {
12         "recipient": "36b7efd913ca4cf880b8eeac5093fa27b0825906",
13         "lastPayout": "1000000000000000000",
14         "bounced": true
15     },
16     "uncashedAmount": "1000000000000000000"
17}

Swarm-CLI

Manage your Bee node and interact with the Swarm network in the command line. Upload and download files, folders, and websites, or manage different feeds, identities and nodes easily. Convenient access to advanced Swarm features, including easier coding with swarm-cli, postage stamps management from the command line, and automation.
1 swarm-cli feed upload dist --topic-string "Awesome Swarm Website"
2
3 ? Please select a stamp for this action. Stamp ID Usage (Use arrow keys)   
4
5 Stamp ID                                                       Usage
6 (Use arrow keys)
7 72a2d620385ed69fae10ceZadb7b2876b3a79ee0de193075f11973704593afe4 (1%)
8 a699acff6658f1ef44841dZeaZef07f620367bc3c0d791922c546ab07ddccd09 (19%)
9 39ee792a973aa0b28a7a4d8a8cd4b9616f93cb5d365b5d5183113c9f2ffzafb9 (33%)
10
11 Swarm root hash -> 937c0fc88583e42086737952cee8c6bd394fc8bb4cfd16c68…
12 URL -> http://localhost:1633/bzz/937c0fc88583e42086737952cee8c6bd394…

Bee API

The Bee API provides a HTTP interface with a rich set of endpoints for accessing data on the network - manage your node resources and get operational metrics and insights.
1 import { Bee } from  "@ethersphere/bee-js"
2
3 const bee = new Bee("http://localhost:1633")
4
5 // Be aware, this creates on-chain transactions that spend Eth and BZZ!
6 const batchId = await bee.createPostageBatch(‘100’, 17)
7 const uploadResult = await bee.uploadData(batchId, "Bee is awesome!")
8 const data = await bee.downloadData(uploadResult.reference)
9
10 console.log(data.text()) // prints ‘Bee is awesome!’

Layer2 tooling through ecosystem initiatives

Below are several ecosystem-based projects that enable faster development while promoting data interoperability and sovereignty. The Swarm Foundation is pleased to support the projects presented, but makes no guarantees about how they'll work. All projects are in an intensive development phase, but contributions are more than welcome. Additionally, contributions to the projects listed below can be supported through [**Swarm grants**](https://my.ethswarm.org/grants).
fairOS - run a database on top of Swarm
With fairOS, instead of dealing with chunks and separate files directly on Swarm you can work with a distributed file system, key-value database or database doc (multi-index). fairOS provides developers a head start and a decentralised backend.
fairDRIVE - data store for your users
Fairdrive is decentralised “Dropbox / Google drive”, running on Swarm. A UI for dapp and personal data. (D)apps can save and read data from it, which enables users to reclaim, own and manage their data while enabling developers to use it as a white-label and save on development time.
Fair data protocol - interoperability
Swarm imagines a plural future with multiple data stores serving different purposes. FDP is the glue between them, enabling interoperability. Currently, the project is under intense development. The community can contribute to or suggest improvements through Fair data improvement proposals.

Join us! #develop-on-swarm room at our Discord Server

Run a full node

The Swarm Network is economically self-sustaining due to a built-in incentive system built on smart contracts on the Ethereum blockchain. Swarm incentives are enabled by the BZZ token.

Incentivised P2P Storage

Swarm uses the blockchain to provide a layer of incentivisation that has been missing from p2p file sharing and data transfer over decades of peer-to-peer research. Built-in incentives seek to optimise the allocation of bandwidth (SWAP) and storage resources (Postage stamps) and render Swarm economically self-sustaining. Swarm nodes track their relative bandwidth contribution on each peer connection, and excess debt due to unequal consumption can be settled in BZZ. Publishers in Swarm must spend BZZ to purchase the right to write data to Swarm and prepay some rent for long term storage.
Empower digital freedom
By running a full Swarm node you are actively enabling a P2P data storage network that enables publishers and dapp developers making web3 decentralised.
Public Interest
Swarm establishes a system where important public data projects, such as Open Street Maps, can be collectively funded. Check out Wikipedia prize.

Swarm Desktop

Swarm Desktop (Beta) offers decentralised access to the Swarm network and an easy-to-use experience.
Swarm Desktop is in Beta and currently includes the Sentry application monitoring and bug reporting software which automatically collects data in order to help improve the software.

Access Swarm network

Run a lightweight Swarm node on your own computer, and you'll have direct peer-to-peer access to the network. No need to rely on centralised gateways. Use your favourite web browser to manage your node, browse websites, and upload or download data directly from peers in the Swarm network.
Join Swarm with just 1 click
Joining the Swarm network has never been easier, simply download and install Swarm Desktop.
Unlimited access
Upload and share content without limitations on the Swarm network by funding your node with BZZ.
Manage your data persistence
Swarm Desktop (Beta) makes it easy to buy and manage the stamps that will keep your content alive on the Swarm network.
Easily host websites
Upload your website to the Swarm network and make it universally accessible. Easily share it with preview URLs, or link it with your ENS name for easy discovery.
Explore before you build
Swarm Desktop makes it simple for you to try out and explore the functionality of the Swarm network. Easily check your Swarm light-node's status, settings, and wallet.
Upload and forget
No need to keep your node running. Once you have uploaded your content to Swarm, it will automatically be kept alive by a worldwide network of peers.
Read, learn, participate

Swarm Connect

Upcoming events

Winter Solstice Event, online, December 21
Monthly Ecosystem Call, online, January 26
WAM Hackathon, online, March 1-21, 2023
Swarm Summit, TBC, June 21, 2023
Swarm Foundation, 2022 · Privacy policy
Hosted on Swarm