ERC 는 Ethereum Request for Comment 의 약자로 아마 IETF(Internet Engineering Task Force) 에서 제정하는 인터넷 표준인 RFC 에서 따온 절차입니다.

기존 내용을 알고 있으면 새로운 지식을 더 쉽게 이해할 수 있는 경우가 많으므로 ERC 의 절차를 이해하려면 먼저 RFC 에 대해서 알아보는 게 좋습니다.


ERC - 20 Token standard

ERC20 은 토큰 표준을 다루고 있는 문서로 토큰을 다음과 같이 정의하고 있습니다.

Tokens can represent virtually anything in Ethereum:

  • reputation points in an online platform
  • skills of a character in a game
  • lottery tickets
  • financial assets like a share in a company
  • a fiat currency like USD
  • an ounce of gold
  • and more...

ERC-20 에 기반한 토큰은 대체 가능한 토큰Fungible Tokens) 으로 한 토큰은 다른 토큰과 동일한 type 과 value 를 갖게 됩니다.


ERC-20 은 Smart contract 를 구현하기 위한 API 용 토큰 표준으로 2015년에 fabian vogelsteller 에 의해 제안되었으며 다음과 같은 기능들을 제공합니다.

  • 하나의 계정에서 다른 계정으로 토큰 전송
  • 현재 계정의 토큰 잔액 얻기
  • 현재 네트워크의 공급 가능한 토큰 총합 얻기
  • 계정의 토큰 금액을 제 3자 계정에서 사용할 수 있는지 여부를 승인


만약 스마트 컨트랙트가 아래 메서드와 이벤트를 구현한다면 ERC-20 토큰 콘트랙트라고 부를 수 있으며 일단 배포되면 이더리움에서 생성된 토큰을 추적할 의무가 있습니다.

Methods

function name() public view returns (string)
function symbol() public view returns (string)
function decimals() public view returns (uint8)
function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
JAVA


Events


event Transfer(address indexed _from, address indexed _to, uint256 _value)
event Approval(address indexed _owner, address indexed _spender, uint256 _value)
JAVA



같이 보기

Ref