sendTransaction RPC 메소드
서명된 트랜잭션을 처리를 위해 클러스터에 제출합니다.
이 메소드는 트랜잭션을 어떤 방식으로도 변경하지 않습니다. 클라이언트가 생성한 트랜잭션을 그대로 노드에 전달합니다.
노드의 rpc 서비스가 트랜잭션을 수신하면, 이 메소드는 어떤 확인도 기다리지 않고 즉시 성공합니다. 이 메소드의 성공적인 응답이 트랜잭션이 클러스터에 의해 처리되거나 확인되었음을 보장하지는 않습니다.
rpc 서비스가 합리적으로 재시도하더라도, 트랜잭션의 recent_blockhash
가 처리되기
전에 만료되면 트랜잭션이 거부될 수 있습니다.
트랜잭션이 처리되고 확인되었는지 확인하려면
getSignatureStatuses
를 사용하세요.
제출하기 전에 다음과 같은 사전 검사가 수행됩니다:
- 트랜잭션 서명이 검증됩니다
- 트랜잭션은 사전 검사 커밋먼트에 의해 지정된 뱅크 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?