1 Remix _ SmartContract 생성
(1) Remix에서 ECAC_SmartContract_Test 워크스페이스 생성
(2) SmartContract.sol 파일 생성하고 컴파일러 버전과 pragma 버전 맞추기
(3) 소스코드
1) 단일 사용자 User 구조체와 구조체를 저장하는 상태변수 정의
2) 생성자 함수: 함수 초기 실행시 point 값 0으로 초기화
3) getCount() : point 조회
4) addPoint_likes() : 좋아요 개수에 따른 포인트 부여 100개당 100포인트
- likes / 좋아요 개수
- likesCount / 좋아요 개수 중 이미 포인트 지급을 마친 횟수(기준 충족 횟수)
- likesHundred / 전체 좋아요 개수의 백의자리
* 전체 좋아요의 백의자리와 이미 지급을 마친 횟수를 비교하여 지급하지 않은 백의자리*100 만큼 포인트 지급
* 지급한 백의자리는 likesCount 값을 갱신하여 포인트가 중복 부여되는 것을 막음
5) addPoint_nestedComments() : 대댓글 개수에 따른 포인트 부여 20개당 100포인트
6) refunds() : 사용자의 input을 받아 포인트를 환급하고 차감
(4) Compile * Auto compile 체크 해두면 이 과정 더이상 안해도 됨
(5) Environment 설정 > 계좌 선택 > Deployg하면 콘솔 창에서 성공 여부와 gas 확인 가능
(6) add 함수 실행 전 getCount 함수 실행하면 point 값 0
(7) addPoint 함수를 101, 0으로 실행 > getCount 실행하면 point 값 100 추가
- addPoint_likes(101, 0) > 좋아요 수 101개, 이미 기준을 충족해 지불된 횟수 0번
(8) addPoint_nestedComments 함수를 41, 1으로 실행 > getCount 실행하면 point 값 100 추가
- addPoint_nestedComments(41, 1) > 대댓글 수 41개, 이미 기준을 충족해 (20개)지불된 횟수 1번
(9) refunds 함수
- 함수 실행전 포인트 보유량 200
- refunds(50) 실행 후 getCount 실행하면 함수 보유량 150