eth_getFilterChanges
필터에 대한 폴링 방법으로, 최근 폴링 이후 발생한 로그를 배열의 형태로 반환합니다.
Parameters
Return Value
배열
- 로그 객체의 배열을 반환하거나 또는 최근 폴링 이후 변화가 없는 경우 빈 배열을 반환합니다.
For filters created with eth_newBlockFilter , the return are block hashes (32-byte DATA), e.g. , ["0x3454645634534..."]
.
For filters created with eth_newFilter , logs are objects with following parameters:
Example
Copy // Request
curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x16"],"id":73}' http://localhost:8551
// Result
{
"id" :1,
"jsonrpc" : "2.0" ,
"result" : [{
"logIndex" : "0x1" , // 1
"blockNumber" : "0x1b4" , // 436
"blockHash" : "0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d" ,
"transactionHash" : "0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf" ,
"transactionIndex" : "0x0" , // 0
"address" : "0x16c5785ac562ff41e2dcfdf829c5a142f1fccd7d" ,
"data" : "0x0000000000000000000000000000000000000000000000000000000000000000" ,
"topics" : [ "0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5" ]
},{
...
}]
}
eth_getFilterLogs
Returns an array of all logs matching filter with given id, which has been obtained using eth_newFilter . Note that filter ids returned by other filter creation functions, such as eth_newBlockFilter or eth_newPendingTransactionFilter , cannot be used with this function.
이 API의 실행은 Klaytn 노드 자원의 안전한 관리를 위해 2개로 제한될 수 있습니다.
한 번의 조회당 반환되는 최대 숫자 (기본값: 10.000)
한 번의 조회당 실행 시간 (기본값: 10초)
Parameters
Return Value
See eth_getFilterChanges
Example
Copy // Request
curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0xd32fd16b6906e67f6e2b65dcf48fc272"],"id":1}' http://localhost:8551
// Result
{
"jsonrpc" : "2.0" ,
"id" :1,
"result" : [{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xd596fdad182d29130ce218f4c1590c4b5ede105bee36690727baa6592bd2bfc8" ],
"data":"0x0000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000007b",
"blockNumber" : "0x54" ,
"transactionHash" : "0xcd4703cd62bd930d4652999bce8dcb75b7ade49d922fa42dc11e568c52a5fa6f" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0x9a49f30f1d1876ff3913bd0aa58f328822e7a369cb13e0640b82234f26e781bb" ,
"logIndex" : "0x0" ,
"removed" :false
}]
}
eth_getLogs
입력으로 받은 필터 객체와 일치하는 모든 로그를 배열 형태로 반환합니다.
The execution of this API can be limited by two node configurations to manage resources of Klaytn node safely.
The number of maximum returned results in a single query (Default: 10,000).
The execution duration limit of a single query (Default: 10 seconds).
Parameters
Object
- 필터 객체를 구성하는 옵션은 다음과 같습니다.
Return Value
See eth_getFilterChanges
예제
Copy // Request
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"fromBlock":"0x1","toBlock":"latest","address":"0x87ac99835e67168d4f9a40580f8f5c33550ba88b"}],"id":1}' http://localhost:8551
// Result
{
"jsonrpc" : "2.0" ,
"id" :1,
"result" : [
{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xfa9b2165fc71c1d6ffa03291c7f5d223ea363ec063d747eec9ce2d30d24855ef" ],
"data":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000d3564e57bb5c6f4d983a493a946534f8e1e8b481000000000000000000000000000000000000000000000000000000000000001341646472657373426f6f6b436f6e747261637400000000000000000000000000",
"blockNumber" : "0xd3b5" ,
"transactionHash" : "0x57ca8ff0a0d454d4c5418694c21bc4ef3de26cf7cd18dd404d6a7189a826bfe0" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0x279251a907c6ab1fb723595511ff401432e7c2437d54189298f53a7d33ce3a60" ,
"logIndex" : "0x0" ,
"removed" :false
},
{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xfa3e1e272694072320aad73a3fadd8876c4bf8f40899c6c7ce2fda9f4e652cfa" ],
"data":"0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000300000000000000000000000041383b6ee0ea5108d6b139165a9c85351aacd39800000000000000000000000057f7439898e652fa9b5654022297588532e5e0370000000000000000000000005b5b7a718a4124eb746ae00b1ce6edcaa5ab55bc",
"blockNumber" : "0xd3b5" ,
"transactionHash" : "0x57ca8ff0a0d454d4c5418694c21bc4ef3de26cf7cd18dd404d6a7189a826bfe0" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0x279251a907c6ab1fb723595511ff401432e7c2437d54189298f53a7d33ce3a60" ,
"logIndex" : "0x1" ,
"removed" :false
},
{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xc7b359b1e189b7d721be7f0765a8d745be718566b8e67cbd2728dae5d6fd64b6" ],
"data":"0x000000000000000000000000d3564e57bb5c6f4d983a493a946534f8e1e8b481000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000286d09b578d6126e09296dfe6c775ea7d0cf06e9000000000000000000000000860350f6d774efd16046335c388b832b910d3f8c00000000000000000000000061a7cbdd597848494fa85cbb76f9c63ad9c06cad",
"blockNumber" : "0x14d96" ,
"transactionHash" : "0x73282602d2f908180f47e3c8673f41c0899cbbb2d606976c2f77188ffa57d6e7" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0xa5268a093cd5df7eccde18217a7019a35ab761088312027af16682aafa704ee3" ,
"logIndex" : "0x1" ,
"removed" :false
},
{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xc7b359b1e189b7d721be7f0765a8d745be718566b8e67cbd2728dae5d6fd64b6" ],
"data":"0x000000000000000000000000d3564e57bb5c6f4d983a493a946534f8e1e8b4810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000002f91d1b79dd06da1b622122d61e05e64562de61e0000000000000000000000006e76e0ce76dfba55060400144318d4821a58510600000000000000000000000031b93ca83b5ad17582e886c400667c6f698b8ccd",
"blockNumber" : "0x14e4e" ,
"transactionHash" : "0xf9d86ed451d67abc68c517f7fa0e0a7a8e3dedec23f56febda2b7f52d35185b6" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0x7ddf4a0a203d40afc1706aa24b787da601e1bce326319349d0eeef6c41656fa5" ,
"logIndex" : "0x1" ,
"removed" :false
}
]
}
Copy // Request
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"fromBlock":"earliest","toBlock":"latest","topics":["0xc7b359b1e189b7d721be7f0765a8d745be718566b8e67cbd2728dae5d6fd64b6"]}],"id":2}' http://localhost:8551
// Result
{
"jsonrpc" : "2.0" ,
"id" :2,
"result" : [
{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xc7b359b1e189b7d721be7f0765a8d745be718566b8e67cbd2728dae5d6fd64b6" ],
"data":"0x000000000000000000000000d3564e57bb5c6f4d983a493a946534f8e1e8b481000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000286d09b578d6126e09296dfe6c775ea7d0cf06e9000000000000000000000000860350f6d774efd16046335c388b832b910d3f8c00000000000000000000000061a7cbdd597848494fa85cbb76f9c63ad9c06cad",
"blockNumber" : "0x14d96" ,
"transactionHash" : "0x73282602d2f908180f47e3c8673f41c0899cbbb2d606976c2f77188ffa57d6e7" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0xa5268a093cd5df7eccde18217a7019a35ab761088312027af16682aafa704ee3" ,
"logIndex" : "0x1" ,
"removed" :false
},
{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xc7b359b1e189b7d721be7f0765a8d745be718566b8e67cbd2728dae5d6fd64b6" ],
"data":"0x000000000000000000000000d3564e57bb5c6f4d983a493a946534f8e1e8b4810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000002f91d1b79dd06da1b622122d61e05e64562de61e0000000000000000000000006e76e0ce76dfba55060400144318d4821a58510600000000000000000000000031b93ca83b5ad17582e886c400667c6f698b8ccd",
"blockNumber" : "0x14e4e" ,
"transactionHash" : "0xf9d86ed451d67abc68c517f7fa0e0a7a8e3dedec23f56febda2b7f52d35185b6" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0x7ddf4a0a203d40afc1706aa24b787da601e1bce326319349d0eeef6c41656fa5" ,
"logIndex" : "0x1" ,
"removed" :false
},
{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xc7b359b1e189b7d721be7f0765a8d745be718566b8e67cbd2728dae5d6fd64b6" ],
"data":"0x000000000000000000000000d3564e57bb5c6f4d983a493a946534f8e1e8b481000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000a2b1264624c92257dd8e7f0cac42d451061d1510000000000000000000000000b381ee81e319e5ec48f42d0b47b5e4361c9a6f740000000000000000000000003855407fa65c4c5104648b3a9e495072df62b585",
"blockNumber" : "0x14f38" ,
"transactionHash" : "0xc8f8c637ea9fcbe71e23fe0779b59fb10173e8c4fd7e49bce3cce76ff67d353d" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0xb1717038e443f517bd7a8c37b66fb731fed573f5fa5486ebbbb5e4c9060be50b" ,
"logIndex" : "0x1" ,
"removed" :false
},
{
"address" : "0x87ac99835e67168d4f9a40580f8f5c33550ba88b" ,
"topics" : [ "0xc7b359b1e189b7d721be7f0765a8d745be718566b8e67cbd2728dae5d6fd64b6" ],
"data":"0x000000000000000000000000d3564e57bb5c6f4d983a493a946534f8e1e8b4810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000030000000000000000000000009dd579f23912665b956b0cd50387b29a62052732000000000000000000000000c98a86af2eca2989c0cb2a2b8d4bb841f11e94ab000000000000000000000000f65e07b6626ab43ecea744803fa46bd4a89bfdb6",
"blockNumber" : "0x14fe7" ,
"transactionHash" : "0x14da1883bb2aae487ce1cb93cd39bc9bb802adbba083f337051877358150ab3f" ,
"transactionIndex" : "0x0" ,
"blockHash" : "0xcd820189f00e9a6faaea7313437b92114e69bd32e18b4a28e7763117716c6fa9" ,
"logIndex" : "0x1" ,
"removed" :false
}
]
}
eth_newBlockFilter
노드에 필터를 생성하여 새로운 블록이 도착하였음을 알립니다. To check if the state has changed, call eth_getFilterChanges .
Parameters
None
Return Value
Example
Copy // Request
curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":73}' http://localhost:8551
// Result
{
"jsonrpc" : "2.0" ,
"id" :73,
"result" : "0xc2f2e8168a7e38b5d979d0f7084130ee"
}
eth_newFilter
필터 옵션에 따라 필터 객체를 생성하여 상태가 변경되었음(로그)을 알립니다.
To obtain all logs matching the filter created by eth_newFilter
, call eth_getFilterLogs .
토픽 필터 지정 시 참고사항: 토픽은 순서에 따라 다릅니다. [A, B]
인 토픽인 로그가 있는 트랜잭션은 다음 토픽 필터에 대응됩니다.
[A]
"A가 첫 번째 위치에 있음 (이후에는 무엇이든 와도 됨)"
[null, B]
"첫 번째 위치에 어떤 것이 있으며 B가 두 번째 위치에 있음 (이후에는 무엇이든 있어도 됨)"
[A, B]
"A가 첫 번째 위치에 있으며 B가 두 번째 위치에 있음 (이후에는 무엇이든 있어도 됨)"
[[A, B], [A, B]]
"(A 또는 B)가 첫 번째 위치에 있으며 (A 또는 B)가 두 번째 위치에 있음 (이후에는 무엇이든 있어도 됨)"
Parameters
Object
- The filter options:
참고: Klaytn v1.7.0 이전 버전에서는 정수형 블록 번호나 "earliest"
, "latest"
같은 문자열만 사용할 수 있습니다.
Return Value
Example
Copy // Request
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"fromBlock":"earliest","toBlock":"latest","address":"0x87ac99835e67168d4f9a40580f8f5c33550ba88b","topics":["0xd596fdad182d29130ce218f4c1590c4b5ede105bee36690727baa6592bd2bfc8"]}],"id":1}' http://localhost:8551
// Result
{ "jsonrpc" : "2.0" , "id" :1, "result" : "0xd32fd16b6906e67f6e2b65dcf48fc272" }
eth_newPendingTransactionFilter
노드에 필터를 생성하여 보류 상태인 새로운 트랜잭션이 도착하였음을 알립니다. To check if the state has changed, call eth_getFilterChanges .
Parameters
None
Return Value
Example
Copy // Request
curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":73}' http://localhost:8551
// Result
{
"jsonrpc" : "2.0" ,
"id" :73,
"result" : "0x90cec22a723fcc725fb2462733c2880f"
}
eth_subscribe
Websockets을 통한 RPC Pub/Sub 또는 HTTP를 통한 필터를 이용하여 특정 이벤트에 대한 새 구독을 생성합니다. 클라이언트가 이벤트에 대해 폴링하는 대신 이벤트 발생을 기다리게 해줍니다.
매 생성된 구독에 대해 노드는 구독 ID를 반환할 것입니다. 구독에 일치하는 모든 이벤트에 대해서는 관계된 데이터와 구독 ID를 포함한 알림이 전송됩니다. 연결이 닫힐 경우, 이 연결을 통해 생성된 모든 구독들이 제거됩니다.
Parameters
Object
-알림 타입: "newHeads"
또는 "logs"
.
"newHeads"
는 블록체인에 블록이 추가될 때 매번 알림을 보냅니다. "logs"
는 새 블록에 포함된 로그에 대해 알림을 보냅니다. 이러한 타입은 필터 옵션을 구체화하는 두 번째 매개변수를 필요로 합니다. For more details, go to eth_newFilter > parameters .
Return Value
Example
이 API는 WebSocket 툴인 wscat
과 함께 쓰기에 적합합니다.
Copy // Request
wscat -c http://localhost:8551
> { "jsonrpc" : "2.0" , "id" : 1, "method" : "eth_subscribe" , "params" : [ "newHeads" ]}
// Result
< { "jsonrpc" : "2.0" , "id" :1, "result" : "0x48bb6cb35d6ccab6eb2b4799f794c312" }
< {"jsonrpc":"2.0","method":"eth_subscription","params":{"subscription":"0x48bb6cb35d6ccab6eb2b4799f794c312","result":{"parentHash":"0xc39755b6ac01d1e8c58b1088e416204f7af5b6b66bfb4f474523292acbaa7d57","reward":"0x2b2a7a1d29a203f60e0a964fc64231265a49cd97","stateRoot":"0x12aa1d3ab0440d844c28fbc6f89d26082f39a8435b512fa487ff55c2056aceb3","number":"0x303bea4”, ... ... }}}
Copy // Request
wscat -c http://localhost:8551
> {"jsonrpc":"2.0", "id": 1, "method": "eth_subscribe", "params": ["logs", {"fromBlock":"earliest","toBlock":"latest","address":"0x87ac99835e67168d4f9a40580f8f5c33550ba88b","topics":["0xd596fdad182d29130ce218f4c1590c4b5ede105bee36690727baa6592bd2bfc8"]}]}
// Result
< { "jsonrpc" : "2.0" , "id" :1, "result" : "0xbdab16c8e4ae1b9e6930c78359de3e0e" }
< {"jsonrpc":"2.0","method":"eth_subscription","params":{"subscription":"0xbdab16c8e4ae1b9e6930c78359de3e0e","result":{"address":"0x2e4bb340e26caffb4073d7f1151f37d17524cdbc","topics":["0xb1a7310b1a46c788fcf30784cad70442d5232acaef480b0c094c76bee8d9c77d"],"data":"0x0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000d2588fe96a34c56a5d0a484cb603bc16fc5cdbbc","blockNumber":"0x3041201","transactionHash":"0xdacdebc77006fc566f65448524a0bc770056d8c7a05244bc7bfb2123b1bd398c","transactionIndex":"0x0","blockHash":"0x899b2dbfe96a34ce5d965dbcfcf39d072b4ce1097d479923e6b6355f3e2609ec","logIndex":"0x0","removed":false}}}
eth_uninstallFilter
입력으로 받은 ID를 가진 필터를 제거합니다. 더는 모니터링이 필요없을 때 항상 호출해야 합니다. Additionally, filters timeout when they are not requested with eth_getFilterChanges for a period of time.
Parameters
Return Value
Example
Copy // Request
curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0xb"],"id":73}' http://localhost:8551
// Result
{
"jsonrpc" : "2.0" ,
"id" :1,
"result" : true
}
eth_unsubscribe
Websockets을 통한 RPC Pub/Sub 또는 HTTP를 통한 필터를 이용하여 특정 구독 ID에 대한 구독을 취소합니다. 해당 구독을 생성한 연결만이 구독을 취소할 수 있습니다.
Parameters
Return Value
Example
This API is appropriate for use with a WebSocket tool, wscat
.
Copy // Request
> { "jsonrpc" : "2.0" , "id" : 1, "method" : "eth_unsubscribe" , "params" : [ "0xab8ac7a4045025d0c2807d63060eea6d" ]}
// Result
< { "jsonrpc" : "2.0" , "id" :1, "result" :true}