sendTransaction RPCメソッド

署名済みトランザクションをクラスターに処理のために送信します。

このメソッドはトランザクションをいかなる方法でも変更しません。クライアントによって作成されたトランザクションをそのままノードに中継します。

ノードのRPCサービスがトランザクションを受信すると、このメソッドは確認を待たずに即座に成功します。このメソッドからの成功レスポンスは、トランザクションがクラスターによって処理または確認されることを保証するものではありません。

RPCサービスは合理的に再送信を試みますが、トランザクションのrecent_blockhashが処理される前に期限切れになると、トランザクションは拒否される可能性があります。

トランザクションが処理され確認されたことを確認するには、getSignatureStatusesを使用してください。

送信前に、以下のプリフライトチェックが実行されます:

  1. トランザクションの署名が検証されます
  2. トランザクションは、プリフライトコミットメントで指定されたバンクslotに対してシミュレートされます。失敗した場合はエラーが返されます。必要に応じてプリフライトチェックを無効にすることができます。混乱を避けるため、同じコミットメントとプリフライトコミットメントを指定することをお勧めします。

返される署名はトランザクション内の最初の署名であり、これはトランザクションを識別するために使用されます(トランザクションID)。この識別子は送信前にトランザクションデータから簡単に抽出できます。

$ 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でエンコードされた文字列として表示されます(トランザクションID

Is this page helpful?