암호화폐/용어

Burn이란?

anecdote 2023. 11. 17. 01:00

Burn이란?

 

Burn(소각)은 Mint 한 토큰을 없애는 행위를 말한다. 보통은 해당 토큰의 유통량을 조절하여 가치를 높이기 위해 사용한다. erc20 이나 erc721 프로토콜에 burn과 관련된 함수는 없다. 다만 많이 사용하는 openzepplin에서 제공하는 erc721 template에는 burn 함수가 구현되어 있다.

 

function _burn(uint256 tokenId) internal virtual {
    address owner = ERC721.ownerOf(tokenId);

    _beforeTokenTransfer(owner, address(0), tokenId, 1);

    // Update ownership in case tokenId was transferred by `_beforeTokenTransfer` hook
    owner = ERC721.ownerOf(tokenId);

    // Clear approvals
    delete _tokenApprovals[tokenId];

    unchecked {
        // Cannot overflow, as that would require more tokens to be burned/transferred
        // out than the owner initially received through minting and transferring in.
        _balances[owner] -= 1;
    }
    delete _owners[tokenId];

    emit Transfer(owner, address(0), tokenId);

    _afterTokenTransfer(owner, address(0), tokenId, 1);
}
function burn(uint256 tokenId) public virtual {
    //solhint-disable-next-line max-line-length
    require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: caller is not token owner or approved");
    _burn(tokenId);
}

 

개발자가 아닌 이상 굳이 코드까지 이해할 필요는 없다. 기본적으로 아무도 사용할 수 없는 지갑으로 토큰을 보낸다고 생각하면 된다. Eater Address라고 하는 누구도 개인키를 알 수 없는 지갑이나 누구도 소유하지 않은 '0x0000000000000000000000000000000000000000' 지갑으로 보내는 방식이다. 

 

 

 

'암호화폐 > 용어' 카테고리의 다른 글

문시트란?  (0) 2023.12.04
MM (Market maker)란?  (0) 2023.12.01
밈코인이란?  (2) 2023.11.13
APY란?  (0) 2023.11.10
STO란?  (0) 2023.11.08