How to Connect to Bitcoin
How to Access Bitcoin Credentials
Info:
If you haven't configured a node, learn how to deploy one here.
- Log into the Blockdaemon app.
- Select Dedicated Nodes from the sidebar menu
- Go to the My Nodes tab and select the Bitcoin node you want to connect to.
- Navigate to the Connect tab, where you’ll find:
- Endpoint URL
- Auth String
- Auth Token
Please reach out to [email protected] or your Customer Success Manager for support.
1. How to Connect via cURL
curl --location --request POST 'YOUR_ENDPOINT_URL' \
--header 'X-Auth-Token: YOUR_AUTH_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"method": "RPC_METHOD",
"params": [],
"id": 1,
"jsonrpc": "2.0"
}'
- Replace
YOUR_ENDPOINT_URL
with the Endpoint URL in the Blockdaemon app. - Replace
YOUR_AUTH_TOKEN
with the Auth Token in the Blockdaemon app. - Replace
RPC_METHOD
with your chosen RPC method.
2. How to Connect via Python
The following describes how to run a simple Python application that returns info on the Bitcoin server.
- Create a Python script called
bitcoin_rpc.py
.
import requests
from requests.auth import HTTPBasicAuth
auth_token = (
"<YOUR_AUTH_TOKEN" # Replace with your node's auth token
)
rpc_url = "https://<YOUR_NODE_URL>" # Replace with your node URL
payload = {
"jsonrpc": "2.0",
"id": "curltest",
"method": "getblockchaininfo", # Replace with your desired RPC method
"params": [],
}
headers = {"Content-Type": "application/json", "X-Auth-Token": auth_token}
response = requests.post(
rpc_url,
json=payload,
headers=headers,
)
if response.status_code == 200:
print(response.json())
else:
print(f"Error: {response.status_code}, {response.text}")
- Run the script.
python3 bitcoin_rpc.py
3. How to Connect via ZMQ
Blockdaemon Bitcoin nodes support ZMQ, a messaging system that lets applications subscribe to real-time events like new transactions or blocks. This guide shows you how to use a Python script to display new Bitcoin transactions and their total output value.
- Install the
zmq
library to listen for Bitcoin events.
pip3 install zmq
- Install the Bitcoin library to parse raw Bitcoin transactions.
pip3 install bitcoin
- Copy the code below into a
bitcoin_zmq.py
file:
import binascii
import sys
import zmq
import bitcoin
import pprint
context = zmq.Context()
socket = context.socket(zmq.SUB)
# Connect to ZMQ - this port must be tunneled to the Blockdaemon node using SSH
socket.connect("tcp://localhost:28332")
# Subscribe to all new raw transactions
socket.setsockopt_string(zmq.SUBSCRIBE, "rawtx")
# Loop until the user presses CTRL+c
while True:
# Wait for the next raw transaction
msg = socket.recv_multipart()
topic = msg[0]
body = msg[1]
# Convert the binary transaction into a simple dict
tx = bitcoin.deserialize(body)
# Calculate the total value of all outputs
total_value = 0
for out in tx['outs']:
total_value += out['value']
# Print the result
print("")
print("New transaction: {}".format(bitcoin.txhash(body)))
print("Total value of all outputs: {} BTC".format(total_value / 100000000.0))
- Create a tunnel to the ZMQ port on your Blockdaemon node.
ssh -i [YOUR_SSH_KEY] -L 28332:localhost:28332 blockdaemon@[NODE_IP]
- Start the Python application.
python3 bitcoin_zmq.py
Note
Please note that this application lists all transactions even before they are mined. Some transactions may be invalid.
👋 Need Help?
Contact us through email or our support page for any issues, bugs, or assistance you may need.
Updated about 1 month ago