# Prysm

## Prysm's Syncing Process

By default, Prysm uses a recently finalized checkpoint state from a community source, and only need to catch up to the current head of the blockchain.  This process is relatively fast, usually taking **only a few minutes to no more than an hour**.

Prysm's DApp and the **Logs** provide useful information about it's activities.  To observe the syncing progress:

1. Check the **status** in the [**Prysm Beacon Chain DApp**](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth).  The percentage completion starts above 99% (due to Checkpoint Sync) and steadily increases.  The "sync distance", which represents the gap between the currently synced block and the chain's head, may fluctuate but should eventually reach zero.

<figure><img src="https://2996176873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0YTdumceG05uJMtaEgaT%2Fuploads%2Fuq126grhqlHvSnKYsRUt%2Feth-prysm-syncing.png?alt=media&#x26;token=41c22766-c297-48c4-87e5-045cd4936856" alt=""><figcaption></figcaption></figure>

2. Inspect the Logs.  Familiarizing yourself with the Logs enables you to confidently assess whether the process is running smoothly or if any issues require attention.  To access the Logs, open the Prysm [**Management Page**](http://my.ava.do/#/Packages/prysm-beacon-chain-mainnet.avado.dnp.dappnode.eth/detail) from the **My Dapps** menu and scroll to the bottom.

Once the **Prysm Beacon Chain** has started up and initialized, you should start to see the following lines in the Logs:

```
level=info msg="Called new payload with optimistic block" ...
level=info msg="Called fork choice updated with optimistic block" ...
level=info msg="Synced new block" ...
level=info msg="Finished applying state transition" ...
```

This indicates that Prysm is progressing smoothly.

## Troubleshooting

If you notice that the **status** in the DApp remains stuck at "Waiting for beacon chain to become ready" without any progress, or if you come across error messages in the Logs, Prysm might have a problem syncing.

<figure><img src="https://2996176873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0YTdumceG05uJMtaEgaT%2Fuploads%2Fj2THlUnRXI2leZOel5fR%2Feth-prysm-beacon-chain-not-ready.png?alt=media&#x26;token=ae6c315a-5386-4a35-bf09-c5b55f93730f" alt=""><figcaption></figcaption></figure>

The most common problems are:

* **Prysm fails to connect to sufficient number of peers.**  If you are getting a low peer count, there may be a problem with your network setting.  See [Opening Network Ports](https://docs.ava.do/quick-help/opening-network-ports) to learn how to resolve this (by "opening port **12000** and **13000**" on the router).
* **Prysm fails to find the Execution Client.**  It may be the case that you have not yet installed the Execution Client, in which case once you have set up the Execution Client this error will go away.  For example, the following error message indicates that Prysm is expecting to connect to Geth but fails to do so.

```
level=error msg="Could not connect to execution client endpoint" error="Post "http://ethchain-geth.my.ava.do:8551" ...
```

If you have already installed an Execution Client but this error persists, check that you have correctly selected the **Execution Engine** (Geth or Nethermind) on Prysm's **Settings** page, to match with your installed Execution Client.  Remember to click **Apply changes** to update the setting.

<figure><img src="https://2996176873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0YTdumceG05uJMtaEgaT%2Fuploads%2FgB3CxiTWxi9GgHB3r5Bm%2Feth-consensus-exec-engine.png?alt=media&#x26;token=ead7554b-94f8-443a-a67f-a78c94bbceb1" alt="" width="375"><figcaption></figcaption></figure>

If the error persists, check the Logs of the Execution Client to see what is going on there.  Sometimes a **Restart** of the Execution Client and the Consensus Client is all that is needed to resolve the issue.  Please also feel free to reach out to our Discord channel for support.

## Normal Operations

Here is an example of how the Prysm Logs should look like when:

* Prysm is fully synced;
* The Execution Client is fully synced;
* You have loaded Validator Keys into Prysm, and the Validators have become active on the Beacon Chain; and
* You have installed and configured MEV-Boost.

**Prysm Beacon Chain**

<figure><img src="https://2996176873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0YTdumceG05uJMtaEgaT%2Fuploads%2FJr4P4BYLgLBUyt40HrEA%2Feth-prysm-beacon-chain-log.png?alt=media&#x26;token=0c21fd93-b1a5-4e92-a06d-60c1e933f3da" alt=""><figcaption></figcaption></figure>

**Prysm Consensus Client**

<figure><img src="https://2996176873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0YTdumceG05uJMtaEgaT%2Fuploads%2FPFaHiHklj8INcyLG6ulE%2Feth-prysm-consensus-log.png?alt=media&#x26;token=10ceea1c-7cf9-43f4-9dc4-7c0b167df8d8" alt=""><figcaption></figcaption></figure>

Key observations:

* Prysm Beacon Chain diligently tracks each slot and each epoch.
* Prysm Beacon Chain periodically reports a "Peer summary".
* Prysm Consensus Client reports submitting of new attestations.
* Every epoch, Prysm Consensus Client reports on duties schedule and previous epoch voting summary.
* If MEV-Boost is installed and working as expected, Prysm registers your validators on the "builder network" every epoch, indicated by a line: "Submitted builder validator registration settings for custom builders".

If you notice that your validators are missing attestations, it is often beneficial to inspect the Logs for any abnormal behavior or issues.
