Mnemonic_Wallet

이민기·2022년 2월 7일
0
post-thumbnail

Mnmonic Wallet

개발 목적

Next.js연습 및 간단한 Mnemonic Wallet을 만들며 원리에 대해 공부하는 것에 있다

Mnmonic

기존의 암호화폐 지갑에서 사용되는 비밀키는 지갑을 처음 생성하는 사람, 익숙하지 않은 사람에게는 너무나 낯설고 불편하게 느껴질 수 있다
니모닉은 암호화폐 지갑에서 사용하는 비밀 키의 일종으로 사람들이 사용하는 일반적인 단어 12개로 이루어진 단어 집합이다 이를 통해 비밀키 관리를 조금 더 용이하게 할 수 있다

예시
offer holiday scatter sun rail guess gesture foil worry disagree invite wall

🖊 니모닉 코드는 BIP-39에 정의되어 있으며 이것을 표준으로 삼는다


코드 설명

MakeMnemonic.js

  • MakeMnemonic : "eth-lightwallet"모듈을 이용해 "Create Mnemonic"버튼을 눌르면 BIP-39를 표준삼아 랜덤으로 단어 12가지를 생성한다

    실행 화면

    MakeWallet.js

  • makeTextFile : 니모닉과 패스워드를 이용해 Address(지갑의 주소)를 생성하면 다운받을 수 있는 링크를 downloadLink 상태에 저장한다
  • makeAddress : seed(Mnemonic)과 pwd(패스워드)를 이용해 Address를 생성한다
  • valid : 이 함수는 makeAddress함수를 실행전 인자로 들어갈 seed가 BIP-39기준에 맞는지를 확인한다

실행 화면


전체 실행 화면


회고

모듈을 이용해서 간단하게 니모닉지갑 생성을 개발해보면서 모듈안에 필요한 함수들을 찾아서 읽고 사용하는 능력이 조금이나마 더 나아진 것 같다. Next.js를 사용해서 개발한 이유는 사실 최근에 조금씩 공부하고 있기 때문인데, "이번 프로젝트에는 맞지 않는 Framework였다"는 생각을 했다. 그럼에도 익숙해 지려고 사용하면서 전보다 익숙해짐을 느껴 좋았다
그러나 처음 시작할 때는 TypeScript와 같이 사용하려 했으나 능력과 시간 부족으로 TypeScript사용은 물건너 갔지만 이는 공부해서 다시 도전할 생각이 있으며
생성된 address와 니모닉을 검증할 수 있는 page역시도 더 추가하고 싶다


profile
블로그를 옮기는 중입니다. https://min71.dev

0개의 댓글