본문으로 건너뛰기

Filter

getFilterChanges


caver.klay.getFilterChanges(filterId [, callback])

필터에 대한 폴링 메서드로, 마지막 폴링 이후의 로그 배열을 반환합니다.

매개변수

이름유형설명
filterIdString필터 아이디입니다.
callbackFunction(선택 사항) 선택적 콜백으로, 첫 번째 매개변수로 오류 객체를 반환하고 두 번째 매개변수로 결과를 반환합니다.

리턴 값

PromiseArray - 로그 객체의 배열을 반환하거나, 마지막 폴링 이후 변경된 사항이 없는 경우 빈 배열을 반환합니다.

Array에서 반환된 로그 Object의 구조는 다음과 같습니다:

이름유형설명
address20-byte DATA이 로그가 발생한 주소.
topicsDATA Array인덱싱된 로그 인수의 0~4개 32-byte DATA 배열. (Solidity에서: 첫 번째 토픽은 이벤트 서명의 해시입니다(*예: Deposit(address,bytes32,uint256)).
dataDATA로그의 인덱싱되지 않은 인수를 포함합니다.
blockNumberQUANTITY이 로그가 있던 블록 번호입니다. 보류 중일 때는 null입니다.
transactionHash32-byte DATA이 로그가 생성된 트랜잭션의 해시입니다. 보류 중일 때 null, 트랜잭션이 실행되었지만 블록이 확인되지 않은 경우의 에지 케이스입니다.
transactionIndexQUANTITY정수. 이 로그가 생성된 트랜잭션의 인덱스입니다. 보류 중일 때는 null입니다.
blockHash32-byte DATA이 로그가 있는 블록의 해시입니다. 보류 중일 때는 null입니다.
logIndexQUANTITY블록에서 로그 인덱스 위치의 정수입니다. 보류 중인 로그인 경우 null.
idString로그 식별자입니다. "log_" 문자열에 keccak256(blockHash + transactionHash + logIndex).substr(0, 8)를 연결하여 만듭니다.

예시


> caver.klay.getFilterChanges('0xafb8e49bbcba9d61a3c616a3a312533e').then(console.log);
[
{
address: '0x71e503935b7816757AA0314d4E7354dab9D39162',
topics: [ '0xe8451a9161f9159bc887328b634789768bd596360ef07c5a5cbfb927c44051f9' ],
data: '0x0000000000000000000000000000000000000000000000000000000000000001',
blockNumber: 3525,
transactionHash: '0x1b28e2c723e45a0d8978890598903f36a74397c9cea8531dc9762c39483e417f',
transactionIndex: 0,
blockHash: '0xb7f0bdaba93d3baaa01a5c24517da443207f774e0202f02c298e8e997a540b3d',
logIndex: 0,
id: 'log_c1ea867d'
}
]

getFilterLogs


caver.klay.getFilterLogs(filterId [, callback])

주어진 아이디로 필터와 일치하는 모든 로그의 배열을 반환합니다. 필터 객체는 newFilter를 사용하여 가져와야 합니다.
newBlockFilter 또는 newPendingTransactionFilter와 같은 다른 필터 생성 함수가 반환하는 필터 ID는 이 함수와 함께 사용할 수 없습니다.

매개변수

이름유형설명
filterIdString필터 아이디입니다.
callbackFunction(선택 사항) 선택적 콜백으로, 첫 번째 매개변수로 오류 객체를 반환하고 두 번째 매개변수로 결과를 반환합니다.

리턴 값

getFilterChanges을 참조하세요.

예시


> caver.klay.getFilterLogs('0xcac08a7fc32fc625a519644187e9f690').then(console.log);
[
{
address: '0x55384B52a9E5091B6012717197887dd3B5779Df3',
topics: [ '0xe8451a9161f9159bc887328b634789768bd596360ef07c5a5cbfb927c44051f9' ],
data: '0x0000000000000000000000000000000000000000000000000000000000000001',
blockNumber: 7217,
transactionHash: '0xa7436c54e47dafbce696de65f6e890c96ac22c236f50ca1be28b9b568034c3b3',
transactionIndex: 0,
blockHash: '0xe4f27c524dacfaaccb36735deccee69b3d6c315e969779784c36bb8e14b89e01',
logIndex: 0,
id: 'log_2dd695a8'
}
]

getPastLogs


caver.klay.getPastLogs(options [, callback])

주어진 옵션과 일치하는 과거 로그를 가져옵니다.

매개변수

이름유형설명
optionsObject필터 옵션입니다.
options.fromBlockNumber | String(선택 사항) 로그를 가져올 가장 빠른 블록의 번호입니다. (latest은 가장 최근 블록을 의미합니다.) 기본값은 latest입니다.
options.toBlockNumber | String(옵션) 로그를 가져올 마지막 블록의 번호입니다. (latest은 가장 최근 블록을 의미합니다.) 기본값은 latest입니다.
options.addressString | Array(선택 사항) 주소 또는 주소 목록입니다. 특정 계정과 관련된 로그만 반환됩니다.
options.topicsArray(선택 사항) 로그 항목에 표시되어야 하는 값의 배열입니다. 순서가 중요합니다. 토픽을 생략하려면 null, 예:, [null, '0x12...']을 사용하세요. 각 주제에 대한 옵션이 포함된 배열을 전달할 수도 있습니다(예:,* [null, ['option1', 'option2']]).
callbackFunction(선택 사항) 선택적 콜백으로, 첫 번째 매개변수로 오류 객체를 반환하고 두 번째 매개변수로 결과를 반환합니다.

리턴 값

PromiseArray - 로그 객체의 배열을 반환합니다.

Array에서에서 반환된 이벤트 Object의 구조는 다음과 같습니다:

이름유형설명
addressString이 이벤트가 발생한 곳입니다.
dataString인덱싱되지 않은 로그 매개변수가 포함된 데이터입니다.
topicsArray최대 4개의 32바이트 주제가 있는 배열로, 주제 1~3에는 인덱싱된 로그 매개 변수가 포함되어 있습니다.
logIndexNumber블록에서 이벤트 인덱스 위치의 정수입니다.
transactionIndexNumber이벤트가 생성된 트랜잭션의 인덱스 위치의 정수입니다.
transactionHash32-byte String이 이벤트가 생성된 트랜잭션의 해시입니다.
blockHash32-byte String이 이벤트가 생성된 블록의 해시입니다. 아직 보류 중이면 null입니다.
blockNumberNumber이 로그가 생성된 블록 번호입니다. 아직 보류 중이면 null입니다.
idString로그 식별자입니다. "log_" 문자열에 keccak256(blockHash + transactionHash + logIndex).substr(0, 8)를 연결하여 만듭니다.

예시


> caver.klay.getPastLogs({
address: "0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe",
topics: ["0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234"]
})
.then(console.log);
[{
data: '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385',
topics: ['0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7', '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385']
logIndex: 0,
transactionIndex: 0,
transactionHash: '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385',
blockHash: '0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7',
blockNumber: 1234,
address: '0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe',
id: 'log_124d61bc',
},{...}]

newBlockFilter


caver.klay.newBlockFilter([callback])

노드에 필터를 생성하여 새로운 블록 도착에 대한 정보를 수신합니다. 상태가 변경되었는지 확인하려면 getFilterChanges를 호출하세요.

매개변수

이름유형설명
callbackFunction(선택 사항) 선택적 콜백입니다. 콜백은 오류 객체를 첫 번째 매개변수로, 결과를 두 번째 매개변수로 사용하여 실행됩니다.

리턴 값

PromiseString - 필터 아이디를 반환합니다.

예시


> caver.klay.newBlockFilter().then(console.log);
0x9ca049dc8b0788ee05724e45fc4137f1

newFilter


caver.klay.newFilter(options [, callback])

주어진 필터 옵션을 사용하여 특정 상태 변경(로그)을 수신하는 필터 객체를 생성합니다.

  • 상태가 변경되었는지 확인하려면 getFilterChanges를 호출합니다.
  • newFilter에 의해 생성된 필터와 일치하는 모든 로그를 가져오려면, getFilterLogs를 호출합니다.

For detailed information about topic filters, please see Klaytn Platform API - klay_newFilter.

매개변수

이름유형설명
optionsObject필터 옵션입니다.
options.fromBlockNumber | String(선택 사항) 이벤트를 쿼리할 가장 최근 블록 높이의 번호입니다. (특수 태그가 있으며, latest은 가장 최근 블록을 의미함). 기본값은 latest입니다.
options.toBlockNumber | String(선택 사항) 이벤트를 쿼리할 마지막 블록 높이의 번호입니다(특수 태그가 있으며, latest는 가장 최근에 확인된 블록을 의미함). 기본값은 latest입니다.
options.addressString | Array(선택 사항) 지정된 컨트랙트 내에서 생성된 로그를 가져올 주소 또는 주소 목록입니다.
options.topicsArray(선택 사항) 로그 항목에서 검색할 값의 배열입니다. 순서가 중요합니다. 주어진 위치의 모든 항목을 일치시키려면 null, *예: *, [null, '0x12...']을 사용하세요. 배열을 전달하여 그 중 하나를 일치시킬 수도 있습니다. 예:, [null, ['option1', 'option2']].
callbackFunction(선택 사항) 선택적 콜백으로, 첫 번째 매개 변수로 오류 개체를 반환하고 두 번째 매개 변수로 결과를 반환합니다.

리턴 값

Promise는 필터 ID인 String을 반환합니다.

예시


> caver.klay.newFilter({}).then(console.log);
0x40d40cb9758c6f0d99d9c2ce9c0f823
> caver.klay.newFilter({address: "0x55384B52a9E5091B6012717197887dd3B5779Df3"}).then(console.log);
0xd165cbf31b9d60346aada33dbefe01b

새로운 보류 중인 트랜잭션 필터


caver.klay.newPendingTransactionFilter([callback])

노드에 필터를 생성하여 새로운 보류 중인 트랜잭션 도착에 대한 정보를 수신합니다. 상태가 변경되었는지 확인하려면 getFilterChanges를 호출하세요.

매개변수

이름유형설명
callbackFunction(선택 사항) 선택적 콜백으로, 첫 번째 매개변수로 오류 객체를 반환하고 두 번째 매개변수로 결과를 반환합니다.

리턴 값

Promise는 필터 ID인 String을 반환합니다.

예시


> caver.klay.newPendingTransactionFilter().then(console.log);
0x1426438ffdae5abf43edf4159c5b013b

uninstallFilter


caver.klay.uninstallFilter(filterId [, callback])

주어진 아이디로 필터를 제거합니다. 모니터링이 더 이상 필요하지 않은 경우 즉시 필터를 제거할 것을 강력히 권장합니다. 노드에 설정된 시간 제한 값보다 더 오랫동안 getFilterChanges를 통해 필터가 호출되지 않으면 필터가 제거됩니다. 기본 설정은 5분입니다.

매개변수

이름유형설명
filterIdString필터 아이디입니다.
callbackFunction(선택 사항) 선택적 콜백으로, 첫 번째 매개변수로 오류 객체를 반환하고 두 번째 매개변수로 결과를 반환합니다.

리턴 값

Promise는 필터가 성공적으로 제거되면 boolean - true을 반환하고, 그렇지 않으면 false을 반환합니다.

예시


> caver.klay.uninstallFilter('0x1426438ffdae5abf43edf4159c5b013b').then(console.log);
true

Make this page better