novastorm
novastorm

Reputation: 87

Subscribe to blocks in Solana (JSON RPC API)

I have been reading old blocks from the solana JSON RPC API (using python), but now I am trying to subscribe to the block production on the solana network (to get up live updates).

I tried to pull updates through the RPC API using

{"jsonrpc": "2.0", "id": "1", "method": "blockSubscribe", "params": ["all"]}

This doesn't work, with response: 'code': -32601, 'message': 'Method not found'

Looking at the docs.solana.com info, it states that:

This subscription is unstable and only available if the validator was started with the --rpc-pubsub-enable-block-subscription flag. The format of this subscription may change in the future

I assume this means I need to run solana-test-validator --rpc-pubsub-enable-block-subscription, but this just returns:

error: Found argument '--rpc-pubsub-enable-block-subscription' which wasn't expected, or isn't valid in this context
        Did you mean --rpc-port?

USAGE:
    solana-test-validator --ledger <DIR> --rpc-port <PORT>

I can't seem to find any more information on how to subscribe to blocks using the RPC. Any ideas or help with what I'm doing wrong?

Thanks in advance

Upvotes: 1

Views: 3101

Answers (2)

David Nasaw
David Nasaw

Reputation: 167

This subscription is unstable and only available if the validator was started with the --rpc-pubsub-enable-block-subscription flag. The format of this subscription may change in the future

Upvotes: 1

Jacob Creech
Jacob Creech

Reputation: 2107

You are correct that the validator has to run --rpc-pubsub-enable-block-subscription. For mainnet-beta usage, it is recommended to either find a private rpc with this enabled or have your own. Please note though, the method is marked currently as unstable.

It looks like rpc-pubsub-enable-block-subscription is not available on the test validator. You can find the full command list here.

Upvotes: 2

Related Questions