{"adoption": {"forks": 852, "observed_at": "2026-08-28T04:07:18.187106+00:00", "stars": 2756}, "canonical_url": "https://ross.abutalabs.com/products/ethereumjs-monorepo", "card": {"archived": false, "artifact_type": "library", "description": "Ethereum L1 Protocol Stack and EVM in TypeScript", "domain": ["blockchain", "developer-tools"], "enriched": true, "function": ["interpreter", "serialization", "cryptography", "developer-tools", "sdk"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["ethereumjs/ethereumjs-monorepo"], "name": "ethereumjs/ethereumjs-monorepo", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-25T11:06:06+00:00", "repo": "ethereumjs/ethereumjs-monorepo", "stars": 2756, "tags": ["ethereum", "evm", "virtual-machine", "merkle-trie", "smart-contracts", "execution-layer", "monorepo", "blockchain-client", "cryptocurrency", "algorithms", "nodejs", "typescript", "javascript"], "topics": ["javascript", "ethereum", "ethereumjs", "evm", "virtual-machine", "vm", "bytecode", "typescript", "monorepo", "client", "mpt"], "urls": [], "use_cases": ["execute ethereum smart contract bytecode in javascript", "run and replay ethereum transactions in nodejs", "build and validate ethereum blocks programmatically", "create sign and parse ethereum transactions", "generate merkle proofs for ethereum state", "embed an evm in a browser app", "test custom opcodes and precompiles", "build a lightweight ethereum client without running a full node"], "what_it_is": "A modular TypeScript monorepo of Ethereum execution-layer libraries including an EVM interpreter, transaction and block handling, Merkle Patricia Trie state, and chain configuration. Packages are composable, spec-tested against mainnet hardforks, and run in Node.js or the browser.", "when_to_avoid": ["you need a production full node with JSON-RPC and peer-to-peer networking", "you work in a language other than JavaScript or TypeScript", "you need layer-2 or non-EVM chain support"], "when_to_choose": ["you need programmatic access to ethereum execution semantics in TypeScript or JavaScript", "you want composable primitives instead of a full client", "you need browser-compatible ethereum tooling", "you are building tests, tooling, or simulations against specific hardforks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ethereumjs-monorepo", "repo": "ethereumjs/ethereumjs-monorepo", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:18.187106+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:18:50.900629+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "24c97d6054c1de53f0cae711ae39c23e3e70a5ae4f76b6f039d3a31c758940e9", "fetched_at": "2026-08-28T04:07:18.187106+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ethereumjs/ethereumjs-monorepo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4072, "days_push": 8, "days_rel": 12, "gap_med": 0, "n_releases_24m": 68}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}