일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 러스트 기초 학습
- 스마트컨트렉트테스트
- vue기초
- ethers typescript
- 스마트컨트렉트 함수이름 중복 호출
- nest.js설명
- 컨트렉트 배포 자동화
- 러스트 기초
- ethers v6
- Vue.js
- 체인의정석
- ethers websocket
- 티스토리챌린지
- Vue
- 스마트컨트렉트 예약어 함수이름 중복
- 스마트 컨트렉트 함수이름 중복
- rust 기초
- 스마트컨트렉트프록시
- ethers
- 러스트기초
- 컨트렉트 동일한 함수이름 호출
- chainlink 설명
- ethers type
- 머신러닝기초
- git rebase
- SBT표준
- 프록시배포구조
- ambiguous function description
- multicall
- 오블완
Archives
- Today
- Total
체인의정석
ethers에서 블록태그(block tag) 사용하기 본문
728x90
반응형
과거 특정 시점에서의 특정 값을 조회 할 때
이벤트 말고도 조회가 가능한 방법이 있다.
바로 조회 함수에 특정 블록번호를 넣어주는 블록태그 blocktag이다.
ethers에서 들어가서 보면 다음과 같이 정의가 되어 있는 것을 확인할 수 있으며
for(let i = 0; i < blockNumberList.length; i++){
const blockNumber = blockNumberList[i]
const response = await contract.foo({
blockTag: blockNumber
})
}
이런식으로 사용해 주면 되는데
blockTag: 조회하고자 하는 블록번호
이렇게 넣어주게 되면 해당 블록에서의 컨트렉트 함수를 조회해서 가져올 수 있다.
만약 인자 값이 들어간 경우라면
for(let i = 0; i < blockNumberList.length; i++){
const blockNumber = blockNumberList[i]
const response = await contract.foo(
input 1,
{
blockTag: blockNumber
})
}
위와 같이 블록태그를 걸어줄 수 있다.
728x90
반응형
'블록체인 > Ethers & web3' 카테고리의 다른 글
hardhat 에서 HeadersTimeoutError: Headers Timeout Error 해결 법 (0) | 2023.07.10 |
---|---|
ethers에서 함수를 못찾을 때 , 오버로딩 문제 체크해 보기 (0) | 2023.05.23 |
web3의 getPastEvent가 있다면ethers에는 query filter가 있다. query filter 설명 (0) | 2023.05.15 |
스캔에 뜨지 않는 EVM 에러 코드 확인하는 법, hardhat console 사용 (0) | 2023.03.23 |
hardhat node 버전 맞추기 + 여러 컨트렉트 소스 한번에 컴파일하기 (0) | 2023.03.17 |
Comments