The quickest way to start building on Polygon 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 Polygon Endpoint
Criar uma conta no Quicknode
Inscreve-te aqui, se ainda não o fizeste.
Aceda ao seu painel de controlo
Abra o painel «Endpoints» a partir do menu da barra lateral esquerda para gerir todos os seus endpoints de blockchain
Criar um novo ponto de extremidade
Click Create an Endpoint in the top-right corner, select Polygon as your blockchain, then select your preferred network
Copie os URLs do seu fornecedor
Tenha a URL HTTP à mão. Vai precisar dela nas solicitações que vai fazer a seguir.
Para um guia detalhado do painel do Quicknode, consulte o nosso guia
Envie o seu primeiro pedido
Your endpoint is ready. Now, let's make your first call to the Polygon blockchain. We’ll use the eth_blockNumber método, que devolve o número do bloco mais recente. Select your preferred language or tool and follow the steps to send your request.
- cURL
- SDK do Quicknode
Python
- JavaScript
- Ruby
- Vai
- Ethers.js
Web3.py
- Eth.rb
- Ethgo
Verificar a instalação do cURL
A maioria dos sistemas baseados em *nix já inclui suporte ao cURL de fábrica. Abra o terminal e verifique a versão do cURL executando o comando abaixo:
curl --versão
Enviar um pedido JSON-RPC
No seu terminal, copie e cole o seguinte comando cURL para obter o número do bloco mais recente:
curl -X POST YOUR_QUICKNODE_ENDPOINT_URL/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
Exemplo de resposta
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1234567"
}
Configure o seu projeto
Primeiro, verifique se o Node.js está instalado com o comando `node --version`. Se não estiver instalado, descarregue-o em https://nodejs.org. Em seguida, crie um novo diretório e inicialize um projeto Node.js:
mkdir polygon-api-quickstart
cd polygon-api-quickstart
npm init -y
Instalar o SDK do Quicknode
Instale o pacote SDK do Quicknode:
npm instalar @quicknode/sdk
Crie o seu ficheiro principal
Crie um ficheiro index.js para o seu código:
touch index.js
Adicione este código ao seu ficheiro index.js
Copie e cole este código no seu ficheiro index.js:
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();
Execute o seu projeto
Execute o seu script para ver o número do bloco mais recente:
node index.js
Configure o seu projeto
Crie um novo diretório para o seu projeto em Python:
mkdir polygon-python-quickstart
cd polygon-python-quickstart
Criar e ativar um ambiente virtual
Criar um ambiente virtual para gerir dependências:
python3 -m venv venv
source venv/bin/activate
Pedidos de instalação
Instale a biblioteca `requests` para efetuar pedidos HTTP:
pip instalar requests
Crie um script em Python (app.py)
Crie um ficheiro Python com o seguinte código:
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))
Executar o script
Execute o seu script em Python:
python app.py
Configure o seu projeto
Crie um novo diretório e inicialize um projeto Node.js:
mkdir polygon-js-quickstart
cd polygon-js-quickstart
npm init -y
Criar um ficheiro JavaScript (app.js)
Crie um ficheiro app.js com o seguinte código (utilizando o `fetch` nativo disponível no Node.js 18 ou superior):
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();
Executar o script
Execute o seu script JavaScript:
node app.js
Configure o seu projeto
Crie um novo diretório para o seu projeto Ruby:
mkdir polygon-ruby-quickstart
cd polygon-ruby-quickstart
Verificar a instalação do Ruby
Verifique se o Ruby está instalado no seu sistema. Caso contrário, instale-o a partir de https://ruby-lang.org:
ruby --versão
Criar um script em Ruby (main.rb)
Crie um ficheiro main.rb com o seguinte código:
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}"
Executar o script
Execute o seu script Ruby para ver o número do bloco mais recente:
ruby main.rb
Configure o seu projeto
Crie um novo diretório para o seu projeto Go:
mkdir polygon-go-quickstart
cd polygon-go-quickstart
Verificar a disposição das pedras no Go
Verifique se o Go está instalado no seu sistema. Caso contrário, instale-o a partir de https://golang.org:
go version
Criar um script em Go (main.go)
Crie um ficheiro main.go com o seguinte código:
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)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
var response Response
err = json.Unmarshal(body, &response)
if err != nil {
fmt.Println("Error parsing JSON:", err)
return
}
// Convert hex to decimal
blockNumber, err := strconv.ParseInt(response.Result, 0, 64)
if err != nil {
fmt.Println("Error converting hex to decimal:", err)
return
}
fmt.Printf("Block number (hex): %s\n", response.Result)
fmt.Printf("Block number (decimal): %d\n", blockNumber)
}
Executar o script
Execute o seu script em Go para ver o número do bloco mais recente:
executa o ficheiro main.go
Configure o seu projeto
Crie um novo diretório e inicialize um projeto Node.js (partindo do princípio de que o Node.js já está instalado):
mkdir polygon-ethers-quickstart
cd polygon-ethers-quickstart
npm init -y
npm pkg set type=module
Instalar o ethers.js
Instale a biblioteca ethers.js para interagir com a Ethereum:
npm instalar ethers
Crie o seu ficheiro principal (index.js)
Crie um ficheiro index.js com o seguinte código:
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));
})();
Execute o seu projeto
Execute o seu script para ver o número do bloco mais recente:
node index.js
Configure o seu projeto
Crie um novo diretório para o seu projeto web3.py:
mkdir polygon-web3py-quickstart
cd polygon-web3py-quickstart
Instale o web3.py (caso ainda não esteja instalado)
Verifique se o web3.py está instalado com o comando `pip list | grep web3`. Se não for encontrado, instale-o:
pip instalar web3
Crie um script em Python (main.py)
Crie um ficheiro main.py com o seguinte código:
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}")
Configure o seu projeto
Crie um novo diretório para o seu projeto eth.rb:
mkdir polygon-ethrb-quickstart
cd polygon-ethrb-quickstart
Instale o eth.rb (se ainda não estiver instalado)
Verifique se o eth.rb está instalado com o comando `gem list eth`. Se não for encontrado, instale-o:
gem instalar eth
Criar um script em Ruby (main.rb)
Crie um ficheiro main.rb com o seguinte código:
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}"
end
Executar o script
Execute o seu script Ruby para ver o número do bloco mais recente:
ruby main.rb
Configure o seu projeto
Crie um novo diretório para o seu projeto Ethgo:
mkdir polygon-ethgo-quickstart
cd polygon-ethgo-quickstart
Inicializar o módulo Go e instalar o ethgo
Inicialize um ficheiro go.mod para gerir as dependências e, em seguida, instale o SDK do ethgo:
go mod init polygon-ethgo-quickstart
go get github.com/umbracle/ethgo
go mod tidy
Criar um script em Go (main.go)
Crie um ficheiro main.go com o seguinte código:
package main
import (
"fmt"
"log"
"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)
}
Executar o script
Execute o seu script em Go para ver o número do bloco mais recente:
executa o ficheiro main.go
Se quiseres continuar a aprender sobre como efetuar pedidos à API, consulta os nossos guias e aplicações de exemplo.
Adoramos ❤️ os vossos comentários!
Se tiver algum comentário ou dúvida sobre esta documentação, não hesite em contactar-nos. Adoraríamos saber a sua opinião!