반응형
# 컨트랙트 최적화
가스 수수료를 낮추기 위해 코드를 최적화 시켜야함
https://ethereum.stackexchange.com/questions/28813/how-to-write-an-optimized-gas-cost-smart-contract
Opcode 별 가스 비용
가스 비용을 줄이는 상황
1. 컨트랙트 배포할때의 비용 (컨트랙트 내용이 옵코드로 변환되면서 소모되는 비용)
- 불필요한 코드 정리
2. 컨트랙트 내의 함수를 불러올 때의 비용 (Pure/View 는 비용이 안듦, 그외 함수는 정리 필요)
- 비싼 연산을 최대한 줄이기 (SSTORE 등)
- 로컬 변수를 선언하여 for 문을 돌때, 로컬 변수에 사용
- 반복문 관련 패턴 (for 를 한번에 끝낼수 있는데 두번 써서 가스 비 소모)
- 고정된 크기 bytes 배열 쓰기 (string 대신 bytes32쓰기)
3. 배열 사용시 주의점
- 무제한 크기의 배열 반복 피해야함
Mapping 을 써서 StudentId 로 한번에 찾을수 있게 변경
반응형
'신기술분석 > 블록체인' 카테고리의 다른 글
블록체인 Dapp 만들기 #8 (0) | 2021.07.15 |
---|---|
블록체인 Dapp 만들기 #7 (0) | 2021.07.15 |
블록체인 Dapp 만들기 #5 (0) | 2021.07.15 |
블록체인 Dapp 만들기 #4 (0) | 2021.07.14 |
블록체인 Dapp 만들기 #3 (0) | 2021.07.14 |
댓글