비트코인 (비트 코어 실행하기)
1. 비트코인 코어 설정하기
홈 디렉토리 내부의 bitcoin 디렉토리에 bitcoin.conf 파일을 생성한 뒤 내용을 입력하면 비트코인 코어의 설정을 변경할 수 있다.
예를 들어 .bitcoin/bitcoin.conf 파일에
rpcuser = skkrypto
rpcpassward = secret
다음 내용을 입력한다면 user name과 패스워드를 설정할 수 있다.
bitcoind -help 입력 시 설정할 수 있는 모든 옵션을 볼 수 있다.
가장 많이 쓰이는 옵션은 아래와 같다.
● alertnotify
특정 script나 command를 실행하면 owner에게 알림 (대체로 email)
● datadir
blockchain data를 어디 저장할지 설정
default 값은 .bitcoin 디렉토리
● prune
오래된 블록을 지워서 저장에 쓰이는 공간을 줄임
● txindex
모든 트랜젝션의 인덱스 부여 → 블록체인 내의 모든 트랜젝션을 getrawtransaction 명령어로 검색 가능
● maxconnections
connection을 허용할 노드의 maximum 개수 설정
bandwidth 소비를 줄여줌
● maxmempool
트랜잭션의 memory pool 용량 설정 → 메모리 사용량 절약 가능
● maxreceivebuffer / maxsendbuffer
connection 별로 메모리 버퍼의 크기 제한
● minrelaytxfee
relay 할 minimum 트랜잭션 요금 설정 → 이 금액 이하의 incentive는 0원으로 취급
EX)
alertnotify=myemail.sh “Alert : %s”
maxconnections=15
prune=5000
minrelaytxfee=0.0001
maxreceivebuffer=2500
maxsendbuffer=500
rpcuser=skkrypto
rpcpassword=secret
다음과 같이 bitcoin.conf 파일을 만들어 저장하면 설정이 완료된다.
2. 비트코인 코어 API
bitcoin-cli 명령어를 통해 비트코인 클라이언트에 접근할 수 있고,
bitcoin-cli help 명령어를 통해 모든 명령어를 볼 수 있다.
bitcoin-cli help 명령어를 입력하면 해당 명령어의 parameter를 포함한 자세한 정보를 알 수 있다.
① 클라이언트의 정보 보기
bitcoin-cli getinfo
프로그래머가 쉽게 사용할 수 있도록 JSON 형태로 데이터 반환
② 트랜잭션 탐색, 디코딩 하기
bitcoin-cli getrawtransaction 트랜잭션 아이디
트랜잭션을 hexadecimal 형태로 반환 → decoderawtransaction의 파라미터로 사용
bitcoin-cli decoderawtransaction 위 명령어의 반환 값
보내는 사람과 받는 사람의 지갑 주소, 금액, 거스름돈 등 모든 자세한 정보를 보여줌
③ 블록 탐색하기
bitcoin-cli getblockhash 블록 번호
blockhash 값을 반환
bitcoin-cli getblock 위 명령어의 반환 값
블록에 포함되어있는 트랜잭션 아이디, 사이즈, 머클 hash 등 블록의 자세한 정보를 보여줌