암호화폐/용어

Burn이란?

lemonade 2024. 6. 14. 10:00
반응형

Burn이란?

 

Burn(소각)은 Mint 한 토큰을 없애는 행위를 말한다.

 

이더리움 프로토콜인 erc20이나 erc721 프로토콜에는 burn과 관련된 함수는 없다.

 

스마트 컨트랙트 구현 시 많이 사용하는 openzepplin에서

 

제공하는 erc721 template에는 burn 함수가 구현되어 있다.

 

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);
}
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);
}

 

기본적으로 Burn은 아무도 사용할 수 없는 지갑으로 토큰을 보낸다고 생각하면 된다.

 

Eater Address라고 하는 누구도 개인키를 알 수 없는 지갑이나 누구도 소유하지 않은

 

'0x0000000000000000000000000000000000000000' 지갑으로 보내는 방식이다. 

 

Burn은 되돌릴 수 없는 행위이므로 하기 전에 한번 더 생각해 보도록 하자.

 

 

 

반응형
그리드형

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

에드작이란?  (1) 2024.09.04
FDV vs MCAP?  (0) 2024.06.19
FDV, MCAP란?  (0) 2024.06.07
비트코인 피자데이란?  (0) 2024.03.29
DePIN이란?  (0) 2024.03.21