2005

JSON-RPC 1.0 published

JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC.org published the JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC 1.0 specification in 2005 — a lightweight remote procedure call protocol using JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web. over HTTPHyperText Transfer Protocol — the protocol browsers use to request and receive web pages..

What it was for

Douglas CrockfordJSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC wraps method calls in JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web. objects — `{"method":"subtract","params":42,23,"id":1}` — and returns structured results or errors. Simpler than SOAP, it powered BitcoinThe first decentralized cryptocurrency — a proof-of-work blockchain without a central issuer. nodes, Ethereum clients, and countless internal APIs before gRPC and GraphQL. Example: a wallet app calls `getBalance` on a node with one POST and a typed JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web. response.

Why it's here

JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC gave web-era developers a minimal RPC format without XMLExtensible Markup Language — a markup format for structured documents and data exchange. envelopes.

Why it mattered

It influenced later specs (2.0, JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC over WebSocket) and blockchainA distributed ledger where records are chained cryptographically — designed for tamper-resistant shared state. node APIs.

What it solved

XMLExtensible Markup Language — a markup format for structured documents and data exchange.-RPC and SOAP were heavy; AJAX-era apps needed thin RPC over HTTPHyperText Transfer Protocol — the protocol browsers use to request and receive web pages. with JavaScript-friendly payloads.

Media

  • Douglas Crockford
    ImageDouglas Crockford

    Douglas Crockford, Public domain, via Wikimedia Commons

Related