The quickest way to start building on Fantom 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 Fantom Endpoint
Créer un Quicknode
Inscrivez-vous ici si ce n'est pas déjà fait.
Accédez à votre tableau de bord
Ouvrez le tableau de bord « Endpoints » dans le menu de la barre latérale gauche pour gérer tous vos points de terminaison blockchain.
Créer un nouveau endpoint
Click Create an Endpoint in the top-right corner, select fantom as your blockchain, then select your preferred network
Copiez les URL de vos fournisseurs
Gardez l'URL HTTP à portée de main. Vous en aurez besoin dans les requêtes ci-dessous.
Pour découvrir en détail le Quicknode , consultez notre guide
Envoyez votre première demande
Your endpoint is ready. Now, let's make your first call to the Fantom blockchain. We’ll use the eth_blockNumber method, which returns the latest block number. Sélectionnez la langue ou SDK de votre choix SDK suivez les étapes ci-dessous pour envoyer votre première requête.
- cURL
- SDK
Python
- JavaScript
- Ruby
- Aller
- Ethers.js
Web3.py
- Eth.rb
- Ethgo
Vérifier l'installation de cURL
La plupart des systèmes basés sur *nix prennent en charge cURL dès leur installation. Ouvrez votre terminal et vérifiez la version de cURL en exécutant la commande ci-dessous :
curl --version
Envoyer une requête JSON-RPC
In your terminal, copy and paste the following cURL command to retrieve the latest block number:
curl -X POST YOUR_QUICKNODE_ENDPOINT_URL/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Exemple de réponse
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1234567"
}
Configurez votre projet
First, verify Node.js is installed with node --version. If not installed, download it from https://nodejs.org. Then create a new directory and initialize a Node.js project:
mkdir fantom-api-quickstart
cd fantom-api-quickstart
npm init -y
Installez le SDK
Install the SDK package:
npm install @quicknode/sdk
Create your main file
Create an index.js file for your code:
touch index.js
Add this code to your index.js file
Copy and paste this code into your index.js file:
const { Core } = require('@quicknode/sdk');
const main = async () => {
const core = new Core({
endpointUrl: 'YOUR_QUICKNODE_ENDPOINT_URL/',
});
const blockNumber = await core.client.request({
method: 'eth_blockNumber',
});
console.log('Block number:', parseInt(blockNumber, 16));
};
main();
Run your project
Execute your script to see the latest block number:
node index.js
Configurez votre projet
Créez un nouveau répertoire pour votre projet Python :
mkdir fantom-python-quickstart
cd fantom-python-quickstart
Créer et activer un environnement virtuel
Créer un environnement virtuel pour gérer les dépendances :
python3 -m venv venv
source venv/bin/activate
Demandes d'installation
Installez la bibliothèque « requests » pour effectuer des requêtes HTTP :
pip installer requests
Créez un script Python (app.py)
Créez un fichier Python contenant le code suivant :
import requests
import json
# Your Quicknode endpoint URL
endpoint_url = "YOUR_QUICKNODE_ENDPOINT_URL/"
# JSON-RPC request payload
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "eth_blockNumber",
"params": []
}
# Make the request
response = requests.post(endpoint_url, json=payload)
result = response.json()
print("Latest block number (hex):", result["result"])
print("Latest block number (decimal):", int(result["result"], 16))
Exécutez le script
Exécutez votre script Python :
python app.py
Configurez votre projet
Créez un nouveau répertoire et lancez un projet Node.js :
mkdir fantom-js-quickstart
cd fantom-js-quickstart
npm init -y
Créez un fichier JavaScript (app.js)
Create an app.js file with the following code (using native fetch available in Node.js 18+):
const url = 'YOUR_QUICKNODE_ENDPOINT_URL/';
const options = {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
method: 'eth_blockNumber',
params: [],
id: 1
})
};
async function main() {
try {
const response = await fetch(url, options);
const data = await response.json();
console.log('Block Number (hex):', data.result);
console.log('Block Number (decimal):', parseInt(data.result, 16));
} catch (error) {
console.error('Error:', error);
}
}
main();
Exécutez le script
Exécutez votre script JavaScript :
node app.js
Configurez votre projet
Créez un nouveau répertoire pour votre projet Ruby :
mkdir fantom-ruby-quickstart
cd fantom-ruby-quickstart
Vérifier l'installation de Ruby
Vérifiez que Ruby est bien installé sur votre système. Si ce n'est pas le cas, installez-le à partir du site https://ruby-lang.org :
ruby --version
Créer un script Ruby (main.rb)
Créez un fichier main.rb contenant le code suivant :
require "uri"
require "json"
require "net/http"
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({
"method": "eth_blockNumber",
"params": [],
"id": 1,
"jsonrpc": "2.0"
})
response = https.request(request)
result = JSON.parse(response.read_body)
hex_result = result["result"]
decimal_result = hex_result.to_i(16)
puts "Block number (hex): #{hex_result}"
puts "Block number (decimal): #{decimal_result}"
Exécutez le script
Execute your Ruby script to see the latest block number:
ruby main.rb
Configurez votre projet
Create a new directory for your Go project:
mkdir fantom-go-quickstart
cd fantom-go-quickstart
Check Go installation
Verify Go is installed on your system. If not, install it from https://golang.org:
go version
Create a Go script (main.go)
Create a main.go file with the following code:
package main
import (
« encoding/json »
« fmt »
"strings"
"net/http"
"io/ioutil"
"strconv"
)
type Response struct {
Result string `json:"result"`
}
func main() {
url := "YOUR_QUICKNODE_ENDPOINT_URL/"
method := "POST"
payload := strings.NewReader(`{"method":"eth_blockNumber","params":[],"id":1,"jsonrpc":"2.0"}`)
client := &http.Client{}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
retour
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
retour
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
retour
}
var response Response
err = json.Unmarshal(body, &response)
if err != nil {
fmt.Println("Error parsing JSON:", err)
retour
}
// Convert hex to decimal
blockNumber, err := strconv.ParseInt(response.Result, 0, 64)
if err != nil {
fmt.Println("Error converting hex to decimal:", err)
retour
}
fmt.Printf("Block number (hex): %s\n", response.Result)
fmt.Printf("Block number (decimal): %d\n", blockNumber)
}
Exécutez le script
Execute your Go script to see the latest block number:
go run main.go
Configurez votre projet
Create a new directory and initialize a Node.js project (assumes Node.js is already installed):
mkdir fantom-ethers-quickstart
cd fantom-ethers-quickstart
npm init -y
npm pkg set type=module
Install ethers.js
Install the ethers.js library for Ethereum interaction:
npm install ethers
Create your main file (index.js)
Create an index.js file with the following code:
import { ethers } from "ethers";
(async () => {
const provider = new ethers.JsonRpcProvider("YOUR_QUICKNODE_ENDPOINT_URL/");
const blockNum = await provider.getBlockNumber();
console.log('Current block number (decimal):', blockNum);
console.log('Block number (hex):', '0x' + blockNum.toString(16));
})();
Run your project
Execute your script to see the latest block number:
node index.js
Configurez votre projet
Create a new directory for your web3.py project:
mkdir fantom-web3py-quickstart
cd fantom-web3py-quickstart
Install web3.py (if not already installed)
Check if web3.py is installed with `pip list | grep web3`. If not found, install it:
pip install web3
Create a Python script (main.py)
Create a main.py file with the following code:
from web3 import Web3
w3 = Web3(Web3.HTTPProvider("YOUR_QUICKNODE_ENDPOINT_URL/"))
try:
latest_block_number = w3.eth.block_number
print(f"Latest Block Number: {latest_block_number}")
print(f"Block number (hex): {hex(latest_block_number)}")
except Exception as e:
print(f"Error: {e}")
Configurez votre projet
Create a new directory for your eth.rb project:
mkdir fantom-ethrb-quickstart
cd fantom-ethrb-quickstart
Install eth.rb (if not already installed)
Check if eth.rb is installed with `gem list eth`. If not found, install it:
gem install eth
Créer un script Ruby (main.rb)
Créez un fichier main.rb contenant le code suivant :
require 'eth'
client = Eth::Client.create "YOUR_QUICKNODE_ENDPOINT_URL/"
begin
block_number = client.eth_block_number
hex_result = block_number["result"]
decimal_result = hex_result.to_i(16)
puts "Block number (hex): #{hex_result}"
puts "Block number (decimal): #{decimal_result}"
rescue => e
puts "Error: #{e.message}"
fin
Exécutez le script
Execute your Ruby script to see the latest block number:
ruby main.rb
Configurez votre projet
Create a new directory for your Ethgo project:
mkdir fantom-ethgo-quickstart
cd fantom-ethgo-quickstart
Initialize Go module and install ethgo
Initialize a go.mod file to track dependencies, then install the ethgo SDK:
go mod init fantom-ethgo-quickstart
go get github.com/umbracle/ethgo
go mod tidy
Create a Go script (main.go)
Create a main.go file with the following code:
package main
import (
« fmt »
« journal »
"github.com/umbracle/ethgo/jsonrpc"
)
func main() {
client, err := jsonrpc.NewClient("YOUR_QUICKNODE_ENDPOINT_URL/")
if err != nil {
log.Fatalf("Failed to connect to Ethereum: %v", err)
}
blockNumber, err := client.Eth().BlockNumber()
if err != nil {
log.Fatalf("Failed to get latest block number: %v", err)
}
fmt.Printf("Latest block number (decimal): %d\n", blockNumber)
fmt.Printf("Latest block number (hex): 0x%x\n", blockNumber)
}
Exécutez le script
Execute your Go script to see the latest block number:
go run main.go
If you want to continue learning about making API requests, check out our guides and sample apps.