-
Notifications
You must be signed in to change notification settings - Fork 180
/
Copy pathgenerate.xml
609 lines (499 loc) · 52.1 KB
/
generate.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
<?xml version = "1.0" ?>
<generate script="generate.gsl" language="en-us">
<!-- Help resources. -->
<help>
<!-- TODO: generate part of help output from shorthand. -->
<shorthand name="BTC" description="Bitcoin Denomination" />
<shorthand name="BX" description="Bitcoin Explorer" />
<shorthand name="CERT" description="Curve ZMQ Certificate" />
<shorthand name="EC" description="Elliptic Curve" />
<shorthand name="HD" description="Hierarchical Deterministic" />
<shorthand name="ICU" description="International Components for Unicode" />
<shorthand name="PREVOUT" description="Previous Output" />
<shorthand name="PUBKEY" description="EC Public Key" />
<shorthand name="QRCODE" description="Quick Response Code" />
<shorthand name="RACE" description="Research and development in Advanced Communications Technologies" />
<shorthand name="RIPEMD" description="RACE Integrity Primitives Evaluation Message Digest" />
<shorthand name="SHA" description="Secure Hash Algorithm" />
<shorthand name="SOCKS" description="Socket Secure (proxy protocol)" />
<shorthand name="SX" description="Spesmilo Exchanger (the original version of Bitcoin Explorer)" />
<shorthand name="TX" description="Transaction" />
<shorthand name="UTXO" description="Unspent Transaction Output" />
<shorthand name="WIF" description="Wallet Import Format" />
<shorthand name="ZMQ" description="Zero Message Queue" />
</help>
<!-- Configuration file sections. -->
<!-- IMPORTANT: update the 'settings' command when these change. -->
<configuration section="general">
<!-- Only hd-new and stealth-encode currently use the testnet distinction, apart from swapping servers. -->
<setting name="network" description="The network to use, either 'mainnet' or 'testnet'. Defaults to match the build." />
<setting name="connect_retries" type="byte" description="The number of times to retry contacting a server or node, defaults to 0." />
<setting name="connect_timeout_seconds" default="5" type="uint32_t" description="The time limit for connection establishment, defaults to 5." />
<setting name="channel_handshake_seconds" default="30" type="uint32_t" description="The time limit to complete the connection handshake, defaults to 30." />
<setting name="hosts_file" type="path" default="hosts.cache" description="The peer hosts cache file path, defaults to 'hosts.cache'." />
</configuration>
<configuration section="logging">
<setting name="debug_file" type="path" default="debug.log" description="The debug log file path, defaults to 'debug.log'." />
<setting name="error_file" type="path" default="error.log" description="The error log file path, defaults to 'error.log'." />
</configuration>
<configuration section="mainnet">
<setting name="url" type="uri" default="tcp://obelisk.airbitz.co:9091" description="The URL of the Libbitcoin/Obelisk mainnet server." />
<setting name="server_cert_key" type="cert_key" description="The Z85-encoded public key of the server certificate." />
<setting name="cert_file" type="path" description="The path to the ZPL-encoded client private certificate file." />
</configuration>
<configuration section="testnet">
<setting name="url" type="uri" default="tcp://obelisk-testnet.airbitz.co:9091" description="The URL of the Libbitcoin/Obelisk testnet server." />
<setting name="server_cert_key" type="cert_key" description="The Z85-encoded public key of the server certificate." />
<setting name="cert_file" type="path" description="The path to the ZPL-encoded client private certificate file." />
</configuration>
<!-- General resources. -->
<resource>
<string name="BX_PRINTER_USAGE_FORMAT" value="Usage: %1% %2% %3%" />
<string name="BX_PRINTER_DESCRIPTION_FORMAT" value="Info: %1%" />
<string name="BX_PRINTER_OPTION_TABLE_HEADER" value="Options (named):" />
<string name="BX_PRINTER_ARGUMENT_TABLE_HEADER" value="Arguments (positional):" />
<string name="BX_PRINTER_VALUE_TEXT" value="VALUE" />
<string name="BX_COMMAND_USAGE" value="Usage: bx COMMAND [--help]" />
<string name="BX_COMMANDS_HEADER" value="Info: The bx commands are:" />
<string name="BX_COMMANDS_HOME_PAGE" value="Bitcoin Explorer home page:" />
<string name="BX_CONNECTION_FAILURE" value="Could not connect to server: %1%" />
<string name="BX_DEPRECATED_COMMAND" value="The '%1%' command has been replaced by '%2%'."/>
<string name="BX_INVALID_COMMAND" value="'%1%' is not a bx command. Enter 'bx help' for a list of commands." />
<string name="BX_INVALID_PARAMETER" value="Error: %1%" />
<string name="BX_CONFIG_DESCRIPTION" value="The path to the configuration settings file." />
<string name="BX_HELP_DESCRIPTION" value="Get a description and instructions for this command." />
<string name="BX_VERSION_MESSAGE" value="Version: %1% [%2%]" />
</resource>
<!-- Bitcoin Explorer Commands -->
<!-- The 'command' element attributes typeX multipleX are currently unused and are intended to eventually provide type information for output bindings. -->
<command symbol="address-decode" formerly="decode-addr" output="wrapper" category="WALLET" description="Convert a Bitcoin address to its component parts.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="BITCOIN_ADDRESS" stdin="true" type="address" description="The Bitcoin address to convert. If not specified the address is read from STDIN."/>
</command>
<command symbol="address-embed" formerly="embed-addr" output="address" category="WALLET" description="Create a Bitcoin address with an embedded record of binary data.">
<option name="version" type="byte" description="The desired Bitcoin address version." />
<argument name="DATA" stdin="true" type="raw" description="The binary data to encode as Base16. This can be text or any other data. If not specified the data is read from STDIN." />
</command>
<command symbol="address-encode" formerly="encode-addr" output="address" category="WALLET" description="Convert a RIPEMD160 value to a Bitcoin address.">
<option name="version" type="byte" description="The desired Bitcoin address version." />
<argument name="RIPEMD160" stdin="true" type="btc160" description="The Base16 hash to convert. If not specified the value is read from STDIN."/>
</command>
<command symbol="address-validate" formerly="validaddr" output="address" multipleX="true" category="WALLET" description="Validate a Bitcoin address.">
<argument name="BITCOIN_ADDRESS" stdin="true" type="string" description="The Bitcoin address to validate. If not specified the address is read from STDIN." />
<define name="BX_ADDRESS_VALIDATE_VALID_ADDRESS" value="The address is valid." />
<define name="BX_ADDRESS_VALIDATE_INVALID_ADDRESS" value="The address is not valid." />
</command>
<command symbol="base16-decode" output="raw" category="ENCODING" description="Convert a Base16 value to binary data.">
<argument name="BASE16" stdin="true" type="base16" description="The Base16 value to decode as binary data. If not specified the value is read from STDIN." />
</command>
<command symbol="base16-encode" output="base16" category="ENCODING" description="Convert binary data to Base16.">
<argument name="DATA" stdin="true" type="raw" description="The binary data to encode as Base16. This can be text or any other data. If not specified the data is read from STDIN." />
</command>
<command symbol="base58check-decode" output="wrapper" category="ENCODING" description="Convert a Base58Check value to Base16.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="BASE58CHECK" stdin="true" type="base58" description="The Base58Check value to decode. If not specified the value is read from STDIN." />
</command>
<command symbol="base58check-encode" output="base58" category="ENCODING" description="Convert a Base16 value to Base58Check.">
<option name="version" type="byte" description="The desired version number." />
<argument name="BASE16" stdin="true" type="base16" description="The Base16 value to Base58Check encode. If not specified the value is read from STDIN." />
</command>
<command symbol="base58-decode" output="base16" category="ENCODING" description="Convert a Base58 value to Base16.">
<argument name="BASE58" stdin="true" type="base58" description="The Base58 value to decode as Base16. If not specified the value is read from STDIN." />
</command>
<command symbol="base58-encode" output="base58" category="ENCODING" description="Convert a Base16 value to Base58.">
<argument name="BASE16" stdin="true" type="base16" description="The Base16 value to encode as Base58. If not specified the value is read from STDIN." />
</command>
<command symbol="base64-decode" output="raw" category="ENCODING" description="Convert a Base64 value to binary data.">
<argument name="BASE64" stdin="true" type="base64" description="The Base64 value to decode as binary data. If not specified the value is read from STDIN." />
</command>
<command symbol="base64-encode" output="base64" category="ENCODING" description="Convert binary data to Base64.">
<argument name="DATA" stdin="true" type="raw" description="The binary data to encode as Base64. This can be text or any other data. If not specified the data is read from STDIN." />
</command>
<command symbol="bci-fetch-last-height" category="ONLINE" obsolete="true" description="Get the last block height from blockchain.info.">
<define name="BX_BCI_FETCH_LAST_HEIGHT_OBSOLETE" value="This command is no longer supported. Use fetch-height." />
</command>
<command symbol="bci-history" category="ONLINE" obsolete="true" description="Get the list of outputs, values and spends for an address from blockchain.info.">
<define name="BX_BCI_HISTORY_OBSOLETE" value="This command is no longer supported. Use fetch-history." />
</command>
<command symbol="bitcoin160" output="base16" category="HASH" description="Perform a RIPEMD160 hash of a SHA256 hash of Base16 data.">
<argument name="BASE16" stdin="true" type="base16" description="The Base16 data to hash. If not specified the data is read from STDIN."/>
</command>
<command symbol="bitcoin256" output="base16" category="HASH" description="Perform a SHA256 hash of a SHA256 hash of Base16 data and then reverse the byte order.">
<argument name="BASE16" stdin="true" type="base16" description="The Base16 data to hash. If not specified the data is read from STDIN."/>
</command>
<command symbol="blke-fetch-transaction" category="ONLINE" obsolete="true" description="Get a Bitcoin transaction from blockexplorer.com.">
<define name="BX_BLKE_FETCH_TRANSACTION_OBSOLETE" value="This command is no longer supported. Use fetch-tx." />
</command>
<command symbol="btc-to-satoshi" formerly="satoshi" output="uint64_t" category="MATH" description="Convert BTC to satoshi.">
<argument name="BTC" stdin="true" type="btc" description="The number of BTC to convert. If not specified the value is read from STDIN."/>
</command>
<command symbol="cert-new" category="MATH" description="Create a private Curve ZMQ certificate for use with a Libbitcoin/Obelisk server. WARNING: entropy is obtained from the underlying platform.">
<argument name="PRIVATE_CERT" required="true" type="path" description="The path to write the certificate file." />
<option name="metadata" type="string" multiple="true" description="The set of name-value pairs to add as metadata to the certificate, encoded as NAME:VALUE." />
<define name="BX_CERT_NEW_SAVE_FAIL" value="Failed to save certificate file: %1%." />
</command>
<command symbol="cert-public" category="MATH" description="Create a derived public Curve ZMQ certificate for use with a Libbitcoin/Obelisk server.">
<argument name="PRIVATE_CERT" required="true" type="path" description="The path to read the private certificate file." />
<argument name="PUBLIC_CERT" required="true" type="path" description="The path to write the public certificate file." />
<option name="metadata" type="string" multiple="true" description="The set of name-value pairs to add as metadata to the new certificate, encoded as NAME:VALUE." />
<define name="BX_CERT_PUBLIC_INVALID" value="Certificate is not valid: %1%." />
<define name="BX_CERT_PUBLIC_SAVE_FAIL" value="Failed to save certificate file: %1%." />
</command>
<command symbol="ec-lock" formerly="brainwallet" output="ec_private" category="WALLET" stub="true" description="Make a passphrase-protected EC private key (BIP38) from an EC private key.">
<argument name="EC_PRIVATE_KEY" required="true" type="ec_private" description="The EC private key." />
<argument name="PASSPHRASE" required="true" description="The passphrase." />
<define name="BX_EC_LOCK_NOT_IMPLEMENTED" value="This command is not yet implemented." />
</command>
<command symbol="ec-add" output="ec_public" category="MATH" description="Calculate the EC function POINT + (SECRET * curve-generator-point).">
<argument name="POINT" required="true" type="ec_public" description="The Base16 EC point to add."/>
<argument name="SECRET" required="true" type="ec_private" description="The Base16 EC secret to add."/>
<define name="BX_EC_ADD_OUT_OF_RANGE" value="Function exceeds valid range." />
</command>
<command symbol="ec-add-secrets" formerly="ec-add-modp" output="ec_private" category="MATH" description="Calculate the EC function (SECRET + SECRET) % curve-order.">
<argument name="SECRET" stdin="true" limit="-1" type="ec_private" description="The set of Base16 secrets to add. If not specified the secrets are read from STDIN."/>
<define name="BX_EC_ADD_SECRETS_OUT_OF_RANGE" value="Sum exceeds valid range." />
</command>
<command symbol="ec-multiply" output="ec_public" category="MATH" description="Calculate the EC product (POINT * SECRET).">
<argument name="POINT" required="true" type="ec_public" description="The Base16 EC point to multiply."/>
<argument name="SECRET" required="true" type="ec_private" description="The Base16 EC secret to multiply."/>
<define name="BX_EC_MULITPLY_OUT_OF_RANGE" value="Product exceeds valid range." />
</command>
<command symbol="ec-multiply-secrets" formerly="ec-tweak-add" output="ec_private" category="MATH" description="Calculate the EC function (SECRET * SECRET) % curve-order.">
<argument name="SECRET" stdin="true" limit="-1" type="ec_private" description="The set of Base16 EC secrets to multiply. If not specified the secrets are read from STDIN."/>
<define name="BX_EC_MULITPLY_SECRETS_OUT_OF_RANGE" value="Function exceeds valid range." />
</command>
<command symbol="ec-new" formerly="newkey" output="ec_private" category="WALLET" description="Create a new EC private key from entropy.">
<argument name="SEED" stdin="true" type="base16" description="The Base16 entropy for the new key. Must be at least 128 bits in length. If not specified the seed is read from STDIN." />
<define name="BX_EC_NEW_SHORT_SEED" value="The seed is less than 128 bits long." />
<define name="BX_EC_NEW_INVALID_KEY" value="The seed produced an invalid key." />
</command>
<command symbol="ec-to-address" formerly="addr" output="address" category="WALLET" description="Convert an EC public key to a Bitcoin address.">
<option name="version" type="byte" description="The desired Bitcoin address version." />
<argument name="EC_PUBLIC_KEY" stdin="true" type="ec_public" description="The Base16 EC public key to convert. If not specified the key is read from STDIN." />
</command>
<command symbol="ec-to-public" formerly="pubkey" output="ec_public" category="WALLET" description="Derive the EC public key of an EC private key. Defaults to the compressed public key format.">
<option name="uncompressed" description="Derive using the uncompressed public key format." />
<argument name="EC_PRIVATE_KEY" stdin="true" type="ec_private" description="The Base16 EC private key. If not specified the key is read from STDIN."/>
</command>
<command symbol="ec-to-wif" output="wif" category="WALLET" description="Convert an EC private key to a WIF private key. The result associates with the compressed public key format by default.">
<option name="uncompressed" description="Associate the result with the uncompressed public key format." />
<argument name="EC_PRIVATE_KEY" stdin="true" type="ec_private" description="The Base16 EC private key to convert. If not specified the key is read from STDIN."/>
</command>
<command symbol="ec-unlock" output="ec_private" category="WALLET" stub="true" description="Extract the EC private key from a passphrase-protected (BIP38) EC private key.">
<argument name="PASSPHRASE" required="true" description="The passphrase." />
<define name="BX_EC_UNLOCK_NOT_IMPLEMENTED" value="This command is not yet implemented." />
</command>
<command symbol="fetch-balance" output="balance_row" category="ONLINE" network="true" description="Get the balance in satoshi of a Bitcoin address. Requires a Libbitcoin/Obelisk server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="BITCOIN_ADDRESS" stdin="true" type="address" description="The Bitcoin address. If not specified the address is read from STDIN." />
</command>
<command symbol="fetch-header" category="ONLINE" output="header" network="true" description="Get the block header from the specified hash or height. Height is ignored if both are specified. Requires a Libbitcoin/Obelisk server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<option name="hash" shortcut="s" type="btc256" description="The Base16 block hash."/>
<option name="height" shortcut="t" type="uint32_t" description="The block height."/>
</command>
<command symbol="fetch-height" formerly="fetch-last-height" output="uint32_t" category="ONLINE" network="true" description="Get the last block height. Requires a Libbitcoin/Obelisk server connection.">
<argument name="server-url" description="The URL of the Libbitcoin/Obelisk server to use. If not specified the URL is obtained from configuration settings or defaults."/>
</command>
<command symbol="fetch-history" output="history_row" category="ONLINE" network="true" description="Get list of output points, values, and spends for a Bitcoin address. Requires a Libbitcoin/Obelisk server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="BITCOIN_ADDRESS" stdin="true" type="address" description="The Bitcoin address. If not specified the address is read from STDIN." />
</command>
<command symbol="fetch-public-key" formerly="get-pubkey" output="ec_public" category="ONLINE" stub="true" network="true" description="Get the EC public key of the address, if it exists on the blockchain. Requires a Libbitcoin/Obelisk server connection.">
<argument name="BITCOIN_ADDRESS" stdin="true" type="address" description="The Bitcoin address of the public key. If not specified the address is read from STDIN."/>
<define name="BX_FETCH_PUBLIC_KEY_NOT_IMPLEMENTED" value="This command is not yet implemented." />
</command>
<command symbol="fetch-stealth" output="stealth_row" category="ONLINE" network="true" description="Get metadata on potential payment transactions by stealth prefix. Requires a Libbitcoin server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<option name="height" shortcut="t" type="uint32_t" description="The minimum block height of transactions to include."/>
<!--<option name="scan_secret" type="ec_private" description="The Base16 EC private key to use locally in confirming stealth transactions."/>-->
<!--<option name="scan_pubkey" shortcut="p" type="ec_public" description="The Base16 EC public key to use locally in confirming stealth transactions."/>-->
<argument name="PREFIX" type="base2" description="The Base2 stealth prefix used to locate transactions. Defaults to all stealth transactions." />
<define name="BX_FETCH_STEALTH_PREFIX_TOO_LONG" value="Stealth prefix is limited to 32 bits." />
</command>
<command symbol="fetch-tx" formerly="fetch-transaction" output="transaction" category="ONLINE" network="true" description="Get a transaction by its hash. Requires a Libbitcoin/Obelisk server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="HASH" stdin="true" type="btc256" description="The Base16 transaction hash of the transaction to get. If not specified the transaction hash is read from STDIN." />
</command>
<command symbol="fetch-tx-index" formerly="fetch-transaction-index" output="string" multipleX="true" category="ONLINE" network="true" description="Get the block height and index of a transaction. Requires a Libbitcoin/Obelisk server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="HASH" stdin="true" type="btc256" description="The Base16 transaction hash of the transaction index to get. If not specified the transaction hash is read from STDIN." />
</command>
<command symbol="fetch-utxo" formerly="get-utxo" output="output" multipleX="true" category="ONLINE" stub="true" network="true" description="Get enough unspent transaction outputs from a Bitcoin addresses to pay a number of satoshi. Requires a Libbitcoin/Obelisk server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="SATOSHI" type="uint64_t" required="true" description="The whole number of satoshi." />
<argument name="BITCOIN_ADDRESS" stdin="true" type="address" description="The Bitcoin address. If not specified the address is read from STDIN." />
<define name="BX_FETCH_UTXO_NOT_IMPLEMENTED" value="This command is not yet implemented." />
</command>
<command symbol="genaddr" category="ELECTRUM" obsolete="true" description="Create a Bitcoin address deterministically from an Electrum wallet.">
<define name="BX_GENADDR_OBSOLETE" value="Electrum style key functions are obsolete. Use HD (BIP32) commands instead." />
</command>
<command symbol="genpriv" category="ELECTRUM" obsolete="true" description="Create a private key deterministically from an Electrum seed.">
<define name="BX_GENPRIV_OBSOLETE" value="Electrum style key functions are obsolete. Use HD (BIP32) commands instead." />
</command>
<command symbol="genpub" category="ELECTRUM" obsolete="true" description="Create a public key deterministically from an Electrum wallet.">
<define name="BX_GENPUB_OBSOLETE" value="Electrum style key functions are obsolete. Use HD (BIP32) commands instead." />
</command>
<command symbol="hd-new" formerly="hd-seed" output="hd_private" category="WALLET" description="Create a new HD (BIP32) private key from entropy.">
<argument name="SEED" stdin="true" type="base16" description="The Base16 entropy for the new key. Must be at least 128 bits in length. If not specified the seed is read from STDIN." />
<define name="BX_HD_NEW_SHORT_SEED" value="The seed is less than 128 bits long." />
<define name="BX_HD_NEW_INVALID_KEY" value="The seed produced an invalid key." />
</command>
<command symbol="hd-private" output="hd_private" category="WALLET" description="Derive a child HD (BIP32) private key from another HD private key.">
<option name="hard" shortcut="d" description="Signal to create a hardened key." />
<option name="index" type="uint32_t" description="The HD index, defaults to zero." />
<argument name="HD_PRIVATE_KEY" stdin="true" type="hd_private" description="The parent HD private key. If not specified the key is read from STDIN." />
</command>
<command symbol="hd-public" output="hd_public" category="WALLET" description="Derive a child HD (BIP32) public key from another HD public or private key.">
<option name="hard" shortcut="d" description="Signal to create a hardened key." />
<option name="index" type="uint32_t" description="The HD index, defaults to zero." />
<argument name="HD_PUBLIC_KEY" stdin="true" type="hd_key" description="The parent HD public or private key. If not specified the key is read from STDIN." />
<define name="BX_HD_PUBLIC_HARD_OPTION_CONFLICT" value="The hard option requires a private key." />
</command>
<command symbol="hd-to-address" output="address" category="WALLET" description="Convert a HD (BIP32) public or private key to a Bitcoin address.">
<argument name="HD_KEY" stdin="true" type="hd_key" description="The HD public or private key to convert. If not specified the key is read from STDIN." />
</command>
<command symbol="hd-to-ec" output="ec_private" category="WALLET" description="Convert a HD (BIP32) public or private key to the equivalent EC public or private key.">
<argument name="HD_KEY" stdin="true" type="hd_key" description="The HD public or private key to convert. If not specified the key is read from STDIN." />
</command>
<command symbol="hd-to-public" output="hd_public" category="WALLET" description="Derive the HD (BIP32) public key of a HD private key.">
<argument name="HD_PRIVATE_KEY" stdin="true" type="hd_private" description="The HD private key. If not specified the key is read from STDIN." />
</command>
<command symbol="hd-to-wif" output="wif" category="WALLET" description="Convert a HD (BIP32) private key to a WIF private key.">
<argument name="HD_PRIVATE_KEY" stdin="true" type="hd_private" description="The HD private key to convert. If not specified the key is read from STDIN." />
</command>
<command symbol="help" output="string" category="META" description="Get the list of commands.">
<argument name="COMMAND" description="The command for which help is requested." />
</command>
<command symbol="initchain" category="ONLINE" obsolete="true" description="Initialize a new blockchain database.">
<define name="BX_INITCHAIN_OBSOLETE" value="Server administration tools are no longer supported." />
</command>
<command symbol="input-sign" formerly="sign-input" output="endorsement" category="TRANSACTION" description="Create an endorsement for a transaction input.">
<option name="index" type="uint32_t" description="The ordinal position of the input within the transaction, defaults to zero." />
<option name="sign_type" type="hashtype" description="A token that indicates how the transaction should be hashed for signing. Options are 'all', 'none', 'single', and 'anyone_can_pay', defaults to 'all'." />
<!-- Deterministic ECDSA required as of v2.1.0, nonce no longer allowed. -->
<!--<option name="nonce" type="base16" description="The Base16 random value used to seed a signing nonce. Must be at least 128 bits in length. If not specified the deterministic signature algorithm is used." />-->
<argument name="EC_PRIVATE_KEY" required="true" type="ec_private" description="The Base16 EC private key to sign with."/>
<argument name="CONTRACT" required="true" type="script" description="The previous output script to use in signing. Multiple tokens must be quoted." />
<argument name="TRANSACTION" fileX="true" stdin="true" type="transaction" description="The Base16 transaction. If not specified the transaction is read from STDIN."/>
<!--<define name="BX_INPUT_SIGN_SHORT_NONCE" value="The optional nonce is less than 128 bits long." />-->
<define name="BX_INPUT_SIGN_INDEX_OUT_OF_RANGE" value="The index does not refer to an existing input." />
<define name="BX_INPUT_SIGN_FAILED" value="The signing operation failed." />
</command>
<command symbol="input-set" formerly="set-input" output="transaction" category="TRANSACTION" description="Assign a script to an existing transaction input.">
<option name="index" type="uint32_t" description="The ordinal position of the input within the transaction, defaults to zero." />
<argument name="ENDORSEMENT_SCRIPT" required="true" type="script" description="The endorsement script to assign to the input. Multiple tokens must be quoted." />
<argument name="TRANSACTION" fileX="true" stdin="true" type="transaction" description="The Base16 transaction. If not specified the transaction is read from STDIN."/>
<define name="BX_INPUT_SET_INDEX_OUT_OF_RANGE" value="The index does not refer to an existing input." />
</command>
<command symbol="input-validate" formerly="validsig" output="string" category="TRANSACTION" description="Validate a transaction input endorsement.">
<option name="index" type="uint32_t" description="The ordinal position of the input within the transaction, defaults to zero." />
<argument name="EC_PUBLIC_KEY" required="true" type="ec_public" description="The Base16 EC public key to verify against."/>
<argument name="CONTRACT" required="true" type="script" description="The previous output script used in signing. Multiple tokens must be quoted." />
<argument name="ENDORSEMENT" required="true" type="endorsement" description="The endorsement to validate."/>
<argument name="TRANSACTION" fileX="true" stdin="true" type="transaction" description="The Base16 transaction. If not specified the transaction is read from STDIN."/>
<define name="BX_INPUT_VALIDATE_INDEX_OUT_OF_RANGE" value="The index does not refer to an existing input." />
<define name="BX_INPUT_VALIDATE_INDEX_VALID_ENDORSEMENT" value="The endorsement is valid." />
<define name="BX_INPUT_VALIDATE_INDEX_INVALID_ENDORSEMENT" value="The endorsement is not valid." />
</command>
<command symbol="message-sign" output="signature" category="MESSAGING" description="Create a message signature.">
<argument name="WIF" type="wif" required="true" description="The WIF private key to use for signing." />
<argument name="MESSAGE" stdin="true" type="raw" description="The binary message data to sign. If not specified the message is read from STDIN." />
</command>
<command symbol="message-validate" output="string" category="MESSAGING" description="Validate a message signature.">
<argument name="BITCOIN_ADDRESS" required="true" type="address" description="The Bitcoin address of the message signer."/>
<argument name="SIGNATURE" required="true" type="signature" description="The message signature." />
<argument name="MESSAGE" stdin="true" type="raw" description="The binary message data for which the signature applies. If not specified the message is read from STDIN." />
<define name="BX_MESSAGE_VALIDATE_INDEX_VALID_SIGNATURE" value="The signature is valid." />
<define name="BX_MESSAGE_VALIDATE_INDEX_INVALID_SIGNATURE" value="The signature is not valid." />
</command>
<command symbol="mnemonic-decode" output="base16" category="ELECTRUM" obsolete="true" description="Convert a seed to its Electrum mnemonic.">
<define name="BX_MNEMONIC_DECODE_OBSOLETE" value="Electrum style key functions are obsolete. Use mnemonic-to-seed (BIP39) command instead." />
</command>
<command symbol="mnemonic-encode" formerly="mnemonic" output="string" multipleX="true" category="ELECTRUM" obsolete="true" description="Convert an Electrum mnemonic to its seed.">
<define name="BX_MNEMONIC_ENCODE_OBSOLETE" value="Electrum style key functions are obsolete. Use mnemonic-new (BIP39) command instead." />
</command>
<command symbol="mnemonic-new" output="string" multipleX="true" category="WALLET" description="Create a mnemonic seed (BIP39) from entropy. WARNING: mnemonic should be created from properly generated entropy.">
<option name="language" type="language" description="The language identifier of the mnemonic dictionary to use. Options are 'en', 'es', 'ja', 'zh_Hans', 'zh_Hant' and 'any', defaults to 'en'." />
<argument name="SEED" stdin="true" type="base16" description="The Base16 entropy from which the mnemonic is created. The length must be evenly divisible by 32 bits. If not specified the entropy is read from STDIN." />
<define name="BX_EC_MNEMONIC_NEW_INVALID_ENTROPY" value="The seed length in bytes is not evenly divisible by 32 bits." />
</command>
<command symbol="mnemonic-to-seed" output="base16" category="WALLET" description="Convert a mnemonic seed (BIP39) to its numeric representation.">
<option name="language" type="language" description="The language identifier of the dictionary of the mnemonic. Options are 'en', 'es', 'ja', 'zh_Hans', 'zh_Hant' and 'any', defaults to 'any'." />
<option name="passphrase" type="string" description="An optional passphrase for converting the mnemonic to a seed." />
<argument name="WORD" stdin="true" limit="-1" type="string" description="The set of words that that make up the mnemonic. If not specified the words are read from STDIN." />
<define name="BX_EC_MNEMONIC_TO_SEED_LENGTH_INVALID_SENTENCE" value="The number of words must be divisible by 3." />
<define name="BX_EC_MNEMONIC_TO_SEED_PASSPHRASE_UNSUPPORTED" value="The passphrase option requires an ICU build." />
<define name="BX_EC_MNEMONIC_TO_SEED_INVALID_IN_LANGUAGE" value="The specified words are not a valid mnemonic in the specified dictionary." />
<define name="BX_EC_MNEMONIC_TO_SEED_INVALID_IN_LANGUAGES" value="WARNING: The specified words are not a valid mnemonic in any supported dictionary." />
</command>
<command symbol="mpk" category="ELECTRUM" obsolete="true" description="Extract a master public key from a deterministic wallet seed.">
<define name="BX_MPK_OBSOLETE" value="Electrum style key functions are obsolete. Use HD (BIP32) commands instead." />
</command>
<command symbol="newseed" category="ELECTRUM" obsolete="true" description="Create a new Electrum style deterministic wallet seed.">
<define name="BX_NEWSEED_OBSOLETE" value="Electrum style key functions are obsolete. Use HD (BIP32) commands instead." />
</command>
<command symbol="qrcode" category="WALLET" output="raw" stub="true" description="Create a QR code image file for a Bitcoin address.">
<argument name="BITCOIN_ADDRESS" stdin="true" type="address" description="The Bitcoin address. If not specified the address is read from STDIN."/>
<define name="BX_QRCODE_NOT_IMPLEMENTED" value="This command is not yet implemented." />
</command>
<command symbol="ripemd160" formerly="ripemd-hash" output="base16" category="HASH" description="Perform a RIPEMD160 hash of Base16 data.">
<argument name="BASE16" stdin="true" type="base16" description="The Base16 data to hash. If not specified the data is read from STDIN."/>
</command>
<command symbol="satoshi-to-btc" formerly="btc" output="btc" category="MATH" description="Convert satoshi to BTC.">
<argument name="SATOSHI" stdin="true" type="uint64_t" description="The whole number of satoshi to convert. If not specified the value is read from STDIN."/>
</command>
<command symbol="script-decode" formerly="showscript" output="string" multipleX="true" category="TRANSACTION" description="Decode a script to plain text tokens.">
<argument name="BASE16" fileX="true" stdin="true" type="base16" description="The Base16 script. If not specified the script is read from STDIN."/>
</command>
<command symbol="script-encode" formerly="rawscript" output="base16" category="TRANSACTION" description="Base16 encode a plain text script.">
<argument name="SCRIPT" stdin="true" type="script" description="The plain text script tokens that make up the script. Multiple tokens must be quoted. If not specified the tokens are read from STDIN."/>
</command>
<command symbol="script-to-address" formerly="scripthash" output="address" category="TRANSACTION" description="Create a BIP16 pay-to-script-hash address from a script.">
<option name="version" type="byte" description="The desired Bitcoin address version." />
<argument name="SCRIPT" stdin="true" type="script" description="The script to use in the address. Multiple tokens must be quoted. If not specified the script is read from STDIN."/>
</command>
<command symbol="seed" output="base16" category="WALLET" description="Generate a pseudorandom seed.">
<option name="bit_length" type="uint16_t" default="128" description="The length of the seed in bits. Must be divisible by 8 and must not be less than 128." />
<define name="BX_SEED_BIT_LENGTH_UNSUPPORTED" value="The seed size is not supported." />
</command>
<command symbol="send-tx" formerly="sendtx-obelisk" output="string" category="ONLINE" network="true" description="Broadcast a transaction to the Bitcoin network via an Libbitcoin/Obelisk server.">
<argument name="TRANSACTION" fileX="true" stdin="true" type="transaction" description="The Base16 transaction to send. If not specified the transaction is read from STDIN."/>
<define name="BX_SEND_TX_OUTPUT" value="Sent transaction at %1%." />
</command>
<command symbol="send-tx-node" formerly="sendtx-node" output="string" category="ONLINE" network="true" description="Broadcast a transaction to the Bitcoin network via a single Bitcoin network node.">
<option name="host" shortcut="t" type="string" default="localhost" description="The IP address or DNS name of the node. Defaults to localhost." />
<option name="port" type="uint16_t" default="8333" description="The IP port of the Bitcoin service on the node. Defaults to 8333, the standard for mainnet." />
<argument name="TRANSACTION" fileX="true" stdin="true" type="transaction" description="The Base16 transaction to send. If not specified the transaction is read from STDIN."/>
<define name="BX_SEND_TX_NODE_OUTPUT" value="Sent transaction at %1%." />
</command>
<command symbol="send-tx-p2p" formerly="sendtx-p2p" output="string" category="ONLINE" network="true" description="Broadcast a transaction to the Bitcoin network via the Bitcoin peer-to-peer network.">
<option name="nodes" type="size_t" default="2" description="The number of network nodes to send the transaction to, defaults to two." />
<argument name="TRANSACTION" fileX="true" stdin="true" type="transaction" description="The Base16 transaction to send. If not specified the transaction is read from STDIN."/>
<define name="BX_SEND_TX_P2P_OUTPUT" value="Sent transaction at %1%." />
</command>
<command symbol="sendtx-bci" category="ONLINE" obsolete="true" description="Broadcast a transaction to the Bitcoin network via blockchain.info.">
<define name="BX_SENDTX_BCI_OBSOLETE" value="This command is no longer supported. Use send-tx, send-tx-node or send-tx-p2p." />
</command>
<command symbol="settings" output="string" multipleX="true" category="META" description="Display the loaded configuration settings.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
</command>
<command symbol="sha160" output="base16" category="HASH" description="Perform a SHA160 (also known as SHA-1) hash of Base16 data.">
<argument name="BASE16" stdin="true" type="base16" description="The Base16 data to hash. If not specified the value is read from STDIN."/>
</command>
<command symbol="sha256" output="base16" category="HASH" description="Perform a SHA256 hash of Base16 data.">
<argument name="BASE16" stdin="true" type="base16" description="The Base16 data to hash. If not specified the value is read from STDIN."/>
</command>
<command symbol="sha512" output="base16" category="HASH" description="Perform a SHA512 hash of Base16 data.">
<argument name="BASE16" stdin="true" type="base16" description="The Base16 data to hash. If not specified the value is read from STDIN."/>
</command>
<command symbol="showblkhead" category="TRANSACTION" obsolete="true" description="Decode a block header.">
<define name="BX_SHOWBLKHEAD_OBSOLETE" value="This command is obsolete. Use fetch-header with formatting instead." />
</command>
<command symbol="stealth-decode" formerly="stealth-show-addr" output="stealth" category="STEALTH" description="Decode a stealth address.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="STEALTH_ADDRESS" type="stealth" stdin="true" description="The stealth payment address. If not specified the address is read from STDIN." />
</command>
<command symbol="stealth-encode" output="stealth" category="STEALTH" description="Encode a stealth payment address.">
<option name="prefix" type="base2" description="The Base2 stealth prefix that will be used to locate payments." />
<option name="signatures" type="byte" description="The number of signatures required to spend a payment to the stealth address. Defaults to the number of SPEND_PUBKEYs." />
<argument name="SCAN_PUBKEY" required="true" type="ec_public" description="The Base16 EC public key required to create a payment." />
<argument name="SPEND_PUBKEY" limit="-1" type="ec_public" description="The set of Base16 EC public keys corresponding to private keys that will be able to spend payments to the address. Defaults to the value of SCAN_PUBKEY." />
<define name="BX_STEALTH_ENCODE_PREFIX_TOO_LONG" value="The prefix is limited to 32 bits." />
<define name="BX_STEALTH_ENCODE_SIGNATURES_OVERFLOW" value="The number of signatures is greater than the number of SPEND_PUBKEYs." />
<define name="BX_STEALTH_ENCODE_MULTISIG_NOT_SUPPORTED" value="WARNING: multiple signature stealth transactions are not yet fully supported." />
</command>
<command symbol="stealth-initiate" category="STEALTH" obsolete="true" description="Create a new stealth public key from which a payment address can be generated.">
<define name="BX_STEALTH_INITIATE_OBSOLETE" value="This command is obsolete. Use stealth-public instead." />
</command>
<command symbol="stealth-newkey" category="STEALTH" obsolete="true" description="Generate new keys and the associated stealth address.">
<define name="BX_STEALTH_NEWKEY_OBSOLETE" value="This command is no longer supported. Use stealth-encode instead." />
</command>
<command symbol="stealth-public" formerly="stealth-uncover" output="ec_public" category="STEALTH" description="Derive the stealth public key necessary to address and to identify a stealth payment.">
<argument name="SPEND_PUBKEY" required="true" type="ec_public" description="The Base16 EC spend public key of a stealth address." />
<argument name="SHARED_SECRET" stdin="true" type="ec_private" description="The Base16 EC shared secret corresponding to the SPEND_PUBKEY. If not specified the key is read from STDIN." />
<define name="BX_STEALTH_PUBLIC_OUT_OF_RANGE" value="Function exceeds valid range." />
</command>
<command symbol="stealth-secret" formerly="stealth-uncover-secret" output="ec_private" category="STEALTH" description="Derive the stealth private key necessary to spend a stealth payment.">
<argument name="SPEND_SECRET" required="true" type="ec_private" description="The Base16 EC spend secret for spending a stealth payment." />
<argument name="SHARED_SECRET" stdin="true" type="ec_private" description="The Base16 EC shared secret corresponding to the SPEND_PUBKEY. If not specified the key is read from STDIN." />
<define name="BX_STEALTH_SECRET_OUT_OF_RANGE" value="Sum exceeds valid range." />
</command>
<command symbol="stealth-shared" output="ec_private" category="STEALTH" description="Derive the secret shared between an ephemeral key pair and a scan key pair. Provide scan SECRET and ephemeral PUBKEY, or ephemeral SECRET and scan PUBKEY.">
<argument name="SECRET" required="true" type="ec_private" description="A Base16 EC private key. Either the scan or ephemeral secret." />
<argument name="PUBKEY" required="true" type="ec_public" description="A Base16 EC public key. Either the scan or ephemeral public key." />
<define name="BX_STEALTH_SHARED_OUT_OF_RANGE" value="Product exceeds valid range." />
</command>
<command symbol="tx-decode" output="transaction" category="TRANSACTION" description="Decode a Base16 transaction.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="TRANSACTION" fileX="true" stdin="true" type="transaction" description="The Base16 transaction. If not specified the transaction is read from STDIN."/>
</command>
<command symbol="tx-encode" output="transaction" category="TRANSACTION" description="Encode an unsigned transaction as Base16.">
<option name="lock_time" type="uint32_t" description="The transaction lock time." />
<option name="version" type="uint32_t" default="1" description="The transaction version." />
<option name="input" multiple="true" type="input" description="The set of transaction input points encoded as TXHASH:INDEX:SEQUENCE. TXHASH is a Base16 transaction hash. INDEX is the 32 bit input index in the context of the transaction. SEQUENCE is the optional 32 bit input sequence and defaults to the maximum value." />
<option name="output" multiple="true" type="output" description="The set of transaction output data encoded as TARGET:SATOSHI:SEED. TARGET is an address (including stealth or pay-to-script-hash) or a Base16 script. SATOSHI is the 32 bit spend amount in satoshi. SEED is required for stealth outputs and not used otherwise. The same seed should NOT be used for multiple outputs." />
<define name="BX_TX_ENCODE_LOCKTIME_CONFLICT" value="The specified lock time is ineffective because all sequences are set to the maximum value." />
</command>
<!-- This was originally designed for PGP signing -->
<command symbol="tx-sign" formerly="signtx" output="transaction" multipleX="true" category="TRANSACTION" stub="true" description="Sign a set of transactions using a private key. Output is suitable for sending to Bitcoin network.">
<argument name="EC_PRIVATE_KEY" required="true" type="ec_private" description="The EC private key to be used for signing." />
<argument name="TRANSACTION" fileX="true" stdin="true" limit="-1" type="transaction" description="The set of Base16 transactions. If not specified the transactions are read from STDIN."/>
<define name="BX_TX_SIGN_NOT_IMPLEMENTED" value="This command is not yet implemented." />
</command>
<command symbol="uri-decode" output="uri" category="WALLET" description="Validate and decompose a Bitcoin URI into its parts.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="URI" type="uri" stdin="true" description="The Bitcoin URI to decode. The URI should be quoted when entered on the command line. If not specified the URI is read from STDIN." />
<define name="BX_URI_DECODE_NOT_BITCOIN" value="The URI is not of the 'bitcoin' scheme." />
</command>
<command symbol="uri-encode" category="WALLET" description="Compose a Bitcoin URI from specified parts.">
<option name="amount" type="btc" description="The value of the amount parameter." />
<option name="label" type="string" description="The value of the label parameter." />
<option name="message" type="string" description="The value of the label parameter." />
<option name="request" type="uri" description="The value of the payment request parameter." />
<option name="stealth" type="stealth" description="The stealth address for the address part." />
<argument name="BITCOIN_ADDRESS" type="address" description="The Bitcoin address for the address part." />
<define name="BX_URI_ENCODE_ADDRESS_CONFLICT" value="Only one Bitcoin or stealth address may specified." />
</command>
<command symbol="validate-tx" formerly="validtx" output="string" category="ONLINE" network="true" description="Determine if a transaction is valid for submission to the blockchain. Requires a Libbitcoin/Obelisk server connection.">
<argument name="TRANSACTION" fileX="true" stdin="true" type="transaction" description="The Base16 transaction. If not specified the transaction is read from STDIN."/>
<define name="BX_VALIDATE_TX_VALID" value="The transaction is valid." />
<define name="BX_VALIDATE_TX_UNCONFIRMED_INPUTS" value="The transaction is valid, with unconfirmed inputs at index: %1%." />
</command>
<command symbol="wallet" category="WALLET" obsolete="true" description="Experimental command line wallet.">
<define name="BX_WALLET_OBSOLETE" value="This experimental command is no longer supported." />
</command>
<command symbol="watch-address" formerly="monitor" output="transaction" category="ONLINE" network="true" description="Watch the network for transactions in which an address participates. Requires a Libbitcoin server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="BITCOIN_ADDRESS" stdin="true" type="address" description="The participating Bitcoin address. If not specified the address is read from STDIN." />
<define name="BX_WATCH_ADDRESS_WAITING" value="Watching address: %1%..." />
</command>
<!--<option name="scan_secret" type="ec_private" description="The Base16 EC private key to use locally in confirming stealth transactions."/>-->
<!--<option name="scan_pubkey" shortcut="p" type="ec_public" description="The Base16 EC public key to use locally in confirming stealth transactions."/>-->
<!--<command symbol="watch-stealth" output="transaction" category="ONLINE" network="true" description="Watch the network for transactions by stealth prefix. Requires a Libbitcoin/Obelisk server connection. WARNING: THIS COMMAND IS EXPERIMENTAL.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="PREFIX" stdin="true" type="base2" description="The Base2 stealth prefix to watch. If not specified the prefix is read from STDIN." />
<define name="BX_WATCH_STEALTH_PREFIX_WAITING" value="Watching stealth prefix: %1%..." />
<define name="BX_WATCH_STEALTH_PREFIX_TOO_LONG" value="Stealth prefix is limited to 32 bits." />
</command>-->
<command symbol="watch-tx" formerly="watchtx" output="transaction" category="ONLINE" network="true" stub="true" description="Watch the network for a transaction by hash. Requires a Libbitcoin/Obelisk server connection.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="HASH" stdin="true" type="btc256" description="The Base16 transaction hash to watch. If not specified the hash is read from STDIN." />
<define name="BX_WATCH_TX_WAITING" value="Watching transaction: %1%..." />
<define name="BX_WATCH_TX_NOT_IMPLEMENTED" value="This command is not yet implemented." />
</command>
<command symbol="wif-to-ec" output="ec_private" category="WALLET" description="Convert a WIF private key to an EC private key.">
<argument name="WIF" stdin="true" type="wif" description="The value to convert. If not specified the value is read from STDIN."/>
</command>
<command symbol="wif-to-public" output="ec_public" category="WALLET" description="Derive the EC public key from a WIF private key.">
<argument name="WIF" stdin="true" type="wif" description="The WIF private key. If not specified the value is read from STDIN."/>
</command>
<command symbol="wrap-decode" formerly="unwrap" output="wrapper" category="ENCODING" description="Validate the checksum of a Base16 data and recover its version byte and data.">
<option name="format" type="encoding" description="The output format. Options are 'info', 'json' and 'xml', defaults to 'info'." />
<argument name="WRAPPED" stdin="true" type="wrapper" description="The Base16 data to unwrap. If not specified the value is read from STDIN." />
</command>
<command symbol="wrap-encode" formerly="wrap" output="wrapper" category="ENCODING" description="Add a version byte and checksum to Base16 data.">
<option name="version" type="byte" description="The desired version number." />
<argument name="PAYLOAD" stdin="true" type="base16" description="The Base16 data to wrap. If not specified the value is read from STDIN." />
</command>
</generate>