The quickest way to start building on Fuel with Quicknode is by sending a GraphQL 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 other popular programming languages.
Get Your Fuel 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 Fuel 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 Fuel blockchain. We'll use the getChainName query, which retrieves the name of the blockchain network. Select your preferred language and follow the steps below to send your first request.
- cURL
- Node.js
- Python
- TypeScript
- Apollo Client
- 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
Get chain name
Retrieve the chain name using the getChainName query:
curl --location 'YOUR_QUICKNODE_ENDPOINT_URL/v1/graphql' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"query": "{ chain { name } }"}'
Set up your project
Create a directory and initialize a Node.js project:
mkdir fuel-js-quickstart
cd fuel-js-quickstart
npm init -y
Create app.js
Create a file named app.js to call the getChainName query:
const https = require('https');
const data = JSON.stringify({
"query": "{ chain { name } }"
});
const options = {
hostname: '{your-endpoint-name}.quiknode.pro',
path: '/{your-token}/v1/graphql',
method: 'POST',
headers: {
'Accept': 'application/json',
'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('Chain name:', result);
});
});
req.on('error', (error) => {
console.error('Error:', error);
});
req.write(data);
req.end();
Run
Execute your script:
node app.js
Set up your project
Create a new directory for your Python project:
mkdir fuel-python-quickstart
cd fuel-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 to call the getChainName query:
import requests
import json
url = "YOUR_QUICKNODE_ENDPOINT_URL/v1/graphql"
payload = json.dumps({
"query": "{ chain { name } }"
})
headers = {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print('Chain name:')
print(response.text)
Run
Execute your script:
python app.py
Set up your project
Create a directory and initialize a TypeScript project:
mkdir fuel-ts-quickstart
cd fuel-ts-quickstart
npm init -y
npm install typescript @types/node tsx
npx tsc --init
Create app.ts
Create a file named app.ts to call the getChainName query:
import https from 'https';
interface GraphQLResponse {
data: {
chain: {
name: string;
};
};
}
const data = JSON.stringify({
query: "{ chain { name } }"
});
const options: https.RequestOptions = {
hostname: '{your-endpoint-name}.quiknode.pro',
path: '/{your-token}/v1/graphql',
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Content-Length': data.length
}
};
const req = https.request(options, (res) => {
let result = '';
res.on('data', (chunk: Buffer) => {
result += chunk.toString();
});
res.on('end', () => {
const response: GraphQLResponse = JSON.parse(result);
console.log('Chain name:', response.data.chain.name);
});
});
req.on('error', (error: Error) => {
console.error('Error:', error);
});
req.write(data);
req.end();
Run
Execute your script:
npx tsx app.ts
Set up your project
Create a directory and install Apollo Client:
mkdir fuel-apollo-quickstart
cd fuel-apollo-quickstart
npm init -y
npm install @apollo/client graphql cross-fetch
Create app.js
Create a file named app.js to query using Apollo Client:
const { ApolloClient, InMemoryCache, gql, HttpLink } = require('@apollo/client');
const fetch = require('cross-fetch');
const client = new ApolloClient({
link: new HttpLink({
uri: 'YOUR_QUICKNODE_ENDPOINT_URL/v1/graphql',
fetch,
}),
cache: new InMemoryCache(),
});
const GET_CHAIN_NAME = gql`
query GetChainName {
chain {
name
}
}
`;
client
.query({
query: GET_CHAIN_NAME,
})
.then((result) => {
console.log('Chain name:', result.data.chain.name);
})
.catch((error) => {
console.error('Error:', error);
});
Run
Execute your script:
node app.js
Set up your project
Create a new directory for your Ruby project:
mkdir fuel-ruby-quickstart
cd fuel-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 (app.rb)
Create an app.rb file to call the getChainName query:
require "uri"
require "json"
require "net/http"
url = URI("YOUR_QUICKNODE_ENDPOINT_URL/v1/graphql")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Accept"] = "application/json"
request["Content-Type"] = "application/json"
request.body = JSON.dump({
"query": "{ chain { name } }"
})
response = https.request(request)
result = JSON.parse(response.read_body)
puts "Chain name:"
puts result["data"]["chain"]["name"]
Run the script
Execute your Ruby script:
ruby app.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!