getFeeForMessage RPC Method
Please note that this method is only available in solana-core v1.9 or newer. Please use getFees for solana-core v1.8
Paramètres
message
chaîne de caractères
OBLIGATOIRE
Chargement en cours...
objet
objet
Chargement en cours...
commitment
chaîne de caractères
Chargement en cours...
finalized
chaîne de caractères
Chargement en cours...
confirmed
chaîne de caractères
Chargement en cours...
processed
chaîne de caractères
Chargement en cours...
maxSupportedTransactionVersion
nombre
Chargement en cours...
Retours
résultat
Chargement en cours...
context
Chargement en cours...
apiVersion
Chargement en cours...
slot
Chargement en cours...
valeur
Chargement en cours...
Demande
1curlmainnet\2-X POST \3-H « Content-Type : application/json » \4-d '5{6"id":1,7"jsonrpc":"2.0",8"method":"getFeeForMessage",9"params":[10"AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA",11{12"commitment":"processed"13}14]15}16'
1curlmainnet\2-X POST \3-H « Content-Type : application/json » \4-d '5{6"id":1,7"jsonrpc":"2.0",8"method":"getFeeForMessage",9"params":[10"AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA",11{12"commitment":"processed"13}14]15}16'
1nécessite « uri »2require « json »3nécessite « net/http »45url = URI(«mainnet »)67https = Net::HTTP.new(url.serveur, url.port)8https.use_ssl = true910demande = Net::HTTP::POST.nouveau(URL)11demande[« Content-Type »] = « application/json »12demande.corps = JSON.dump({13« id »: 1,14« jsonrpc »: « 2.0 »,15"method": "getFeeForMessage",16« params »: [17"AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA",18{19"commitment": "processed"20}21]22})2324réponse = https.requête(requête)25affiche la réponse.read_body26
1nécessite « uri »2require « json »3nécessite « net/http »45url = URI(«mainnet »)67https = Net::HTTP.new(url.serveur, url.port)8https.use_ssl = true910demande = Net::HTTP::POST.nouveau(URL)11demande[« Content-Type »] = « application/json »12demande.corps = JSON.dump({13« id »: 1,14« jsonrpc »: « 2.0 »,15"method": "getFeeForMessage",16« params »: [17"AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA",18{19"commitment": "processed"20}21]22})2324réponse = https.requête(requête)25affiche la réponse.read_body26
1import { createSolanaRpc, GetFeeForMessageApi, Rpc, TransactionMessageBytesBase64 } from "@solana/kit";23async function getFeeForMessageExample() {45const rpc: Rpc<GetFeeForMessageApi> = createSolanaRpc("https://docs-demo.solana-mainnet.quiknode.pro/");67const message: TransactionMessageBytesBase64 = "AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA" as TransactionMessageBytesBase64;8essayer {9const feeResult = await rpc.getFeeForMessage(message, { commitment: 'processed' }).send();10console.log("Fee for message:", feeResult);11} catch (erreur) {12console.error("Error:", error);13}14}1516getFeeForMessageExample();
1import { createSolanaRpc, GetFeeForMessageApi, Rpc, TransactionMessageBytesBase64 } from "@solana/kit";23async function getFeeForMessageExample() {45const rpc: Rpc<GetFeeForMessageApi> = createSolanaRpc("https://docs-demo.solana-mainnet.quiknode.pro/");67const message: TransactionMessageBytesBase64 = "AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA" as TransactionMessageBytesBase64;8essayer {9const feeResult = await rpc.getFeeForMessage(message, { commitment: 'processed' }).send();10console.log("Fee for message:", feeResult);11} catch (erreur) {12console.error("Error:", error);13}14}1516getFeeForMessageExample();
1const web3 = require("@solana/web3.js");2(async () => {3const solana = new web3.Connection("https://docs-demo.solana-mainnet.quiknode.pro/");4const YOUR_TRANSACTION = new Transaction();5const YOUR_MESSAGE = YOUR_TRANSACTION.compileMessage();6console.log(await solana.getFeeForMessage(YOUR_MESSAGE));7})();8
1const web3 = require("@solana/web3.js");2(async () => {3const solana = new web3.Connection("https://docs-demo.solana-mainnet.quiknode.pro/");4const YOUR_TRANSACTION = new Transaction();5const YOUR_MESSAGE = YOUR_TRANSACTION.compileMessage();6console.log(await solana.getFeeForMessage(YOUR_MESSAGE));7})();8
1from solana.rpc.api import Client2from solana.keypair import Keypair3from solana.system_program import TransferParams, transfer4from solana.transaction import Transaction5sender, receiver = Keypair.from_seed(bytes(PublicKey(1))), Keypair.from_seed(bytes(PublicKey(2)))6txn = Transaction().add(transfer(TransferParams(from_pubkey=sender.public_key, to_pubkey=receiver.public_key, lamports=1000)))7solana_client = Client("https://docs-demo.solana-mainnet.quiknode.pro/")8print(solana_client.get_fee_for_message(txn.compile_message()))
1from solana.rpc.api import Client2from solana.keypair import Keypair3from solana.system_program import TransferParams, transfer4from solana.transaction import Transaction5sender, receiver = Keypair.from_seed(bytes(PublicKey(1))), Keypair.from_seed(bytes(PublicKey(2)))6txn = Transaction().add(transfer(TransferParams(from_pubkey=sender.public_key, to_pubkey=receiver.public_key, lamports=1000)))7solana_client = Client("https://docs-demo.solana-mainnet.quiknode.pro/")8print(solana_client.get_fee_for_message(txn.compile_message()))
1utiliser reqwest::en-tête;2utiliser reqwest::Client;3utiliser std::error::Erreur;45#[tokio::main]6async fn main() -> Result<(), Box<dyn Error>> {7soit mut en-têtes = en-tête::HeaderMap::nouvel();8en-têtes.insérer(« Content-Type », « application/json ».parse().déballer());910soit client = Client::new();11let json_data = r#"12{13« id » : 1,14« jsonrpc » : « 2.0 »,15"method": "getFeeForMessage",16« params » : [17"AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA",18{19"commitment": "processed"20}21]22}23« #;24soit réponse = client25.article(«mainnet »)26.en-têtes(en-têtes)27.corps(json_data)28.envoyer()29.await?;3031laissez corps = réponse.text().await?;32println!("{}", body);3334D'accord(())35}36
1utiliser reqwest::en-tête;2utiliser reqwest::Client;3utiliser std::error::Erreur;45#[tokio::main]6async fn main() -> Result<(), Box<dyn Error>> {7soit mut en-têtes = en-tête::HeaderMap::nouvel();8en-têtes.insérer(« Content-Type », « application/json ».parse().déballer());910soit client = Client::new();11let json_data = r#"12{13« id » : 1,14« jsonrpc » : « 2.0 »,15"method": "getFeeForMessage",16« params » : [17"AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA",18{19"commitment": "processed"20}21]22}23« #;24soit réponse = client25.article(«mainnet »)26.en-têtes(en-têtes)27.corps(json_data)28.envoyer()29.await?;3031laissez corps = réponse.text().await?;32println!("{}", body);3334D'accord(())35}36
Réponse
1{2« jsonrpc »: « 2.0 »,3"result": {4"context": {5"apiVersion": "2.1.21",6"slot": 3355018187},8"value": null9},10« id »: 111}
1{2« jsonrpc »: « 2.0 »,3"result": {4"context": {5"apiVersion": "2.1.21",6"slot": 3355018187},8"value": null9},10« id »: 111}
Vous n'avez pas encore de compte ?
Créez votreendpoint Quicknode endpoint quelques secondes et commencez à développer
Commencez gratuitement