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?