Library 我們可以想像寫好工具使用,當然這部分因該是很多人都寫好了不過還是要了解一下。

// 1.部署一次多次使用
// 類別庫,不可繼承,不能交易

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

contract libraryExample {
		// 使用時使用 using ...
    using SafeMath for uint256;

    function doAdd(uint256 _a, uint256 _b) public pure returns (uint256) {
        return _a.add(_b);
    }

    function doSub(uint256 _a, uint256 _b) public pure returns (uint256) {
        return _a.sub(_b);
    }
}

13.IS

有任何問題可反饋: [email protected]