Skip to content

EOS System Contracts v3.6.0-rc2 Release Notes

Pre-release
Pre-release
Compare
Choose a tag to compare
@ericpassmore ericpassmore released this 26 Aug 15:37
· 2 commits to release/3.6 since this release
d7c3a6d

This release of EOS System Contracts introduced support for managing BLS keys and the associated finalizer policies.

Overview

In this release we introduce 4 new System Contract Actions, and 2 new Tables.

The current version of system contracts ties the role of the finalize to the top 21 producers. All producers are expected to be finalizers, and have registered finalizer keys. For more information on managing finalizer keys see Managing Finalizer Keys

Actions

regfinkey

Action to register a finalizer key by a registered producer. If this was registered before (and still exists) even by other block producers, the registration will fail. If this is the first registered finalizer key of the producer, it will also implicitly be marked active. A registered producer can have multiple registered finalizer keys.

Params

  • finalizer_name - account registering finalizer_key,
  • finalizer_key - key to be registered. The key is in base64url format.
  • proof_of_possession - a valid Proof of Possession signature to show the producer owns the private key of the finalizer_key. The signature is in base64url format.

PreRequisites

  • finalizer_name must be a registered producer
  • finalizer_key must be in base64url format
  • proof_of_possession must be a valid of proof of possession signature
  • Authority of finalizer_name to register. linkauth may be used to allow a lower authority to execute this action.

actfinkey

Action to activate a finalizer key. If the finalizer is currently an active block producer (in top 21), then immediately change Finalizer Policy. A finalizer may only have one active finalizer key. Activating a finalizer key implicitly deactivates the previously active finalizer key of that finalizer.

Params

  • finalizer_name - account activating finalizer_key,
  • finalizer_key - key to be activated.

PreRequisites

  • finalizer_key must be a registered finalizer key in base64url format
  • Authority of finalizer_name

delfinkey

Action to delete a finalizer key. An active finalizer key may not be deleted unless it is the last registered finalizer key. If it is the last one, it will be deleted.

Params

  • finalizer_name - account deleting finalizer_key,
  • finalizer_key - key to be deleted.

PreRequisites

  • finalizer_key must be a registered finalizer key in base64url format
  • finalizer_key must not be active, unless it is the last registered finalizer key
  • Authority of finalizer_name

switchtosvnn

Action to permanently transition to Savanna consensus. Create the first generation of finalizer policy and activate the policy by using set_finalizers host function

PreRequisites

  • Require the authority of the contract itself, typically eosio
  • A sufficient number of the top 21 block producers have registered a finalizer key

Tables

finalizers

List of finalizers and currently active BLS key.

finkeys

List of all BLS Public Keys registered by finalizer