3.4. NFT 인덱스 펀드 발행하기
NFTX 플랫폼의 장점 중 하나는 누구나 허가 없이 펀드를 만들 수 있다는 점이다. NFT 인덱스 펀드를 발행하기 위한 첫 번째 단계는 NFT 볼트를 생성하는 것이다. 먼저 https://nftx.org/#/backend로 이동한다.
해당 페이지에서 지갑을 연결하면, NFTX와 XStore라는 두 개의 컨트랙트를 발견할 수 있다. 이번 글에서는 둘 중에 NFTX를 활용한 방법만을 다뤄보고자 한다. 우측 하단에 [...]을 클릭한 뒤 [Write...]를 선택한다.
[CreateVault]라는 함수를 발견할 때까지 스크롤을 내린다. 해당 함수에 네 가지 필드를 채워 넣어야 하며, 이번 튜토리얼에서는 TwerkyPepes를 예시로 사용했다.
1. Name of fund: Twerky Pepe (펀드 토큰이 가질 이름)
2. Token Name: TWERKY (토큰의 이름은 가능한 하나의 단어로, 7자를 넘지 않도록 유의)
3. Contract Address: 0xf4680c917A873E2dd6eAd72f9f433e74EB9c623C (NFT 컨트랙트 주소)
4. D2 Vault: false
NFT 컨트랙트 주소가 확실하지 않은 경우 NFT OpenSea 페이지의 Chain Info dropdown 메뉴에서 찾아볼 수 있다. 링크를 클릭하면 주소를 복사할 수 있는 이더스캔(Etherscan)으로 이동한다.
획득한 세부 정보를 바탕으로 [CreateVault]를 클릭하여 첫 번째 NFT 인덱스 펀드를 생성한다.
두 번째 단계는 볼트 ID를 찾는 것이다. 생성된 모든 펀드는 고유의 볼트 ID를 획득한다.
XStore의 컨트랙트 주소인 0xBe54738723cea167a76ad5421b50cAa49692E7B7을 복사하여 이더스캔으로 이동한다. 컨트랙트 주소를 붙여 넣고 Contracts → Read Contract를 클릭한다. 그러면 다음과 같은 링크로 이동하게 된다.
https://etherscan.io/address/0xBe54738723cea167a76ad5421b50cAa49692E7B7#readContract
[vaultsLength]가 나타날 때까지 스크롤을 아래로 내린다. [vaultsLength]는 얼마나 많은 펀드가 생성되었는지를 보여준다. 아래 이미지를 통해 32개의 볼트가 생성되었음을 확인할 수 있으며, 0번부터 시작하기에 31로 숫자가 표시되었다.
우리가 생성한 TWERKY 펀드의 [vaultID]는 29이다. XStore 컨트랙트에서 33. xTokenAddress까지 이동한 뒤, [vaultID]에 해당하는 29를 입력한다. 이후 링크를 클릭하면 토큰의 컨트랙트 주소를 확인할 수 있다.
보이는 것처럼 Token Tracker는 사용자가 생성한 토큰 및 펀드의 이름을 포함한다. 만약 해당 정보가 사용자가 생성한 펀드와 일치하지 않는다면, 누군가 사용자가 펀드를 생성한 직후에 새로운 펀드를 생성했을 가능성이 있으므로 단계를 다시 밟아보는 것을 권한다.
세 번째 단계는 볼트 생성을 마무리하는 것이다. https://nftx.org/#/backend로 돌아가 NFTX → [Write] 옵션에서 [finalizeVault] 함수를 찾는다. 이후 이전 단계에서 발견한 [vaultID]를 추가한다. 가스를 지불하면 첫 볼트를 생성할 수 있다.
네 번째 단계는 발행을 허가하는 것이다. 펀드 생성은 마무리되었기에, 사용자는 펀드에 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을 입력한다.
“Write”를 누르고 가스를 지불하면 NFT가 펀드 안으로 들어가게 된다.
[NFTX 파헤치기 시리즈 ④] NFTX의 로드맵
4. NFTX의 로드맵 NFTX의 첫 번째 로드맵은 NFT → 펀드(ERC20) 대출 서비스를 운영하는 것이다. NFT 보유자들은 자신의 NFT를 안전하게 보관하는 동시에, 토큰(D1, D2 펀드)을 발행하는 방법이 아닌 다른
sam-jung.tistory.com
'[블록체인] > NFTX' 카테고리의 다른 글
[NFTX 파헤치기 시리즈 ④] NFTX의 로드맵 (0) | 2021.07.12 |
---|---|
[NFTX 파헤치기 시리즈 ③-3] NFTX 서비스 이용 절차 - 3. 볼트 생성하기 (0) | 2021.07.12 |
[NFTX 파헤치기 시리즈 ③-2] NFTX 서비스 이용 절차 - 2. 펀드(ERC20)를 NFT로 교환하기 (0) | 2021.07.12 |
[NFTX 파헤치기 시리즈 ③-1] NFTX 서비스 이용 절차 - 1. NFT 예치하여 펀드(ERC20) 발행하기 (0) | 2021.07.12 |
[NFTX 파헤치기 시리즈 ②] NFTX 서비스 개요 (0) | 2021.07.12 |