토큰 유형 – NFT, FT, NTT

대체 불가능 토큰(NFT)

NFT는 디지털 자산 중 가장 흔한 유형이며, 고유 토큰을 표현하는 데 사용됩니다.

NFT 구조

심플 에셋의 NFT는 mdata (소유권과 관계 없이 생성자가 언제든 업데이트할 수 있는 데이터)와 idata (NFT 생성과 동시에 정해지며, 업데이트될 수 없는 데이터)로 구분됩니다.

이 둘 모두 스트링화된 JSON입니다. 예시: {\”key1\”:\”some-string\”, \”key2\”:5}

Category 는 내 NFT를 편의에 맞게 그룹화할 수 있는 선택적 필드입니다. 카테고리 이름은 12자 (a-z, 1-5) 이하여야 합니다.

오퍼/클레임과 전송 -NFT 전송 시, 자가 RAM을 지불합니다. 하지만 이 대신 NFT를 오퍼하면 이를 클레임하는 사용자가 RAM을 지불합니다. (참고: NFT 작성자가 많은 양의 RAM을 비축할 수 있게 해 사용자가 전송 시 지불해야 하는 양을 줄일 수 있도록 하는 기능이 현재 개발 중입니다.)

RAM 사용량

idata와 mdata 항목에 얼마나 많은 데이터가 저장되어 있느냐에 따라 NFT에 대한 RAM 사용량이 결정됩니다. 이 두 항목이 모두 비어 있을 때, 각 NFT는 276 bytes 바이트를 차지합니다.

idatamdata 에 기호가 추가될 때마다 1 바이트씩이 늘어납니다.

 

대체 가능 토큰(FT)

대체 가능 토큰을 필요로 하는 Dapp은 표준 eosio.token 컨트렉트를 사용할지, 심플 에셋 컨트랙트를 사용해야 할지 결정해야 합니다. 이 둘 사이의 차이는 다음과 같습니다.

심플 에셋에서,

  • Scope는 Symbol이 아니라 Author입니다.
  • Stat 테이블 상에 각 FT에 대한 추가적인 데이터 또한 포함됩니다.
  • 전송를 위해서는 심플 에셋 컨트랙트에서 transferf 액션을 사용해야 합니다.
  • 생성자가 authorcontrol 플래그를 설정해 놓은 경우, 사용자의 동의 여부와 상관 없이 생성자는 사용자의 FT를 전송, 소각 등을 할 수 있습니다.
  • 생성자의 계정 이름을 포함해 FT를 추적하는 테이블은 다양한 Dapp이 동일한 이름의 FT를 가질 수 있도록 합니다. (예시: https://bloks.io/contract?tab=Tables&table=accounts&account=simpleassets&scope=bohdanbohdan&limit=100)

(참고: 대체 가능 토큰은 전송 외에도 오퍼/클레임 기능을 가지고 있습니다. FT의 경우, 전송자가 RAM에 지불해야 하는 유일한 경우는 수신자가 이전에 해당 FT를 보유한 적이 없는 경우입니다. FT 테이블 생성에는 약 300 바이트가 사용됩니다.)

 

전송 불가능 토큰(NTT)

NTT가 사용되는 가장 흔한 두 가지 용례:

계정에 전송되는 게 아니라 부여되는 라이센스.

특정 계정에 주어지는 상품과 보상

NTT를 사용하는 이유:

제3자 자산 탐색자에게 나타나는 NTT.

심플 에셋이 사용하는 일부 기능 관련.

NTT에 관한 더 자세한 내용: https://medium.com/@cryptolions/introducing-non-transferable-tokens-ntts-2f1a532bf170