Параметры
Сообщение в кодировке base-64
Уровень подтверждения для расчёта комиссии
Ответ
Слот, в котором был обработан этот запрос
Комиссия в lamports за обработку сообщения, или null если сообщение недействительно или комиссию невозможно вычислить
Примеры кода
Базовый запрос
curl http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0",
"id": 1,
"method": "getFeeForMessage",
"params": [
"AQABAyRn/PA8jzJtN6oAyB3VR0nfOF0xnfkYaKwY4Ir3nrHFJGqhAQICAAEDAgABDAIAAAAEAAAAAAAA",
{"commitment": "processed"}
]
}'
Использование web3.js
import { Connection } from '@solana/web3.js';
const connection = new Connection('http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');
const message = 'AQABAyRn/PA8jzJtN6oAyB3VR0nfOF0xnfkYaKwY4Ir3nrHFJGqhAQICAAEDAgABDAIAAAAEAAAAAAAA';
const fee = await connection.getFeeForMessage(message);
console.log(fee);
Использование Python
from solana.rpc.api import Client
client = Client("http://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY")
message = "AQABAyRn/PA8jzJtN6oAyB3VR0nfOF0xnfkYaKwY4Ir3nrHFJGqhAQICAAEDAgABDAIAAAAEAAAAAAAA"
response = client.get_fee_for_message(message)
print(response)
Примечания
- Возвращает комиссию, которую сеть возьмёт за конкретное сообщение
- Полезно для более точного расчёта комиссий за транзакции
- Предпочтительнее устаревших методов расчёта комиссий
- Можно указать разные уровни подтверждения
- Возвращает null, если сообщение недействительно или не может быть обработано
Рекомендации
- Используйте этот метод для точного прогнозирования комиссий перед отправкой транзакций
- Предоставляйте корректное сообщение в кодировке base64, чтобы избежать null-ответов
- Обрабатывайте null-ответы должным образом в вашем приложении
- Обрабатывайте сетевые ошибки и выполняйте повторные попытки при необходимости
- Используйте этот метод, когда необходим точный расчёт комиссии