A React Native SDK for Push Protocol - Patched to work with expo from openpgp v2.7.0 to v2.7.4 - Remove this package and replace with @pushprotocol/react-native-sdk once they fix their package
npm install @kylediggs/pushprotocol-react-native-sdk
Push Protocol is a web3 communication network, enabling cross-chain notifications, messaging, video, and NFT chat for dapps, wallets, and services.🚀
- Push React Native SDK
- How to use in your app?
- Install the SDK
- Install the peer dependencies
- Nodeify the crypto packages
- Add the WebViewCrypto component in your app root
- Start using the Push SDK in your app
- Other Features
- Resources
- Contributing
- License
Push SDK provides an abstraction layer to integrate Push protocol features with your Frontend as well as Backend.
This SDK is a react-native based repo of packages that helps developers to :
- Build PUSH features into their DApps
- Notifications
- Chat
- Group Chat
without having to write a lot of boilerplate code. All the heavy lifting is done by the SDK, so that you the developer can focus on building features and bootstrap a DApp with PUSH features in no time!
#### Install the SDK
``bash`
yarn add @pushprotocol/react-native-sdk
or
`bash`
npm install @pushprotocol/react-native-sdk
#### Install the peer dependencies
`bash`
yarn add react-native-randombytes@3.6.1 react-native-webview@13.2.2 react-native-webview-crypto@0.0.25
or
`bash`
npm install react-native-randombytes@3.6.1 react-native-webview@13.2.2 react-native-webview-crypto@0.0.25
#### Nodeify the crypto packages
Add postinstall script in your package.json file if node_modules are not nodeified already
`bash`
"postinstall": "node_modules/.bin/rn-nodeify --install crypto,assert,url,stream,events,http,https,os,url,net,fs --hack"
#### Add the WebViewCrypto component in your app root
`jsx
import WebViewCrypto from 'react-native-webview-crypto';
return (
<>
>
);
`
#### Start using the Push SDK in your app
For the complete list of features and how to use them, please refer to the restapi documentation.
`jsx
import { PushAPI, CONSTANTS } from '@pushprotocol/react-native-sdk';
import { ethers } from 'ethers';
const signer = new ethers.Wallet(
'07da77f7471e5cf046ea3793421cbce90fd42a4cfcf520046a490ca1a9b636e0'
);
const account = eip155:${signer.address};
const alice = await PushAPI.initialize(signer, {
account,
env: CONSTANTS.ENV.DEV,
});
const spam = await alice.notification.list('SPAM', {
limit: 10,
page: 1,
});
`
All the remaining features of the restapi SDK are available in a similar manner to the restapi package. You can read more about them HERE
console.log('SPAM NOTIFICATIONS', spam);
``
- Website To checkout our Product.
- Docs For comprehensive documentation.
- Blog To learn more about our partners, new launches, etc.
- Discord for support and discussions with the community and the team.
- GitHub for source code, project board, issues, and pull requests.
- Twitter for the latest updates on the product and published blogs.
Push Protocol is an open source Project. We firmly believe in a completely transparent development process and value any contributions. We would love to have you as a member of the community, whether you are assisting us in bug fixes, suggesting new features, enhancing our documentation, or simply spreading the word.
- Bug Report: Please create a bug report if you encounter any errors or problems while utilising the Push Protocol.
- Feature Request: Please submit a feature request if you have an idea or discover a capability that would make development simpler and more reliable.
- Documentation Request: If you're reading the Push documentation and believe that we're missing something, please create a docs request.
Read how you can contribute HERE
Not sure where to start? Join our discord and we will help you get started!
Check out our License HERE