The quickest way to start building on Bitcoin Cash with QuickNode is by sending a JSON-RPC request to your endpoint. In this quickstart, you'll create an endpoint, copy its provider URL, and make your first request. Code samples are available in cURL as well as popular SDKs and programming languages.
Get Your Bitcoin Cash Endpoint
Create a QuickNode account
Sign up here if you haven't already.
Go to your dashboard
Open the Endpoints dashboard from the left sidebar menu to manage all your blockchain endpoints
Create a new endpoint
Click Create an Endpoint in the top-right corner, select Bitcoin Cash as your blockchain, then select your preferred network
Copy your provider URLs
Keep the HTTP URL handy. You'll use it in your requests below.
For a detailed walkthrough of the QuickNode dashboard, check out our guide
Send Your First Request
Your endpoint is ready. Now, let's make your first call to the Bitcoin Cash blockchain. We'll use the getblock
method, which retrieves detailed information about a specific block by its hash. Select your preferred language or SDK and follow the steps below to send your first request.
- cURL
- Python
- JavaScript
- Ruby
Check cURL installation
Most *nix based systems have cURL support out of the box. Open your terminal and check the cURL version by running the command below:
curl --version
Send a JSON-RPC request
In your terminal, copy and paste the following cURL command to retrieve block information:
curl YOUR_QUICKNODE_ENDPOINT_URL \
-X POST \
-H "Content-Type: application/json" \
--data '{"id": 1, "jsonrpc": "2.0", "method": "getblock", "params": ["00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"]}'
Sample Response
{
"result": {
"hash": "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09",
"confirmations": 912736,
"size": 216,
"height": 1000,
"version": 1,
"versionHex": "00000001",
"merkleroot": "fe28050b93faea61fa88c4c630f0e1f0a1c24d0082dd0e10d369e13212128f33",
"tx": [
"fe28050b93faea61fa88c4c630f0e1f0a1c24d0082dd0e10d369e13212128f33"
],
"time": 1232346882,
"mediantime": 1232344831,
"nonce": 2595206198,
"bits": "1d00ffff",
"difficulty": 1,
"chainwork": "000000000000000000000000000000000000000000000000000003e903e903e9",
"nTx": 1,
"previousblockhash": "0000000008e647742775a230787d66fdf92c46a48c896bfbc85cdc8acc67e87d",
"nextblockhash": "00000000a2887344f8db859e372e7e4bc26b23b9de340f725afbf2edb265b4c6"
},
"error": null,
"id": 1
}
Set up your project
Create a new directory for your Python project:
mkdir bitcoincash-python-quickstart
cd bitcoincash-python-quickstart
Create and activate a virtual environment
Create a virtual environment to manage dependencies:
python3 -m venv venv
source venv/bin/activate
Install requests
Install the requests library for making HTTP requests:
pip install requests
Create a Python script (app.py)
Create a Python file with the following code:
import requests
import json
# Your QuickNode endpoint URL
url = "YOUR_QUICKNODE_ENDPOINT_URL"
# JSON-RPC request payload for getblock
payload = json.dumps({
"id": 1,
"jsonrpc": "2.0",
"method": "getblock",
"params": ["00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"]
})
headers = {
'Content-Type': 'application/json'
}
# Make the request
response = requests.request("POST", url, headers=headers, data=payload)
result = response.json()
print("Block information:")
print(json.dumps(result, indent=2))
Run the script
Execute your Python script:
python app.py
Set up your project
Create a new directory and initialize a Node.js project:
mkdir bitcoincash-js-quickstart
cd bitcoincash-js-quickstart
npm init -y
Create a JavaScript file (app.js)
Create an app.js file with the following code (using native https module):
const https = require('https');
// Your QuickNode endpoint URL
const data = JSON.stringify({
"id": 1,
"jsonrpc": "2.0",
"method": "getblock",
"params": ["00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"]
});
const options = {
hostname: '{your-endpoint-name}.quiknode.pro',
path: '/{your-token}/',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': data.length
}
};
const req = https.request(options, (res) => {
let result = '';
res.on('data', (chunk) => {
result += chunk;
});
res.on('end', () => {
console.log('Block information:');
console.log(JSON.parse(result));
});
});
req.on('error', (error) => {
console.error('Error:', error);
});
req.write(data);
req.end();
Run the script
Execute your JavaScript script:
node app.js
Set up your project
Create a new directory for your Ruby project:
mkdir bitcoincash-ruby-quickstart
cd bitcoincash-ruby-quickstart
Check Ruby installation
Verify Ruby is installed on your system. If not, install it from https://ruby-lang.org:
ruby --version
Create a Ruby script (main.rb)
Create a main.rb file with the following code:
require "uri"
require "json"
require "net/http"
# Your QuickNode endpoint URL
url = URI("YOUR_QUICKNODE_ENDPOINT_URL")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"id": 1,
"jsonrpc": "2.0",
"method": "getblock",
"params": ["00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"]
})
response = https.request(request)
result = JSON.parse(response.read_body)
puts "Block information:"
puts JSON.pretty_generate(result)
Run the script
Execute your Ruby script to retrieve block information:
ruby main.rb
If you want to continue learning about making API requests, check out our guides and sample-apps.
We ❤️ Feedback!
If you have any feedback or questions about this documentation, let us know. We'd love to hear from you!