metamask 에서 private key 추출후 web3에서 사용시 잔액부족 오류

2019-05-18 저녁 _ 시즈오카 시내 분수

프로젝트 진행중 web3js를 이용해 송금할 일이 있었다.

메타마스크에서 개인키를 뽑아 트랜잭션을 인증하고 전송하는 과정 중 잔액이 부족하다는 에러가 발생했다.

getBalance로 잔액조회가 되는것을 보니 계좌주소도 틀리지 않았고, 코인베이스라 돈은 빵빵했다.
개인키 의심되서 찾아보니 이런 이슈를 찾았다.

대충 의도적으로 ‘0x’를 지운 이슈

개인키에서 ‘0x’를 지우는 것이 표준화 되었기에 메타마스크에서도 개인키 추출시 삭제한것.
여러 이유가 있겠지만 예로 트랜잭션 해시와 개인키의 길이가 같기때문에 그것을 구분할 수 있는 장점도 있다는 설명이 같이 있었다.

‘0x’ 는 16진수임을 알리는 접두사이다.

signTransaction의 파라미터인 개인키에 ‘0x’를 붙여주는 것으로 해결되었다.

대뜸 잔액부족 경고를 날려버려서 시간이 더 걸렸는데 처음부터 개인키가 잘못되었다고 알려주면 안되니..
보안이유때문에 그랬을 수도 있겠다.

Share