2021.09.09 - [Lecture] - [지갑 만들기] 랜덤 키 값 만들기 (elliptic , secp256k1)
2021.09.09 - [Lecture] - [지갑 만들기] 파일 경로 설정 및 존재 여부 검사
[지갑 만들기] 랜덤 키 값 만들기 (elliptic , secp256k1)
암호화폐의 지갑을 만들어 보려고 한다. 일단 최초 목표가 있는데 node server.js 를 할때 http://localhost:3000/address 에 요청을 하게 되면 1. node serever.js 가 실행되면 특정 폴더에 특정파일이 생성된다...
develop-famous.tistory.com
마지막 목표인 generatorPrivateKey() 값을 보여줄것. 을 실행하려고 한다.
1. 일단 파일에 저장해둔 privateKey값을 가지고 오는 함수를 만든다.
const fs = require('fs');
function getPrivateFromWallet(){
const buffer = fs.readFileSync(privateFile);
return buffer.toString();
};
2. 받아온 privateKey를 통해 publicKey를 만드는 함수를 만든다.
const ecdsa = require('elliptic');
const ec = ecdsa.ec("secp256k1");
function getPublicFromWallet(){
const privateKey = getPrivateFromWallet();
const key = ec.keyFromPrivate(privateKey,"hex");
return key.getPublic().encode("hex");
};
3. 전 게시물에서 만들었던 파일을 검사 및 생성하는 initWallet함수와 publicKey를 생성하는 getPublicFromWallet함수를 export해준다.
module.exports = {
initWallet,
getPublicFromWallet
}
4. server 페이지에서 exports 한 파일 가져와서 send로 /address 주소에 값을 보내준다.
const wl = require('./wallet.js');
app.get(`/address`,(req,res)=>{
const address = wl.getPublicFromWallet();
res.send({ address });
});
wl.initWallet();
이렇게 한 후 서버 실행시키고 curl로 http://localhost:3000/address를 확인해 보면 키 값을 볼 수 있다.

'DeFi' 카테고리의 다른 글
메타마스크 에러 code 32603 (0) | 2022.04.18 |
---|---|
[ 디파이 코인 ] 유니스왑 클론 (0) | 2021.11.01 |
디파이 코인 개념 (1) | 2021.10.25 |
[지갑 만들기] 파일 경로 설정 및 존재 여부 검사 (0) | 2021.09.09 |