본문 바로가기

[블록체인]/NFTX

[NFTX 파헤치기 시리즈 ③-4] NFTX 서비스 이용 절차 - 4. NFT 인덱스 펀드 발행하기

3.4. NFT 인덱스 펀드 발행하기

 

NFTX 플랫폼의 장점 중 하나는 누구나 허가 없이 펀드를 만들 수 있다는 점이다. NFT 인덱스 펀드를 발행하기 위한 첫 번째 단계는 NFT 볼트를 생성하는 것이다. 먼저 https://nftx.org/#/backend로 이동한다.

 

그림 12. Backend page

 

해당 페이지에서 지갑을 연결하면, NFTX XStore라는 두 개의 컨트랙트를 발견할 수 있다. 이번 글에서는 둘 중에 NFTX를 활용한 방법만을 다뤄보고자 한다. 우측 하단에 [...]을 클릭한 뒤 [Write...]를 선택한다.

 

그림 13. Backend page

[CreateVault]라는 함수를 발견할 때까지 스크롤을 내린다. 해당 함수에 네 가지 필드를 채워 넣어야 하며, 이번 튜토리얼에서는 TwerkyPepes를 예시로 사용했다.

 

1. Name of fund: Twerky Pepe (펀드 토큰이 가질 이름)

2. Token Name: TWERKY (토큰의 이름은 가능한 하나의 단어로, 7자를 넘지 않도록 유의)

3. Contract Address: 0xf4680c917A873E2dd6eAd72f9f433e74EB9c623C (NFT 컨트랙트 주소)

4. D2 Vault: false

 

그림 14. CreateVault

 

NFT 컨트랙트 주소가 확실하지 않은 경우 NFT OpenSea 페이지의 Chain Info dropdown 메뉴에서 찾아볼 수 있다. 링크를 클릭하면 주소를 복사할 수 있는 이더스캔(Etherscan)으로 이동한다.

 

그림 15. Screenshot from the Opensea page for Twerky Pepe

 

획득한 세부 정보를 바탕으로 [CreateVault]를 클릭하여 첫 번째 NFT 인덱스 펀드를 생성한다.

두 번째 단계는 볼트 ID를 찾는 것이다. 생성된 모든 펀드는 고유의 볼트 ID를 획득한다.

 

그림 16. Backend page

 

XStore의 컨트랙트 주소인 0xBe54738723cea167a76ad5421b50cAa49692E7B7을 복사하여 이더스캔으로 이동한다. 컨트랙트 주소를 붙여 넣고 Contracts Read Contract를 클릭한다. 그러면 다음과 같은 링크로 이동하게 된다.

 

https://etherscan.io/address/0xBe54738723cea167a76ad5421b50cAa49692E7B7#readContract

 

[vaultsLength]가 나타날 때까지 스크롤을 아래로 내린다. [vaultsLength]는 얼마나 많은 펀드가 생성되었는지를 보여준다. 아래 이미지를 통해 32개의 볼트가 생성되었음을 확인할 수 있으며, 0번부터 시작하기에 31로 숫자가 표시되었다.

 

그림 17. Showing the number of Vaults

 

우리가 생성한 TWERKY 펀드의 [vaultID] 29이다. XStore 컨트랙트에서 33. xTokenAddress까지 이동한 뒤, [vaultID]에 해당하는 29를 입력한다. 이후 링크를 클릭하면 토큰의 컨트랙트 주소를 확인할 수 있다.

 

그림 18. xTokenAddress

 

그림 19. Token Information

 

보이는 것처럼 Token Tracker는 사용자가 생성한 토큰 및 펀드의 이름을 포함한다. 만약 해당 정보가 사용자가 생성한 펀드와 일치하지 않는다면, 누군가 사용자가 펀드를 생성한 직후에 새로운 펀드를 생성했을 가능성이 있으므로 단계를 다시 밟아보는 것을 권한다.

 

세 번째 단계는 볼트 생성을 마무리하는 것이다. https://nftx.org/#/backend로 돌아가 NFTX [Write] 옵션에서 [finalizeVault] 함수를 찾는다. 이후 이전 단계에서 발견한 [vaultID]를 추가한다. 가스를 지불하면 첫 볼트를 생성할 수 있다.

 

그림 20. Backend page

 

네 번째 단계는 발행을 허가하는 것이다. 펀드 생성은 마무리되었기에, 사용자는 펀드에 NFT를 담을 수 있도록 허가를 받아야 한다. 본 단계를 진행하기 위해서는 이더스캔 NFT 컨트랙트 페이지 주소가 필요하며, 페이지 주소를 찾았다면 Contract -> [Write] 옵션으로 이동한다. 이후 NFT 컨트랙트와의 상호작용을 허가하기 위해 NFTX 프록시 컨트랙트를 구체화한다. 또한, 아래의 정보를 이더스캔의 [setApprovalforAll] 필드에 입력한다. 정보를 입력하고 Write를 누르면 트랜잭션 및 가스가 발생한다.

 

_operator: 0xAf93fCce0548D3124A5fC3045adAf1ddE4e8Bf7e (NFTX 프록시 컨트랙트)

_approved: true

 

마지막 단계는 발행한 펀드를 바탕으로 [Mint]를 활용하여 인덱스 펀드 토큰을 발행하는 것이다. NFTX 컨트랙트 주소로 이동하여 Contracts [Write as Proxy]를 클릭한 뒤, [Mint]를 선택한다. 포함해야 하는 정보는 아래와 같다.

 

payableAmount 0을 입력한다.

vaultID 사용자가 생성한 볼트의 ID

nftids [48] 대괄호 안에 넣어야 하며, 공백 없이 쉼표만으로 구분한다. OpenSea를 통해서도 정보를 찾을 수 있다.

d2Amount 0을 입력한다.

 

그림 21. Etherscan

 

Write를 누르고 가스를 지불하면 NFT가 펀드 안으로 들어가게 된다.

 

 

 

[NFTX 파헤치기 시리즈 ④] NFTX의 로드맵

4. NFTX의 로드맵 NFTX의 첫 번째 로드맵은 NFT → 펀드(ERC20) 대출 서비스를 운영하는 것이다. NFT 보유자들은 자신의 NFT를 안전하게 보관하는 동시에, 토큰(D1, D2 펀드)을 발행하는 방법이 아닌 다른

sam-jung.tistory.com