RPC-метод sendTransaction

Надсилає підписану транзакцію до кластера для обробки.

Цей метод жодним чином не змінює транзакцію; він передає транзакцію, створену клієнтами, до вузла як є.

Якщо rpc-сервіс вузла отримує транзакцію, цей метод негайно успішно завершується, не чекаючи жодних підтверджень. Успішна відповідь від цього методу не гарантує, що транзакція оброблена або підтверджена кластером.

Хоча rpc-сервіс буде розумно намагатися повторно надіслати її, транзакція може бути відхилена, якщо recent_blockhash транзакції закінчиться до того, як вона буде розміщена.

Використовуйте getSignatureStatuses, щоб переконатися, що транзакція оброблена та підтверджена.

Перед надсиланням виконуються такі попередні перевірки:

  1. Підписи транзакції перевіряються
  2. Транзакція симулюється відносно банківського slot, вказаного в попередньому зобов'язанні. У разі невдачі буде повернуто помилку. За бажанням попередні перевірки можна вимкнути. Рекомендується вказувати однакове зобов'язання та попереднє зобов'язання, щоб уникнути заплутаної поведінки.

Повернутий підпис є першим підписом у транзакції, який використовується для ідентифікації транзакції (ідентифікатор транзакції). Цей ідентифікатор можна легко витягти з даних транзакції перед надсиланням.

$ 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?