---
# System prepended metadata

title: 'epf update: week 0'

---

looking at different projects that interest me, and making small contributions to get familiar with them.

- ethereum fork monitor
a simple webapp that monitors multiple eth nodes and reports whether any nodes have forked, with information about last shared state.
we currently have two different apps for the [consensus client](https://github.com/ralexstokes/eth2-fork-mon) and the [execution client](https://github.com/ethereum/nodemonitor), and one of the [suggested projects](https://github.com/ethpandaops/tooling-wishlist/blob/master/tools/combined-forkmon.md) involves building a common fork monitoring utility, since we now need to run both clients for a complete node setup.
i started building this, over at github.com/anukul/xmon



- prysm
an ethereum consensus client written in go.
the prysm beacon node currently implements a GRPC API, which is not compatible with other validators ([context here](https://github.com/prysmaticlabs/prysm/issues/11580)).
one of the [suggested projects](https://github.com/eth-protocol-fellows/cohort-four/blob/master/projects/project-ideas.md#auditing-beacon-apis-in-prysm) involves implementing the standard HTTP [beacon node validator API](https://ethereum.github.io/beacon-APIs/#/Validator), so the prysm beacon node can be used with different validators.
some progress has been made on this front in cohort three and before, such that the validator is ready to use an HTTP client.
however, the server uses a fork of grpc-gateway to expose the same GRPC API over HTTP, and this situation is somewhat complicated (linked above).
i'm making some small PRs to get comfortable with the build system, test setup etc.
  - [prysm/12578](https://github.com/prysmaticlabs/prysm/pull/12578): update bazel config to run static analyzers on test code
  - [prysm/12572](https://github.com/prysmaticlabs/prysm/pull/12572): load network config from file - looks like this will need some bigger refactoring around the config code in general



- ethereum execution API spec
[ethereum/execution-apis](https://github.com/ethereum/execution-apis) is the official spec for APIs exposed by execution clients.
it uses the OpenRPC standard to store the API spec, and exposes it over a more user friendly webapp that allows users to inspect and make requests through the API from their web browser.
one of the [projects](https://github.com/eth-protocol-fellows/cohort-four/blob/master/projects/project-ideas.md#json-rpc-improvements) suggests general improvements to make the spec more robust, and improve the webapp, while another proposes building a REST wrapper over JSON-RPC.
  - [execution-apis/435](https://github.com/ethereum/execution-apis/pull/435): add `additionalProperties: false` to all objects in the spec, so any extra keys in objects throw validation errors.
  - [execution-apis/431](https://github.com/ethereum/execution-apis/issues/431): migrate to docusaurus for better UX - used the suggested metamask plugin on anukul.js.org/execution-apis, but looks like it's not very [configurable](https://anukul.js.org/execution-apis/) to support our preferred flow, which is different from metamask's docs website.
