nodejs-keccak256

Identifies and corrects NIST SHA3-256 misuse in Ethereum JavaScript/TypeScript projects.

1|Updated Apr 6, 2026
One-click install
npx skills add https://github.com/vrcms/everything-qwen-code --skill nodejs-keccak256-vrcms
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nodejs-keccak256
Source: https://github.com/vrcms/everything-qwen-code/tree/main/.qwen/skills/nodejs-keccak256
Command: npx skills add https://github.com/vrcms/everything-qwen-code --skill nodejs-keccak256-vrcms

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill prevents critical Ethereum hashing errors caused by using Node.js native crypto libraries instead of the Ethereum-standard Keccak-256 algorithm.

Core Features & Use Cases

  • Algorithm Validation: Identifies incorrect usage of NIST SHA3-256 in Ethereum-related codebases.
  • Implementation Guidance: Provides correct patterns for using ethers, viem, and web3.js to ensure compatibility with Ethereum selectors, signatures, and storage slots.
  • Use Case: When building EIP-712 signatures or calculating storage slots for smart contracts, this skill ensures your hashing logic matches the EVM implementation exactly.

Quick Start

Use the nodejs-keccak256 skill to audit my current project for incorrect crypto usage and provide the correct implementation patterns.

Frequently Asked Questions about nodejs-keccak256

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my Ethereum signature generation fail in Node.js?

Ethereum signature generation fails in Node.js because native crypto libraries use NIST SHA3-256 instead of the Keccak-256 algorithm required by the EVM. This skill identifies incorrect crypto usage and provides verified Keccak-256 implementation patterns for ethers, viem, and web3.js.

How do I calculate Keccak-256 hashes for EIP-712 signatures in TypeScript?

To calculate Keccak-256 hashes for EIP-712 signatures in TypeScript, you must use specific implementation patterns from ethers, viem, or web3.js rather than native Node.js crypto modules. This skill provides the correct hashing logic to ensure EVM compatibility.

What is the difference between NIST SHA3-256 and Ethereum Keccak-256?

NIST SHA3-256 and Ethereum Keccak-256 differ due to padding rules finalized in the NIST standard after Ethereum's adoption. Using NIST SHA3-256 in Ethereum projects causes critical hashing errors in address derivation and signature generation, which this skill corrects.

Can I use Node.js native crypto for smart contract storage slot calculations?

You cannot use Node.js native crypto for smart contract storage slot calculations because it does not implement the Ethereum-standard Keccak-256 algorithm. This skill audits your codebase and provides the correct ethers, viem, and web3.js patterns to match EVM storage slots.

Does viem or web3.js support correct Keccak-256 hashing out of the box?

Both viem and web3.js support correct Keccak-256 hashing out of the box, but developers often bypass them incorrectly using native Node.js crypto. This skill ensures your codebase properly leverages these libraries to maintain compliance with Ethereum selectors and signatures.