@@ -5,6 +5,7 @@ Kafka publisher for use with Solana's [plugin framework](https://docs.solana.com
55## What This Plugin Does
66
77Streams ** three types** of Solana data to Kafka:
8+
89- ** Account Updates** : Balance changes, data modifications, owner changes
910- ** Transactions** : Complete transaction details, instructions, fees, success/failure
1011- ** Slot Status** : Network progress, confirmation status, health metrics
@@ -34,7 +35,7 @@ This will publish **all** account updates, transactions, and slot status to Kafk
3435
3536### Binary releases
3637
37- Find binary releases [ here ] ( https://github.com/Blockdaemon/solana-accountsdb-plugin-kafka/releases ) .
38+ Find binary releases [ on GitHub ] ( https://github.com/Blockdaemon/solana-accountsdb-plugin-kafka/releases ) .
3839
3940### Building from source
4041
@@ -99,6 +100,7 @@ The following config is a minimal example that demonstrates the structure, but w
99100```
100101
101102** For Testing/Development (Recommended):**
103+
102104``` json
103105{
104106 "libpath" : " target/release/libsolana_accountsdb_plugin_kafka.so" ,
@@ -158,7 +160,8 @@ The plugin uses a **whitelist approach** for filtering. By default, most events
158160
159161#### Common Filtering Scenarios
160162
161- ** Scenario 1: See Everything (Recommended for testing)**
163+ ### Scenario 1: See Everything (Recommended for testing)
164+
162165``` json
163166{
164167 "publish_all_accounts" : true ,
@@ -167,7 +170,8 @@ The plugin uses a **whitelist approach** for filtering. By default, most events
167170}
168171```
169172
170- ** Scenario 2: See Specific Programs Only**
173+ ### Scenario 2: See Specific Programs Only
174+
171175``` json
172176{
173177 "publish_all_accounts" : false ,
@@ -178,7 +182,8 @@ The plugin uses a **whitelist approach** for filtering. By default, most events
178182}
179183```
180184
181- ** Scenario 3: See Specific Accounts Only**
185+ ### Scenario 3: See Specific Accounts Only
186+
182187``` json
183188{
184189 "publish_all_accounts" : false ,
@@ -240,21 +245,25 @@ All transaction types are enhanced with comprehensive analytics metadata.
240245All transactions provide additional analytics data that can be used for:
241246
242247#### Performance Monitoring
248+
243249- ** Compute Units** : Actual compute units consumed by transactions
244250- ** Pricing Information** : Compute unit pricing from ComputeBudget instructions
245251- ** Cost Analysis** : Transaction fees and compute costs
246252
247253#### Error Analysis & Debugging
254+
248255- ** Error Detection** : Reliable error status from transaction metadata
249256- ** Success Tracking** : Transaction success/failure status
250257- ** Error Details** : Structured error information without log parsing
251258
252259#### Address Intelligence
260+
253261- ** Address Lookup Tables** : Support for V0 LUT transactions
254262- ** Loaded Address Details** : Index and writable status for loaded addresses
255263- ** Account Metadata** : Enhanced account information and versioning
256264
257265#### Slot & Network Analytics
266+
258267- ** Confirmation Status** : Smart confirmation counting based on slot status
259268- ** Status Descriptions** : Human-readable slot status descriptions
260269- ** Progress Tracking** : Slot progression monitoring
@@ -264,16 +273,19 @@ All transactions provide additional analytics data that can be used for:
264273The protobuf schema has been enhanced with analytics fields:
265274
266275#### UpdateAccountEvent
276+
267277- ` data_version ` : Account data version for change tracking
268278- ` is_startup ` : Whether this is a startup account update
269279- ` account_age ` : Approximate account age in slots
270280
271281#### SlotStatusEvent
282+
272283- ` is_confirmed ` : Whether slot is confirmed by supermajority
273284- ` confirmation_count ` : Confirmation level (0-2 based on status)
274285- ` status_description ` : Human-readable status description
275286
276287#### TransactionEvent
288+
277289- ` compute_units_consumed ` : Actual compute units used
278290- ` compute_units_price ` : Compute unit pricing in micro-lamports
279291- ` total_cost ` : Total transaction cost (fee + compute)
@@ -286,6 +298,7 @@ The protobuf schema has been enhanced with analytics fields:
286298- ` confirmation_count ` : Number of confirmations
287299
288300#### LoadedAddresses
301+
289302- ` writable_info ` : Detailed writable address information
290303- ` readonly_info ` : Detailed readonly address information
291304
@@ -317,6 +330,7 @@ Analytics enhancements enable new use cases:
317330** Symptoms** : Solana validator shows slot processing but no messages appear in Kafka topics.
318331
319332** Causes & Solutions** :
333+
320334- ** Filtering too restrictive** : Set ` publish_all_accounts: true ` or add specific ` program_filters `
321335- ** Wrong topic names** : Verify your topic names match exactly
322336- ** Kafka connection issues** : Check if Kafka is running and accessible
@@ -333,6 +347,7 @@ Analytics enhancements enable new use cases:
333347#### 3. Plugin Fails to Load
334348
335349** Common Causes** :
350+
336351- ** Version mismatch** : Ensure Solana and plugin are built with identical Rust/Solana versions
337352- ** Library path** : Check ` libpath ` points to the correct ` .so ` or ` .dylib ` file
338353- ** Permissions** : Ensure the plugin file is readable by the Solana process
@@ -342,6 +357,7 @@ Analytics enhancements enable new use cases:
342357** Cause** : Large Kafka producer buffers can consume significant memory.
343358
344359** Solution** : Adjust buffer settings:
360+
345361``` json
346362{
347363 "kafka" : {
@@ -361,6 +377,7 @@ Analytics enhancements enable new use cases:
361377### Getting Help
362378
363379If you're still having issues:
380+
3643811 . Check this troubleshooting section
3653822 . Review the filtering documentation above
3663833 . Try the Quick Start configuration
0 commit comments