Skip to main content
EPS
  • Home
  • Calendar
  • Protocol Studies
  • Cryptography of Ethereum
  • Lean and zkEVM
  • More
Log in
EPS
Home Calendar Protocol Studies Cryptography of Ethereum Lean and zkEVM
  1. Dashboard
  2. Protocol 101
  3. CL Deep dive
  4. CL Client Architecture
  5. CL client architecture

CL client architecture

Completion requirements
Receive a grade
CL client under the hood

The lecture focuses development track and provides a look into Ethereum consensus layer client codebase, explaining its architecture and functions. 

Pre-reading

Paul dives into Teku, consensus client implementation in Java and explains an example on how an EIP gets implemented. You should have at least basic knowledge of the language syntax to follow properly.

Consensus-specs is executable, and a passing knowledge of python may be beneficial, but it's a fairly easy language to reason about at the level the specs are written.

Additionally, you can get ready by studying the following resources:

  • Post-Merge Ethereum Client Architecture by Adrian Sutton
  • Teku Architecture, 2020
  • Teku docs
Outline
  • Teku CL client
  • Brief introduction into our rest api's, declarative framework
  • A look at development process EIP -> spec -> code
    • Examples of EIP-7251 (maxEB)

Study Group Chat
Youtube playlist
epf.wiki
Submit Bug Report

Logo

  • 0.055254 secs
  • RAM: 5.1 MB
  • RAM peak: 6.2 MB
  • Included 536 files
  • Contexts for which filters were loaded: 1
  • Filters created: 12
  • Pieces of content filtered: 1
  • Strings filtered: 0
  • get_string calls: 299
  • DB reads/writes: 38/3
  • DB queries time: 0.01113 secs
  • ticks: 6 user: 4sys: 1 cuser: 0 csys: 0
  • Load average: 0.76
  • Session (core\session\file): 2.9 KB
  • Session wait: 0.000 secs
Mode Cache item Static H M Primary store H M S I/O
Req adhoc/filter_activitynames default_request 0 1 3 -
App core/capabilities ** static accel. ** 576 2 default_application 2 0 0 164.1 KB
App core/completion ** static accel. ** 0 1 default_application 1 0 0 12.0 KB
Ses core/coursecat default_session 0 3 4 -
App core/coursecattree ** static accel. ** 2 2 default_application 2 0 0 0.1 KB
Ses core/courseeditorstate default_session 0 2 3 -
App core/coursehiddengroups ** static accel. ** 18 1 default_application 1 0 0 0.0 KB
App core/coursemodinfo default_application 3 0 0 72.1 KB
App core/databasemeta ** static accel. ** 1 4 default_application 4 0 0 19.6 KB
App core/eventinvalidation ** static accel. ** 0 2 default_application 1 1 0 0.1 KB
App core/fontawesomeiconmapping ** static accel. ** 0 1 default_application 1 0 0 24.9 KB
App core/langmenu ** static accel. ** 2 1 default_application 1 0 0 0.0 KB
Ses core/navigation_cache default_session 0 0 1 -
Ses core/navigation_expandcourse default_session 0 1 2 -
App core/observers ** static accel. ** 0 2 default_application 2 0 0 24.8 KB
App core/plugin_functions ** static accel. ** 1 16 default_application 16 0 0 2.9 KB
App core/plugin_manager default_application 1 0 0 15.0 KB
App core/roledefs ** static accel. ** 0 1 default_application 1 0 0 1.1 KB
App core/string ** static accel. ** 323 18 default_application 18 0 0 598.7 KB
Req core/tags default_request 0 2 2 -
App core/user_group_groupings ** static accel. ** 18 1 default_application 1 0 0 0.0 KB
App core/yuimodules default_application 3 0 0 8.9 KB
App mod_lesson/overrides default_application 18 0 0 0.0 KB
App mod_quiz/overrides default_application 2 0 0 0.0 KB
App theme_boost_magnific/css_cache default_application 2 0 0 1.5 KB
App theme_boost_magnific/data_cache default_application 1 0 0 0.7 KB
Store name Cache store H M S I/O
** static accel. ** 941 52 0 -
default_application cachestore_file 81 1 0 946.6 KB
default_request cachestore_static 0 3 5 -
default_session cachestore_session 0 6 10 -
Total 1022 62 15 946.6 KB
Data retention summary
Get the mobile app