diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 5ef4287e34..62c8dc10d7 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -41,7 +41,6 @@ * [API Reference](api-reference/README.md) * [Transaction](api-reference/transaction-api.md) * [Instruction](api-reference/instruction-api.md) - * [Blockstreamer](api-reference/blockstreamer.md) * [JSON RPC API](api-reference/jsonrpc-api.md) * [JavaScript API](api-reference/javascript-api.md) * [solana CLI](api-reference/cli.md) diff --git a/book/src/api-reference/blockstreamer.md b/book/src/api-reference/blockstreamer.md deleted file mode 100644 index b4e9f11102..0000000000 --- a/book/src/api-reference/blockstreamer.md +++ /dev/null @@ -1,28 +0,0 @@ -# Blockstreamer - -Solana supports a node type called an _blockstreamer_. This validator variation is intended for applications that need to observe the data plane without participating in transaction validation or ledger replication. - -A blockstreamer runs without a vote signer, and can optionally stream ledger entries out to a Unix domain socket as they are processed. The JSON-RPC service still functions as on any other node. - -To run a blockstreamer, include the argument `no-signer` and \(optional\) `blockstream` socket location: - -```bash -$ ./multinode-demo/validator-x.sh --no-signer --blockstream -``` - -The stream will output a series of JSON objects: - -* An Entry event JSON object is sent when each ledger entry is processed, with the following fields: - * `dt`, the system datetime, as RFC3339-formatted string - * `t`, the event type, always "entry" - * `s`, the slot height, as unsigned 64-bit integer - * `h`, the tick height, as unsigned 64-bit integer - * `entry`, the entry, as JSON object -* A Block event JSON object is sent when a block is complete, with the following fields: - * `dt`, the system datetime, as RFC3339-formatted string - * `t`, the event type, always "block" - * `s`, the slot height, as unsigned 64-bit integer - * `h`, the tick height, as unsigned 64-bit integer - * `l`, the slot leader id, as base-58 encoded string - * `hash`, the [blockhash](terminology.md#blockhash), as base-58 encoded string - diff --git a/book/src/getting-started/README.md b/book/src/getting-started/README.md index 540b0fa207..d1983b2d57 100644 --- a/book/src/getting-started/README.md +++ b/book/src/getting-started/README.md @@ -121,6 +121,34 @@ thread apply all bt This will dump all the threads stack traces into gdb.txt +### Blockstreamer + +Solana supports a node type called an _blockstreamer_. This validator variation is intended for applications that need to observe the data plane without participating in transaction validation or ledger replication. + +A blockstreamer runs without a vote signer, and can optionally stream ledger entries out to a Unix domain socket as they are processed. The JSON-RPC service still functions as on any other node. + +To run a blockstreamer, include the argument `no-signer` and \(optional\) `blockstream` socket location: + +```bash +$ NDEBUG=1 ./multinode-demo/validator-x.sh --no-signer --blockstream +``` + +The stream will output a series of JSON objects: + +* An Entry event JSON object is sent when each ledger entry is processed, with the following fields: + * `dt`, the system datetime, as RFC3339-formatted string + * `t`, the event type, always "entry" + * `s`, the slot height, as unsigned 64-bit integer + * `h`, the tick height, as unsigned 64-bit integer + * `entry`, the entry, as JSON object +* A Block event JSON object is sent when a block is complete, with the following fields: + * `dt`, the system datetime, as RFC3339-formatted string + * `t`, the event type, always "block" + * `s`, the slot height, as unsigned 64-bit integer + * `h`, the tick height, as unsigned 64-bit integer + * `l`, the slot leader id, as base-58 encoded string + * `hash`, the [blockhash](terminology.md#blockhash), as base-58 encoded string + ## Public Testnet In this example the client connects to our public testnet. To run validators on the testnet you would need to open udp ports `8000-10000`.