![見出し画像](https://assets.st-note.com/production/uploads/images/162714283/rectangle_large_type_2_5445bbdac17683b0d62e37f21af0d714.png?width=1200)
GOROのスマートコントラクト入門!!
YOYO!!
ついに最新版のVIPカード「VIP KIWAMI カード」を発表したYO。
今までのVIPカードはGOROがエクセルでホルダーを管理し、手作業で送付するというアナログな方法をとっていたんだけど、今回ついに
スマートコントラクトでの自動化に成功した。
そこで今回は
・今回つくったスマートコントラクトの仕様説明
・KIWAMIカードをゲットするための具体的手順
の2点を解説していくぽよヽ(*^ω^*)ノ
VIP KIWAMI カード用コントラクト
https://polygonscan.com/address/0xa0333635ba418ceb9fcc4ac3f2f39aa492f4d0f7#code
ブラック VIP KIWAMIカード用コントラクト
https://polygonscan.com/address/0x386a0cbc9ada5d98262cb339dccf02e1b322a0dd#code
<<カードの仕様>>
キワミカードはクリプトゴロー25体、
ブラックキワミカードはクリプトゴロー56体のロックが必要。
クリプトゴローはGOROの死後返却されるぽよ。
カードを持っている人は、GOROの現物アートを手にいれる権利がアンロックされる。今までのVIPカードと違い、GOROが生きてる限り永遠に有効なVIPカードの最終形態である。
![](https://assets.st-note.com/img/1732185744-M7xRW9gIYzTCP43v6yENwGat.png?width=1200)
まめちしき スマートコントラクトとは!?
ブロックチェーン上に設置されたプログラムの事で、自動販売機みたいなものだと想像してほしい。ユーザーがAのボタンを押すとコーラが出る、Bを押すとポカリが出る・・・みたいにボタンが沢山ついている機械だ。基本的にユーザーの入力なく勝手に動作する事はない。
ブロックチェーン上にはこのような自動販売機が星の数ほど存在しており、全てのNFTはその自動販売機から生まれている。
例えば2021年に発表したミニゴローは、先にミニゴロー製造用のコントラクトがデプロイしてあり、そこに「NFTをつくる」ってボタンがあって、それを押す事でミニゴローが次々と発生していた訳なのだ。
普段オープンシーやミントサイトなどでNFTをミントする人が多いと思うがこれはウェブサイトがコントラクトの操作を代行しているだけ。自分で直接ボタンを押せば普通にNFTをミントする事ができる。
ボタンってなんだ!?って思うかもしれないが、見てみると分かりやすい。
スマートコントラクトのページを開くと、本当に下のようにボタンがいっぱいついている!
![](https://assets.st-note.com/img/1732188398-oOxfJPuZQ25gnvH8S6mX3b7A.png?width=1200)
Code:スマートコントラクトのコードを読むページ。スマコンのタイトルなどが書いてるので、コントラクトを見分けるときに使うかもしれない。
Read Contract:誰がどのトークンを持ってるか、とか情報を見るだけのボタンがついているページ
WriteContract:ちょっと複雑なボタンがついているページ。
NFTをつくる、NFTをあずける、所有権を移動する、バーンする、みたいな・・・。それぞれのボタンを押すと具体的にどこにNFTを送るのか?みたいな入力欄が出てくるぽよ(ちなみに、ボタンは管理者じゃないと反応しないボタンと、誰でも押せるボタンの2種類がある)。
uint256とかboolとか謎のアルファベットが沢山あってむずかしげに感じるかもしれないが、内容を知ると非常にシンプルなのである。
🐤KIWAMIスマートコントラクトの仕様説明🐤
・クリプトゴローをステーキングすると、規定数に達した時点で自動的にVIPカードが送付される(ブラックは56体、ノーマルは25体)。
・規定数に達した時点で送付されるので、例えばノーマル用のコントラクトに50体ステーキングしてもカードが2枚送られてくる事はない!
(ウォレットを分ければ可能)
・ロック期間は1270日間で、最初の1体目のクリプトゴローをステーキングした時点でカウント開始され、ウォレットごとに期間が計算される。
つまり、将来的にVIPカードをゲットする予定の方は、とりあえず今すぐ1体ステーキングし、残数の24体や55体は揃った時点で一気に投入するのが現状最も効率的なステーキング方法ではあるが、もともとステーキング期間が長すぎるので、そこまで気にしないでもいいかもしれない。
※ただし、ステーキング期間は変更できる仕様にしているため、DAO投票などで将来変わる可能性あり。
・ふつうのVIPカードをゲットした後でブラックカードが欲しくなった場合は、GOROに相談すれば柔軟に対応する(いろいろなワガママが許されるのがVIPなのだ)。
・とくに理由はないが、VIPカードの番号はランダムに送付されてくる。
🐤具体的にどうすればいいのか🐤
やる事自体はすごく簡単だ
ステップ1:クリプトゴローのコントラクトに行き、NFTを転送していいぽよの許可を出す。
ステップ2:VIPカードステーキングのコントラクトに行き、クリゴロを預ける操作をする。
の2つだけである。
具体的に見ていこう。
🚨STEP1🚨 許可を出す
まず、下記からクリプトゴローのスマートコントラクトページを開き、
https://polygonscan.com/token/0x6c621364993e5cd4c6468930d287ba76ef64f366#writeContract
WriteContract>>Connect to web3でメタマスクを接続。
9番、serApprovalForAllに移動し
![](https://assets.st-note.com/img/1732189596-GM2fJyHUTVlbFzD6S8901PEa.png?width=1200)
Operatore(address)に下記いづれかを入力
KIWAMI
0xA0333635Ba418cEB9fcC4Ac3F2f39aa492f4d0f7
ブラックKIWAMI
0x386A0cbc9ADa5d98262cb339dCCF02e1B322A0DD
下の欄のApproved(bool)はTrue true ←全部小文字
(逆に与えた許可を取り消したい時はfalse)
と入力。
Writeして完了!!!
※バグが出る場合は1番Approve欄でクリゴロ一体づつApproveする方法もあり。
🚨STEP2🚨 ステーキングする
次はキワミステーキングのページに移動する。
VIP KIWAMI カード用コントラクト
https://polygonscan.com/address/0xa0333635ba418ceb9fcc4ac3f2f39aa492f4d0f7#code
ブラック VIP KIWAMIカード用コントラクト
https://polygonscan.com/address/0x386a0cbc9ada5d98262cb339dccf02e1b322a0dd#code
1体づつステーキング WriteContract>15番のStake
5体までまとめてステーキング WriteContract>3番のBatchStake
![](https://assets.st-note.com/img/1732190760-SMgERKsXW9YTc365JdL0Qarn.png?width=1200)
TokenidのところにクリゴロのDayの番号 5とか6とかをいれYO。
複数ある場合は39,56,46,49 みたいな感じで入れればOKだ。
これだけでステーキングは完了だ!!簡単POW‼︎ヽ(*^ω^*)ノ
-----おまけ----
今回のコントラクトについているボタンを全解説する。
いろいろ押して遊んでみYO!!
管理者用のボタンは、管理者以外が押すと最終的にトランザクションが失敗するようになっているぽよ。
Read Contract
availableKiwamiTokens
コントラクトが保有しているキワミの在庫をGOROがチェックするときいに使うgetAvailableKiwamiTokens
これもコントラクトが保有しているキワミの在庫をGOROがチェックするときに使う。ここでキワミがもらえる訳ではないから注意!getStakeInfo
誰か何をステーキングしてるかの情報が見れる。
ステーキングした時間も見れるけど、1970年1月1日から何秒経過したかで表示されるので計算が必要goroNFT
何を預ければいいかの情報。クリゴロのコントラクトが出てくるgoroWisdom
好きな数字を入力すると、GOROからの秘密のメッセージが見れる❤️kiwamiNFT
何がもらえるかの情報。キワミNFTのコントラクトアドレスが見れる。lockPeriod
ステーキングに必要なロック時間。1270日だが秒で表示される。owner
コントラクトの管理者。GORODAO譲渡する予定。requiredGoroAmount
何個GOROをステーキングしないといけないか。25とか出てくる。stakes
GOROが使うやつ。ここでステーキングできる訳ではないので注意
Writecontract
adminUnstakePartial (0x2f70e857)
(管理者用)ステーキング解除するときに使うbatchStake (0xc2127793)
複数ステーキングするときに使うforceRescueNFT (0xe57542dc)
(管理者用)トラブル対処用ボタンonERC721Received (0x150b7a02)
(管理者用)トラブル対処用ボタンremoveKiwamiToken (0x1f6c1990)
(管理者用)ストック用キワミを管理するときに使うrenounceOwnership (0x715018a6)
(管理者用)管理を放棄するときに使うrescueAllNFTs (0x58c8aac4)
(管理者用)トラブル対処用ボタンrescueERC20 (0xb2118a8d)
(管理者用)トラブル対処用ボタンrescueETH (0x04824e70)
(管理者用)トラブル対処用ボタンrescueNFT (0x9c13cd4d)
(管理者用)トラブル対処用ボタンsetLockPeriod (0x779972da)
(管理者用)ステーキング期間変更用ボタンsetNFTContracts (0xc7bb3fda)
(管理者用)基本使う事はないがキワミとクリゴロ以外でステーキングしたいときに使う。setRequiredGoroAmount (0x48453fd1)
(管理者用)ステーキング用のGOROの数を設定するボタン。stake (0xa694fc3a)
ステーキングボタンtransferOwnership (0xf2fde38b)
(管理者用)管理者変更ボタンunstakePartial (0xd35674c5)
ステーキング解除するときに使うwithdrawKiwami (0x2c56f35f)
(管理者用)キワミを引き出すときに使う
最後まで読んでくれた君だけにこの言葉を送りたい。
MOTSU NABE
GORO