Skip to content

โš›๏ธ ๐ŸŒ Access the Interplanetary File System (IPFS) from React Native without trusted third parties.

License

Notifications You must be signed in to change notification settings

cawfree/react-native-gomobile-ipfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

react-native-gomobile-ipfs

Access to the Interplanetary File System (IPFS) for React Native apps without depending upon trusted third parties.

Enables self-sovereign access to decentralized file systems for cross-platform applications. The property of decentralization is critical for dApps; where data verifiability, integrity and availability are of paramount importance; usually in applications which deal with censorship-resistance or demand reliable off-chain storage.

โ„น๏ธ This project is a hard fork of tesseract-one/react-native-gomobile-ipfs ๐Ÿ’•

react-native-gomobile-ipfs works by launching a dedicated Kubo RPC API v0 which can be easily accessed at runtime via traditional networking libraries such as axios.

๐Ÿš€ Getting Started

You can install react-native-gomobile-ipfs using Yarn:

yarn add react-native-gomobile-ipfs

โœ๏ธ Usage

In this module, importing react-native-gomobile-ipfs exports a start() function, which allows the app to launch a localhost API. In the example below, we show how to cat the hello worlds tutorial hash:

import { start, getIpfsUri } from 'react-native-gomobile-ipfs';
import axios from 'axios';

// ...
const { stop } = await start();

const uri = getIpfsUri(); // i.e. "http://localhost:5001/api/v0"

const {data: result} = await axios({
  url: `${uri}/cat?arg=QmZ4tDuvesekSs4qM5ZBKpXiZGun7S2CYtEZRB3DYXkjGx`,
  method: 'post',
});

console.log(result); // "hello, worlds"

await stop();

By calling getIpfsUri(), we can determine the platform-specific localhost URI of our IPFS API. Once finished, we safely close() the resource to terminate the server.

For further demonstration, please check out the Example App.

๐Ÿ— Building from Source

To build from source for Android and iOS, you'll need the following tools installed:

With these installed, run yarn gomobileup from the project root to generate the native binaries and link the example application.

โœŒ๏ธ License

MIT

About

โš›๏ธ ๐ŸŒ Access the Interplanetary File System (IPFS) from React Native without trusted third parties.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 38.7%
  • C++ 14.5%
  • JavaScript 11.9%
  • Objective-C++ 8.8%
  • TypeScript 6.8%
  • Ruby 6.0%
  • Other 13.3%