# Final Update | EPF-5
## Abstract
During the protocol fellowship I chose to work on two projects:
* C bindings for verkle ipa: The project aimed to create C bindings for verkle cryptography support of Constantine. Once implemented, it should be benchmarked to compare with BLST and other Ethereum cryptographic library bindings.By creating C bindings for Verkle Tries, Verkle Tries can be seamlessly integrated into various clients.
* Custom libP2P implementation for Prysm: The project aimed to develop an in-house implementation of p2p communication library and leverage some of the core components from the existing go-libp2p libraries. go-libP2P library(and its variants in other languages) are used by almost all consensus clients for p2p network communications among beacon chain nodes. The scope of the project enabled the Prysm team to be independent of any third party for the integral components. It also allows for elimination of redundant components from go-libp2p which are not actively used, while achieving the same performance. Implementing the project also involves incorporating a deep understanding of libP2P and networking layer.
## Current Status
I started of with working on the custom libP2P implementation of the project. The project started with understanding the current libP2P architecture, the components involved and the way Prysm is using it. We filtered out the components which needed refactoring, components which were not needed at all and the components which could be used as it is: https://hackmd.io/zIWLqRzWT76I5T_sPbJ0KA
Following this we proceeded with the implementation of the components: https://hackmd.io/kZaNbHklRfOveay_DRUwfQ
The current PRs contain major components used by Prsym refactored as per the need.
Next I started of with the custom libP2P implementation in October. This again started with understanding constantine structure for generating bindings, understanding verkle cryptography and understanding the requirements of besu team since they were integrating the bindings for comparisons. The current implementation contains the bindings exported for banderwagon curves, MSM, and verkle-ipa. https://github.com/mratsim/constantine/pull/477
## Future Implementation
The future task involves testing the C bindings and then integrating them with besu: https://github.com/hyperledger/besu-native/pull/227
## Learnings
The EPF experience has been amazing for me both in terms of tech and community. I am grateful to Mario and Josh for the awesome organization anfdsupport, along with the Ethereum Foundation for providing me this opportunity. Thanks to mentors from Prysm, Besu and Constantine for helping me with onboard.
Starting with the study group and the first checkpoint of a protocol fellow - i hope the journey into the core ethereum ecosystem continues with many more learnings, contributions and connections. Meeting with the fellows, and knowing their experiences has also been insightful and the Devcon was truly amazing, allowing me to connect with the core devs. The community is really awesome. Looking forward to keep contributing to the core.