Skip to main content

NFTの発行から販売

このチュートリアルを終えると、Rinkeby ネットワークでの NFT のオークション取引を一通り行うことができます。

0.事前に必要なこと#

  1. Kyuzan Inc. に問い合わせ、プロジェクトのaccess-tokenを取得する
  2. Fortmaticから Rinkeby 用のアクセストークンを取得する
  3. #how-to-get-eth-for-rinkebytest-envを参考に Rinkeby の ETH を取得する

1.パッケージのインストール#

% npm i @kyuzan/mint-sdk-js

2.SDK の初期化#

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK({
'YOUR_ACCESS_KEY',
[4],
{
fortmatic: {
key: 'YOUR_FORTMATIC_KEY',
},
}
})

3. アイテム リスト を取得する#

Item List
const items = sdk.getItems()

3. アイテムの個別取得とアイテムの入札などのヒストリー取得#

Item List
const item = sdk.getItemById('hoo')

アイテムの入札などのヒストリー取得#

Item List
const itemLogs = sdk.getItemLogs('hoo')

4. アイテムに入札する#

アイテムの入札などには、ユーザーにウォレットに接続してもらう必要があります。

ウォレットへ接続#

Item List
await sdk.isWalletConnect() // false
await sdk.connectWallet()
await sdk.isWalletConnect() // true

入札#

Item List
await sdk.sendTxBid('itemId', 2)

5. アイテムを引き出す#

オークションに関しては、勝者が引き出すというステップが必要になります。

入札中アイテムの取得#

Item List
const items = await sdk.getItemsByBidderAddress('0x1111......')

ユーザーがオークションに勝っているかの判定#

Item.currentBidderAddressとユーザーのウォレットアドレスを比較して判定ができます。

await sdk.connectWallet() // required
const { address } = await sdk.getWalletInfo()
address === item.currentBidderAddress // オークションに勝っている

アイテムの引き出しは以下のメソッドで行えます。

await sdk.sendTxMakeSuccessfulBid('itemId', 'jp')

第二引数には、ユーザーの居住地のフラグを渡してください。NFT 購入に関しての消費税処理を行うために必要です。適宜、UI を準備してユーザーの居住地をユーザーに問うてください。

Mint で獲得したアイテムの取得#

Item List
const tokens = await sdk.getTokensByAddress('0x11111...')