Bitcoin Quickstart

비트코인(Bitcoin)은 세계 최초의 탈중앙화 디지털 자산으로, 블록체인 기술을 활용해 신뢰할 수 있는 P2P 거래를 가능하게 한 암호화폐입니다. 작업 증명 합의 메커니즘을 통해 네트워크의 안전성과 무결성을 보장하며, 탈중앙화 방식으로 운영됩니다. 비트코인은 가치 저장 수단, 결제 네트워크, 그리고 탈중앙화 경제의 기초를 제공하며 암호화폐 생태계의 표준으로 자리 잡고 있습니다.

↗ 참고사이트: Bitcoin.org

↗ Explorer: Blockchain.com , Blockstream


📍

Bitcoin Web3 Data API가 곧 지원됩니다!

Nodit에서 비트코인 체인을 위한 Web3 Data API를 곧 서비스로 출시할 예정입니다.
API Reference는 Web3 Data API 메뉴에서 미리 확인하실 수 있습니다.

Feature

Mainnet Support

Testnet Support

Elastic Node

Dedicated Node

Web3 Data API

🔜

🔜

Webhook

Stream

Datasquare


Web3 Data API

Blockchain API

Native

Example

  • 특정 계정에 대한 Transaction을 Get Transactions By Account을 통해서 조회

