Home / History / Programmable Money / Tooling & standards
2015–2017

Tooling & standards

Mist, Truffle, client splits, and devcon culture form the builder toolkit.

Programmable Money

Story beats & cast

ClientsDev toolingStandards process
Events
  • Geth vs Parity divergence
  • Truffle emerges
  • Devcon culture starts
Actors
  • Jeff Wilcke — Geth co-founder
  • Parity team — Rust client

Tooling & standards

Clients, wallets, and infra

Geth vs. Parity and the client split

Geth (Go) and Parity (Rust) emerged as the dominant Ethereum clients. Geth prioritized stability; Parity chased performance and modularity. Client diversity reduced single-point failure risk but also surfaced consensus bugs when implementations disagreed on edge cases. Parity’s “warp sync” pitch and Geth’s changelogs became must-reads (EF security blog ↗ shows the early pain).

Running a full node remained heavy for casual users. Light clients lagged, so many relied on hosted nodes—laying the groundwork for infra providers to matter.

Wallet UX: Mist, MyEtherWallet, hardware

Mist bundled a light client and dapp browser but was resource hungry. MyEtherWallet (MEW) offered a simpler web interface for generating keys and interacting with contracts, shifting trust to user key management. Ledger and Trezor integrated with MEW, making hardware wallets a standard safety upgrade. MEW’s create-wallet flow ↗ became onboarding canon.

Infra centralization creep

Infura launched to provide hosted Ethereum nodes via API, enabling dapps to skip running their own. It boosted developer velocity but concentrated RPC traffic. This convenience vs. decentralization trade-off became a recurring theme. Their 2016 launch post ↗ framed it as scaffolding for dapps.

Standards and ERCs

EIP process matures

Ethereum Improvement Proposals (EIPs) became the venue for protocol changes; ERCs focused on application-level standards. Public drafts, discussion on GitHub, and rough consensus set the norm for upgrades—transparent, sometimes messy, but documented. See the EIP-1 process doc ↗ for how it’s supposed to work.

ERC-20 dominance and its limits

ERC-20 cemented itself as the token interface. Wallets and exchanges aligned around it, fueling the ICO wave. Its simplicity also exposed flaws: missing safe transfer semantics and approve race conditions. These gaps led to alternative proposals and safer library patterns.

NFT seeds

Early drafts of non-fungible token standards began circulating (pre-ERC-721 adoption). Experiments like CryptoPunks (custom contracts) hinted at unique asset demand. Standardization would soon turn collectibles into a first-class citizen. The original ERC-721 proposal lives here ↗.

Culture and impact

Tooling lowers the bar—and expectations

Truffle, Embark, and later Hardhat reduced friction: migrations, testing, deployments. web3.js and ethers.js made contract calls easier. This accessibility onboarded thousands of developers, but also shipped bugs to mainnet faster. The mantra “test on testnet first” was earned the hard way.

Public specs as social glue

EIPs and ERCs acted as public documentation and debate arenas. Even contentious changes (gas cost tweaks, opcode additions) followed a documented path. This habit shaped Ethereum’s governance identity: argue in the open, codify in an EIP, ship through clients.

Why this era mattered

The tooling and standards layer turned Ethereum from a research chain into a developer platform. It set expectations that any serious feature comes with an EIP/ERC, reference implementations, and client adoption. That discipline underpins later successes in DeFi and NFTs—and remains the template for ecosystem upgrades.