이더리움(Ethereum) Gas, 가스 사용료 줄이기를 위한 압축
이더리움 Dapp에 우리가 만든 함수를 다른 사람들이 이용하려면 그 사람들은 Gas(가스)를 지불해야한다. 가스란 일종의 연료로 이더리움(Ethereum)으로 구매해서 사용하게된다.
이러한 가스는 함수의 로직(구조)가 얼마나 복잡한 지에 따라서 지불 비용이 달라지게된다. 즉, 많은 연산을 수행해야하는 구조의 복잡한 함수는 더 많은 양의 가스(gas)가 필요하게되고, 간단한 함수는 그 양이 적을 것이다.
하지만, 최적화가 되지않은 함수에 대해서도 가스가 더 많이 지불 될 수 있으니 이더리움 컨트랙트 개발에서는 최적화가 필수라고 할 수 있다. 그래서 기본인 압축을 알아보려고한다.
uint 8, 16, 32, 128, 256
일반적으로 uint형은 위와 같은 형들이 있지만, 일반적으로 사용할 때는 다 기본적으로 256bit를 차지하기 때문에 별로 의미가 없다.
하지만, struct형(구조체)에서 사용하게 될 경우에는 8,16등 지정해준 양만을 할당하게 된다. 즉 압축이 될 수 있다는 것이다. 그리고 변수 선언시 int, uint,int 이런식으로 선언하는 것보다 같은 형끼리 한데모아서 int,int,uint 이런식으로 선언해주게되면 압축이 되므로 더 효율적이다.
위와 같은 성질을 기억하고 개발한다면 더 효율적인 개발이 가능할 것이다.
'Ethereum Solidity' 카테고리의 다른 글
솔리디티(solidity) - payable (0) | 2018.06.19 |
---|---|
솔리디티(solidity) - 배열, memory, new (+for) (0) | 2018.06.18 |
솔리디티(solidity) - 포인터 storage, struct 전달 (+modifier) (0) | 2018.06.17 |
솔리디티(solidity) - 시간단위 함수 now 사용하기 (0) | 2018.06.16 |
솔리디티(solidity) 생성자, modifier, import, 상속 (0) | 2018.06.14 |