stasatdaglabs 15af6641fc
Send the IBD root UTXO set in chunks instead of a massive monolythic message (#1412)
* Extract syncPruningPointUTXOSet to a separate method.

* Implement logic to send pruning point utxo set chunks in a loop.

* Replace IBDRootUTXOSetAndBlockMessage with IbdRootUtxoSetChunkMessage.

* Add a new message: RequestNextIBDRootUTXOSetChunk.

* Add a new message: DoneIBDRootUTXOSetChunks.

* Protect HandleRequestIBDRootUTXOSetAndBlock from rogue messages.

* Reimplement receiveIBDRootUTXOSetAndBlock.

* Add CmdDoneIBDRootUTXOSetChunks to the HandleRelayInvs flow.

* Decrease the max message size to 10mb.

* Fix bad step.

* Fix confusion between outgoing/incoming routes.

* Measure how long it takes to send/receive the UTXO set.

* Use LogAndMeasure in handleRequestIBDRootUTXOSetAndBlockFlow.
2021-01-13 18:03:07 +02:00
..
2021-01-07 16:55:47 +02:00
2021-01-07 16:55:47 +02:00
2021-01-07 16:55:47 +02:00

protowire

  1. Download and place in your PATH: https://github.com/protocolbuffers/protobuf/releases/download/v3.12.3/protoc-3.12.3-linux-x86_64.zip
  2. go get github.com/golang/protobuf/protoc-gen-go
  3. go get google.golang.org/grpc/cmd/protoc-gen-go-grpc
  4. In the protowire directory: go generate .

Documentation

To generate rpc.md:

  1. go get -u github.com/kaspanet/protoc-gen-doc/cmd/protoc-gen-doc
  2. In the protowire directory: protoc --doc_out=. --doc_opt=markdown,rpc.md rpc.proto