Метод RPC sendTransaction

Отправляет подписанную транзакцию в кластер для обработки.

Этот метод никак не изменяет транзакцию; он передает транзакцию, созданную клиентами, узлу в исходном виде.

Если RPC-сервис узла получает транзакцию, этот метод сразу завершается успешно, не дожидаясь подтверждений. Успешный ответ от этого метода не гарантирует, что транзакция будет обработана или подтверждена кластером.

Хотя RPC-сервис будет разумно пытаться повторно отправить транзакцию, она может быть отклонена, если recent_blockhash транзакции истечет до ее обработки.

Используйте getSignatureStatuses, чтобы убедиться, что транзакция обработана и подтверждена.

Перед отправкой выполняются следующие проверки предварительной проверки (preflight):

  1. Проверяются подписи транзакции.
  2. Транзакция симулируется в банковском слоте, указанном в предварительном обязательстве (preflight commitment). В случае ошибки будет возвращена ошибка. Проверки предварительной проверки могут быть отключены, если это необходимо. Рекомендуется указывать одинаковые значения обязательства и предварительного обязательства, чтобы избежать путаницы.

Возвращаемая подпись — это первая подпись в транзакции, которая используется для идентификации транзакции (идентификатор транзакции). Этот идентификатор можно легко извлечь из данных транзакции до отправки.

$ curl https://api.devnet.solana.com -s -X \
> POST -H "Content-Type: application/json" -d '
> {
> "jsonrpc": "2.0",
> "id": 1,
> "method": "sendTransaction",
> "params": [
> "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT"
> ]
> }
> '

params

stringrequired

Полностью подписанная транзакция в виде закодированной строки.

objectoptional

Объект конфигурации, содержащий следующие поля:

result

Response
{
"jsonrpc": "2.0",
"result": "2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8rkxwPYPe8cSwE5GzhEgJA2y8fVjDEo6iR6ykBvDxrTQrtpb",
"id": 1
}
string

Первая подпись транзакции, встроенная в транзакцию, в виде строки, закодированной в base-58 (идентификатор транзакции)

Is this page helpful?