react-native-gomobile-ipfs v0.1.6
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.
đ˛ Running on Expo
- You can install to your project using
npx expo install react-native-gomobile-ipfs. - Next, you'll need to add the Helios plugin to your Expo config (
app.json,app.config.jsonorapp.config.js):
{
"expo": {
"name": "my-app",
+ "plugins": [
+ [
+ "react-native-gomobile-ipfs",
+ {
+ "bluetoothPermissionText": "$(PRODUCT_NAME) needs access to Bluetooth."
+ }
+ ]
+ ]
}
}- Once that's done, use
npx expo prebuildto generate Expo-friendly native binaries. - Finally, run
eas buildto build a new binary, or useyarn iosoryarn androidto start running.
Note: To run
eas build, you'll need tonpm install --global expo-cli eas-cli.
đ Building from Source
To build from source for Android and iOS, you'll need the following tools installed:
â ī¸ Currently the build process is only supported on Apple Silicon.
With these installed, run yarn gomobileup from the project root to generate the native binaries and link the example application.