@vojtechsimetka/bee-js v0.5.0
Bee-js
Client library for connecting to Bee distributed storage
Warning: This project is in alpha 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
Use in Node.js
var Bee = require("@ethersphere/bee-js");
Use in a browser with browserify, webpack or any other bundler
var Bee = require("@ethersphere/bee-js");
Use in a browser Using a script tag
Loading this module through a script tag will make the Bee
object available in the global namespace.
<script src="https://unpkg.com/@ethersphere/bee-js/dist/index.js"></script>
Usage
import Bee from "@ethersphere/bee-js"; // Connect to a node const
bee = new Bee("http://localhost:1633");
const fileHash = await bee.upload("Bee is awesome!");
const retrievedData = await bee.download(fileHash);
console.log(retrievedData.toString()); // prints 'Bee is awesome!'
Api
The API documentation is not yet hosted anywhere, but you can generate JSdocs 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!
Setup
Install project dependencies with
npm i
Test
The tests run in both context: node and jsdom 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 defaul tests are run against local bee node 0 - http://bee-0.localhost
. You can change it by setting environment variable BEE_URL
.
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.
In order to open this file and manually test BeeJS via developer console, it's necessary to build the test JS file that it imports with npm run compile:window
.
This test JS file is identical with the Bee library itself, except it binds BeeJS functionalities to the browser's window
object.
Compile code
In order to compile NodeJS code run
npm run compile:node
or for Browsers
npm run compile:browser