Mnemonic Wallet 개발하기

jsg_ko·2022년 2월 9일
0

개요

본 포스팅은 코드스테이츠 HA4 과제 제출용 Mnemonic Wallet 개발 실습입니다.

eth-lightwallet 모듈에 내장되어 있는 함수를 사용하여 간단한 Mnemonic Wallet을 개발하고, Postman을 사용하여 API 테스트를 해보았습니다. 서버는 node.js express로 구현 하였습니다.

github: https://github.com/jsg0629/MnemonicWallet/tree/main

니모닉 이해하기

니모닉이란 난수(시드 키)를 12개의 영단어로 인코딩한 영단어 그룹으로 블록체인에서 니모닉은 지갑을 복구하기 위한 일반적인 단어들의 조합을 뜻합니다. 블록체인에서는 하나의 시드키를 사용하여 여러 계정을 생성해 내는 지갑들이 존재하는데 이 지갑을 HD Wallet(Hierarchical Deterministic Wallet :계층적 결정적 지갑) 이라고 불르고, HD Wallet 을 생성할때 seed로 니모닉을 사용합니다.

예)
시드키:8979644bfb6b6206792bdd6a071b3a00daebfb84ac5e3d81fa8c87a8012b04be060765762d4540ff10788959a84dec51667f34b0380e66be373d0ab2c62f8f94
니모닉: endless convince patrol calm apology scene client jungle fitness blind grass pause

Mnemonic Wallet 개발하기

  1. newMnemonic API 만들기 Postman을 사용해 테스트 해보면 정상적으로 니모닉코드가 응답되는 것 을 알 수 있습니다.
  1. mnemonic codepassword를 이용해 newWallet API 만들기

    Postman을 사용해 테스트

    • 적절한 엔드포인트로 1에서 얻은 니모닉 코드를 mnemonic이라는 키의 값으로, password에는 원하는 비밀번호를 입력 후 요청합니다.
    1. fs모듈을 사용하여 생성된 keystore를 json 파일로 만들어 로컬 서버에 저장하기 Postman을 실행하여, 로컬에 키스토어 파일이 생기는지 확인합니다.

🔥개발후기

이전에 학습했던 내용이고, 공식 문서 eth-lightwallet에 메서드에 대해 구체적으로 설명되어 있기 때문에 개발을 진행하는데에 큰 어려움은 없었다. Postman을 이용해서 간단히 API 테스트를 진행해 보았는데 한가해지면 Client 를 직접 구현하여 API서버와 연결해서 구현 해 볼 생각이다.

profile
디버깅에서 재미를 추구하면 안되는 걸까

0개의 댓글