What you will do
Location: Remote (EU or India time zone +/- 3 hours)
Internship Timeline:
-
Application submission: June 12 – 29
-
Internship period: August 4 until October 31 (three months)
About the team
Gnosis is a community-run chain that is closely aligned with Ethereum’s values and community. We seek to build a chain that is credibly neutral and resilient, with nodes run by thousands of ordinary people across the globe. Gnosis continues to contribute to Ethereum’s growth as an experimental chain, where newcomers, quirky ideas, and indie projects are welcome.
Gnosis is currently hiring for an intern who will support the Core devs team. The Internship period will be starting on August 4 until October 31.
As a member of Ethereum’s Beaconverse, Gnosis runs the same execution and consensus clients at Ethereum, and contributes to the tooling, bug fixes, and funding of core development. We work directly with client teams like Nethermind and Erigon, and fund critical tooling for Ethereum clients.
Some potential tasks/ projects you may be involved with:
- Testing support:Improve testing for Gnosis Chain.
-
Extend GC’s testing framework by implementing EEST/EELS
-
Introduce new Hive tests
-
Do a full inventory of Ethereum / Gnosis Chain testing efforts and improve them where possible
-
-
Snap / Checkpoint Sync trust assumptions: What happens if I sync from a compromised source?
-
Write code to create a synced fork of Gnosis Chain that changes some contract values / balances
-
Write a document on how this could be used with a compromised checkpoint sync server as an attack vector (as RPC providers for example)
-
-
Reth – Client Indexing: Using reth’s ExEx, build an extensible modded reth.
-
ExEx helps you track changes to EVM directly. This removes trust from centralized RPCs and indexers.
-
We want to use it for application-specific indexing requirements
-
For Circles
-
For HOPR
-
-
-
Reth – Custom Engine API: To stop serving headers which we don’t have (pre-merge).
-
We import state post-merge, because reth for GC isn’t yet compatible for pre-merge
-
We still serve empty headers for pre-merge RPC requests
-
We need to block such RPC calls requesting pre-merge headers/blocks
-