변수 시퀀스 - 2
그러나 이 경우에는 예외가 있습니다.
이전 관찰을 기억해 봅시다. 다음 계약을 고려하십시오.
contract varSequence2_1{
uint var1;
uint var2;
uint var3;
function updateVar(uint num) external {
var1 = num;
var2 = num;
var3 = num;
}
}
contract varSequence2_2{
uint8 var1;
uint8 var2;
uint8 var3;
function updateVar(uint8 num) external {
var1 = num;
var2 = num;
var3 = num;
}
}
updateVar
함수 실행에 더 많은 가스 비용이 드는 계약은 무엇입니까? 추측했다면 varSequence2_1
맞습니다. 이것은 우리가 에서 본 것과 비슷합니다.이제 다음 계약을 고려하십시오.
contract varSequence2_1{
uint var1;
uint var2;
uint var3;
function updateVar(uint num) external {
var1 = num;
}
}
contract varSequence2_2{
uint8 var1;
uint8 var2;
uint8 var3;
function updateVar(uint8 num) external {
var1 = num;
}
}
현재 어떤 계약이
updateVar
함수 실행에 더 많은 비용이 들 것이라고 생각하십니까? varSequence2_2가 됩니다. 그런데 왜 그렇습니까?결론
이는 특정 요소를 찾아 스토리지 슬롯에서 가려야 할 때 opcode가 증가하기 때문에 관찰됩니다. 따라서 가스가 증가합니다.
Reference
이 문제에 관하여(변수 시퀀스 - 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rushanksavant/variable-sequence-2-41c1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)