![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@ethersphere/bee-js
Advanced tools
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.
This project is intended to be used with Bee version 1.12.0. Using it with older or newer Bee versions is not recommended and may not work. Stay up to date by joining the official Discord and by keeping an eye on the releases tab.
> npm install @ethersphere/bee-js --save
> yarn add @ethersphere/bee-js
Be aware, if you are running Yarn v1 and are attempting to install this repo using GitHub URL, this won't unfortunately
work as it does not correctly handle execution of prepare
script.
We require Node.js's version of at least 12.x
var BeeJs = require("@ethersphere/bee-js");
var BeeJs = require("@ethersphere/bee-js");
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>
import { Bee, BeeDebug } from '@ethersphere/bee-js'
const bee = new Bee('http://localhost:1633')
const beeDebug = new BeeDebug('http://localhost:1635')
// Be aware, this creates on-chain transactions that spend Eth and BZZ!
const batchId = await bee.createPostageBatch('2000', 20)
const uploadResult = await bee.uploadData(batchId, "Bee is awesome!")
const data = await bee.downloadData(uploadResult.reference)
console.log(data.text()) // prints 'Bee is awesome!'
Check out our examples repo for some more ideas on how to use bee-js
You can find the full documentation here. The API reference documentation can be found here.
There are some ways you can make this module better:
Install project dependencies with
npm i
Node 18 came with its own fetch's native implementation called Undici. If you want to run bee-js tests under Node 18, then disable
the native's fetch implementation otherwise unit tests will fail as they capture HTTP calls with library called nock
that does
not support native fetch yet.
export NODE_OPTIONS='--no-experimental-fetch'
The tests run in both context: node and dom with Jest.
To run the integration tests, you need to spin up local Bee cluster using our bee-factory
project.
In order to do that you have to have locally Docker running on your machine, but afterwards you can just simply run npm run bee
, which spins up the
cluster and display Queen's logs. If you want to exit hit CTRL+C
.
If you want to skip creation of postage stamps every run of integration tests you can create stamps for both nodes and set them under env. variables BEE_POSTAGE
and BEE_PEER_POSTAGE
.
By default, for integration tests two bee nodes are expected to run on localhost on addresses http://localhost:1633
and http://localhost:11633
. These are the default values for the bee-factory
script.
If you want to use custom setup, you can change the behavior of tests to different addresses using environment variables BEE_API_URL
, BEE_DEBUG_API_URL
, BEE_PEER_DEBUG_API_URL
and BEE_PEER_API_URL
.
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).
In order to compile NodeJS code run
npm run compile:node
or for Browsers
npm run compile:browser
FAQs
Javascript client for Bee
The npm package @ethersphere/bee-js receives a total of 358 weekly downloads. As such, @ethersphere/bee-js popularity was classified as not popular.
We found that @ethersphere/bee-js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.