|
| 1 | +--- |
| 2 | +title: "Consensus Observer" |
| 3 | +--- |
| 4 | + |
| 5 | +import { Callout, Steps } from 'nextra/components'; |
| 6 | + |
| 7 | +# Consensus Observer |
| 8 | + |
| 9 | +<Callout type="warning"> |
| 10 | +**Public Fullnodes (PFNs)**<br /> |
| 11 | +The configuration settings described in this document are for public fullnodes (PFNs) only. |
| 12 | +Consensus observer has already been enabled (by default) for validators and validator fullnodes (VFNs). |
| 13 | +It is not recommended to change the consensus observer configurations for validators and VFNs. |
| 14 | +</Callout> |
| 15 | + |
| 16 | +Consensus observer is a new data dissemination technique that reduces block synchronization time, and |
| 17 | +transaction latencies for Aptos fullnodes (i.e., VFNs and PFNs). It has been shown to reduce end-to-end |
| 18 | +transaction latencies in Mainnet by 10% to 50%, depending on the load (i.e., transactions per second). |
| 19 | + |
| 20 | +More information on consensus observer can be found in the AIP: [AIP-93: Consensus Observer](https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-93.md). |
| 21 | + |
| 22 | +## Configure consensus observer |
| 23 | + |
| 24 | +<Callout type="warning" emoji="❗"> |
| 25 | +**Minimum Hardware Requirements**<br /> |
| 26 | +Consensus observer is not enabled on PFNs (by default) because it requires nodes to meet the |
| 27 | +[minimum hardware requirements](../full-node/pfn-requirements#hardware-requirements). |
| 28 | +If your node is under-provisioned and does not meet these requirements, enabling consensus observer |
| 29 | +will result in degraded performance because it requires more CPU than traditional state sync. Only |
| 30 | +enable consensus observer if your node meets the minimum hardware requirements. |
| 31 | +</Callout> |
| 32 | + |
| 33 | +### Enable consensus observer |
| 34 | + |
| 35 | +To enable consensus observer on your PFN, add the following to your node configuration file (e.g., `fullnode.yaml`): |
| 36 | + |
| 37 | +```yaml filename="fullnode.yaml" |
| 38 | +consensus: |
| 39 | + enable_pre_commit: false |
| 40 | + |
| 41 | +consensus_observer: |
| 42 | + observer_enabled: true |
| 43 | + publisher_enabled: true |
| 44 | +``` |
| 45 | +
|
| 46 | +### Disable consensus observer |
| 47 | +
|
| 48 | +To disable consensus observer on your PFN, add the following to your node configuration file (e.g., `fullnode.yaml`): |
| 49 | + |
| 50 | +```yaml filename="fullnode.yaml" |
| 51 | +consensus: |
| 52 | + enable_pre_commit: true |
| 53 | +
|
| 54 | +consensus_observer: |
| 55 | + observer_enabled: false |
| 56 | + publisher_enabled: false |
| 57 | +``` |
0 commit comments