Diff

Differences From Artifact [4521f209c2]:

To Artifact [682ab56bbc]:


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
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







-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







+







.I Not_A_Block
then the payload is the contents of the block that is being
voted on.

.TP
.B Bulk_Pull
The Bulk_Pull message is used to pull the entire chain for an account, down to
its beginning or to a given block.  It takes 2 arguments, both of them 256-bit.
The first argument is the account, so its 256-bit public key should be encoded
as binary in big-endian notation.  The second argument is the block hash to
stop sending at, or 256 bits of 0s to indicate that the entire chain should be
sent.  The payload for Bulk_Pull messages is 64 bytes in size.
its beginning or to a given block.  It takes 2 or 3 arguments.  The first two
arguments are  256-bits each.  The first argument is the account, so its
256-bit public key should be encoded as binary in big-endian notation.  The
second argument is the block hash to stop sending at, or 256 bits of 0s to
indicate that the entire chain should be sent.  If the
.I Extensions
field has the lowest bit set
.RI ( Count_Present )
then an additional 8 bytes of data are present in the payload.  The first byte
of these 8 bytes must be 0, followed by a 4 byte (32-bit) unsigned integer in
little endian format that contains the maximum number of records to return.  The
remaining 3 bytes in the payload are reserved at this time.
The payload for
.I Bulk_Pull
messages is 64 bytes (if the 
.I Count_Present
flag is not set) or 72 bytes (if the
.I Count_Present
flag is set) in size.

The response from a Bulk_Pull request will be a stream of tuples, each
containing a 8-bit block type identifier, and a block message.  When no more
blocks are available the response is terminated by sending the block type
identifier for
.I not_a_block
and no block message follows.


.TP
.B Bulk_Push
TODOC

.TP
.B Frontier_Req
531
532
533
534
535
536
537
538

539
540
541
542
543
544
545
546






547
548
549
550
551
552
553
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







-
+







-
+
+
+
+
+
+








The response from a Frontier_Req is a 256-bit public key, and the 256-bit
block hash that corresponds to the frontier (most recent block) for that
account's blockchain from the node where the response was generated.

.TP
.B Bulk_Pull_Blocks
TODOC
Deprecated.  Do not use.

.TP
.B Node_ID_Handshake
TODOC

.TP
.B Bulk_Pull_Account
TODOC
The
.I Bulk_Pull_Account
message is used to pull information regarding an account, such as its
frontier, current balance, and any blocks that are pending for that account.
It requires 3 arguments:  The 256-bit account public key, a 128-bit minimum
amount to for which to return pending blocks for, and an 8 bit flags.

.SH PROCEDURES
.SS Addresses
.TP
.B ::nano::address::toPublicKey
.I address
.RB ? -hex | -binary ?