blockchain

[Klaytn] CountBApp

chanchand 2023. 2. 5. 17:11
반응형

- Clone

CountBApp

 

GitHub - klaytn/countbapp

Contribute to klaytn/countbapp development by creating an account on GitHub.

github.com

$ git clone https://github.com/klaytn/countbapp.git

 

 

- 오류 해결

node 버전이 node-sass 버전을 지원하지 않아 오류가 발생하는데, 이 때 node-sass 버전을 높이면 이후에 또 다른 오류가 발생한다.

그래서 nvm을 이용하여 node 버전을 낮추어주었다.

$ nvm install 14.5.4
$ nvm use 14.5.4

 

 

- 실행

$ npm install
$ npm run local

 

https://localhost:8888

https://127.0.0.1:8888

https://0.0.0.0:8888

 

 

 


 

- 디렉터리 구조

|-- contracts
|-- migrations
|-- truffle-config.js
|-- static  
|-- src  
    |-- styles
    |-- klaytn
      |-- caver.js
    |-- components
      |-- BlockNumber.js
      |-- Auth.js
      |-- Count.js
    |-- index.js
    |-- App.js
    |-- routes.js

contracts/ : 컨트랙트 소스 파일

migrations/ : 컨트랙트 배포를 처리하는 자바스크립트 파일

truffle-confg.js/ : 트러플의 환경설정 파일

static/ : 이미지 등의 정적파일

src/styles : CSS 파일

src/index.js : index 파일, ReactDOM.render 로직 존재

src/App.js : 루트 컴포넌트 파일

src/routes.js : route 정의

src/components : 프론트엔드 컴포넌트 파일

- BlockNumber.js : 현재 블록 넘버

- Auth.js :  로그인 기능

- Count.js : 배포된 컨트랙트를 이용한 상호작용

src/klaytn/caver.js : caver-js 인스턴스화

 

 

-  스마트 컨트랙트

솔리디티 버전을 지정한다.

pragma solidity ^0.5.6;

 

컨트랙트 이름을 지정한다.

contract [컨트랙트이름] { }

 

변수와 함수를 정의한다.

Count 컨트랙트는 plus 함수와 minus 함수가 존재하고, 마지막 참가자 주소를 저장한다.

uint256 public count = 0;
address public lastParticipant;

function plus() public {
    count++;
    lastParticipant = msg.sender;
}

function minus() public {
    count--;
}

 

반응형

'blockchain' 카테고리의 다른 글

[Klaytn] 스마트 컨트랙트 배포  (0) 2023.02.09
[Klaytn] EN  (0) 2023.02.09
caver-js  (0) 2023.02.03
[Klaytn] Baobab환경-Klay 받기  (0) 2023.02.03
[Klaytn] klaytn 개발환경  (0) 2023.02.03