Lottery DApp 개발 Lottery React웹 프론트[3]
web3js - filter
filter : 스마트 컨트랙트의 event들의 log들을 가져오고 사용하는 것. 스마트컨트랙트 밖에서 이벤트 log를 캐치하기 위해 필요하다.
getBetEvents 라는 함수를 작성해보자
getBetEvents = async() =>{
const records = [];
let events = await this.loteryContract.getPastEvents('BET', {fromBlock:0, toBlock:'latest'});
console.log(events);
}
0번 블록부터 최신 블록까지 빼오는 함수이다. 이 함수를 사용하기 위해 componentDidMount에 추가해준다.
componentDidMount = async () => {
await this.initWeb3();
await this.getBetEvents();
}
내가 bet한 만큼 배열이 생긴다.
위 로그들을 살펴보자.
마지막에 추가한 ‘0xcd’를 보면
bettor에 메타마스크 주소가 들어간 것을 확인할 수 있다.
web3js - filter
web3js - send & call
React js 환경 설정
Distribute 함수설계 & 테스트
Distribute 함수설계 & isMath함수 구현 및 테스트
Bet 함수 구현&테스트
Bet 함수 구현&테스트
Lotery domain과 queue설계
Lotery 를 테스트할 테스트 파일을 test폴더 안에 만들어준다.
왜 제목이 안보이지; 너무어렵다 블로긍 ㅠㅡㅜ 다들 맥으로 설명해오앵애ㅐㅐㅐㅐㅐㅐㅐㅐㅐㅐ