Request

  • Node.js - axios

    const axios = require('axios');
    let data = JSON.stringify({
      "accountAddress": "bc1qxw4ra06yagsznqpkdxs9d8rzmk5mq6j2rwh2yz",
      "relation": "both",
      "fromBlock": "earliest",
      "toBlock": "latest",
      "withZeroValue": true,
      "page": 1,
      "rpp": 10,
      "withCount": true
    });
    
    let config = {
      method: 'post',
      maxBodyLength: Infinity,
      url: 'https://web3.nodit.io/v1/bitcoin/mainnet/blockchain/getTransactionsByAccount',
      headers: { 
        'Content-Type': 'application/json', 
        'X-API-KEY': '{{Your API KEY}}'
      },
      data : data
    };
    
    axios.request(config)
    .then((response) => {
      console.log(JSON.stringify(response.data));
    })
    .catch((error) => {
      console.log(error);
    });
    
    
  • Python - requests

    import requests
    import json
    
    url = "https://web3.nodit.io/v1/bitcoin/mainnet/blockchain/getTransactionsByAccount"
    
    payload = json.dumps({
    "accountAddress": "bc1qxw4ra06yagsznqpkdxs9d8rzmk5mq6j2rwh2yz",
    "relation": "both",
    "fromBlock": "earliest",
    "toBlock": "latest",
    "withZeroValue": True,
    "page": 1,
    "rpp": 10,
    "withCount": True
    })
    headers = {
    'Content-Type': 'application/json',
    'X-API-KEY': '{{Your API KEY}}'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    
    print(response.text)
    

Response

  • 비트코인의 트랜잭션은 입력(vin)과 출력(vout)으로 구성됩니다.
  • vin: 이전 트랜잭션에서 제공된 출력(UTXO, 미사용 출력)을 사용.
  • vout: 새로 생성된 트랜잭션의 수신자와 금액을 정의.
  • fee: 입력값의 총합에서 출력값의 총합을 뺀 차이.
{
    "rpp": 10,
    "page": 1,
    "count": 2,
    "items": [
        {
            "id": "d158de2ae82689682cfb9e72fe1ac3b401b608339c24dd330f8fa66bfded1399",
            "index": 3,
            "hash": "6e1e6ea969aa55ae64c008c83565e3d31093e7f8d917590ce5ff6670ab605ab5",
            "version": 2,
            "lockTime": 0,
            "size": 223,
            "vsize": 142,
            "weight": 565,
            "fee": "0.00067983",
            "vinCount": 1,
            "voutCount": 2,
            "blockHeight": 654466,
            "blockHash": "00000000000000000004b068247d3ed457cbfad99d253f31c3b5589514b47a7b",
            "blockTimestamp": 1603816660,
            "vin": [
                {
                    "index": 0,
                    "address": "bc1qxw4ra06yagsznqpkdxs9d8rzmk5mq6j2rwh2yz",
                    "value": "5.0866198",
                    "coinbase": null,
                    "voutTransactionId": "b3554fe6689fddb99446c78a3bb1d08f59cfa479505e87e9b948e14b42ea9aef",
                    "voutIndex": 1,
                    "scriptSig": {
                        "asm": "",
                        "hex": "",
                        "type": "witness_v0_keyhash"
                    },
                    "sequence": 4294967295,
                    "witness": [
                        "304402205f02aad1565ce058b9ff5061b10b4b987135b524584d3b85fc307e6708b59cbe0220542f033268ddc15a8851f2beacb3ba530a843a33eb0e0949efe2a3bb63f14dbd01",
                        "02465ba8589e28ad2cc47789f633b72c3f0fb5c8066c8971512b311d5a609f099e"
                    ]
                }
            ],
            "vout": [
                {
                    "index": 0,
                    "address": "3GHvkJsSqZ2dBtdXqFkbhAZCW4v4JxCuzS",
                    "value": "0.00031093",
                    "scriptPubKey": {
                        "asm": "OP_HASH160 a02bffa073735a2628e60aa0422e0f16cecd422c OP_EQUAL",
                        "hex": "a914a02bffa073735a2628e60aa0422e0f16cecd422c87",
                        "type": "scripthash"
                    }
                },
                {
                    "index": 1,
                    "address": "bc1qlpwawqflzvpeh0dku5jgrt4ftzr9c6kae7z96j",
                    "value": "5.08562904",
                    "scriptPubKey": {
                        "asm": "0 f85dd7013f13039bbdb6e52481aea958865c6add",
                        "hex": "0014f85dd7013f13039bbdb6e52481aea958865c6add",
                        "type": "witness_v0_keyhash"
                    }
                }
            ]
        },
        {
            "id": "b3554fe6689fddb99446c78a3bb1d08f59cfa479505e87e9b948e14b42ea9aef",
            "index": 95,
            "hash": "3a3636840bb24404b0921b544fedf8776c2560511df9d0033f0cb0734ae921ae",
            "version": 2,
            "lockTime": 0,
            "size": 223,
            "vsize": 142,
            "weight": 565,
            "fee": "0.00068012",
            "vinCount": 1,
            "voutCount": 2,
            "blockHeight": 654465,
            "blockHash": "0000000000000000000dcb1d1592c0bf70090090ad7303ee74942bc5210e9762",
            "blockTimestamp": 1603816345,
            "vin": [
                {
                    "index": 0,
                    "address": "bc1qx42aezagmurl8ckq5t5pc9m0ka8k26fth5u2kh",
                    "value": "5.35029992",
                    "coinbase": null,
                    "voutTransactionId": "02d782d14edd74e655dc272a40fbb0dfbb73d612f2ce3bc13a08db10c9122659",
                    "voutIndex": 1,
                    "scriptSig": {
                        "asm": "",
                        "hex": "",
                        "type": "witness_v0_keyhash"
                    },
                    "sequence": 4294967295,
                    "witness": [
                        "304402203d7743dcaab864ccc45440cfaa158c3afd74340a8b7127af52bbaa96ca19302a0220696e564280fd52b46592a93a9b657547ba92420a8f0a56dbc30690ee4bde326201",
                        "029f25728c407d721aee4db065405e22b747a6acbeb52b05e0eea8f00808a5e523"
                    ]
                }
            ],
            "vout": [
                {
                    "index": 0,
                    "address": "397xd2gtg3s2zpmof2vX8t4i5VfiQfLvft",
                    "value": "0.263",
                    "scriptPubKey": {
                        "asm": "OP_HASH160 518085efe0edb908bf9626d0fa41337b5e5c949d OP_EQUAL",
                        "hex": "a914518085efe0edb908bf9626d0fa41337b5e5c949d87",
                        "type": "scripthash"
                    }
                },
                {
                    "index": 1,
                    "address": "bc1qxw4ra06yagsznqpkdxs9d8rzmk5mq6j2rwh2yz",
                    "value": "5.0866198",
                    "scriptPubKey": {
                        "asm": "0 33aa3ebf44ea2029803669a0569c62dda9b06a4a",
                        "hex": "001433aa3ebf44ea2029803669a0569c62dda9b06a4a",
                        "type": "witness_v0_keyhash"
                    }
                }
            ]
        }
    ]
}