Close Menu

    Subscribe to Updates

    What's Hot

    The Question of Mining | Ethereum Foundation Blog

    July 9, 2025

    The Latest EVM: “Ethereum Is A Trust-Free Closure System”

    July 9, 2025

    SchellingCoin: A Minimal-Trust Universal Data Feed

    July 9, 2025
    Facebook X (Twitter) Instagram
    laicryptolaicrypto
    Demo
    • Ethereum
    • Crypto
    • Altcoins
    • Blockchain
    • Bitcoin
    • Lithosphere News Releases
    laicryptolaicrypto
    Home The Ethereum Development Process | Ethereum Foundation Blog
    Ethereum

    The Ethereum Development Process | Ethereum Foundation Blog

    Michael JohnsonBy Michael JohnsonJuly 9, 2025No Comments2 Mins Read
    Share
    Facebook Twitter LinkedIn Pinterest Email


    So I’m not sure if this kind of development methodology has ever been applied to such an extreme before so I figured I’d document it. In a nutshell, it’s sort of like test-driven triplet-programming development.

    While speed-developing our alpha codebase, four of us sat around a table in the office in Berlin. Three people (Vitalik, Jeff and me) each coders of their own clean-room implementation of the Ethereum protocol. The fourth was Christoph, our master of testing.

    Our target was to have three fully compatible implementations as well as an unambiguous specification by the end of three days of substantial development. Over distance, this process normally takes a few weeks.

    This time we needed to expedite it; our process was quite simple. First we discuss the various consensus-breaking changes and formally describe them as best we can. Then, individually we each crack on coding up the changes simultaneously, popping our heads up about possible clarifications to the specifications as needed. Meanwhile, Christoph devises and codes tests, populating the results either manually or with the farthest-ahead of the implementations (C++, generally :-P).

    After a milestone’s worth of changes are coded up and the tests written, each clean-room implementation is tested against the common test data that Christoph compiled. Where issues are found, we debug in a group. So far, this has proved to be an effective way of producing well-tested code quickly, and perhaps more importantly, in delivering clear unambiguous formal specifications.

    Are there any more examples of such techniques taken to the extreme?



    Source link

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Tumblr Email
    Michael Johnson

    Related Posts

    The Question of Mining | Ethereum Foundation Blog

    July 9, 2025

    The Latest EVM: “Ethereum Is A Trust-Free Closure System”

    July 9, 2025

    SchellingCoin: A Minimal-Trust Universal Data Feed

    July 9, 2025
    Leave A Reply Cancel Reply

    Demo
    Don't Miss
    Ethereum

    The Question of Mining | Ethereum Foundation Blog

    By Michael JohnsonJuly 9, 20250

    There are a lot of interesting changes to the Ethereum protocol that are in the…

    The Latest EVM: “Ethereum Is A Trust-Free Closure System”

    July 9, 2025

    SchellingCoin: A Minimal-Trust Universal Data Feed

    July 9, 2025

    Pyethereum and Serpent Programming Guide

    July 9, 2025

    LAI Crypto is a user-friendly platform that empowers individuals to navigate the world of cryptocurrency trading and investment with ease and confidence.

    Our Posts
    • Altcoins (175)
    • Bitcoin (6)
    • Blockchain (33)
    • Crypto (2,549)
    • Ethereum (368)
    • Lithosphere News Releases (42)
    • Uncategorized (330)

    Subscribe to Updates

    • Twitter
    • Instagram
    • YouTube
    • LinkedIn

    Type above and press Enter to search. Press Esc to cancel.