Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fairdatasociety/fairos-js

Library for interaction with FairOS API. Works in the browsers and on Node.js.
https://github.com/fairdatasociety/fairos-js

Last synced: 7 days ago
JSON representation

Library for interaction with FairOS API. Works in the browsers and on Node.js.

Awesome Lists containing this project

README

        

# FairOS-js

Library for interaction with FairOS API. Works in the browser and on Node.js.

### How to start using in browser?

FairOS-js depends on Axios lib, but not contain it inside. So you should add Axios before using.

```

```

To install the lib with package manager you can run:

`yarn add @fairdatasociety/fairos-js`

or

`npm i @fairdatasociety/fairos-js`

```js
const FairOS = require('@fairdatasociety/fairos-js');

const username = 'admin';
const password = 'admin';
const pod = 'mypod';

const fairos = new FairOS('http://localhost:9090/v1/');

async function run() {
let data = (await fairos.userSignup(username, password)).data;
console.log('userSignup response', data);

data = (await fairos.podNew(pod, password)).data;
console.log('podNew response', data);

const formData = new FormData();
formData.append('files', new File(['Hello world'], '1.txt'));
await fairos.fileUpload(pod, '/', formData);

await fairos.fileDownload(pod, '/1.txt', '1.txt', percent => {
console.log('percent download', percent);
});
}

run().then();
```

### Using examples

You can find examples of using each method of the library in the file `/test/1_user.test.js`

### Testing

Testing required spun up FairOS and Bee node with possibility to clear data before every testing process running.

0 - Copy `test/example.env` to `test/.env` and define your FairOS node url.

1 - Clear data for Bee and FairOS

2 - Run

`yarn test`

### Test nodes

Run and fund node

```
sudo docker run \
-v /home/pi/api-test/bee-docker-data:/home/bee/.bee \
-p 1635:1635 \
-p 1634:1634 \
-p 1633:1633 \
--rm -it ethersphere/bee:0.6.2 \
start \
--password=IKGV7tyf76F \
--cache-capacity 3000000 \
--swap-endpoint https://goerli.infura.io/v3/YOUR_KEY \
--debug-api-enable
```

Withdraw 0.1 gBzz from chequbook

`curl -XPOST "http://localhost:1635/chequebook/withdraw?amount=1000000000000000"`

Create stamps

`curl -s -XPOST http://localhost:1633/stamps/10000000/20`

Fill it to docker-compose.yml, then run

`docker-compose down && docker-compose up -d`