要開始在 Peaq 上使用 Quicknode 進行開發,最快速的方法是向您的端點發送一個 JSON-RPC 請求。在本快速入門指南中,您將建立一個端點、複製其提供者 URL,並發出您的第一個請求。程式碼範例提供cURL以及其他常見程式語言的版本。
取得您的 Peaq 端點
如需了解 Quicknode 儀表板的詳細操作指南,請參閱我們的 指南
發送您的第一個請求
您的端點已準備就緒。現在,讓我們向 Peaq 區塊鏈發出第一個呼叫。我們將使用 eth_blockNumber 此方法可取得最新的區塊編號。 請選擇您偏好的語言,並依照以下步驟提交您的第一個請求.
- cURL
- Quicknode SDK
Python
- JavaScript
- Ruby
- 去
- Ethers.js
Web3.py
- Eth.rb
- Ethgo
檢查 cURL 的安裝狀況
大多數基於 *nix 的系統預設即支援 cURL。請開啟終端機,並執行以下指令以檢查 cURL 的版本:
curl --version
傳送一個 JSON-RPC 請求
在您的終端機中,複製並貼上以下 cURL 指令以取得最新的區塊編號:
curl -X POST YOUR_QUICKNODE_ENDPOINT_URL/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
範例回應
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1234567"
}
設定您的專案
首先,請使用 `node --version` 確認是否已安裝 Node.js。若尚未安裝,請從 https://nodejs.org 下載。接著建立一個新目錄,並初始化一個 Node.js 專案:
mkdir peaq-api-快速入門
cd peaq-api-快速入門
npm init -y
安裝 Quicknode SDK
安裝 Quicknode SDK 套件:
npm 安裝 @quicknode/sdk
建立您的主檔案
為您的程式碼建立一個 index.js 檔案:
touch index.js
將這段程式碼加入您的 index.js 檔案中
請將這段程式碼複製並貼到您的 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();
執行您的專案
執行您的腳本以查看最新的區塊編號:
node index.js
設定您的專案
為您的 Python 專案建立一個新目錄:
mkdir peaq-python-快速入門
cd peaq-python-快速入門
建立並啟用虛擬環境
建立一個虛擬環境來管理依賴項:
python3 -m venv venv
source venv/bin/activate
安裝請求
安裝 requests 函式庫以進行 HTTP 請求:
pip 安裝 requests
建立一個 Python 腳本(app.py)
建立一個包含以下程式碼的 Python 檔案:
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))
執行該腳本
執行您的 Python 腳本:
python app.py
設定您的專案
建立一個新目錄並初始化一個 Node.js 專案:
mkdir peaq-js-快速入門
cd peaq-js-快速入門
npm init -y
建立一個 JavaScript 檔案(app.js)
建立一個名為 app.js 的檔案,並加入以下程式碼(使用 Node.js 18 及以上版本中內建的 fetch 函式):
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();
執行該腳本
執行您的 JavaScript 腳本:
node app.js
設定您的專案
為您的 Ruby 專案建立一個新目錄:
mkdir peaq-ruby-快速入門
cd peaq-ruby-快速入門
檢查 Ruby 的安裝狀況
請確認您的系統上是否已安裝 Ruby。若尚未安裝,請從 https://ruby-lang.org 進行安裝:
ruby --version
建立一個 Ruby 腳本(main.rb)
建立一個名為 main.rb 的檔案,並輸入以下程式碼:
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}"
執行該腳本
執行您的 Ruby 腳本,以查看最新的區塊編號:
Ruby main.rb
設定您的專案
為您的 Go 專案建立一個新目錄:
mkdir peaq-go-quickstart
cd peaq-go-quickstart
檢查圍棋佈局
請確認您的系統已安裝 Go。若尚未安裝,請從 https://golang.org 進行安裝:
go version
建立一個 Go 程式碼檔案 (main.go)
建立一個名為 main.go 的檔案,並輸入以下程式碼:
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)
}
執行該腳本
執行您的 Go 腳本,以查看最新的區塊編號:
執行 main.go
設定您的專案
建立一個新目錄並初始化一個 Node.js 專案(假設已安裝 Node.js):
mkdir peaq-ethers-快速入門
cd peaq-ethers-快速入門
npm init -y
npm pkg 設定 類型=模組
安裝 ethers.js
安裝 ethers.js 函式庫以與以太坊進行互動:
npm 安裝 ethers
建立您的主檔案(index.js)
建立一個名為 index.js 的檔案,並輸入以下程式碼:
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));
})();
執行您的專案
執行您的腳本以查看最新的區塊編號:
node index.js
設定您的專案
為您的 web3.py 專案建立一個新目錄:
mkdir peaq-web3py-快速入門
cd peaq-web3py-快速入門
安裝 web3.py(若尚未安裝)
請使用 `pip list | grep web3` 檢查是否已安裝 web3.py。若未找到,請安裝它:
pip 安裝 web3
建立一個 Python 腳本(main.py)
建立一個名為 main.py 的檔案,並輸入以下程式碼:
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}")
設定您的專案
為您的 eth.rb 專案建立一個新目錄:
mkdir peaq-ethrb-快速入門
cd peaq-ethrb-快速入門
安裝 eth.rb(若尚未安裝)
請使用 `gem list eth` 檢查是否已安裝 eth.rb。若未找到,請安裝它:
gem 安裝 eth
建立一個 Ruby 腳本(main.rb)
建立一個名為 main.rb 的檔案,並輸入以下程式碼:
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
執行該腳本
執行您的 Ruby 腳本,以查看最新的區塊編號:
Ruby main.rb
設定您的專案
為您的 Ethgo 專案建立一個新目錄:
mkdir peaq-ethgo-快速入門
cd peaq-ethgo-快速入門
初始化 Go 模組並安裝 ethgo
建立一個 go.mod 檔案以追蹤依賴項,然後安裝 ethgo SDK:
go mod init peaq-ethgo-quickstart
go get github.com/umbracle/ethgo
go mod tidy
建立一個 Go 程式碼檔案 (main.go)
建立一個名為 main.go 的檔案,並輸入以下程式碼:
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)
}
執行該腳本
執行您的 Go 腳本,以查看最新的區塊編號:
執行 main.go
如果您想進一步了解如何發送 API 請求,請參閱我們的指南和 範例應用程式。
我們 ❤️ 您的回饋!
如果您對這份文件有任何意見或疑問,請告訴我們。我們非常樂意聽取您的意見!