이번 실습을 정리해보면 다음과 같다.
1. 이더리움 & 클레이튼 노드 hh 키워드로 띄우기
2. hh deploy --network localhost --reset
처음에는 컴파일 할게 없다며 뭐지..? 싶었다가 갑자기 Poll을 deploy 한다는 문구가 띄워졌다.
3. hh addr --network localhost
addr은 리눅스에서 address의 줄임말이라고 한다. 여기서 localhost에서 Poll로 배포된 주소를 출력하라는 의미같다.
참고로 cat deployments/localhost/Poll.json | jq.address를 해보면 위에서는 { Poll: '주소'}가 나오지만 jq로 prettier 역할을 하니 좀 더 보기좋게 출력된다. 사실 한 줄 주소 출력이니 jq는 적용하지 않았다.
4. 그런데 매번 --network localhost 치기 힘드니, 선언을 해주도록 한다. alias 같은 기능이다.
export HARDHAT_NETWORK = localhost로 하면 hh 명령에서는 --network localhost라는 의미가 축약되어 있다는 것이다.
5. hh call Poll catVotes
localhost 네트워크야~ catVotes를 불러주렴~ 하면 0x00 밖에 출력이 안된다. 일단 Poll을 통해 catVotes를 호출했다 정도만 알아두자.
6. hh send Poll voteDog
localhost 네트워크야~ voteDog 멍멍이에게 투표해줘 라는 의미로 보인다.
* 일단 이에 대해 좀 더 찾아보니, 이더를 보낼때와 받는때로 구분이 된다고 한다.
이더를 보낼때 : call,send,transfer
이더를 받을때 : payable, receive(), fallback()
내 이더를 보낼테니~ 투표좀~
이더를 보내니 gasUsed가 찍혀 나온다.
7. 멍멍이한테만 투표하지 말고 야옹이한테도 투표하자
hh send Poll voteCat
얘도 똑같이 가스를 썼고 블록해시가 얼마고.. 멍멍이한테 투표한다고 send() 보냈을때와 같은 형식으로 출력된다.
이렇게 몇 번을 반복하다가...
8. 이제 웹앱과 상호작용 하기 위해 지갑을 연결한다.
메타마스크와 카이카스 연결해서 테스트 이더를 받는다(이게 다 진짜 이더고 내 돈이었으면...ㄸㄹㄹ ㅠㅠ)
9. 다시 터미널로 돌아와
- cd app
- npm run dev:localhost를 해주고 아래 로컬 주소로 들어가게 되면..!
10. 멍멍이랑 야옹이 대결이 나온다.
11. 지갑을 연결하고 Vote를 하면 이제 내가 이 컨트랙트 주소로 투표를 하겠다 (테스트 이더를 보내겠다) 하면 트랜잭션 확인 창이 나온다.
12. 결과를 확인해보니 아깐 야옹이3 : 멍멍이1 이었던 결과가 나의 투표로 인해 4:1로 되었다.
이거..꽤나 재밌는걸..후후후
이제는 직접 만들어보고 싶다! 땡스 투 클튼 데브 부트캠프 !
'Klaytn Dev Ambassador' 카테고리의 다른 글
Klaytn Square Lounge 2023 다녀온 후기 (0) | 2023.09.18 |
---|---|
klaytn 노드 띄워보기 2탄 (CN노드,blockscout로 블록 생성 확인하기) (0) | 2023.09.18 |
klaytn node 띄워보기 (with smart contract) 1탄 (to blockscout 도커 컨테이너 생성) (0) | 2023.09.18 |