안전하게 니모닉 코드 생성하기

Moreal·2022년 8월 23일
0
post-thumbnail

니모닉 코드

니모닉 코드는 개인키를 사람들이 읽기 쉬운 단어들로 치환한 형태입니다. BIP-39에 정의되어 있으며 예를 들어 coconut census scorpion popular twelve craft engage wet fantasy man speed emotion 같은 형태로 표현됩니다.

위에 사용한 니모닉 코드는 개인키로는 절대 사용하지 마세요.

Deno

Deno는 JavaScript/TypeScript 런타임입니다. 제가 Deno에서 매력적이라고 생각했던 부분은 보안입니다. Deno는 스스로를 secure runtime 라고 이야기합니다. 실행하는 스크립트에서 사용 가능한 권한들을 설정 가능합니다. 예를 들어 스냅샷 테스팅을 할 때 --allow-read=tests/__snapshots__와 같은 인자를 주어 스냅샷 파일들에만 접근 가능하게 하는 것이죠. 또한 --allow-net 인자로 네트워크 접근 권한도 설정가능 합니다. 권한 설정 관련해서는 Deno Getting Started - Permissions 에서 확인할 수 있습니다.

Deno와 함께 니모닉 코드 생성해보기

회사에서 작성하는 프로젝트의 개발환경 준비 문서를 작성하는 도중에 니모닉 코드를 생성해야하는 부분이 있었는데 npm에 있는 어떤 패키지를 활용하려고 하니 이상한 코드가 있지 않을까 걱정이 문득 들었습니다. 그래서 처음에는 Deno에서 BIP-39를 다시 구현해야 하나 생각했다가 Deno가 Node 호환성 모드를 지원한다는 것이 기억 났습니다. 💡

그리고 esm.sh 같은 서비스를 이용하여 쉽게 패키지를 가져올 수도 있습니다.

그래서 아래와 같은 코드를 통해 안심하고 니모닉 코드를 생성해볼 수 있었습니다.

import bip39 from "https://esm.sh/bip39@3.0.4";

console.log(bip39.generateMnemonic());

0개의 댓글