커스텀 NFT
커스텀 NFT란?
NFT 커스텀 컨트랙트 배포 신청 API를 이용하면 여러 옵션을 선택하여 원하는 형태의 NFT 컨트랙트를 배포할 수 있습니다.
현재 EVM 계열 플랫폼을 지원합니다.
권한 시스템
지원되는 권한 시스템은 다음과 같습니다.
권한 | 내용 |
---|---|
OWNABLE | 관리자가 모든 권한을 가집니다. |
ROLES | 각 기능 별 권한을 분리할 수 있습니다. |
Ownable
관리자가 컨트랙트에 대한 모든 권한을 가집니다. 해당 오너쉽은 NFT Contract Method Execution 신청 API를 이용하여 이관할 수 있습니다. (transferOwnership
)
Roles
권한을 기능 별로 분리할 수 있습니다. NFT Contract Method Execution 신청 API를 이용하여 각 권한을 부여하거나 해제할 수 있습니다. (grant
, revoke
)
NFT 기능
아래와 같은 NFT 기능을 활성화할 수 있습니다.
기능 | 내용 |
---|---|
[공통] | |
BURNABLE | NFT 소유자가 자신의 NFT를 소각할 수 있습니다. |
OWNER_BURNABLE | 관리자가 특정 NFT를 소각할 수 있습니다. |
PAUSABLE | 관리자가 컨트랙트를 중지시킬 수 있습니다. (PAUSE , UNNPAUSE )컨트랙트가 중지되면 아이템 발행 및 소각을 진행할 수 없습니다. |
MINTABLE | 관리자가 NFT를 발행할 수 있습니다. 해당 기능이 비활성화되면 NFT 아이템을 발행할 수 없습니다. |
AIRDROP | 관리자가 같은 종류의 NFT를 여러 주소에게 발행할 수 있습니다. |
[ERC-721] | |
ENUMERABLE | 모든 NFT 리스트를 블록체인 상에서 확인할 수 있습니다.tokenOfOwnerByIndex , totalSupply , tokenByIndex 등 컨트랙트에 대해서 RPC를 조회할 수 있는 method를 지원합니다. |
URI_STORAGE | NFT를 발행할 때마다 URI를 입력받고 연결시킵니다. NFT 발행 시 URI를 필수적으로 입력해야 합니다. |
INCREMENTAL | NFT 아이템의 번호를 0번부터 순차적으로 부여합니다. NFT 발행 시 토큰아이디를 입력하지 않습니다. |
[ERC-1155] | |
SUPPLY | 토큰아이디 별 총 발행량을 확인할 수 있습니다. 컨트랙트에 대해서 RPC를 조회할 수 있는 method를 지원합니다. |
UPDATABLE_URI | 관리자가 URI를 수정할 수 있습니다. |
요청 예시
curl --request POST \
--url https://{{apiEndpoint}}/2.0/wallets/55/nfts/contracts/custom-deployments \
--header 'Authorization: Bearer ' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"contractSpec": "ERC721",
"nftRoleSystem": "ownable",
"nftFeatures": [
"MINTABLE",
"BURNABLE",
"OWNER_BURNABLE"
],
"requestId": "random-string",
"contractName": "test",
"tokenSymbol": "TEST",
"senderAddress": "0x3840a99FFB6A6c85CEB5697EEC0C55b1734baDaC"
}
'
응답 예시
{
"uuid": "745dc90f-8888-46f9-a9b5-a65ea5073d45"
}
Updated 10 months ago