암호화폐의 지갑을 만들어 보려고 한다.
일단 최초 목표가 있는데
node server.js 를 할때 http://localhost:3000/address 에 요청을 하게 되면
1. node serever.js 가 실행되면 특정 폴더에 특정파일이 생성된다.
2. 개인키값을 보여줄것.
이 두가지 목표를 실행하려면 먼저 지갑의 개인 키 값을 만들어야 한다.
키 값을 만들때는 암호화를 사용하는데
회원가입을 할때 사용했던 sha256 암호화는 복호화가 안되는 단방향 암호화이다.
secp256k1 암호화의 개념은 0과 1을 랜덤하게 256번을 던져 그 값을 암호화 하는 것이다.
secp256k1을 사용하기 위해서 elliptic이라는 모듈을 설치해야 한다.
const ecdsa = require('elliptic');
const ec = ecdsa.ec('secp256k1');
elliptic 객체 안에 ec 함수로 secp256k1을 불러온다.
ec 안에 있는 genKeyPair()그 안에 getPrivate을 불러와 16진수 string값으로 만들고 toUpperCase로 정리해 줬다.
ec.genKeyPair().getPrivate().toString(16).toUpperCase()
다만 나는 암호를 랜덤하게 만들어 주는 함수를 만들 것 이기 때문에 함수안에 키값을 만드는 구문을 입력했다.
function generatorPrivateKey(){
const KeyPair = ec.genKeyPair();
const privateKey = KeyPair.getPrivate();
return privateKey.toString(16).toUpperCase();
};
그럼 앞으로 함수를 실행 시킬 때마다 랜덤한 키값을 받을 수 있다.
'Lecture' 카테고리의 다른 글
shell 명령어 (0) | 2021.09.09 |
---|---|
개념모음 (0) | 2021.09.09 |
맥 oh my zsh , powerlevel10k 설치 방법 (0) | 2021.08.26 |
os 개념 [커널, 쉘] (0) | 2021.08.26 |
HTTP 요청 헤더 (0) | 2021.08.19 |