見出し画像

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カードの最終形態である。

まめちしき スマートコントラクトとは!?


ブロックチェーン上に設置されたプログラムの事で、自動販売機みたいなものだと想像してほしい。ユーザーがAのボタンを押すとコーラが出る、Bを押すとポカリが出る・・・みたいにボタンが沢山ついている機械だ。基本的にユーザーの入力なく勝手に動作する事はない。
ブロックチェーン上にはこのような自動販売機が星の数ほど存在しており、全てのNFTはその自動販売機から生まれている。
例えば2021年に発表したミニゴローは、先にミニゴロー製造用のコントラクトがデプロイしてあり、そこに「NFTをつくる」ってボタンがあって、それを押す事でミニゴローが次々と発生していた訳なのだ。
普段オープンシーやミントサイトなどでNFTをミントする人が多いと思うがこれはウェブサイトがコントラクトの操作を代行しているだけ。自分で直接ボタンを押せば普通にNFTをミントする事ができる。

ボタンってなんだ!?って思うかもしれないが、見てみると分かりやすい。
スマートコントラクトのページを開くと、本当に下のようにボタンがいっぱいついている!

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に移動し

これは上の欄に入力したアドレスの人が勝手にNFT抜けるようにしていいぽよ!(こわっ!)っていう操作だ。よく詐欺とかで、なんかよく分からんボタンをApproveしたらNFTを盗まれたっていう話を聞くが、ウェブサイト経由でこの部分を操作しているという事ですな。

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

Uint256は数字を入れろって意味。
TokenidのところにクリゴロのDayの番号 5とか6とかをいれYO。
複数ある場合は39,56,46,49 みたいな感じで入れればOKだ。

これだけでステーキングは完了だ!!簡単POW‼︎ヽ(*^ω^*)ノ


-----おまけ----
今回のコントラクトについているボタンを全解説する。
いろいろ押して遊んでみYO!!
管理者用のボタンは、管理者以外が押すと最終的にトランザクションが失敗するようになっているぽよ。

Read Contract 

  1. availableKiwamiTokens 
    コントラクトが保有しているキワミの在庫をGOROがチェックするときいに使う

  2. getAvailableKiwamiTokens
    これもコントラクトが保有しているキワミの在庫をGOROがチェックするときに使う。ここでキワミがもらえる訳ではないから注意!

  3. getStakeInfo
    誰か何をステーキングしてるかの情報が見れる。
    ステーキングした時間も見れるけど、1970年1月1日から何秒経過したかで表示されるので計算が必要

  4. goroNFT
    何を預ければいいかの情報。クリゴロのコントラクトが出てくる

  5. goroWisdom
    好きな数字を入力すると、GOROからの秘密のメッセージが見れる❤️

  6. kiwamiNFT
    何がもらえるかの情報。キワミNFTのコントラクトアドレスが見れる。

  7. lockPeriod
    ステーキングに必要なロック時間。1270日だが秒で表示される。

  8. owner
    コントラクトの管理者。GORODAO譲渡する予定。

  9. requiredGoroAmount
    何個GOROをステーキングしないといけないか。25とか出てくる。

  10. stakes
    GOROが使うやつ。ここでステーキングできる訳ではないので注意

Writecontract

  1. adminUnstakePartial (0x2f70e857)
    (管理者用)ステーキング解除するときに使う

  2. batchStake (0xc2127793)
    複数ステーキングするときに使う

  3. forceRescueNFT (0xe57542dc)
    (管理者用)トラブル対処用ボタン

  4. onERC721Received (0x150b7a02)
    (管理者用)トラブル対処用ボタン

  5. removeKiwamiToken (0x1f6c1990)
    (管理者用)ストック用キワミを管理するときに使う

  6. renounceOwnership (0x715018a6)
    (管理者用)管理を放棄するときに使う

  7. rescueAllNFTs (0x58c8aac4)
    (管理者用)トラブル対処用ボタン

  8. rescueERC20 (0xb2118a8d)
    (管理者用)トラブル対処用ボタン

  9. rescueETH (0x04824e70)
    (管理者用)トラブル対処用ボタン

  10. rescueNFT (0x9c13cd4d)
    (管理者用)トラブル対処用ボタン

  11. setLockPeriod (0x779972da)
    (管理者用)ステーキング期間変更用ボタン

  12. setNFTContracts (0xc7bb3fda)
    (管理者用)基本使う事はないがキワミとクリゴロ以外でステーキングしたいときに使う。

  13. setRequiredGoroAmount (0x48453fd1)
    (管理者用)ステーキング用のGOROの数を設定するボタン。

  14. stake (0xa694fc3a)
    ステーキングボタン

  15. transferOwnership (0xf2fde38b)
    (管理者用)管理者変更ボタン

  16. unstakePartial (0xd35674c5)
    ステーキング解除するときに使う

  17. withdrawKiwami (0x2c56f35f)
    (管理者用)キワミを引き出すときに使う



最後まで読んでくれた君だけにこの言葉を送りたい。

MOTSU NABE


GORO

いいなと思ったら応援しよう!