블록체인 학습
0 XP

실습: library 활용하기

직접 라이브러리를 만들고, 컨트랙트에서 사용해봅니다. 반복되는 계산 로직을 library 로 분리해 두면 여러 컨트랙트가 같은 함수를 깔끔하게 재사용할 수 있습니다.

이번에 만들 sum 은 internal pure 함수입니다. pure 는 상태를 읽지도 쓰지도 않는 순수 계산 함수라는 뜻이고, internal 은 이 라이브러리가 별도 배포 없이 호출하는 컨트랙트에 인라인으로 임베드된다는 의미입니다. 덕분에 외부 호출 비용 없이 가볍게 동작합니다.

호출 문법

라이브러리 함수는 라이브러리이름.함수이름(...) 형태로 호출합니다. 즉 Adder 안에서는 Math.sum(x, y) 처럼 라이브러리 이름을 앞에 붙여 호출하고, 그 결과를 그대로 반환하면 됩니다.

해야 할 일:

  1. Math 라이브러리에 sum(uint256 a, uint256 b) 함수를 만드세요. (internal pure, a + b 반환)
  2. Adder 컨트랙트에서 Math 라이브러리를 사용하세요.
  3. addNumbers(uint256 x, uint256 y) 함수를 만들어 Math.sum(x, y) 결과를 반환하세요.

라이브러리 함수는 라이브러리이름.함수이름(...) 형태로 호출합니다. 반환값을 그대로 return 하면 됩니다.

Code Editor
에디터를 불러오는 중...
실행 결과

Run 버튼을 눌러 코드를 실행하세요.