直コンとはwebインターフェースを通さずに直接コントラクトを操作することを指します。
扱えるようになると、NFTの場合はプロジェクトのMINTボタンを押さなくても直接MINTができるなどの利点があります。
ですが、一歩誤れば全資産消失の可能性もありますのでご注意ください。
1.approve
approveとは許可を意味します。
今回はステーブルコインのUSDCのコントラクトを参考にします。
https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#writeProxyContract
approveを行うことにより特定のアドレスに対して自分の持っている通貨を移動させる権利を渡すことができます。
- ●Connect to Web3 を押してウォレットを接続
- approveタブを開く
- spender(address) に許可したいアドレスを入れる
- value(uint256) にどれだけの量を許可するかを入れる
- Writeを押す
これで、接続したアドレス が持っている USDC(開いているページ) を value 分だけ spender さんに動かす権利を委託します。という契約
簡単に言うとspenderにvalue分の小切手を渡すのをイメージするとわかりやすいかもしれません。
NFTの場合は、value(枚数)は無く、代わりにtokenIDを入れることでapproveすることができます。
【approveを使用した詐欺被害例】
NFTのプロジェクトのwebサイトでMINTボタンを押したのに、押したボタンにはトークンのapproveが設定されていて
もっているトークンを全部持っていかれてしまった。
NFTマーケットプレイスでNFTを売ろうとしてapproveしたが、実は詐欺サイトでNFTを盗まれてしまった。
【approveの活用例】
Defiのアドレスに対して通貨のapproveを行うことによりDefiが通貨の交換(swap)を行うことができる。
2.safeTransferFrom
safeTransferFromは主にNFTの譲渡に使用します。
今回はBAYCことBored Ape Yacht Clubのコントラクトを参考にします。
https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#writeContract
safeTransferFromを行うことにより特定のアドレスに対して指定したtokenIDのNFTを送ることができます。
TokenIDはOpenseaなどでNFTのページを開きDetailsのタブを開いて確認することができます。
1.●Connect to Web3 を押してウォレットを接続
2.safeTransferFrom タブを開く
3.from に自分(またはapproveされている)のウォレットのアドレスを入れる
4.to に送り先のアドレスを入れる
5.tokenId に自分(またはapproveされた)のNFTのtokenIDを入れる
6.Writeを押す
これによりAさんが持っているtokenIDのNFTをBさんに送信することができます。
3.mint
mintはNFTの発行で使用します。
プロジェクトによってmintではなくsummonやairdropなど様々な名前になっています。
mintできるアドレス(WhiteList等)をコントラクト内で管理している場合はいわゆる貫通はできません。
運営側も貫通mintのことはもちろん知っていますので、まともなプロジェクトで貫通できてしまうNFTはほとんど存在しません。
1.●Connect to Web3 を押してウォレットを接続
2.mint タブを開く
3.payableAmount がある場合支払いするethの量を入力
4.Amount にmintするNFTの数を入力
5.Writeを押す
これにより、Amountで指定した数のNFTが自分のアドレスにmintされます。