상세 컨텐츠

본문 제목

솔리디티 강좌 40강 - library 라이브러리

솔리디티 깨부수기 - 기본

by D_One 2021. 10. 10. 13:50

본문

 


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

https://youtu.be/CkQDssQ7EJM

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

 


안녕하세요

오늘은 library에 대해서 알아 보겠습니다.

 

library

library:  기존에 만들던 스마트 컨트랙과 다른 종류의 스마트 컨트랙이라 할  수 있습니다. 라이브러리를 사용함으로써 몇가지 이점과 제한사항이 있습니다.

 

이점

1. 재사용 : 블록체인에 라이브러리가 배포되면, 다른 스마트 컨트랙들에 적용가능.

2. 가스 소비 줄임 : 라이브러리는 재사용가능 한 코드, 즉 여러개의 스마트 컨트랙에서 공통으로 쓰이는 코드를 따로 라이브러리 통해서 배포 하기에, 다른 스마트 컨트랙에 명시를 해주는것이 아니라, 라이브러리를 적용만 하면 되기에 가스 소비량을 줄일 수 있다. 왜냐하면, 가스는 스마트 컨트랙의 사이즈/길이에 영향을 많이 받기 때문이다. 

3.데이터 타입 적용: 라이브러리의 기능들은 데이터 타입에 적용할 수 있기에, 좀 더 쉽게 사용할 수 있다.

 

제한사항

1. fallback 함수 불가: fallback 함수를 라이브러리 안에 정의를 못 하기에, 이더를 갖고 있을 수 없습니다.

2. 상속 불가

3. payable 함수 정의 불가 

 

 

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 < 0.9.0;

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

contract lec40{
    using SafeMath for uint8;
    uint8 public a; 
    
    function becomeOverflow(uint8 _num1,uint8 _num2) public  {
       // a = _num1.add(_num2);
        a = SafeMath.add(_num1 ,_num2);
       
    } 
}

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

관련글 더보기