Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/revolunet/react-orbitdb

react hooks and providers for dealing with ipfs orbit-db datasources
https://github.com/revolunet/react-orbitdb

decentralized ipfs orbitdb react react-hooks

Last synced: 3 months ago
JSON representation

react hooks and providers for dealing with ipfs orbit-db datasources

Awesome Lists containing this project

README

        

# react-orbitdb

[![](https://img.shields.io/badge/License-Apache--2.0-yellow.svg)](https://opensource.org/licenses/Apache-2.0)
[![](https://img.shields.io/npm/v/react-orbitdb.svg)](https://www.npmjs.com/package/react-orbitdb)

react hooks and providers for dealing with [IPFS](https://ipfs.io) [orbit-db datasources](https://github.com/orbitdb/orbit-db).

You can see a demo here : https://revolunet.github.io/react-orbitdb

## Provider

`OrbitProvider` creates a shared IPFS Node and an orbit-db instance.

```js
import { OrbitProvider } from "react-orbitdb";

const App = () => ...;
```

- `config` prop with [ipfs configuration](https://github.com/ipfs/js-ipfs/blob/master/docs/CONFIG.md) can be passed to the provider. (see the [default](./src/ipfs-config.js))

## Hooks

#### useOrbitDb

`useOrbitDb` connects and return records from an OrbitDB database. `records` are updated in real-time.

```jsx
import { useOrbitDb } from "react-orbitdb";

const MyCmp = () => {
const { db, records } = useOrbitDb("/orbitdb/somehash/my-db, {
create: true,
type: 'eventlog'
});

return (


{records &&
records.map((record) =>
{record.message}
)}

);
};
```

- `options` : [OrbitDB.open options](https://github.com/orbitdb/orbit-db/blob/master/API.md#orbitdbopenaddress-options)
- the `options.create` and `options.public` values set the database world-writeable when you first create it.

#### useOrbit

`useOrbit` is included in `OrbitProvider`, you should not need it

#### useIpfs

`useIpfs` is included in `OrbitProvider`, you should not need it