본문 바로가기
Ethereum

[Ethereum] geth Private Network 계정을 MetaMask로 가져오기

by smilemugi 2022. 12. 7.

METAMASK 설치는 아래 링크 참조

https://smilemugi.tistory.com/11

 

[Ethereum] 개발 환경 설정

이더리움(Ethereum) 이란, 스마트 컨트랙트(Smart Contract)를 실행할 수 있는 플랫폼이다. go,c++,python 등 다양한 언어로 이더리움을 구동할 수 있는 클라이언트가 개발되고 있으며, 현재 가장 많이 사용

smilemugi.tistory.com

 

geth private network 설정은 아래 링크 참조

https://smilemugi.tistory.com/12

 

[Ethereum] Geth 로 Private Network 만들기 #1

Geth는 이더리움재단(Ethereum Foundation)이 제공하는 공식 클라이언트 소프트웨어로써, Go언어로 개발되었다. Geth를 처음 시작하면 네트워크 내의 다른 이더리움 클라이언트(노드, node 라고도 함)에

smilemugi.tistory.com

 

METAMASK 에서 계정을 가져오기

geth private network 에 생성된 계정을 MetaMask 에서 가져오기 하려면 우선 아래 그림에서 "비공개 키"를 입력해야 한다.

처음엔 위에 입력할 "비공개 키"를 아래 "UTC--2022-12 ..... " 파일 내용 중에서 "ciphertext" 에 설정되어 있는 값인 줄 알고 그 값을 넣었지만 ETH 잔고를 가져오지 못하는 현상이 발생하였다. 찾은 원인은 "비공개 키"를 잘 못 설정한 것이었다.

"비공개 키"는 "UTC--2022-12..."  를 참조해서 "Private Key" 를 얻어 왔어야 했다.

얻어 오는 방법은 web3 패키지를 활용하면 되지만, 윈도우에서는 여의치 않아 node js 로 아래와 같이 코드를 만들었다.

const keythereum = require("keythereum");

var address= "0x7db67ffa107c31a02a5b07ff1c8b18d35b8e5ed1"; // "UTC--2022-12..." 파일 안의 address
var dir = "D://Blockchain/MyNetwork/"; //keystore가 있는 data 디렉토리 경로

var keyObject = keythereum.importFromFile(address, dir);
var pk = keythereum.recover('mypassword', keyObject);

console.log("Private Key: " + pk.toString('hex'));

위 스크립트를 실행하면 출력되는 pk.toString('hex') 값을 "비밀 키"로 활용하면 되는 것이다.

 

 

'Ethereum' 카테고리의 다른 글

[Ethereum] Geth - 채굴 #2  (0) 2022.12.07
[Ethereum] Geth 로 Private Network 만들기 #1  (0) 2022.12.06
[Ethereum] 개발 환경 설정  (0) 2022.12.06