Skip to content

Javascript client library for connecting to Bee decentralised storage

License

Notifications You must be signed in to change notification settings

IxaBrjnko/bee-js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Bee-js

Node.js tests Dependency Status standard-readme compliant js-standard-style

Client library for connecting to Bee decentralised storage

Warning: This project is in beta state. There might (and most probably will) be changes in the future to its API and working. Also, no guarantees can be made about its stability, efficiency, and security at this stage.

Table of Contents

Install

npm

> npm install @ethersphere/bee-js --save

Use in Node.js

var BeeJs = require("@ethersphere/bee-js");

Use in a browser with browserify, webpack or any other bundler

var BeeJs = require("@ethersphere/bee-js");

Use in a browser Using a script tag

Loading this module through a script tag will make the BeeJs object available in the global namespace.

<script src="https://unpkg.com/@ethersphere/bee-js/dist/index.browser.min.js"></script>

Usage

import { Bee } from "@ethersphere/bee-js"

bee = new Bee("http://localhost:1633")

const fileHash = await bee.uploadData("Bee is awesome!")
const retrievedData = await bee.downloadData(fileHash)

console.log(new TextDecoder().decode(retrievedData)) // prints 'Bee is awesome!'

Documentation

You can find the full documentation here. The API reference documentation can be found here.

You can generate API docs locally with:

npm run docs

The generated docs can be viewed in browser by opening ./docs/index.html

Contribute

There are some ways you can make this module better:

  • Consult our open issues and take on one of them
  • Help our tests reach 100% coverage!
  • Join us in our Mattermost chat if you have questions or want to give feedback

Setup

Install project dependencies with

npm i

Test

The tests run in both context: node and dom with Jest.

To run the test, you need to have a Bee cluster running locally. To create a cluster, please consult the readme of @ethersphere/bee-local.

By default, tests are run against local bee node 0 - http://bee-0.localhost. You can change it by setting environment variable BEE_API_URL. In order to run tests which require one more node, you need to define BEE_PEER_API_URL as well. Its default value http://bee-1.localhost

In Visual Studio environment, the tests have been set up to run against your local bee node on http://localhost:1633 To run Jest tests, choose the vscode-jest-tests CI job under the Run tab. You can run your own local Bee client for test purposes with the help of test/bee.sh. If you pass --ephemeral flag, the container automatically will be removed at the end of the run.

There are also browser tests by Puppeteer, which also provide integrity testing.

npm run test:browser

The test HTML file which Puppeteer uses is the test/testpage/testpage.html. To open and manually test BeeJS with developer console, it is necessary to build the library first with npm run compile:browser (running the browser tests npm run test:browser also builds the library).

Compile code

In order to compile NodeJS code run

npm run compile:node

or for Browsers

npm run compile:browser

Maintainers

License

BSD-3-Clause

About

Javascript client library for connecting to Bee decentralised storage

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 95.2%
  • Shell 2.8%
  • JavaScript 1.8%
  • HTML 0.2%