Simple Swarm interface to (or other gateways)
Switch branches/tags
Nothing to show
Clone or download
Latest commit 7740f06 Aug 9, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Include .gitignore Dec 4, 2016
LICENSE Initial version Dec 4, 2016 Better API Aug 9, 2018
index.js Fix blatant typo Aug 9, 2018
package.json 0.3.1 Aug 9, 2018
swarmgw Better API Aug 9, 2018


This library can be used to upload/download files to Swarm via (or an optionally provided gateway).

Note that while this is a convenient feature as of today, it may not be present indefinitely.

Library usage

const swarmgw = require('swarmgw')(/* opts */)

// This should output the hash: 931cc5a6bd57724ffd1adefc0ea6b4f0235497fca9e4f9ae4029476bcb51a8c6
swarmgw.put('Hello from swarmgw!', function (err, ret) {
  if (err) {
    console.log('Failed to upload: ' + err)
  } else {
    console.log('Swarm hash: ' + ret)

// This should output the content: Hello from swarmgw!
swarmgw.get('bzz-raw://931cc5a6bd57724ffd1adefc0ea6b4f0235497fca9e4f9ae4029476bcb51a8c6', function (err, ret) {
  if (err) {
    abort('Failed to download: ' + err)
  } else {

The opts above is a map of options:

  • gateway: supply your own gateway URL, if not provided, it will use ""
  • mode: can be http or https (default is https), ignore if gateway is provided

CLI usage

It can also be used via the command line if installed globally (npm install -g swarmgw). To see the help: swarmgw --help.


MIT License

Copyright (C) 2016 Alex Beregszaszi