[블록체인] Bitcoin 지갑과 주소
이번 포스팅은 비트코인 지갑과 주소에 대해 알아보겠습니다.
tree 명령어로 .bitcoin 디렉토리의 구조를 살펴본다.
tree가 설치되어 있지 않다면 sudo apt install tree 명령어로 설치하면 된다.
/.bitcoin/regtest/wallets/wallet.dat 파일이 털리면 개인키가 털리므로 조심해야 한다.
지갑 정보 조회
bitcoin-cli -regtest getwalletinfo
해당 지갑은 regtest 네트워크를 생성할 때 만들어진 default wallet이다.
walletname이 ""인 부분은 bitcoind를 실행할 때 지갑 목록을 bitcoin.conf나 설정값을 주어서 추가할 수 있다.
hdseedid 부분은 HDseed에 해시(Hash 160)를 적용한 것이다. 이를 통해 hd지갑의 seed를 찾을 수 있다.
지갑 생성
"luna"라는 이름의 지갑을 생성하고자 한다. 이를 위해 아래 명령어를 사용한다.
bitcoin-cli -regtest createwallet "luna"
지갑 정보를 조회해보자.
default wallet, luna wallet을 리스트에서 확인할 수 있다.
현재 지갑이 총 2개인데 이렇게 지갑이 여러 개라는 의미는 HD 시드가 여러 개라는 의미이다.
하나의 HD 시드에는 여러 개의 address를 만들 수 있다. HD 시드만 알면 하위 address의 주소를 모두 찾아낼 수 있다.
이제 지갑별로 잔고를 확인할 수 있다.
여러 지갑이 존재하므로 "-rpcwallet=<filename>"을 추가하여 지갑별로 접근하여 명령어를 내려야 한다.
getnewaddress 명령어를 이용하여 지갑마다 address를 하나씩 만들어준다.
luna 지갑의 bcrt1qdey09y6694m9mlccm65vwdj3rnzyjzadsdmaq2 address를 하나 생성했다.
방금 생성한 address의 정보를 조회해보자.
bitcoin-cli -regtest -rpcwallet="luna" getaddressinfo bcrt1qz4sm0qr39p3ta5yeq603y8wfscuf4az7yaxv8d
참고
https://www.youtube.com/watch?v=wktPUoxiZu0&list=PLZwFtgKc35I_ROUsSev0xcy5poVH486CV&index=5