rootUnsubscribe RPC Method
Parameters
number
Loading...
Returns
result
boolean
Loading...
Request
import { createSolanaRpcSubscriptions } from '@solana/kit'; const rpcSubscriptions = createSolanaRpcSubscriptions(''); async function main() { const abortController = new AbortController(); const subscription = await rpcSubscriptions .rootNotifications() .subscribe({ abortSignal: abortController.signal }); let counter = 0; const maxCount = 3; try { for await (const notification of subscription) { console.log("Updated root info: ", notification); counter++; if (counter >= maxCount) { console.log(`Reached ${maxCount} notifications. Unsubscribing...`); break; } } } catch (e) { console.error("Error in root subscription:", e); } finally { abortController.abort(); console.log('Unsubscribed from root changes'); } } main().catch(console.error);
const web3 = require("@solana/web3.js"); (async () => { const solanaConnection = new web3.Connection("https://docs-demo.solana-mainnet.quiknode.pro/", { wsEndpoint: "", }); solanaConnection.removeRootChangeListener(0); })();
import solana import asyncio from asyncstdlib import enumerate from solana.rpc.websocket_api import connect async def main(): async with connect("") as websocket: await websocket.root_subscribe() first_resp = await websocket.recv() subscription_id = first_resp.result async for idx, msg in enumerate(websocket): if idx == 3: break print(msg) await websocket.root_unsubscribe(subscription_id) asyncio.run(main())
wscat -c \ # wait for connection {"id":1,"jsonrpc":"2.0","method": "rootUnsubscribe", "params": [0]}
Response
{ "jsonrpc": "2.0", "result": true, "id": 1 }
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free