nodejs-keccak256
Prevent Ethereum hashing bugs in JavaScript and TypeScript. Node's sha3-256 is NIST SHA3, not Ethereum Keccak-256, and silently breaks selectors, signatures, storage slots, and address derivation. Use when hashing for Ethereum in JavaScript or TypeScript, or when a selector, signature, storage slot,
By affaan-m · 2,815 installs
npx skills add affaan-m/ecc --skill nodejs-keccak256
Source repository · Upstream listing
Node.js Keccak 256
Ethereum uses Keccak 256, not the NIST standardized SHA3 variant exposed by Node's crypto.createHash('sha3 256') .
When to Use
Computing Ethereum function selectors or event topics
Building EIP 712, signature, Merkle, or storage slot helpers in JS/TS
Reviewing any code that hashes Ethereum data with Node crypto directly
How It Works
The two algorithms produce different outputs for the same input, and Node will not warn you.
Examples
ethers v6
viem
web3.js
Common patterns
Address from public key
Audit your codebase
Rule
For Ethereum contexts, never use crypto.createHash('sha3 256') . Use Keccak aware helpers from ethers , viem , web3 , or another explicit Keccak implementation.