Push snap is a tool that allows users to receive real-time notification alerts of their favourite web3 applications directly in their Metamask wallet.
Push snaps aims to resolve this specific UX issue by bringing all essential updates of the user directly into their Metamask wallet itself. This completely eliminates the need to bounce between multiple web3 applications as the user’s Metamask wallet itself acts as a unified notification center for all imperative web3t updates for the user.
Installation and set up of Push Snap includes 5-simple steps:
Clone the project
git clone https://github.com/ethereum-push-notification-service/push-protocol-snaps
2. Go to the snap directory
3. cd snap
4. Install dependencies
yarn install
5. Start the server
yarn start
6. Go to the dapp directory
cd push-snap-site
7. Install dependencies
npm i
8. Start the server
` npm run dev`
---
## Permissions required by Push Snap
- **Local storage:** To store the addresses to send notifications and PGP private key to send PUSH Chat notifications
- **Periodic actions**: This includes sending notifications every minute to the wallet
- **Dialog Boxes**: This includes Popups for showing notifications on screen and the initial screen
- **Internet Access**: The snap has internet access and can make API calls using fetch()
- **Ethereum Provider**: This allows the snap to access the first connected account in metamask
> Note: *This doesn’t have access to any KEYS and can’t initiate any transactions on anyone’s behalf.***
---
## Resources
- **[Website](https://push.org)** To checkout our Product.
- **[Docs](https://docs.push.org/developers/)** For comprehensive documentation.
- **[Blog](https://medium.com/push-protocol)** To learn more about our partners, new launches, etc.
- **[Discord](https://discord.com/invite/pushprotocol)** for support and discussions with the community and the team.
- **[GitHub](https://github.com/ethereum-push-notification-service)** for source code, project board, issues, and pull requests.
- **[Twitter](https://twitter.com/pushprotocol)** for the latest updates on the product and published blogs.
## Contributing
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 <a href="https://github.com/ethereum-push-notification-service/push-sdk/blob/main/contributing.md">HERE</a>
Not sure where to start? Join our discord and we will help you get started!
<a href="https://discord.com/invite/pushprotocol" title="Join Our Community"><img src="https://www.freepnglogos.com/uploads/discord-logo-png/playerunknown-battlegrounds-bgparty-15.png" width="200" alt="Discord" /></a>
## License
Check out our License <a href='https://github.com/ethereum-push-notification-service/push-sdk/blob/main/license-v1.md'>HERE </a>