Метод RPC sendTransaction
Отправляет подписанную транзакцию в кластер для обработки.
Этот метод никак не изменяет транзакцию; он передает транзакцию, созданную клиентами, узлу в исходном виде.
Если RPC-сервис узла получает транзакцию, этот метод сразу завершается успешно, не дожидаясь подтверждений. Успешный ответ от этого метода не гарантирует, что транзакция будет обработана или подтверждена кластером.
Хотя RPC-сервис будет разумно пытаться повторно отправить транзакцию, она может
быть отклонена, если recent_blockhash
транзакции истечет до ее обработки.
Используйте getSignatureStatuses
, чтобы
убедиться, что транзакция обработана и подтверждена.
Перед отправкой выполняются следующие проверки предварительной проверки (preflight):
- Проверяются подписи транзакции.
- Транзакция симулируется в банковском слоте, указанном в предварительном обязательстве (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
Полностью подписанная транзакция в виде закодированной строки.
Объект конфигурации, содержащий следующие поля:
result
{"jsonrpc": "2.0","result": "2id3YC2jK9G5Wo2phDx4gJVAew8DcY5NAojnVuao8rkxwPYPe8cSwE5GzhEgJA2y8fVjDEo6iR6ykBvDxrTQrtpb","id": 1}
Первая подпись транзакции, встроенная в транзакцию, в виде строки, закодированной в base-58 (идентификатор транзакции)
Is this page helpful?