Files
pezkuwi-subxt/polkadot/roadmap/implementors-guide/src/node/utility/provisioner.md
T
Peter Goodspeed-Niklaus 053bfc2d0c Convert guide from single markdown file to mdbook (#1247)
* move old implementers' guide, add skeleton of new

* Split the old implementers' guide into the new one's sections

This is mostly a straightforward copying operation, moving the
appropriate sections from the old guide to the new. However, there
are certain differences between the old text and the new:

- removed horizontal rules between the sections
- promoted headers appropriately within each section
- deleted certain sections which were in the old guide's ToC but
  which were not actually present in the old guide.
- added Peer Set Manager to the new ToC

* remove description headers

It is redundant and unnecessary. Descriptions fall directly under the
top-level header for any given section.

* add stub description of the backing module

* add stub description for the availability module

* add stub description for collators

* add stub description for validity

* add stub description for utility

* highlight TODO and REVIEW comments

* add guide readme describing how to use mdbook

* fix markdownlint lints

* re-title parachains overview

* internal linking for types

* module and subsystem internal links

* .gitignore should have a trailing newline

* node does not have modules, just subsystems
2020-06-11 17:04:23 +02:00

1.1 KiB

Provisioner

This subsystem is responsible for providing data to an external block authorship service beyond the scope of the Overseer so that the block authorship service can author blocks containing data produced by various subsystems.

In particular, the data to provide:

  • backable candidates and their backings
  • signed bitfields
  • misbehavior reports
  • dispute inherent

    TODO: needs fleshing out in validity module, related to blacklisting

Protocol

Input:

  • Bitfield(relay_parent, signed_bitfield)
  • BackableCandidate(relay_parent, candidate_receipt, backing)
  • RequestBlockAuthorshipData(relay_parent, response_channel)

Functionality

Use StartWork and StopWork to manage a set of jobs for relay-parents we might be building upon. Forward all messages to corresponding job, if any.

Block Authorship Provisioning Job

Track all signed bitfields, all backable candidates received. Provide them to the RequestBlockAuthorshipData requester via the response_channel. If more than one backable candidate exists for a given Para, provide the first one received.

TODO: better candidate-choice rules.