- Private Key -> keystore (암호화)
const Wallet = require("ethereumjs-wallet")
const fs = require("fs")
const pk = new Buffer.from('PK값', 'hex')
const account = Wallet.fromPrivateKey(pk)
const jsonContent = JSON.stringify(account.toV3('password값')) // keystore 암호화/복호화에 사용 될 패스워드
// 파일 생성
const address = account.getAddress().toString('hex')
const fileName = `UTC--${new Date().toISOString().replace(/[:]/g, '-')}--${address}`
fs.writeFileSync(fileName, jsonContent )
- keystore -> Private Key (복호화)
const keythereum = require("keythereum");
var address= "0x...이더리움Address"
var dir = "/home/ethereum/...data경로" //keystore가 있는 data 디렉토리 경로
var keyObject = keythereum.importFromFile(address, dir)
var pk = keythereum.recover('password값', keyObject)
var privateKey = pk.toString('hex')
사용 노드 패키지 : fs , ethereumjs-wallet
const Wallet = require("ethereumjs-wallet")
const fs = require("fs")
const file = "/home/ethereum/data/keystore/UTC--2019......."
const password = "password"
const account = Wallet.fromV3(fs.readFileSync(file), password, true)
const pk = account.getPrivateKey().toString('hex')
keystore란?
이더리움 Private Key을 암호화한 파일입니다. 복호화하기 위해선 암호화 당시 사용한 PassWord를 이용해야합니다.
암호화 복호화의 원리
댓글 영역