# EPF6 - Week 2 Updates
## tl;dr
This week was a really solid week: I DID
- Submitted a draft [PR](https://github.com/OffchainLabs/prysm/pull/15443) for GMP (Generalization of Merkle Proofs) in Prysm
- [Finalized my project scope](https://docs.google.com/presentation/d/1YMbUS3J7YAartbJ56r4vensSIwpcSV_Jc-lzUeNv-tM/edit?usp=sharing): SSZ-QL + GMP
- Chatted with amazing core devs in CL with full of insights
- Met [Nando](https://github.com/fernantho/) (also a fellow of this cohort) for collaboration
## Details
For this week I mostly spent my time preparing the proposal for the [EPF day](https://efdn.notion.site/EPF6-EthCC-in-Cannes-208d9895554180c09da2e5c1f70e1b09#208d98955541819e8eded62554f61628) at Cannes. I delved into the details of the projects, and wrote some lines of code to demonstrate how this could be implemented. I also had some amazing conversations with core devs including [Radek](https://github.com/rkapka) and [Manu](https://github.com/nalepae) from Prysm and [Etan](https://github.com/etan-status) from Nimbus! Here's my [slide](https://docs.google.com/presentation/d/1YMbUS3J7YAartbJ56r4vensSIwpcSV_Jc-lzUeNv-tM/edit?usp=sharing). Let me break down the things that I've done in the last week, in chronoical order. You can just look up the slide as it is the result of my this week as well.
### Submitted a draft PR for generating merkle proofs
{%preview https://github.com/OffchainLabs/prysm/pull/15443 %}
While I'm flying to Paris (... for 14 hrs, I think the flight is a good place for concentration LOL), I worked on Prysm's codebase to generalize the [merkle proof generation](https://github.com/eth-protocol-fellows/cohort-six/blob/master/projects/project-ideas.md#prysm-merkle-proofs-of-everything) in some extent. You can find my [quick note](https://hackmd.io/@junsong/SJGze5cNxg) here. In the post, I suggested that dividing the problem into two subproblem can be viable: **first** generating a branch proof for the field that can be directly accessed from the `BeaconState` and then generate a proof to a leaf. The PR resolves the **first** issue.
### Chatted with Bastin and narrowed down my project scope

I [brought](https://discord.com/channels/476244492043812875/1034494554461712456/1387734369527136297) my work to Prysm Discord server, and then we started to discuss the scope of this project.

Bastin suggested me to take a glimpse at the [SSZ Query Language](https://github.com/eth-protocol-fellows/cohort-six/blob/master/projects/project-ideas.md#prysm-ssz-query-language) project because it is entangled with each other. As I have several questions about the project (b/c I was quite confused about the purpose of this project.) so I jotted my questions down in this [post](https://hackmd.io/@junsong/ryqlU7hVxg). The conclusion was: the spec is not yet decided so it's up to you for the initial design.
As I found the SSZ-QL project interesting, I would **love to work on it alongside GMP** (Generalization of Merkle Proofs).
### Chatted with Etan in person
Beam day was finally here at Cannes, and I found Etan from Nimbus also attended the event. As the [idea](https://hackmd.io/@etan-status/electra-lc#SSZ-query-language) of SSZ-QL was first introduced by Etan, it was a great chance for me to concretize my project roadmap.

We mainly focused on the purpose of this feature, how it's currently being utilized, and what we anticipate it will achieve in the future. As we don't have a generic way to query a SSZ object, there are [tons of Beacon APIs](https://ethereum.github.io/beacon-APIs/#/Debug/getDebugForkChoice) that only accesses the fields. Not only that, there are some debug endpoints for each CL client. For example, Nimbus has an custom [endpoint](https://github.com/status-im/nimbus-eth2/pull/6675) for `historical_summaries` field: `/nimbus/v1/debug/beacon/states/{state_id}/historical_summaries`
For the future use case, I'd like to note [EIP-7919](https://eips.ethereum.org/EIPS/eip-7919) which might introduce SSZ also in EL. Beam chain (suggested by Justin Drake) will also consider SSZ as a core building block.
Conversation with Etan was amazing, so that I could embody my proposal with a more practical use cases. I really appreciate him.
## What's next
I met [Nando](https://github.com/fernantho/) in person, and decided to collaborate since he is also drawn to this topic.
I'm planning to propose an initial design draft for SSZ QL in this week, with a simple working example. Let's keep building 👨💻!