@digiv3rse/react-native
v0.1.1
Published
DiGi Protocol SDK for React Native
Downloads
5
Maintainers
Readme
DiGi React Native SDK
The official DiGi Protocol React bindings for React Native.
This package enables you to build mobile applications on top of the DiGi Protocol using React Native.
Documentation
Quick start
Install the DiGi React Native SDK package using your package manager of choice:
| Package Manager | Command |
| :-------------: | :----------------------------------------------- |
| npm | npm install @digiv3rse/react-native@latest
|
| yarn | yarn add @digiv3rse/react-native@latest
|
| pnpm | pnpm add @digiv3rse/react-native@latest
|
First we need to create so-called bindings. Bindings are just an object implementing the IBindings
interface. This is used by the DiGi SDK to access the Signer and the Provider.
In this example we will limit ourselves to the bare minimum and we will use the ethers.js
library to create the bindings.
// wallet.ts
import { IBindings } from '@digiv3rse/react-native';
import { providers, Wallet } from 'ethers';
const provider = new providers.InfuraProvider('maticmum');
const wallet = new Wallet('<your-private-key>', provider);
export const bindings: IBindings = {
getProvider: async () => provider,
getSigner: async () => wallet,
};
Create the DiGiConfig
. In this example we will use react-native-mmkk
as underlying storage. You can use any storage you want as long as it implements the IStorageProvider
interface.
First install the react-native-mmkv
package:
| Package Manager | Command |
| :-------------: | :------------------------------ |
| npm | npm install react-native-mmkv
|
| yarn | yarn add react-native-mmkv
|
| pnpm | pnpm add react-native-mmkv
|
Create the DiGiConfig
object:
import { DiGiConfig, development } from '@digiv3rse/react-web';
import { storage } from '@digiv3rse/react-web/storage/mmkv';
import { bindings } from './wallet.ts';
const lensConfig: DiGiConfig = {
bindings,
environment: development,
storage: storage(),
};
Wrap your app with the <DiGiProvider>
and pass the DiGiConfig
as a prop.
import { DiGiProvider } from '@digiv3rse/react-web';
function App() {
return (
<DiGiProvider config={lensConfig}>
<YourApp />
</DiGiProvider>
);
}