This application will capture all the `BeaconState`'s and `SignedBeaconBlock`'s from the consensus chain on Ethereum. This application is going to connect to the lighthouse client, but hypothetically speaking, it should be interchangeable with any eth2 beacon node.
This section will cover some generic development patterns utilizes.
## Logging
For logging, please keep the following in mind:
- Utilize logrus.
- Use `log.Debug` to highlight that you are **about** to do something.
- Use `log.Info-Fatal` when the thing you were about to do has been completed, along with the result.
```
log.Debug("Adding 1 + 2")
a := 1 + 2
log.Info("1 + 2 successfully Added, outcome is: ", a)
```
## Boot
The boot package in `internal` is utilized to start the application. Everything in the boot process must complete successfully for the application to start. If it does not, the application will not start.
The branching structure is as follows: `main`<--`develop`<--`your-branch`.
It is adviced that `your-branch` follows the following structure: `{type}/{issue-number}-{description}`.
-`type` - This can be anything identifying the reason for this PR, for example: `bug`, `feature`, `release`.
-`issue-number` - This is the issue number of the GitHub issue. It will help users easily find a full description of the issue you are trying to solve.
-`description` - A few words to identify your issue.