상세 컨텐츠

본문 제목

솔리디티 강좌 41강 -import 임폴트

솔리디티 깨부수기 - 기본

by D_One 2021. 10. 12. 12:54

본문

 


유튜브를 통해, 쉽고 간편하게 이해 해보아요!

https://youtu.be/BiZqbtYyAkA

구독/좋아요 해주셔서 감사합니다 :) !!


안녕하세요

오늘은 임폴트에 대해서 알아 보겠습니다.

 

import

 

저희는 기존에 한 솔리디티 파일내에서 여러개의 스마트 컨트랙을 정의하고나서 각 스마트컨트랙 사이에

상속을하거나, 인스터스화를 했습니다. 

 

한 파일 안이니까, 스마트 컨트랙들이 서로의 위치를 잘 알고 있습니다. 

그러나, 솔리디티 파일 한개당 스마트 컨트랙을 한개씩 넣는다면, 여러개의 솔리디티 파일이 생길것입니다. 

그렇다면, 스마트 컨트랙끼리 이어 줄려면, 서로의 솔리디티 파일의 위치를 잘 알아야겠죠.

이럴때 필요한것이 import 입니다.

스마트 컨트랙이든, library 든 import 를 통해서 위치를 명시해준답니다. 

 

lec41_1.sol

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 < 0.9.0;

library SafeMath0{
    //0~255;
    function add(uint8 a, uint8 b) internal pure returns (uint8) {
        require(a+b >= a , "SafeMath: addition overflow");
        return a + b;
    }
}

contract HiSolidity{
    event Hi(string _str);
    
    function hi() public {
        emit Hi("Hello solidity");
    }
}

lec41.sol

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 < 0.9.0;

import "./lec41_1.sol";

// import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.4/contracts/math/SafeMath.sol";

contract lec41 is HiSolidity{
    using SafeMath0 for uint8;
    uint8 public a; 
    // uint256 public maximum = 2 ** 256 -1;
    function becomeOverflow(uint8 _num1,uint8 _num2) public {
        a = _num1.add(_num2);
       
    } 
    
}

영상과 함께 꼭 보시기를 바랍니다. 

관련글 더보기