nodejs-keccak256
작성자 affaan-mnodejs-keccak256 스킬은 JavaScript와 TypeScript에서 흔히 발생하는 Ethereum 버그, 즉 Keccak-256이 필요한데 Node의 sha3-256을 잘못 사용하는 문제를 피하도록 도와줍니다. 백엔드 개발은 물론 selector, event topic, signature, storage slot, address derivation 작업에 유용하며, nodejs-keccak256의 실전 사용 가이드를 함께 제공합니다.
이 스킬은 81/100점으로, Node.js/TypeScript에서 Ethereum Keccak-256과 NIST SHA3 해시를 혼동해 생기는 버그를 피하려는 디렉터리 사용자에게 적합한 후보입니다. 저장소에는 설치 여부와 트리거 방식을 판단하기에 충분한 워크플로 구체성이 있지만, 설치 명령이나 지원 파일 같은 도입 보조 자료는 아직 부족합니다.
- 문제 정의가 명확합니다. Node의 sha3-256이 NIST SHA3이며, Ethereum selector, signature, storage slot, address derivation을 조용히 망가뜨릴 수 있다고 분명히 경고합니다.
- 실무적인 워크플로 예시가 있습니다. ethers v6, viem, web3.js 전반의 구체적 사용 예를 code fence로 보여줘서 에이전트가 실행을 덜 추측하게 합니다.
- 운영 범위가 잘 잡혀 있습니다. JavaScript/TypeScript에서 Ethereum hashing, EIP-712, Merkle, storage-slot helper에 언제 이 스킬을 써야 하는지 명시합니다.
- 설치 명령이나 지원 파일이 없어서, 사용자는 예시만 보고 설정을 유추해야 할 수 있습니다.
- 범위가 하나의 해싱 함정에 집중되어 있어 유용하긴 하지만, 폭넓은 Ethereum 개발 스킬은 아닙니다.
nodejs-keccak256 skill 개요
nodejs-keccak256가 하는 일
nodejs-keccak256 skill은 JavaScript와 TypeScript에서 자주 발생하는 Ethereum 버그를 피하도록 도와줍니다. 바로 Node의 crypto.createHash('sha3-256')를 써야 할 때 Keccak-256이 필요한 상황을 잘못 처리하는 문제입니다. 이 불일치는 selector, event topic, signature, storage slot 계산, address derivation을 조용히 망가뜨릴 수 있습니다.
이런 분께 적합합니다
백엔드 서비스, 봇, indexer, wallet tooling, smart-contract helper, 또는 Ethereum 데이터를 해시하는 Node 기반 코드를 다룬다면 nodejs-keccak256 skill이 유용합니다. 특히 배포 전에 잘못된 해시를 찾아내야 하는 리뷰어와 유지보수 담당자에게 적합합니다.
왜 중요한가
이것은 일반적인 해시 가이드가 아닙니다. nodejs-keccak256 skill의 핵심 가치는 판단의 정확도에 있습니다. 코드가 안전하지 않은지, 무엇으로 바꿔야 하는지, 그리고 출력이 Ethereum tooling과 맞는지 어떻게 확인할지를 알려줍니다. 그래서 편의성보다 정확성이 더 중요한 nodejs-keccak256 for Backend Development에 특히 잘 맞습니다.
nodejs-keccak256 skill 사용 방법
스킬을 설치하고 열기
다음 명령으로 nodejs-keccak256 skill을 설치합니다:
npx skills add affaan-m/everything-claude-code --skill nodejs-keccak256
그다음에는 먼저 SKILL.md를 여세요. 이 저장소에서는 지원 파일이 이것 하나뿐이므로, 가장 빠른 방법은 스킬 본문을 꼼꼼히 읽고 nodejs-keccak256 usage의 작업 기준으로 삼는 것입니다.
대략적인 작업을 좋은 프롬프트로 바꾸기
이 skill은 정확한 해싱 작업, 실행 환경, 그리고 기대하는 Ethereum 산출물을 함께 줄 때 가장 잘 작동합니다. 다음 정보가 들어가면 좋습니다:
- 해시 대상: function selector, EIP-712 domain, event topic, storage slot, packed encoding
- 스택: Node.js, ethers v6, viem, web3.js, 또는 plain crypto
- 입력 형태: string, bytes, ABI-encoded tuple, address, bigint
- 원하는 출력 형식:
0x포함 또는 미포함 hex, bytes, topic hash, selector
예시 프롬프트 형태:
Review this Node.js code that computes an ERC-20 Transfer topic. Replace sha3-256 with a correct Keccak-256 approach and show the safest ethers v6 version.
올바른 워크플로우 사용하기
먼저 코드가 Ethereum 해싱을 하는지, 아니면 일반 NIST SHA3를 쓰는지 구분하세요. Ethereum 관련이라면 Node의 SHA3 구현 대신, Keccak-256을 명시적으로 제공하는 ethers나 viem 같은 라이브러리 함수를 사용하도록 바꾸는 것이 좋습니다. 그다음에는 눈으로 비슷해 보인다고 믿지 말고, 알려진 selector나 topic과 대조해 결과를 검증하세요.
먼저 읽을 내용
이 nodejs-keccak256 guide에서는 SKILL.md를 먼저 읽고 다음 항목에 집중하세요:
- When to Use
- How It Works
- Examples
- ethers v6
이 섹션들은 사용 경계, 실패 방식, 그리고 선호되는 대체 패턴을 알려줍니다.
nodejs-keccak256 skill FAQ
nodejs-keccak256은 Ethereum 작업에만 쓰나요?
네, 주된 용도는 그렇습니다. 이 skill은 일반 암호화가 아니라 Ethereum 호환 Keccak-256을 위한 것입니다. 비Ethereum 용도로 표준 SHA3-256이 필요하다면 이 skill은 맞지 않습니다.
왜 Node crypto를 그냥 쓰면 안 되나요?
crypto.createHash('sha3-256')는 Keccak-256이 아니기 때문입니다. Node는 이 차이를 경고해 주지 않으며, 버그는 프로덕션에서 selector, topic, signature가 깨질 때까지 “맞는 것처럼” 보일 수 있습니다. nodejs-keccak256 skill은 이런 조용한 불일치를 막기 위해 존재합니다.
초보자도 쓸 수 있나요?
네, 해싱 목표를 평이한 말로 설명할 수 있다면 충분합니다. nodejs-keccak256 install과 사용 가이드를 활용하는 데 깊은 암호학 지식은 필요하지 않지만, 어떤 Ethereum 산출물을 만들고 있는지는 알고 있어야 합니다.
ethers와 viem에서도 작동하나요?
네. 저장소 예제에는 ethers v6와 viem 패턴이 포함되어 있어, 이 skill이 실제 백엔드 코드베이스에서 유용한 이유를 보여줍니다. 라이브러리별로 정확하고 바로 쓸 수 있는 대체 코드를 필요로 할 때는 일반 프롬프트보다 훨씬 잘 맞습니다.
nodejs-keccak256 skill 개선 방법
skill에 정확한 산출물을 알려주기
가장 좋은 결과는 어떤 Ethereum 객체를 해시하는지 정확히 지정할 때 나옵니다. 예를 들어 “Transfer(address,address,uint256)의 ERC-721 topic”이라고 말해야지, 그냥 “이 문자열을 해시해줘”라고만 하면 안 됩니다. 그래야 nodejs-keccak256 skill이 올바른 인코딩과 출력 형식을 선택할 수 있습니다.
원본과 기대 출력을 함께 제공하기
이미 실패하는 코드가 있다면 코드 조각과 기대값, 또는 검증된 기준값을 함께 붙여 넣으세요. 그러면 skill이 문제가 encoding인지, algorithm 선택인지, formatting인지 더 잘 구분할 수 있습니다. 백엔드 작업이라면 출력이 ethers v6, viem, 또는 레거시 web3.js와 호환되어야 하는지도 함께 적으세요.
자주 나는 실패 지점을 주의하기
대부분의 실수는 Keccak 자체가 아니라 입력 준비 과정에서 생깁니다. string과 bytes를 혼동하거나, ABI packing을 빠뜨리거나, 0x 정규화를 잊는 일이 흔한 오작동 원인입니다. 첫 답변이 그럴듯해 보여도 알려진 selector나 topic과 맞지 않으면, 검증 단계와 라이브러리별 재작성까지 요청하세요.
알려진 값으로 비교하면서 반복하기
첫 번째 결과를 받은 뒤에는 신뢰할 수 있는 Ethereum 소스의 알려진 selector, topic, hash와 비교하세요. 다르면 정확히 어디가 다른지 알려주고 더 좁은 수정 방향을 요청하면 됩니다. 이렇게 하는 것이 추측 없이 nodejs-keccak256 usage를 빠르게 개선하는 가장 확실한 방법입니다.
