본문 바로가기

블록체인/테라

Terrain 예제 (Raffle - Dapp) 실행해보기

vscode에서 RAFFLE-DAPP 프로젝트를 열어보겠습니다. 

frontend 폴더를 보면 저번에 말했던 것처럼 리액트로 구성되어있는 것을 확인할 수 있습니다. 

contracts 폴더를 열어 src에 있는 contract.rs 파일입니다. 러스트로 작성되어있습니다. 

raffle-dapp 디렉토리에서 배포를 해보겠습니다. 

npx terrain deploy counter --signer validator

 

이런식으로 뜬다면 성공적으로 배포가 된 것입니다.

배포가 완료되었으면 컨트랙트를 수행해보겠습니다. 

raffle-dapp 프로젝트 폴더에 index.js를 보면  getCount 와 increment가 있습니다. 
이 두 개는 우리가 콘솔 상에서 우리가 사용할 수 있는 컨트랙트 명령어라고 생각하시면 될 것 같습니다. 

수행해보기 위해 terrain console로 진입합니다.

terrain console

await lib.increment()

다음 명령어를 수행하면 다음과 같이 트랜잭션이 실행된 것을 확인할 수 있습니다. 

실행 결과

트랜잭션에 사용된 가스비(수수료) 해시값 등 여러 정보를 확인할 수 있습니다. 

 

이번엔 getCount를 사용해보겠습니다.

await lib.getCount()

방금 increment를 수행했기 때문에 1로 표시가 되네요.

increment를 여러번 수행한 후 다시 getCount를 수행하면 count가 증가된 것을 확인할 수 있습니다.