Subscription Management
Subscription management in SuiPulse allows you to control access to streams and manage subscriber relationships.
Overview
Subscription management enables:
- Adding subscribers to streams
- Checking subscription status
- Managing subscriber permissions
- Controlling stream access
Managing Subscriptions
Adding Subscribers
import { SuiPulse, Network } from "@suipulse/sdk";
import { Ed25519Keypair } from "@mysten/sui.js/keypairs/ed25519";
// Initialize SuiPulse
const keypair = Ed25519Keypair.fromSecretKey(/* your private key */);
const suiPulse = new SuiPulse(keypair, Network.MAINNET);
// Add a subscriber to a stream
await suiPulse.subscribeToStream(streamId);
Checking Subscription Status
// Check if an address is subscribed to a stream
const isSubscribed = await suiPulse.isSubscribed(streamId, address);
console.log(`Address ${address} is ${isSubscribed ? "" : "not "}subscribed`);
Managing Subscriber Permissions
// Add permission for a subscriber
await suiPulse.addPermission(streamId, address, permissionLevel);
// Permission levels:
// 0: Read access
// 1: Write access
// 2: Admin access
Best Practices
-
Access Control
- Implement proper permission checks
- Monitor subscription changes
- Handle permission updates
-
Performance
- Optimize subscription checks
- Manage large subscriber lists
- Handle concurrent updates
-
Security
- Validate subscriber addresses
- Implement proper access control
- Monitor subscription patterns
Use Cases
- Multi-user applications
- Access control systems
- Collaborative platforms
- Enterprise data sharing
- DeFi protocols
Next Steps
- Learn about Stream Management
- Explore Access Control
- Check out Event Handling