NFTの発行から販売
このチュートリアルを終えると、Rinkeby ネットワークでの NFT のオークション取引を一通り行うことができます。
0.事前に必要なこと
- Kyuzan Inc. に問い合わせ、プロジェクトの
access-token
を取得する - Fortmaticから Rinkeby 用のアクセストークンを取得する
- #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. アイテム リスト を取得する

const items = sdk.getItems()
3. アイテムの個別取得とアイテムの入札などのヒストリー取得

const item = sdk.getItemById('hoo')
アイテムの入札などのヒストリー取得

const itemLogs = sdk.getItemLogs('hoo')
4. アイテムに入札する
アイテムの入札などには、ユーザーにウォレットに接続してもらう必要があります。
ウォレットへ接続

await sdk.isWalletConnect() // false
await sdk.connectWallet()
await sdk.isWalletConnect() // true
入札

await sdk.sendTxBid('itemId', 2)
5. アイテムを引き出す
オークションに関しては、勝者が引き出すというステップが必要になります。
入札中アイテムの取得

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 で獲得したアイテムの取得

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