viz-js-lib 0.11.0 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.qoder/docs/spec/viz-dns-nameserver-spec.md +982 -0
- package/.qoder/docs/viz-cpp-node-docs/data-types.md +322 -0
- package/.qoder/docs/viz-cpp-node-docs/index.md +160 -0
- package/.qoder/docs/viz-cpp-node-docs/op-account-market.md +236 -0
- package/.qoder/docs/viz-cpp-node-docs/op-account.md +199 -0
- package/.qoder/docs/viz-cpp-node-docs/op-award.md +162 -0
- package/.qoder/docs/viz-cpp-node-docs/op-committee.md +193 -0
- package/.qoder/docs/viz-cpp-node-docs/op-content.md +157 -0
- package/.qoder/docs/viz-cpp-node-docs/op-escrow.md +224 -0
- package/.qoder/docs/viz-cpp-node-docs/op-invite.md +219 -0
- package/.qoder/docs/viz-cpp-node-docs/op-proposal.md +229 -0
- package/.qoder/docs/viz-cpp-node-docs/op-recovery.md +188 -0
- package/.qoder/docs/viz-cpp-node-docs/op-subscription.md +146 -0
- package/.qoder/docs/viz-cpp-node-docs/op-transfer-vesting.md +224 -0
- package/.qoder/docs/viz-cpp-node-docs/op-witness.md +252 -0
- package/.qoder/docs/viz-cpp-node-docs/plugins.md +887 -0
- package/.qoder/docs/viz-cpp-node-docs/virtual-operations.md +513 -0
- package/.qoder/repowiki/en/content/API Reference/API Reference.md +724 -0
- package/.qoder/repowiki/en/content/API Reference/Configuration Options.md +410 -0
- package/.qoder/repowiki/en/content/API Reference/Core API Methods.md +547 -0
- package/.qoder/repowiki/en/content/API Reference/Streaming APIs.md +380 -0
- package/.qoder/repowiki/en/content/API Reference/Transport Layer.md +341 -0
- package/.qoder/repowiki/en/content/API Reference/VIZ Blockchain Operations Coverage Status.md +427 -0
- package/.qoder/repowiki/en/content/Authentication & Cryptography/Authentication & Cryptography.md +430 -0
- package/.qoder/repowiki/en/content/Authentication & Cryptography/Digital Signatures.md +462 -0
- package/.qoder/repowiki/en/content/Authentication & Cryptography/Key Management.md +456 -0
- package/.qoder/repowiki/en/content/Authentication & Cryptography/Memo Encryption.md +331 -0
- package/.qoder/repowiki/en/content/Authentication & Cryptography/Security Practices.md +488 -0
- package/.qoder/repowiki/en/content/Broadcast Transactions/Broadcast Transactions.md +432 -0
- package/.qoder/repowiki/en/content/Broadcast Transactions/Network Broadcasting.md +418 -0
- package/.qoder/repowiki/en/content/Broadcast Transactions/Operation Construction.md +352 -0
- package/.qoder/repowiki/en/content/Broadcast Transactions/Transaction Preparation.md +353 -0
- package/.qoder/repowiki/en/content/Broadcast Transactions/Transaction Signing.md +404 -0
- package/.qoder/repowiki/en/content/Data Serialization/Data Serialization.md +540 -0
- package/.qoder/repowiki/en/content/Data Serialization/Encoding & Decoding.md +463 -0
- package/.qoder/repowiki/en/content/Data Serialization/Object Templates.md +413 -0
- package/.qoder/repowiki/en/content/Data Serialization/Type System.md +514 -0
- package/.qoder/repowiki/en/content/Data Serialization/Validation Rules.md +439 -0
- package/.qoder/repowiki/en/content/Examples & Tutorials.md +485 -0
- package/.qoder/repowiki/en/content/Getting Started.md +345 -0
- package/.qoder/repowiki/en/content/Testing & Development.md +637 -0
- package/.qoder/repowiki/en/content/Utilities & Helpers.md +557 -0
- package/.qoder/repowiki/en/meta/repowiki-metadata.json +1 -0
- package/VIZ-JS-LIB-COVERAGE-STATUS.md +356 -0
- package/config.json +3 -1
- package/dist/statistics.html +1 -1
- package/dist/viz-tests.min.js +32 -42
- package/dist/viz-tests.min.js.gz +0 -0
- package/dist/viz.min.js +8 -18
- package/dist/viz.min.js.gz +0 -0
- package/lib/api/methods.js +24 -0
- package/lib/auth/serializer/src/ChainTypes.js +2 -1
- package/lib/auth/serializer/src/operations.js +35 -2
- package/lib/broadcast/index.js +29 -15
- package/lib/broadcast/operations.js +4 -0
- package/lib/dns.js +658 -0
- package/lib/index.js +3 -1
- package/package.json +3 -2
- package/test/dns.test.js +395 -0
- package/webpack/makeConfig.js +3 -0
|
@@ -0,0 +1,887 @@
|
|
|
1
|
+
# VIZ Blockchain — Plugins Reference
|
|
2
|
+
|
|
3
|
+
Complete specification of all VIZ node plugins: what they do, dependencies, status (active/deprecated), and JSON-RPC API methods.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Plugin Architecture Overview
|
|
8
|
+
|
|
9
|
+
VIZ uses a modular plugin architecture based on Appbase. Plugins can:
|
|
10
|
+
- Provide JSON-RPC API methods
|
|
11
|
+
- Store additional data in the chainbase database
|
|
12
|
+
- React to blockchain events (applied blocks, operations, etc.)
|
|
13
|
+
- Depend on other plugins
|
|
14
|
+
|
|
15
|
+
### Plugin Categories
|
|
16
|
+
|
|
17
|
+
| Category | Description |
|
|
18
|
+
|---|---|
|
|
19
|
+
| **Core** | Essential for node operation |
|
|
20
|
+
| **API** | Expose JSON-RPC endpoints |
|
|
21
|
+
| **Index** | Index blockchain data for queries |
|
|
22
|
+
| **Infrastructure** | Networking, web server |
|
|
23
|
+
| **External** | Integration with external systems |
|
|
24
|
+
| **Debug/Test** | Development and testing only |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Core Plugins
|
|
29
|
+
|
|
30
|
+
### `chain`
|
|
31
|
+
**Status:** Active (Required)
|
|
32
|
+
**Category:** Core
|
|
33
|
+
**Dependencies:** `json_rpc`
|
|
34
|
+
|
|
35
|
+
The fundamental plugin that manages the blockchain database, block validation, and transaction processing.
|
|
36
|
+
|
|
37
|
+
**Purpose:**
|
|
38
|
+
- Maintains the blockchain state database (chainbase)
|
|
39
|
+
- Validates and applies blocks and transactions
|
|
40
|
+
- Provides database access to other plugins
|
|
41
|
+
- Emits signals on block application
|
|
42
|
+
|
|
43
|
+
**JSON-RPC:** None (internal only)
|
|
44
|
+
|
|
45
|
+
**Config options:**
|
|
46
|
+
```ini
|
|
47
|
+
shared-file-size = 2G
|
|
48
|
+
shared-file-dir = /path/to/blockchain
|
|
49
|
+
flush-state-interval = 0
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### `json_rpc`
|
|
55
|
+
**Status:** Active (Required)
|
|
56
|
+
**Category:** Core
|
|
57
|
+
**Dependencies:** None
|
|
58
|
+
|
|
59
|
+
Provides the JSON-RPC 2.0 framework for API method registration and dispatching.
|
|
60
|
+
|
|
61
|
+
**Purpose:**
|
|
62
|
+
- Registers API methods from all plugins
|
|
63
|
+
- Parses JSON-RPC requests
|
|
64
|
+
- Dispatches to appropriate handlers
|
|
65
|
+
- Returns formatted responses
|
|
66
|
+
|
|
67
|
+
**JSON-RPC:** None (framework only)
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### `webserver`
|
|
72
|
+
**Status:** Active (Required for API access)
|
|
73
|
+
**Category:** Infrastructure
|
|
74
|
+
**Dependencies:** `json_rpc`
|
|
75
|
+
|
|
76
|
+
HTTP/WebSocket server that accepts JSON-RPC requests.
|
|
77
|
+
|
|
78
|
+
**Purpose:**
|
|
79
|
+
- Serves HTTP and WebSocket connections
|
|
80
|
+
- Routes requests to `json_rpc` plugin
|
|
81
|
+
- Handles CORS, timeouts, connection limits
|
|
82
|
+
|
|
83
|
+
**JSON-RPC:** None (transport only)
|
|
84
|
+
|
|
85
|
+
**Config options:**
|
|
86
|
+
```ini
|
|
87
|
+
webserver-http-endpoint = 0.0.0.0:8090
|
|
88
|
+
webserver-ws-endpoint = 0.0.0.0:8091
|
|
89
|
+
webserver-thread-pool-size = 32
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### `p2p`
|
|
95
|
+
**Status:** Active (Required for network sync)
|
|
96
|
+
**Category:** Infrastructure
|
|
97
|
+
**Dependencies:** `chain`
|
|
98
|
+
|
|
99
|
+
Peer-to-peer networking for block and transaction propagation.
|
|
100
|
+
|
|
101
|
+
**Purpose:**
|
|
102
|
+
- Discovers and connects to peers
|
|
103
|
+
- Syncs blockchain from the network
|
|
104
|
+
- Broadcasts blocks and transactions
|
|
105
|
+
- Maintains peer database
|
|
106
|
+
|
|
107
|
+
**JSON-RPC:** None (internal only)
|
|
108
|
+
|
|
109
|
+
**Config options:**
|
|
110
|
+
```ini
|
|
111
|
+
p2p-endpoint = 0.0.0.0:2001
|
|
112
|
+
p2p-seed-node = seed.viz.world:2001
|
|
113
|
+
p2p-max-connections = 200
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## API Plugins
|
|
119
|
+
|
|
120
|
+
### `database_api`
|
|
121
|
+
**Status:** Active
|
|
122
|
+
**Category:** API
|
|
123
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
124
|
+
|
|
125
|
+
Primary read API for blockchain state queries.
|
|
126
|
+
|
|
127
|
+
**Purpose:**
|
|
128
|
+
- Query blocks, transactions, accounts
|
|
129
|
+
- Query chain properties, hardfork status
|
|
130
|
+
- Validate transactions and signatures
|
|
131
|
+
- Query escrows, delegations, proposals
|
|
132
|
+
|
|
133
|
+
**JSON-RPC Methods:**
|
|
134
|
+
|
|
135
|
+
| Method | Description |
|
|
136
|
+
|---|---|
|
|
137
|
+
| `database_api.get_block_header` | Get block header by height |
|
|
138
|
+
| `database_api.get_block` | Get full signed block |
|
|
139
|
+
| `database_api.get_irreversible_block_header` | Get irreversible block header |
|
|
140
|
+
| `database_api.get_irreversible_block` | Get irreversible block |
|
|
141
|
+
| `database_api.set_block_applied_callback` | Subscribe to new blocks |
|
|
142
|
+
| `database_api.get_config` | Get compile-time chain constants |
|
|
143
|
+
| `database_api.get_dynamic_global_properties` | Get current chain state |
|
|
144
|
+
| `database_api.get_chain_properties` | Get median witness properties |
|
|
145
|
+
| `database_api.get_hardfork_version` | Get current hardfork version |
|
|
146
|
+
| `database_api.get_next_scheduled_hardfork` | Get next hardfork info |
|
|
147
|
+
| `database_api.get_accounts` | Get accounts by names |
|
|
148
|
+
| `database_api.lookup_account_names` | Lookup accounts (nullable) |
|
|
149
|
+
| `database_api.lookup_accounts` | List accounts by prefix |
|
|
150
|
+
| `database_api.get_account_count` | Get total account count |
|
|
151
|
+
| `database_api.get_master_history` | Get account master key history |
|
|
152
|
+
| `database_api.get_recovery_request` | Get pending recovery request |
|
|
153
|
+
| `database_api.get_escrow` | Get escrow by ID |
|
|
154
|
+
| `database_api.get_withdraw_routes` | Get vesting withdraw routes |
|
|
155
|
+
| `database_api.get_vesting_delegations` | Get active delegations |
|
|
156
|
+
| `database_api.get_expiring_vesting_delegations` | Get expiring delegations |
|
|
157
|
+
| `database_api.get_transaction_hex` | Get transaction as hex |
|
|
158
|
+
| `database_api.get_required_signatures` | Get required signatures |
|
|
159
|
+
| `database_api.get_potential_signatures` | Get all potential signers |
|
|
160
|
+
| `database_api.verify_authority` | Verify transaction authority |
|
|
161
|
+
| `database_api.verify_account_authority` | Verify account authority |
|
|
162
|
+
| `database_api.get_database_info` | Get database statistics |
|
|
163
|
+
| `database_api.get_proposed_transactions` | Get proposals for account |
|
|
164
|
+
| `database_api.get_accounts_on_sale` | List accounts for sale |
|
|
165
|
+
| `database_api.get_accounts_on_auction` | List accounts on auction |
|
|
166
|
+
| `database_api.get_subaccounts_on_sale` | List subaccounts for sale |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
### `network_broadcast_api`
|
|
171
|
+
**Status:** Active
|
|
172
|
+
**Category:** API
|
|
173
|
+
**Dependencies:** `json_rpc`, `chain`, `p2p`
|
|
174
|
+
|
|
175
|
+
Broadcasts transactions and blocks to the network.
|
|
176
|
+
|
|
177
|
+
**Purpose:**
|
|
178
|
+
- Broadcast signed transactions
|
|
179
|
+
- Broadcast signed blocks (for witnesses)
|
|
180
|
+
- Synchronous transaction confirmation
|
|
181
|
+
|
|
182
|
+
**JSON-RPC Methods:**
|
|
183
|
+
|
|
184
|
+
| Method | Description |
|
|
185
|
+
|---|---|
|
|
186
|
+
| `network_broadcast_api.broadcast_transaction` | Broadcast transaction (async) |
|
|
187
|
+
| `network_broadcast_api.broadcast_transaction_synchronous` | Broadcast and wait for inclusion |
|
|
188
|
+
| `network_broadcast_api.broadcast_transaction_with_callback` | Broadcast with callback |
|
|
189
|
+
| `network_broadcast_api.broadcast_block` | Broadcast a signed block |
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
### `witness_api`
|
|
194
|
+
**Status:** Active
|
|
195
|
+
**Category:** API
|
|
196
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
197
|
+
|
|
198
|
+
Query witness information.
|
|
199
|
+
|
|
200
|
+
**Purpose:**
|
|
201
|
+
- List active/scheduled witnesses
|
|
202
|
+
- Query witness by account or vote rank
|
|
203
|
+
- Get witness schedule
|
|
204
|
+
|
|
205
|
+
**JSON-RPC Methods:**
|
|
206
|
+
|
|
207
|
+
| Method | Description |
|
|
208
|
+
|---|---|
|
|
209
|
+
| `witness_api.get_active_witnesses` | Get current active witness set |
|
|
210
|
+
| `witness_api.get_witness_schedule` | Get witness schedule object |
|
|
211
|
+
| `witness_api.get_witnesses` | Get witnesses by IDs |
|
|
212
|
+
| `witness_api.get_witness_by_account` | Get witness by account name |
|
|
213
|
+
| `witness_api.get_witnesses_by_vote` | Get witnesses ranked by votes |
|
|
214
|
+
| `witness_api.get_witnesses_by_counted_vote` | Get witnesses by counted votes |
|
|
215
|
+
| `witness_api.get_witness_count` | Get total witness count |
|
|
216
|
+
| `witness_api.lookup_witness_accounts` | List witness accounts by prefix |
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
### `account_by_key`
|
|
221
|
+
**Status:** Active
|
|
222
|
+
**Category:** Index/API
|
|
223
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
224
|
+
|
|
225
|
+
Indexes accounts by their public keys for reverse lookup.
|
|
226
|
+
|
|
227
|
+
**Purpose:**
|
|
228
|
+
- Find accounts that use a given public key
|
|
229
|
+
- Useful for wallet applications
|
|
230
|
+
|
|
231
|
+
**JSON-RPC Methods:**
|
|
232
|
+
|
|
233
|
+
| Method | Description |
|
|
234
|
+
|---|---|
|
|
235
|
+
| `account_by_key.get_key_references` | Get accounts using given public keys |
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
### `account_history`
|
|
240
|
+
**Status:** Active
|
|
241
|
+
**Category:** Index/API
|
|
242
|
+
**Dependencies:** `json_rpc`, `chain`, `operation_history`
|
|
243
|
+
|
|
244
|
+
Indexes operation history per account.
|
|
245
|
+
|
|
246
|
+
**Purpose:**
|
|
247
|
+
- Query operation history for a specific account
|
|
248
|
+
- Paginated access to account activity
|
|
249
|
+
|
|
250
|
+
**JSON-RPC Methods:**
|
|
251
|
+
|
|
252
|
+
| Method | Description |
|
|
253
|
+
|---|---|
|
|
254
|
+
| `account_history.get_account_history` | Get operations for an account |
|
|
255
|
+
|
|
256
|
+
#### `get_account_history`
|
|
257
|
+
|
|
258
|
+
**Parameters:**
|
|
259
|
+
|
|
260
|
+
| # | Name | Type | Description |
|
|
261
|
+
|---|---|---|---|
|
|
262
|
+
| 1 | `account` | string | Account name to query |
|
|
263
|
+
| 2 | `from` | uint32 | Starting sequence number, or `-1` for newest |
|
|
264
|
+
| 3 | `limit` | uint32 | Max entries to return (1-1000) |
|
|
265
|
+
|
|
266
|
+
**Behavior:**
|
|
267
|
+
- `from = -1` (or `4294967295`): Start from the most recent operation
|
|
268
|
+
- Returns entries in descending order (newest first)
|
|
269
|
+
- If `limit` exceeds available entries, returns all available without error
|
|
270
|
+
- Example: Account has 5 entries, request `from=-1, limit=10` → returns all 5 entries
|
|
271
|
+
|
|
272
|
+
**Request:**
|
|
273
|
+
```json
|
|
274
|
+
{
|
|
275
|
+
"jsonrpc": "2.0",
|
|
276
|
+
"method": "account_history.get_account_history",
|
|
277
|
+
"params": ["on1x", -1, 10],
|
|
278
|
+
"id": 1
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**Response:**
|
|
283
|
+
```json
|
|
284
|
+
{
|
|
285
|
+
"jsonrpc": "2.0",
|
|
286
|
+
"result": {
|
|
287
|
+
"4": {"trx_id": "abc...", "block": 1234, "op": [...]},
|
|
288
|
+
"3": {"trx_id": "def...", "block": 1233, "op": [...]},
|
|
289
|
+
"2": {"trx_id": "ghi...", "block": 1232, "op": [...]}
|
|
290
|
+
},
|
|
291
|
+
"id": 1
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
**Config options:**
|
|
296
|
+
```ini
|
|
297
|
+
track-account-range = ["", "zzzzzzzzzzzzzzzz"]
|
|
298
|
+
history-count-blocks = 4294967295
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
**Memory Management:**
|
|
302
|
+
- Old history entries are automatically purged based on `history-count-blocks`
|
|
303
|
+
- Coordinates with `operation_history` plugin to avoid dangling references
|
|
304
|
+
- Uses the more aggressive purge threshold between both plugins
|
|
305
|
+
- Signal handlers are properly disconnected on shutdown to prevent memory leaks
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
### `operation_history`
|
|
310
|
+
**Status:** Active
|
|
311
|
+
**Category:** Index/API
|
|
312
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
313
|
+
|
|
314
|
+
Indexes all operations in blocks.
|
|
315
|
+
|
|
316
|
+
**Purpose:**
|
|
317
|
+
- Query operations within a block
|
|
318
|
+
- Lookup transactions by ID
|
|
319
|
+
- Provides base operation storage for `account_history` plugin
|
|
320
|
+
|
|
321
|
+
**JSON-RPC Methods:**
|
|
322
|
+
|
|
323
|
+
| Method | Description |
|
|
324
|
+
|---|---|
|
|
325
|
+
| `operation_history.get_ops_in_block` | Get operations in a block |
|
|
326
|
+
| `operation_history.get_transaction` | Get transaction by ID |
|
|
327
|
+
|
|
328
|
+
**Config options:**
|
|
329
|
+
```ini
|
|
330
|
+
history-whitelist-ops = [] # Only store these operations (exclusive with blacklist)
|
|
331
|
+
history-blacklist-ops = [] # Don't store these operations
|
|
332
|
+
history-start-block = 0 # Start recording from this block
|
|
333
|
+
history-count-blocks = 4294967295 # How many blocks of history to keep
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**Memory Management:**
|
|
337
|
+
- Old operations are automatically purged based on `history-count-blocks`
|
|
338
|
+
- `account_history` plugin coordinates purging with this plugin
|
|
339
|
+
- Signal handlers are properly disconnected on shutdown to prevent memory leaks
|
|
340
|
+
- Exposes `get_min_keep_block()` for dependent plugins to coordinate purging
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
### `committee_api`
|
|
345
|
+
**Status:** Active
|
|
346
|
+
**Category:** API
|
|
347
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
348
|
+
|
|
349
|
+
Query committee worker requests.
|
|
350
|
+
|
|
351
|
+
**Purpose:**
|
|
352
|
+
- Get committee request details
|
|
353
|
+
- List all committee requests
|
|
354
|
+
- Get votes on requests
|
|
355
|
+
|
|
356
|
+
**JSON-RPC Methods:**
|
|
357
|
+
|
|
358
|
+
| Method | Description |
|
|
359
|
+
|---|---|
|
|
360
|
+
| `committee_api.get_committee_request` | Get request by ID |
|
|
361
|
+
| `committee_api.get_committee_request_votes` | Get votes on a request |
|
|
362
|
+
| `committee_api.get_committee_requests_list` | List all request IDs |
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
### `invite_api`
|
|
367
|
+
**Status:** Active
|
|
368
|
+
**Category:** API
|
|
369
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
370
|
+
|
|
371
|
+
Query invite codes.
|
|
372
|
+
|
|
373
|
+
**Purpose:**
|
|
374
|
+
- List active invites
|
|
375
|
+
- Lookup invite by ID or public key
|
|
376
|
+
|
|
377
|
+
**JSON-RPC Methods:**
|
|
378
|
+
|
|
379
|
+
| Method | Description |
|
|
380
|
+
|---|---|
|
|
381
|
+
| `invite_api.get_invites_list` | List all invite IDs |
|
|
382
|
+
| `invite_api.get_invite_by_id` | Get invite by database ID |
|
|
383
|
+
| `invite_api.get_invite_by_key` | Get invite by public key |
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
### `paid_subscription_api`
|
|
388
|
+
**Status:** Active
|
|
389
|
+
**Category:** API
|
|
390
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
391
|
+
|
|
392
|
+
Query paid subscriptions.
|
|
393
|
+
|
|
394
|
+
**Purpose:**
|
|
395
|
+
- List subscription offerings
|
|
396
|
+
- Check subscription status between accounts
|
|
397
|
+
|
|
398
|
+
**JSON-RPC Methods:**
|
|
399
|
+
|
|
400
|
+
| Method | Description |
|
|
401
|
+
|---|---|
|
|
402
|
+
| `paid_subscription_api.get_paid_subscriptions` | List all subscription offerings |
|
|
403
|
+
| `paid_subscription_api.get_paid_subscription_options` | Get subscription config for account |
|
|
404
|
+
| `paid_subscription_api.get_paid_subscription_status` | Get subscription status subscriber→account |
|
|
405
|
+
| `paid_subscription_api.get_active_paid_subscriptions` | List active subscriptions for subscriber |
|
|
406
|
+
| `paid_subscription_api.get_inactive_paid_subscriptions` | List expired subscriptions |
|
|
407
|
+
|
|
408
|
+
---
|
|
409
|
+
|
|
410
|
+
### `follow`
|
|
411
|
+
**Status:** Deprecated
|
|
412
|
+
**Category:** Index/API
|
|
413
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
414
|
+
|
|
415
|
+
Indexes follow relationships and content feeds.
|
|
416
|
+
|
|
417
|
+
**Purpose:**
|
|
418
|
+
- Track followers/following
|
|
419
|
+
- Build personalized feeds
|
|
420
|
+
- Track reblogs
|
|
421
|
+
|
|
422
|
+
**JSON-RPC Methods:**
|
|
423
|
+
|
|
424
|
+
| Method | Description |
|
|
425
|
+
|---|---|
|
|
426
|
+
| `follow.get_followers` | Get followers of an account |
|
|
427
|
+
| `follow.get_following` | Get accounts followed by an account |
|
|
428
|
+
| `follow.get_follow_count` | Get follower/following counts |
|
|
429
|
+
| `follow.get_feed_entries` | Get feed entries (references only) |
|
|
430
|
+
| `follow.get_feed` | Get feed with full content |
|
|
431
|
+
| `follow.get_blog_entries` | Get blog entries (references) |
|
|
432
|
+
| `follow.get_blog` | Get blog with full content |
|
|
433
|
+
| `follow.get_reblogged_by` | Get accounts that reblogged content |
|
|
434
|
+
| `follow.get_blog_authors` | Get authors reblogged on a blog |
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
### `tags`
|
|
439
|
+
**Status:** Deprecated
|
|
440
|
+
**Category:** Index/API
|
|
441
|
+
**Dependencies:** `json_rpc`, `chain`, `follow`
|
|
442
|
+
|
|
443
|
+
Indexes content by tags and provides content discovery.
|
|
444
|
+
|
|
445
|
+
**Purpose:**
|
|
446
|
+
- Query trending/hot/new content by tag
|
|
447
|
+
- Track tag statistics
|
|
448
|
+
- Content discovery APIs
|
|
449
|
+
|
|
450
|
+
**JSON-RPC Methods:**
|
|
451
|
+
|
|
452
|
+
| Method | Description |
|
|
453
|
+
|---|---|
|
|
454
|
+
| `tags.get_trending_tags` | Get tags sorted by activity |
|
|
455
|
+
| `tags.get_tags_used_by_author` | Get tags used by an author |
|
|
456
|
+
| `tags.get_discussions_by_trending` | Get trending discussions |
|
|
457
|
+
| `tags.get_discussions_by_created` | Get newest discussions |
|
|
458
|
+
| `tags.get_discussions_by_active` | Get recently active discussions |
|
|
459
|
+
| `tags.get_discussions_by_cashout` | Get discussions by cashout time |
|
|
460
|
+
| `tags.get_discussions_by_payout` | Get discussions by payout |
|
|
461
|
+
| `tags.get_discussions_by_votes` | Get discussions by vote count |
|
|
462
|
+
| `tags.get_discussions_by_children` | Get discussions by reply count |
|
|
463
|
+
| `tags.get_discussions_by_hot` | Get hot discussions |
|
|
464
|
+
| `tags.get_discussions_by_feed` | Get discussions from feed |
|
|
465
|
+
| `tags.get_discussions_by_blog` | Get discussions from blog |
|
|
466
|
+
| `tags.get_discussions_by_contents` | Get discussions by content |
|
|
467
|
+
| `tags.get_discussions_by_author_before_date` | Get author's posts before date |
|
|
468
|
+
| `tags.get_languages` | Get available content languages |
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
### `social_network`
|
|
473
|
+
**Status:** Deprecated
|
|
474
|
+
**Category:** API
|
|
475
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
476
|
+
|
|
477
|
+
High-level content and social queries (combines multiple data sources).
|
|
478
|
+
|
|
479
|
+
**Purpose:**
|
|
480
|
+
- Query content discussions
|
|
481
|
+
- Get votes on content
|
|
482
|
+
- Committee and invite queries (convenience)
|
|
483
|
+
|
|
484
|
+
**JSON-RPC Methods:**
|
|
485
|
+
|
|
486
|
+
| Method | Description |
|
|
487
|
+
|---|---|
|
|
488
|
+
| `social_network.get_content` | Get discussion by author/permlink |
|
|
489
|
+
| `social_network.get_content_replies` | Get direct replies |
|
|
490
|
+
| `social_network.get_all_content_replies` | Get all nested replies |
|
|
491
|
+
| `social_network.get_account_votes` | Get votes cast by account |
|
|
492
|
+
| `social_network.get_active_votes` | Get votes on content |
|
|
493
|
+
| `social_network.get_replies_by_last_update` | Get replies sorted by update |
|
|
494
|
+
| `social_network.get_committee_request` | Get committee request |
|
|
495
|
+
| `social_network.get_committee_request_votes` | Get committee request votes |
|
|
496
|
+
| `social_network.get_committee_requests_list` | List committee requests |
|
|
497
|
+
| `social_network.get_invites_list` | List invites |
|
|
498
|
+
| `social_network.get_invite_by_id` | Get invite by ID |
|
|
499
|
+
| `social_network.get_invite_by_key` | Get invite by key |
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
503
|
+
### `private_message`
|
|
504
|
+
**Status:** Deprecated
|
|
505
|
+
**Category:** Index/API
|
|
506
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
507
|
+
|
|
508
|
+
Indexes encrypted private messages sent via `custom_operation`.
|
|
509
|
+
|
|
510
|
+
**Purpose:**
|
|
511
|
+
- Track inbox/outbox messages
|
|
512
|
+
- Encrypted message protocol support
|
|
513
|
+
|
|
514
|
+
**JSON-RPC Methods:**
|
|
515
|
+
|
|
516
|
+
| Method | Description |
|
|
517
|
+
|---|---|
|
|
518
|
+
| `private_message.get_inbox` | Get received messages |
|
|
519
|
+
| `private_message.get_outbox` | Get sent messages |
|
|
520
|
+
|
|
521
|
+
**Config options:**
|
|
522
|
+
```ini
|
|
523
|
+
pm-account-range = ["", "zzzzzzzzzzzzzzzz"]
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
---
|
|
527
|
+
|
|
528
|
+
### `custom_protocol_api`
|
|
529
|
+
**Status:** Active
|
|
530
|
+
**Category:** API
|
|
531
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
532
|
+
|
|
533
|
+
Tracks custom protocol sequences from `custom_operation`.
|
|
534
|
+
|
|
535
|
+
**Purpose:**
|
|
536
|
+
- Get account info with custom protocol metadata
|
|
537
|
+
- Useful for apps using custom_operation
|
|
538
|
+
|
|
539
|
+
**JSON-RPC Methods:**
|
|
540
|
+
|
|
541
|
+
| Method | Description |
|
|
542
|
+
|---|---|
|
|
543
|
+
| `custom_protocol_api.get_account` | Get account with custom protocol reference |
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
### `auth_util`
|
|
548
|
+
**Status:** Active
|
|
549
|
+
**Category:** API
|
|
550
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
551
|
+
|
|
552
|
+
Authority verification utilities.
|
|
553
|
+
|
|
554
|
+
**Purpose:**
|
|
555
|
+
- Check signatures against account authority
|
|
556
|
+
|
|
557
|
+
**JSON-RPC Methods:**
|
|
558
|
+
|
|
559
|
+
| Method | Description |
|
|
560
|
+
|---|---|
|
|
561
|
+
| `auth_util.check_authority_signature` | Verify signature satisfies authority |
|
|
562
|
+
|
|
563
|
+
---
|
|
564
|
+
|
|
565
|
+
### `block_info`
|
|
566
|
+
**Status:** Active
|
|
567
|
+
**Category:** API
|
|
568
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
569
|
+
|
|
570
|
+
Detailed block information queries.
|
|
571
|
+
|
|
572
|
+
**Purpose:**
|
|
573
|
+
- Get extended block information
|
|
574
|
+
- Block statistics
|
|
575
|
+
|
|
576
|
+
**JSON-RPC Methods:**
|
|
577
|
+
|
|
578
|
+
| Method | Description |
|
|
579
|
+
|---|---|
|
|
580
|
+
| `block_info.get_block_info` | Get block info for range |
|
|
581
|
+
| `block_info.get_blocks_with_info` | Get blocks with extended info |
|
|
582
|
+
|
|
583
|
+
---
|
|
584
|
+
|
|
585
|
+
### `raw_block`
|
|
586
|
+
**Status:** Active
|
|
587
|
+
**Category:** API
|
|
588
|
+
**Dependencies:** `json_rpc`, `chain`
|
|
589
|
+
|
|
590
|
+
Get raw serialized blocks.
|
|
591
|
+
|
|
592
|
+
**Purpose:**
|
|
593
|
+
- Export blocks in raw binary format
|
|
594
|
+
- Useful for block archival/replication
|
|
595
|
+
|
|
596
|
+
**JSON-RPC Methods:**
|
|
597
|
+
|
|
598
|
+
| Method | Description |
|
|
599
|
+
|---|---|
|
|
600
|
+
| `raw_block.get_raw_block` | Get raw block by height |
|
|
601
|
+
|
|
602
|
+
---
|
|
603
|
+
|
|
604
|
+
## Witness/Producer Plugins
|
|
605
|
+
|
|
606
|
+
### `witness`
|
|
607
|
+
**Status:** Active
|
|
608
|
+
**Category:** Core (for block producers)
|
|
609
|
+
**Dependencies:** `chain`, `p2p`
|
|
610
|
+
|
|
611
|
+
Block production plugin for witnesses.
|
|
612
|
+
|
|
613
|
+
**Purpose:**
|
|
614
|
+
- Sign and produce blocks on schedule
|
|
615
|
+
- Manage witness private keys
|
|
616
|
+
|
|
617
|
+
**JSON-RPC:** None
|
|
618
|
+
|
|
619
|
+
**Config options:**
|
|
620
|
+
```ini
|
|
621
|
+
witness = "your-witness-account"
|
|
622
|
+
private-key = 5K...
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
---
|
|
626
|
+
|
|
627
|
+
## Debug/Test Plugins
|
|
628
|
+
|
|
629
|
+
### `debug_node`
|
|
630
|
+
**Status:** Active (Development only)
|
|
631
|
+
**Category:** Debug
|
|
632
|
+
**Dependencies:** `chain`
|
|
633
|
+
|
|
634
|
+
Development and testing utilities. **NOT for production use.**
|
|
635
|
+
|
|
636
|
+
**Purpose:**
|
|
637
|
+
- Generate test blocks
|
|
638
|
+
- Push blocks from files
|
|
639
|
+
- Set hardforks manually
|
|
640
|
+
|
|
641
|
+
**JSON-RPC Methods:**
|
|
642
|
+
|
|
643
|
+
| Method | Description |
|
|
644
|
+
|---|---|
|
|
645
|
+
| `debug_node.debug_generate_blocks` | Generate N test blocks |
|
|
646
|
+
| `debug_node.debug_generate_blocks_until` | Generate blocks until time |
|
|
647
|
+
| `debug_node.debug_push_blocks` | Push blocks from database |
|
|
648
|
+
| `debug_node.debug_push_json_blocks` | Push blocks from JSON file |
|
|
649
|
+
| `debug_node.debug_pop_block` | Pop and return last block |
|
|
650
|
+
| `debug_node.debug_get_witness_schedule` | Get witness schedule |
|
|
651
|
+
| `debug_node.debug_set_hardfork` | Force set hardfork |
|
|
652
|
+
| `debug_node.debug_has_hardfork` | Check if hardfork applied |
|
|
653
|
+
|
|
654
|
+
---
|
|
655
|
+
|
|
656
|
+
### `test_api`
|
|
657
|
+
**Status:** Active (Testing only)
|
|
658
|
+
**Category:** Test
|
|
659
|
+
**Dependencies:** `json_rpc`
|
|
660
|
+
|
|
661
|
+
Test API plugin for connectivity testing.
|
|
662
|
+
|
|
663
|
+
**JSON-RPC Methods:** None documented (internal testing)
|
|
664
|
+
|
|
665
|
+
---
|
|
666
|
+
|
|
667
|
+
## External Integration Plugins
|
|
668
|
+
|
|
669
|
+
### `mongo_db`
|
|
670
|
+
**Status:** Active
|
|
671
|
+
**Category:** External
|
|
672
|
+
**Dependencies:** `chain`
|
|
673
|
+
|
|
674
|
+
Exports blockchain data to MongoDB.
|
|
675
|
+
|
|
676
|
+
**Purpose:**
|
|
677
|
+
- Real-time export of blocks, transactions, operations
|
|
678
|
+
- Enable MongoDB-based queries and analytics
|
|
679
|
+
|
|
680
|
+
**JSON-RPC:** None
|
|
681
|
+
|
|
682
|
+
**Config options:**
|
|
683
|
+
```ini
|
|
684
|
+
mongodb-uri = mongodb://localhost:27017
|
|
685
|
+
mongodb-db-name = viz
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
---
|
|
689
|
+
|
|
690
|
+
## Plugin Status Summary
|
|
691
|
+
|
|
692
|
+
| Plugin | Status | Has API | Category |
|
|
693
|
+
|---|---|---|---|
|
|
694
|
+
| `chain` | Active | No | Core |
|
|
695
|
+
| `json_rpc` | Active | No | Core |
|
|
696
|
+
| `webserver` | Active | No | Infrastructure |
|
|
697
|
+
| `p2p` | Active | No | Infrastructure |
|
|
698
|
+
| `database_api` | Active | Yes | API |
|
|
699
|
+
| `network_broadcast_api` | Active | Yes | API |
|
|
700
|
+
| `witness_api` | Active | Yes | API |
|
|
701
|
+
| `account_by_key` | Active | Yes | Index/API |
|
|
702
|
+
| `account_history` | Active | Yes | Index/API |
|
|
703
|
+
| `operation_history` | Active | Yes | Index/API |
|
|
704
|
+
| `committee_api` | Active | Yes | API |
|
|
705
|
+
| `invite_api` | Active | Yes | API |
|
|
706
|
+
| `paid_subscription_api` | Active | Yes | API |
|
|
707
|
+
| `follow` | Deprecated | Yes | Index/API |
|
|
708
|
+
| `tags` | Deprecated | Yes | Index/API |
|
|
709
|
+
| `social_network` | Deprecated | Yes | API |
|
|
710
|
+
| `private_message` | Deprecated | Yes | Index/API |
|
|
711
|
+
| `custom_protocol_api` | Active | Yes | API |
|
|
712
|
+
| `auth_util` | Active | Yes | API |
|
|
713
|
+
| `block_info` | Active | Yes | API |
|
|
714
|
+
| `raw_block` | Active | Yes | API |
|
|
715
|
+
| `witness` | Active | No | Producer |
|
|
716
|
+
| `debug_node` | Dev only | Yes | Debug |
|
|
717
|
+
| `test_api` | Test only | Yes | Test |
|
|
718
|
+
| `mongo_db` | Active | No | External |
|
|
719
|
+
|
|
720
|
+
---
|
|
721
|
+
|
|
722
|
+
## JSON-RPC Quick Reference
|
|
723
|
+
|
|
724
|
+
All methods use JSON-RPC 2.0 format:
|
|
725
|
+
|
|
726
|
+
```json
|
|
727
|
+
{
|
|
728
|
+
"jsonrpc": "2.0",
|
|
729
|
+
"method": "api_name.method_name",
|
|
730
|
+
"params": {},
|
|
731
|
+
"id": 1
|
|
732
|
+
}
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
### Complete API Method Index
|
|
736
|
+
|
|
737
|
+
| API | Method | Description |
|
|
738
|
+
|---|---|---|
|
|
739
|
+
| `database_api` | `get_block_header` | Block header by height |
|
|
740
|
+
| `database_api` | `get_block` | Full block by height |
|
|
741
|
+
| `database_api` | `get_irreversible_block_header` | Irreversible block header |
|
|
742
|
+
| `database_api` | `get_irreversible_block` | Irreversible block |
|
|
743
|
+
| `database_api` | `set_block_applied_callback` | Subscribe to blocks |
|
|
744
|
+
| `database_api` | `get_config` | Chain constants |
|
|
745
|
+
| `database_api` | `get_dynamic_global_properties` | Current chain state |
|
|
746
|
+
| `database_api` | `get_chain_properties` | Median witness props |
|
|
747
|
+
| `database_api` | `get_hardfork_version` | Current HF version |
|
|
748
|
+
| `database_api` | `get_next_scheduled_hardfork` | Next HF info |
|
|
749
|
+
| `database_api` | `get_accounts` | Accounts by names |
|
|
750
|
+
| `database_api` | `lookup_account_names` | Lookup accounts |
|
|
751
|
+
| `database_api` | `lookup_accounts` | List accounts |
|
|
752
|
+
| `database_api` | `get_account_count` | Total accounts |
|
|
753
|
+
| `database_api` | `get_master_history` | Key history |
|
|
754
|
+
| `database_api` | `get_recovery_request` | Recovery request |
|
|
755
|
+
| `database_api` | `get_escrow` | Escrow by ID |
|
|
756
|
+
| `database_api` | `get_withdraw_routes` | Withdraw routes |
|
|
757
|
+
| `database_api` | `get_vesting_delegations` | Delegations |
|
|
758
|
+
| `database_api` | `get_expiring_vesting_delegations` | Expiring delegations |
|
|
759
|
+
| `database_api` | `get_transaction_hex` | TX as hex |
|
|
760
|
+
| `database_api` | `get_required_signatures` | Required sigs |
|
|
761
|
+
| `database_api` | `get_potential_signatures` | Potential signers |
|
|
762
|
+
| `database_api` | `verify_authority` | Verify TX auth |
|
|
763
|
+
| `database_api` | `verify_account_authority` | Verify account auth |
|
|
764
|
+
| `database_api` | `get_database_info` | DB stats |
|
|
765
|
+
| `database_api` | `get_proposed_transactions` | Proposals |
|
|
766
|
+
| `database_api` | `get_accounts_on_sale` | Accounts for sale |
|
|
767
|
+
| `database_api` | `get_accounts_on_auction` | Accounts on auction |
|
|
768
|
+
| `database_api` | `get_subaccounts_on_sale` | Subaccounts for sale |
|
|
769
|
+
| `network_broadcast_api` | `broadcast_transaction` | Broadcast TX |
|
|
770
|
+
| `network_broadcast_api` | `broadcast_transaction_synchronous` | Broadcast TX (sync) |
|
|
771
|
+
| `network_broadcast_api` | `broadcast_transaction_with_callback` | Broadcast TX (callback) |
|
|
772
|
+
| `network_broadcast_api` | `broadcast_block` | Broadcast block |
|
|
773
|
+
| `witness_api` | `get_active_witnesses` | Active witnesses |
|
|
774
|
+
| `witness_api` | `get_witness_schedule` | Witness schedule |
|
|
775
|
+
| `witness_api` | `get_witnesses` | Witnesses by ID |
|
|
776
|
+
| `witness_api` | `get_witness_by_account` | Witness by account |
|
|
777
|
+
| `witness_api` | `get_witnesses_by_vote` | Witnesses by votes |
|
|
778
|
+
| `witness_api` | `get_witnesses_by_counted_vote` | Witnesses by counted votes |
|
|
779
|
+
| `witness_api` | `get_witness_count` | Witness count |
|
|
780
|
+
| `witness_api` | `lookup_witness_accounts` | List witnesses |
|
|
781
|
+
| `account_by_key` | `get_key_references` | Accounts by key |
|
|
782
|
+
| `account_history` | `get_account_history` | Account operations |
|
|
783
|
+
| `operation_history` | `get_ops_in_block` | Block operations |
|
|
784
|
+
| `operation_history` | `get_transaction` | TX by ID |
|
|
785
|
+
| `committee_api` | `get_committee_request` | Request by ID |
|
|
786
|
+
| `committee_api` | `get_committee_request_votes` | Request votes |
|
|
787
|
+
| `committee_api` | `get_committee_requests_list` | All requests |
|
|
788
|
+
| `invite_api` | `get_invites_list` | All invites |
|
|
789
|
+
| `invite_api` | `get_invite_by_id` | Invite by ID |
|
|
790
|
+
| `invite_api` | `get_invite_by_key` | Invite by key |
|
|
791
|
+
| `paid_subscription_api` | `get_paid_subscriptions` | All subscriptions |
|
|
792
|
+
| `paid_subscription_api` | `get_paid_subscription_options` | Subscription config |
|
|
793
|
+
| `paid_subscription_api` | `get_paid_subscription_status` | Subscription status |
|
|
794
|
+
| `paid_subscription_api` | `get_active_paid_subscriptions` | Active subscriptions |
|
|
795
|
+
| `paid_subscription_api` | `get_inactive_paid_subscriptions` | Inactive subscriptions |
|
|
796
|
+
| `follow` | `get_followers` | Followers |
|
|
797
|
+
| `follow` | `get_following` | Following |
|
|
798
|
+
| `follow` | `get_follow_count` | Follow counts |
|
|
799
|
+
| `follow` | `get_feed_entries` | Feed entries |
|
|
800
|
+
| `follow` | `get_feed` | Feed content |
|
|
801
|
+
| `follow` | `get_blog_entries` | Blog entries |
|
|
802
|
+
| `follow` | `get_blog` | Blog content |
|
|
803
|
+
| `follow` | `get_reblogged_by` | Rebloggers |
|
|
804
|
+
| `follow` | `get_blog_authors` | Blog authors |
|
|
805
|
+
| `tags` | `get_trending_tags` | Trending tags |
|
|
806
|
+
| `tags` | `get_tags_used_by_author` | Author's tags |
|
|
807
|
+
| `tags` | `get_discussions_by_trending` | Trending posts |
|
|
808
|
+
| `tags` | `get_discussions_by_created` | New posts |
|
|
809
|
+
| `tags` | `get_discussions_by_active` | Active posts |
|
|
810
|
+
| `tags` | `get_discussions_by_cashout` | Posts by cashout |
|
|
811
|
+
| `tags` | `get_discussions_by_payout` | Posts by payout |
|
|
812
|
+
| `tags` | `get_discussions_by_votes` | Posts by votes |
|
|
813
|
+
| `tags` | `get_discussions_by_children` | Posts by replies |
|
|
814
|
+
| `tags` | `get_discussions_by_hot` | Hot posts |
|
|
815
|
+
| `tags` | `get_discussions_by_feed` | Feed posts |
|
|
816
|
+
| `tags` | `get_discussions_by_blog` | Blog posts |
|
|
817
|
+
| `tags` | `get_discussions_by_contents` | Content posts |
|
|
818
|
+
| `tags` | `get_discussions_by_author_before_date` | Author posts |
|
|
819
|
+
| `tags` | `get_languages` | Languages |
|
|
820
|
+
| `social_network` | `get_content` | Discussion |
|
|
821
|
+
| `social_network` | `get_content_replies` | Replies |
|
|
822
|
+
| `social_network` | `get_all_content_replies` | All replies |
|
|
823
|
+
| `social_network` | `get_account_votes` | Account's votes |
|
|
824
|
+
| `social_network` | `get_active_votes` | Votes on content |
|
|
825
|
+
| `social_network` | `get_replies_by_last_update` | Replies by update |
|
|
826
|
+
| `private_message` | `get_inbox` | Inbox |
|
|
827
|
+
| `private_message` | `get_outbox` | Outbox |
|
|
828
|
+
| `custom_protocol_api` | `get_account` | Account + custom |
|
|
829
|
+
| `auth_util` | `check_authority_signature` | Check sig |
|
|
830
|
+
| `block_info` | `get_block_info` | Block info |
|
|
831
|
+
| `block_info` | `get_blocks_with_info` | Blocks + info |
|
|
832
|
+
| `raw_block` | `get_raw_block` | Raw block |
|
|
833
|
+
| `debug_node` | `debug_generate_blocks` | Generate blocks |
|
|
834
|
+
| `debug_node` | `debug_generate_blocks_until` | Generate until |
|
|
835
|
+
| `debug_node` | `debug_push_blocks` | Push blocks |
|
|
836
|
+
| `debug_node` | `debug_push_json_blocks` | Push JSON blocks |
|
|
837
|
+
| `debug_node` | `debug_pop_block` | Pop block |
|
|
838
|
+
| `debug_node` | `debug_get_witness_schedule` | Witness schedule |
|
|
839
|
+
| `debug_node` | `debug_set_hardfork` | Set hardfork |
|
|
840
|
+
| `debug_node` | `debug_has_hardfork` | Check hardfork |
|
|
841
|
+
|
|
842
|
+
---
|
|
843
|
+
|
|
844
|
+
## Recommended Plugin Sets
|
|
845
|
+
|
|
846
|
+
### Minimal API Node
|
|
847
|
+
```ini
|
|
848
|
+
plugin = chain
|
|
849
|
+
plugin = json_rpc
|
|
850
|
+
plugin = webserver
|
|
851
|
+
plugin = p2p
|
|
852
|
+
plugin = database_api
|
|
853
|
+
plugin = network_broadcast_api
|
|
854
|
+
```
|
|
855
|
+
|
|
856
|
+
### Full API Node
|
|
857
|
+
```ini
|
|
858
|
+
plugin = chain
|
|
859
|
+
plugin = json_rpc
|
|
860
|
+
plugin = webserver
|
|
861
|
+
plugin = p2p
|
|
862
|
+
plugin = database_api
|
|
863
|
+
plugin = network_broadcast_api
|
|
864
|
+
plugin = witness_api
|
|
865
|
+
plugin = account_by_key
|
|
866
|
+
plugin = account_history
|
|
867
|
+
plugin = operation_history
|
|
868
|
+
plugin = committee_api
|
|
869
|
+
plugin = invite_api
|
|
870
|
+
plugin = paid_subscription_api
|
|
871
|
+
plugin = follow
|
|
872
|
+
plugin = tags
|
|
873
|
+
plugin = social_network
|
|
874
|
+
plugin = private_message
|
|
875
|
+
```
|
|
876
|
+
|
|
877
|
+
### Witness Node
|
|
878
|
+
```ini
|
|
879
|
+
plugin = chain
|
|
880
|
+
plugin = p2p
|
|
881
|
+
plugin = witness
|
|
882
|
+
plugin = json_rpc
|
|
883
|
+
plugin = webserver
|
|
884
|
+
plugin = database_api
|
|
885
|
+
plugin = network_broadcast_api
|
|
886
|
+
plugin = witness_api
|
|
887
|
+
```
|