1. 안 쓴 트랜잭션 보기
$ bitcoin-cli -regtest listunspent |
위의 코드를 입력하면 다음과 같은 결과를 얻을 수 있습니다. 돈이 50.000들어왔으며, 아직 사용하지 않은것으로 나타납니다.
2.트랜잭션 내용 보기
상기 결과값의 "txid(Transaction id)"를 사용하여 gettransaction을 호출할 수 있습니다. [txid]에 주소를 쓸때 대괄호는 쓰지 않습니다.
$ bitcoin-cli -regtest gettransaction [txid] |
decoderawtransaction과 위의 결과값중 "hex"을 이용하면 진짜 블록에 올라가는 TX 내용을 호출할 수 있습니다.
[txid]에 주소를 쓸때 대괄호는 쓰지 않습니다.
$ bitcoin-cli -regtest decoderawtransaction [hex] |
3. 이체 후 트렌젝션 내용 다시보기
$ ADDR1=$(bitcoin-cli -regtest getnewaddress) $ bitcoin-cli -regtest sendtoaddress $ADDR1 7 $ bitcoin-cli -regtest generatetoaddress 1 $CB $ bitcoin-cli -regtest regtest listunspent $ bitcoin-cli -regtest gettransacation [TXID] $ bitcoin-cli -regtest decoderawtransaction [hex] |
coinbase 트랜잭션 [50]을 vin으로 7과 43을 나눠 갖는 트랜잭션임을 확인할 수 있습니다.
4. 비트코인 트랜잭션
- 비트코인은 이체 트랜잭션 장부입니다. 결코 누가 얼마를 갖고 있다는 잔고 장부가 아닙니다. 나에게 보내진 트랜잭션들의 합이 나의 잔고입니다.
5. 비트코인 트랜잭션 만들기
CB에 generate 시키고 ADD1을 만들어서 7을 이체시킨 후 ADD2를 만들어 3을 이체 시켰습니다. 그 이후의 트렌잭션에 대해 살펴보겠습니다.
[step1] unspent TX조회
$ bitcoin-cli -regtest listunspent |
위의 코드를 입력 후 나오는 트랜잭션은 아직 사용되지 않은 트랜잭션들입니다. 3을 받은 UTXO을 UTXO변수에 저장하겠습니다.
[step2]받을 주소 하나 만들기
$ ADDR3=$(bitcoin-cli -regtest getnewaddress) |
[step3]트랜잭션 만들기
bitcoin-cli -regtest createrawtransaction ''' [ { "txid": "'UTXO'", "vout": 0 }}] ''' ''' { "'ADDR3'" : 2 .98 }''' |
다음코드를 입력하면 트랜잭션이 만들어집니다. 위 코드의 결과를 RAWTX변수에 저장하겠습니다.
[step4]서명하기
bitcoin-cli -regtest signrawtransactionwithwallet $RAWTX |
위의 코드를 입력하면 서명된 트랜잭션이 만들어집니다. 위 코드입력 결과의 "hex"부분을 SIGTX변수에 저장하겠습니다.
[step5]전송하기
서명된 트랜잭션을 네트워크에 전송하여 검증,합의합니다.
bitcoin-cli -regtest sendrawtransaction $SIGTX |
'BlockChain > Wallet 프로그래밍 & 보안' 카테고리의 다른 글
[wallet 프로그래밍 & 보안] 1. 비트코인 실습 (0) | 2019.11.07 |
---|
댓글