@justpush/sdk
v0.1.0
Published
Justpush protocol sdk
Downloads
3
Readme
JustPush brings notification capabilities to the TRON ecosystem.
The protocol consists of several componenets.
All the components were implemented in the hacakthon timeframe.
Smart contracts
[github.com/justpush-protocol/contracts]
JustPush node
[github.com/justpush-protocol/node]
JustPush SDK
This repository
Dapp
[github.com/justpush-protocol/frontend]
Telegram Bot
[github.com/justpush-protocol/telegram-bot]
Discord Bot
[github.com/justpush-protocol/discord-bot]
JustPush SDK
Installation
Install the package using npm:
npm install @justpush/sdk
If you are using yarn:
yarn add @justpush/sdk
Usage
Start by creating a new instance of the JustPush client.
You can use the new
keyword like any other class.
The constructor takes a single argument, which is tronweb instance.
If you are on the browser (dApp), you can use window.tronWeb
instead. Otherwise (on the backend likely), you can use require("tronweb")
.
import { JustPush } from "@justpush/sdk";
import TronWeb from "tronweb";
const tronWeb = new TronWeb({
fullHost: "https://api.trongrid.io",
privateKey: "YOUR_PRIVATE_KEY",
});
const justPush = new JustPush(tronWeb);
List groups a user is subscribed to
const groups = await justPush.listGroups({
filter: {
subscribed: true,
},
});
// get the first group
const group = groups[0];
const groupId = group.id;
List groups you own
const groups = await justPush.listGroups({
filter: {
owner: true,
},
});
Sending a notification
Checkout the docs for more details on sending a notification.
https://docs.justpush.app/developer-guides/sending-notification
await justPush.sendNotification({
{
id: uuidv4(), // A unique id
groupId: 'cb5edeb6-a8a1-466a-aa6c-0d01d88fa68e',
to: undefined,
notification: {
title: 'Hi there',
content: 'Welcome to JustPush',
link: 'justpush.app',
},
broadcast: true,
self: false,
timestamp: (Date.now())/1000,
});
Subscribing to a group
const groupId = "cb5edeb6-a8a1-466a-aa6c-0d01d88fa68e";
const subscription = await justPush.subscribe({ groupId });
Monitoring notifications of a user
justPush.monitorNotifcations(USER_WALLET_ADDRESS).subscribe((result) => {
if (result.data && result.data.notificationAdded) {
const { data, group } = result.data.notificationAdded;
const title = data.title;
const content = data.content;
const link = data.link;
// do something with the notification
}
});