Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
Ethereum L1 Protocol Stack and EVM in TypeScript
翻訳待ち
開発ツールTypeScript · JavaScriptGitHub @ethereumjs自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗| Layer | Packages |
|---|---|
| Execution | vm, evm |
| State | statemanager, mpt, binarytree |
| Protocol | tx, block, blockchain |
| Configuration | common, genesis |
| Codec & primitives | rlp, util |
Modular TypeScript libraries for Ethereum execution-layer protocol work.
Composable, spec-tested building blocks for the Ethereum execution layer: EVM execution, transactions, blocks, state, tries, and chain configuration. Use them in Node.js or the browser — tree-shakeable, Noble crypto by default, WASM-free unless you opt in.
tx, block, mpt, statemanager, and friends instead of pulling in a full clientMaintained by former members of the Ethereum Foundation JavaScript team and the broader Ethereum community.
| Fork | Status |
|---|---|
| Osaka | Mainnet today — stable on npm |
| Amsterdam | In development - see status here |
| Goal | Start here | npm package |
|---|---|---|
| Run a signed tx, replay a block, or build a block | packages/vm | @ethereumjs/vm |
| Execute bytecode, custom opcodes, or precompiles | packages/evm | @ethereumjs/evm |
| Create, sign, or parse transactions | packages/tx | @ethereumjs/tx |
| Blocks, headers, withdrawals | packages/block | @ethereumjs/block |
| Persistent chain storage | packages/blockchain | @ethereumjs/blockchain |
| Merkle proofs and trie tooling | packages/mpt | @ethereumjs/mpt |
| Chain config and hardfork parameters | packages/common | @ethereumjs/common |
flowchart TD
start[What_are_you_building]
start --> txRules[Tx_and_block_rules]
start --> bytecode[Bytecode_only]
start --> chainData[Chain_storage_or_types]
txRules --> vmPkg["@ethereumjs/vm"]
bytecode --> evmPkg["@ethereumjs/evm"]
chainData --> blockPkg["@ethereumjs/block / blockchain"]
Install the VM (includes EVM, tx, and state wiring):
npm install @ethereumjs/vm @ethereumjs/common @ethereumjs/tx @ethereumjs/util
Run a simple signed transfer against an in-memory state (adapted from packages/vm/examples/runTx.ts):
import { Common, Hardfork, Mainnet } from '@ethereumjs/common'
import { createLegacyTx } from '@ethereumjs/tx'
import {
createAccount,
createAddressFromPrivateKey,
createZeroAddress,
hexToBytes,
} from '@ethereumjs/util'
import { createVM, runTx } from '@ethereumjs/vm'
const common = new Common({ chain: Mainnet, hardfork: Hardfork.Prague })
const vm = await createVM({ common })
const senderKey = hexToBytes(`0x${'20'.repeat(32)}`)
const sender = createAddressFromPrivateKey(senderKey)
await vm.stateManager.putAccount(sender, createAccount({ nonce: 0n, balance: BigInt(1e18) }))
const tx = createLegacyTx({
gasLimit: 21000n,
gasPrice: 1_000_000_000n,
value: 1n,
to: createZeroAddress(),
}).sign(senderKey)
const res = await runTx(vm, { tx })
console.log(res.totalGasSpent) // 21000n
For bytecode-only execution use @ethereumjs/evm (examples). For blob (EIP-4844) transactions you need a separate KZG library — see KZG setup in the tx README.
Active packages (published in sync on v10; see scripts/release-npm.ts):
| Package | Role | Docs |
|---|---|---|
@ethereumjs/rlp | RLP encode/decode | README |
@ethereumjs/util | Bytes, accounts, addresses, signatures | README |
| Package | Role | Docs |
|---|---|---|
@ethereumjs/common | Chains, hardforks, EIP parameters | README |
@ethereumjs/genesis | Genesis state for known chains | README |
@ethereumjs/beacon-light | Consensus light-client sync committee verifier | README |
| Package | Role | Docs |
|---|---|---|
@ethereumjs/tx | Legacy, 1559, 2930, 4844, 7702 transactions | README |
@ethereumjs/block | Blocks, headers, withdrawals | README |
This is the beginning of the README. Read the rest at the original. Read the full README ↗