Contract_size

- 1 min

如何减小合约size

1.效果拔群

分拆合约

使用代理合约

2. 效果中等

移除函数

减少不必要的变量

function get(uint id) returns (address,address) {
    MyStruct memory myStruct = myStructs[id]; // 这里没必要, 直接合并成1行
    return (myStruct.addr1, myStruct.addr2);
}

缩短require报错信息

3. 轻微影响

函数可见性

// 合约文件会变大 function _get(MyStruct memory myStruct) private view returns(address,address) { return (myStruct.addr1, myStruct.addr2); }

修改后
```solidity
function get(uint id) returns(address,address) {
    return _get(myStructs[id].addr1, myStructs[id].addr2);
}

function _get(address addr1, address addr2) private view returns(address,address) {
    return (addr1, addr2);
}

modifier不要频繁使用