mirror of
https://github.com/aljazceru/react-native-pubky.git
synced 2025-12-17 14:44:26 +01:00
43a62ca14b773988e860940bdec0a95bccc37f8a
react-native-pubky
React Native implementation of pubky
Installation
npm install @synonymdev/react-native-pubky
Implementation Status
Implemented Methods
- auth: Authentication functionality.
- parseAuthUrl: Method to decode an authUrl.
Methods to be Implemented
- publish: Functionality to publish content.
- resolve: Functionality to resolve content.
- signIn: Functionality to sign in.
- signUp: Functionality to sign up.
Usage
Auth
import { auth } from '@synonymdev/react-native-pubky';
const authRes = await auth("pubkyAuthUrl", "secretKey");
if (authRes.isErr()) {
console.log(authRes.error.message);
return;
}
console.log(authRes.value);
parseAuthUrl
import { parseAuthUrl } from '@synonymdev/react-native-pubky';
const pubkyAuthUrl = 'pubkyauth:///?relay=https://demo.httprelay.io/link&capabilities=/pub/pubky.app:rw,/pub/example.com/nested:rw&secret=FyzJ3gJ1W7boyFZC1Do9fYrRmDNgCLNRwEu_gaBgPUA';
const parseRes = await parseAuthUrl(pubkyAuthUrl);
if (parseRes.isErr()) {
console.log(parseRes.error.message);
return;
}
console.log(parseRes.value);
Local Installation
- Clone & npm install:
git clone git@github.com:pubky/react-native-pubky.git && cd react-native-pubky && npm i
- Delete the
rust/pubkydirectory to prevent a memory error (This step will be removed once pubky is public). - Yarn add it to your project:
yarn add path/to/react-native-pubky
Update Bindings
After making changes to any of the Rust files, the bindings will need to be updated. To do this, run the following command:
npm run update-bindings
Finally, ensure that PubkyModule.kt, Pubky.swift, Pubky.mm & src/index.tsx are updated accordingly based on the changes made to the Rust files.
License
MIT
Resources
Languages
Kotlin
38.3%
Swift
23%
C
12.7%
TypeScript
10.7%
JavaScript
9.5%
Other
5.8%