Whitepaper
Twitter
Telegram
Search…
Ethereum Push Notification Service (EPNS)
DISCLAIMER
Index
Introduction
Introduction
Specs and Architecture
Specifications
EPNS Protocol
EPNS Products
Integration Flow for dApp / Server / Smart Contract
Creating Channel on dApp / Server / Smart Contract
Sending Notification from dApp / Serverless
Sending Notification from Server
Sending Notification from Smart Contract
Introduction to Push Nodes
Future Features & Research
Governance
Governance
Risks
Risks
Summary
Summary
Team & Acheivements
Founders
Achievements
References
References
Powered By
GitBook
Creating Channel on dApp / Server / Smart Contract
The creation of channel is a
one time process
and as such is recommended to do it either from EPNS dApp, EPNS JS library or a custom JS library of your choice.
Information about the channel payload specs is described here
.
Interfacing directly via smart contract to protocol to create a channel can also be done by calling it
with
public key registry
function
1
createChannelWithFeesAndPublicKey(ChannelType _channelType, bytes calldata _identity, bytes calldata _publickey) external
Copied!
without
public key registry
function
1
createChannelWithFees(ChannelType _channelType, bytes calldata _identity)
Copied!
Parameter
Sub Field
Description
_channelType
​
The type of channel to create
_identity
​
The identity field consists of the following parameters joined together with a delimiter.
​
payloadtype
Payload type not only indicates the content of notification but also the storage implementation stored.
​
payloadhash
Indicates the hash of the payload through which payload data can be obtained.
_publickey
​
Pass the publickey of the wallet in bytes
ChannelType
Description
0
Non Interest Bearing, Protocol Reserved Channel for Information
1
Special Interest Bearing Protocol Reserved Opt in Channel for Promotion
2
Interest Bearing, Open Channel
3
Interest Bearing, Mutual Channel
payloadtype
Description
1
Represents storage on IPFS with letters Qm happen to correspond with the algorithm (SHA-256) and length (32 bytes) used by IPFS.
The delimiter
+
is used for joining the fields together, this is done to optimize the payload written on chain.
Example
_identity
: 1+QmXSuc8iVsNFtsqrFvgHWpa6tJXFLoq2QEWYu2aS6KF8ux
Example
_publickey
: 0x187c0568118be8032ece2499135d16a69b1da955125185c195a900d45eed0a325f2a7bf3ce6eb01375011db55d3a311fd84c2a17d0476edf8c6290f36ed2280b
Always recommended to interface with
EPNS JS Library
for abstracting these details out.
This feature of protocol might change for further optimizations in the future.
Specs and Architecture - Previous
Integration Flow for dApp / Server / Smart Contract
Next
Sending Notification from dApp / Serverless
Last modified
1yr ago
Copy link