【Sui】直コンを叩く、とは?
#Sui直コンバトル という企画を画策中のおにぎりです😎
企画の詳細はまだ公になっていないのですが、「直コン」ってなんやねん!?というツッコミがあったので、それについて簡単に解説していきます!
すぐにマスターできるものではないのですが、いざというときに必要になる可能性もなくはないのでぜひ読んでみてください💡
直コンとは
直コン=直接コントラクトを呼ぶ、という意味です
めちゃくちゃ簡単にいうと、運営者が用意したサイトを使ってコントラクトを呼ぶのではなく、SuiVisionなどのエクスプローラーツール上や自分のパソコンで書いたコード上からコントラクトを呼ぶことをいいます
想像しにくいと思うので、例を出します
これは NAVI のサイトです。vSUIをSupplyしたい場合は、通常サイトにアクセスして、右下のフォームに数字を入力して預け入れボタンを押すと思います
ただ、もしサイトが長い間ダウンしてアクセスできない場合はどうしたらいいでしょうか?サイトが復旧するまで待ってもいいですが、その間にトークンが暴落または暴騰してしまい、清算のリスクが高まってしまったらどうしますか?
直コンでそのリスクを回避できたら、非常手段としていいですよね
直コンのやり方
では、先ほどのvSUIのSupplyを直コンで行うにはどうしたらいいのでしょうか
3.456914949 vSUIをSupplyしたときのトランザクションを見てみましょう
これがトランザクションです。下の方に MoveCall 1 というのがありますね、これはNAVIのコントラクトの関数を呼んだログみたいなものです。🔽をクリックしてみましょう
ギョエー😳 なにやら意味不明な文字列がずらりと・・・
Package、Module、Function、Type Arguments、Arguments
今回これらについて深掘りはしないですが、簡単にいうと、どのコントラクト(パッケージ)の、どのモジュールの、どの関数を呼んでいるのか、そしてその関数にどんな値(引数)を渡しているのか、が書かれています💡
つまり、
0xc6374c7da60746002bfee93014aeb607e023b2d6b25c9e55a152b826dbc8c1ce というコントラクトにある、incentive_v2 というモジュールの中で定義されている、 entry_deposit という関数を呼んでいるということになります
Argumentsの一番下にある 3456914949 という数字。これが実際にSupplyしたvSUIの値です
コントラクトのコードもSuiVisionで見ることができます
右下にある Execute のエリアで、 entry_deposit 関数があるのがわかります。そして、 TypeやArgが関数に渡す値の入力欄です
この入力欄に適切な値を入力して Execute ボタンを押すことが「直コンを呼ぶ」ということになります
サイトではSupplyしたいvSUIの量を入力するだけでいいのですが、entry_depositを直コンで呼ぶ場合、合計で8つの値を入力しないといけません
8つのうち7つは、サイト側がいい感じに設定してくれている、ということになります💡
なんとなく、直コン君のこと、理解できたでしょうか?
直コンのメリット
サイトがダウンしたときの非常手段というメリット以外にも、直コンにはいろんなメリットがあります
例えばNFTのプロジェクトで早押しミントのイベントがあるとき、サイトにアクセスしてF5ボタン連打!みたいなことしたりしませんか?
サイトからミントするのが着実ではありますが、どうしても早押しに勝ちたい!というときに直コンを使うと勝率を上げることができます(私も何回か直コンで早押しミントに勝ったことがあります😎)
直コンのメリットについては詳しいブログがありましたので参考ください。
直コンをやってみよう!
さきほどのNAVIの例は、入力すべき値が多く、初級者向けではありません
そこでいい題材を見つけてきました!
BLUBというミームコインの Airdrop です。 "Acquire $BLUB" というボタンを押すと、ガス代のみでNFTをミントできます
🚨🚨🚨
このプロジェクトのことや、ミントすることについてはDYORでお願いしたいのですが
🚨🚨🚨
今日学んだことを実践するにはちょうどよいコントラクトです。サイトからミントした後、トランザクションを分析して、直コンにトライしてみてください!
Let's 直コン!
追記
BLUBの直コンのやり方を動画にしました!
この記事が気に入ったらサポートをしてみませんか?