다양한 RPC들과 그 설명이 들어있는 영문 웹사이트
https://developer.bitcoin.org/reference/rpc/index.html
RPC API Reference — Bitcoin
This site aims to provide the docs you need to understand Bitcoin and start building Bitcoin-based applications.
developer.bitcoin.org
지난 글에서는 Bitcoin Core 프로그램을 설치하는 방법을 알아보았다.
설치해서 이리저리 보면 알겠지만, 위 Bitcoin Core 프로그램 GUI*는 지갑으로서의 기능만 충실히 수행할 수 있다.
노드 운영은 프로그램이 이미 알아서 척척 해주고 있기 때문에 더더욱 사용자는 할 일이 없다.
...
그럼 이게 끝인 걸까...?
*GUI: Graphical User Interface, 명령어를 쳐서 응답을 이끌어내는 프로그램이 아닌, 버튼이나 입력창 따위로 구성되어
쉽게 원하는 결과를 이끌어낼 수 있는 프로그램 인터페이스를 GUI라 한다. 우리가 쓰는 대부분 일상 프로그램이 이것.
엣..
그럼 그렇지!! 뭔가가 더 있는게 틀림없다!
콘솔에서 뭔가를 입력할 수 있게 되어있다. 콘솔이 아마 CMD 뭐 그런 거였지..?
그럼 윈도우 CMD로도 뭘 이것저것 입력해서 Bitcoin Core 프로그램을 멋대로 조종해볼 수 있겠지..?
그렇다. 그걸 가능한게 하는 것이 저번 글에서 말했던 RPC이다.
이 RPC를 제대로 쓰기 위해서라면 저 콘솔 창에서 이것저것 해볼 게 아니라, 본격적으로 CMD 창을 켜야 한다.
코딩을 전혀 모르는 필자조차도 할 수 있는 쉬운 일이다!
아, 대신 CMD로 Bitcoin Core 프로그램을 실행하고 노드 운영을 하려면 아쉽게도 GUI창은 닫아야 한다.
한 컴퓨터에서 같은 프로그램을 동시 실행할 수는 없기 때문이다.
안녕~~~
이제 파일 탐색기에서 C:\Program Files\Bitcoin\daemon 위치로 이동해주자.
비트코인 코어 프로그램 설치경로를 다른 곳으로 했다면 그 곳으로 이동하면 된다.
이게 파일탐색기이다. 빨간 네모로 표시된 곳을 눌러준 후 파일 경로인
C:\Program Files\Bitcoin\daemon
위 경로를 붙여넣기하면 매우 빠르게 설치위치로 이동할 수 있을 것이다.
daemon 폴더로 이동했다면 요상한 파일들이 있는 게 보인다.
그중에서 bitcoind.exe를 더블클릭해주자.
뭐가 주루루룩 올라갈텐데 이게 아까 작별인사를 했던 GUI의 맨얼굴이라고 할 수 있겠다.
달리 말하자면 이게 진짜 비트코인 풀노드 프로그램이라고나 할까?
bitcoin qt 혹은 bitcoind라고 주로 부른다.
여따 대고는 뭘 눌러도 먹히지 않기 때문에 CMD창을 새로 하나 켜주자.
짠! 이제 cd 명령어(Change Directory)를 통해서 아까 갔던 daemon 폴더로 이동해주자.
cd C:\Program Files\Bitcoin\daemon 입력 후 엔터..
RPC를 사용하려면 daemon폴더의 bitcoin-cli.exe를 호출해서 RPC명령어를 타이핑하면 된다.
하는 방법은 그냥
bitcoin-cli rpc명령어
이렇게 입력하고 엔터키를 치면 된다. 참 별거없죠...?
rpc명령어의 예시는 getblockhash으로 연습해보자.
bitcoin-cli getblockhash 0 이라 입력할 경우 블록 높이*가 0인 블록의 해시**값을 토출해줄 것이다.
참고로, pruning모드로 설치했다면 비트코인 블록 데이터를 검증후 전부 컴퓨터에서 지워버리므로
이와 같은 연습은 불가능하다.
와! 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 이라는 값이 나왔다.
이건 비트코인 프로그램을 만든 사람이 처음 프로그램을 구동시키면서 채굴한 첫번째 블록의 해시값이다.
Genesis block 이라고 보통 부른다.
이 블록에 대해서 좀더 자세히 알아보기 위해서 getblock RPC를 사용해보자.
아, 다양한 RPC들과 그 설명은 https://developer.bitcoin.org/reference/rpc/index.html에 정리되어 있다.
getblock 명령어는
bitcoin-cli getblock 원하는블록의해시값
과 같이 사용한다.
제네시스블록의 정보를 얻고 싶다면
bitcoin-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
이렇게 복사-붙여넣기 하면 될 것이다.
뭔가 잡다한 정보들이 많이 나왔지만, 아직 뭔가 부족해보인다.
더 많은 정보를 얻고 싶다면
bitcoin-cli getblock 원하는블록의해시값 2
처럼 끝에 2를 붙여주자.
bitcoin-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 2
추가로 이와 같은 긴 값들이 마구마구 나왔다. 와 신기하다~~~~~~~
글이 길어졌으니, 이 값들에 대해서 다뤄보는 것은 다음에.
*블록 높이: 블록이 만들어진 순서
**해시: 비트코인에서는 SHA-256알고리즘으로 암호화한 결과값을 해시라고 부른다.
'취미 > 비트코인 풀노드 운영' 카테고리의 다른 글
getblockhash-bitcoind RPC별 사용법 정리 (0) | 2024.05.26 |
---|---|
getblock-bitcoind RPC별 사용법 정리 (0) | 2024.05.26 |
풀노드 프로그램으로 비트코인을 채굴해보자! (2) | 2024.05.26 |
풀노드를 운영하면서 비트코인 블록들을 직접 검증해보자! (0) | 2024.05.26 |
비트코인, 채굴만 할 수 있는게 아니라고? 풀노드 입문기 (0) | 2024.05.26 |