OpenZeppelin

워뇽쿤·2022년 10월 5일
0

Solidity

목록 보기
9/10
post-thumbnail

1. OpenZeppelin 이란?

  • 오픈제플린은 2015년 데미안 브리너와 마누엘 아라오스가 공동 설립한 블록체인 개발 회사
  • 솔리디티 기반의 스마트 컨트랙트를 개발하는 프레임워크인 오픈제플린과, 스마트 컨트랙트를 관리하고 운영하는 플랫폼인 제플린 OS를 제공
  • 오픈제플린을 사용하면 ERC-20, ERC-721의 코드를 직접 구현하지 않고 라이브러리를 불러와서 사용하면되서 편함!

2. 사용법

2.1. Truffle를 이용한 solidity library 활용

2.1.1. truffle init 프로젝트 초기화

// truffle 프로젝트를 생성할 폴더에서 해당 명령어 입력
$ truffle init

2.1.2. openzeppelin solidity 라이브러리 설치

$ npm install -E openzeppelin-solidity
// vscode로 확인해보면 ERC 코드가 들어온것을 확인할 수 있다.

2.1.3. Ganache - Truffle 연동

  • version을 통일해 준다.

2.2. 스마트 컨트랙트 작성

  • contracts 폴더에 컨트랙트 파일 생성
// SPDX-License-Identifier: GPL-3.0
pragma solidity 0.8.10;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract ZeppelinTestToken is ERC20 {
    constructor() ERC20("ZeppelinTestToken", "ZTT") {
          _mint(msg.sender, 100000000e18);
    }

}
  • migrations 폴더 안에 2_deploy_ZeppelinTestToken.js를 작성합니다.
var ZeppelinTestToken = artifacts.require("ZeppelinTestToken");

module.exports = function(deployer) {
    deployer.deploy(ZeppelinTestToken);
};
  • 배포하기 전 사용할 openzeppelin/contract 경로를 추가함
$ npm install @openzeppelin/contracts
  • 배포 후 Ganache에서 블록 생성과 메타마스크를 활용한 테스트 실시
$ truffle migrate
profile
QA 성장기

0개의 댓글