週刊RUG増刊号 #1.5 コントラクトで養分に差をつけろ!直コンファーム特集

Rugtori Blockchain
CryptoKudasaiJP
Published in
26 min readJul 18, 2021

増刊号はじまりました

©HAPPINESS

どうも養分代表、らぐとりこと旧やきとり(@rugrugpudding)です。
みんな楽しいRUG生活送ってるっ!?⠀


まだ創刊号しか発行していないのにいきなり増刊号になりました。
まだ#2も用意できないのにどうしましょう。

それだけみなさんの関心が高いということでしょうか。たぶん日常生活を普通に送っている方が幸せになれると思います。でもやっちゃうんだよな~~~

前回のRUG

⠀⠀

今日は、くださいみかん農園より

・ファーマーアイドルmicanちゃん(@angel65535

・番犬係0x_DeFiはかせ(@0x_defi

・そして特別講師にた氏(@taketomoP

をお招きしております。⠀

た:Fomationの偽Telegramに騙されて、5000$の偽Formを直コンSwapした「た」です。

0x_DeFi:bullish

キャーミカンチャーン/

今日の記事をざっくり説明すると

・スマートコントラクトについての理解が深まり

・トークンのスワップ

・LPの作成

・FarmにLPの預入

スマートコントラクト経由で出来るようになります。

文字だと分かりづらいので、パンケーキスワップを具体例を挙げますね。

パンケーキから暗号通貨に入った方も多いのではないでしょうか?

(流動性提供と報酬の仕組みに関しては、この記事を読んでいる聡明な読者様たちは全く興味無いと思うので、詳しく知りたい方はえらいひとの記事でも読んでください。)

一世を風靡したパンケーキスワップ
親の顔より見たスワップ画面
LP組む画面ですね。いつも思うんですが、読み込み遅くないですか?
農場に預け入れる画面、すっかりメニューも増えましたね

Farm(農場)が何かよく分からない方に説明しますと、パンケーキを植えるとパンケーキが生えてくるというアレです。書いてて意味が分かりません。

農場ブームに火をつけたのは、やはり2020年のYam(芋)だと個人的には思っていますが、その辺りの話をするとめちゃめちゃ長くなるので、チャートだけ貼ってお茶を濁すことにします。

やったねたえちゃん!2億円が1万円になったよ!

そもそも暗号通貨の世界は、ある一定のトレンドがあり、そのトレンドが資金と共にグルグル回るイメージがあります。

新規トークンIDO上場戦も落ち着いてきたので、次はまたFarmブームが来るのではないでしょうか。

先日V2の $ICE が出ていた $TITAN もFarmです。 誰が3年預けるのアレ。

神の逆鱗に触れたらしい

Polygon(MATIC)の $DINO もですね。

今日のこれ出来るようになる必要ある?と思わずにはいられませんが、これが出来るようになるとある程度の損失をカバー出来たり、逆に利益のチャンスも得られる可能性があります。

なので、不幸にも暗号通貨に魅入られてしまった同志たちには是非とも覚えて帰って頂きたいと思います。

でも深入りしたくない人はここでやめてもいいんだよっ!!

さあっ!平和な世界に戻ってくださいっ!!ささっ!!!!

(ライバル増えるとこまります)

‥‥・*・‥‥………‥‥・*・‥‥………‥‥・*・‥‥………‥‥・*・…

さて、そもそもスマートコントラクトってなあに?という方も多いと思いますので、ここは識者のみかんちゃんに聞いてみましょう!

はい!承りましたファーマーアイドルのmicanですっ

本邦初公開のみかん大先生

かわいいっ!!かわいすぎるっ!!!!

(描いて下さった森井ケンシロウ様(@morii)・衣谷ソーシ様(@so_shi_gp)ありがとうございます!)

(;´Д`)ハァハァフンフンチェケソウソウ

mican:・・・(´・ω・`;)

魔界DeFiを遊ぶ上で欠かせないスマートコントラクトとは一体なんなのでしょうか?

よく見る解説では、自動販売機に例えられていますね!

100円を自動販売機にいれると飲み物が自動的にもらえる

これがスマートコントラクトなのだ!!

やきとり:ふむふむ、スマートコントラクトっていうのは自動販売機をつくる仕組みなんですね。

Q. 自動販売機に100円を入れるとどうなりますか?

S次郎:100円が入ります

しかしこれではまったく伝わりませんよね….。

ここではスマートコントラクトを使うと何ができるのか、

何がスマートコントラクトで動いているのかを説明しましょう。

キャーミカンチャーン/

0x_DeFi:bullish

⠀⠀

皆さんがよく使うUSDC、実はあれ自体が「Aさんの残高を減らしBさんの残高を同量増やす」といった契約のもと動くスマートコントラクトなのです。

このような契約が定められているため、USDCの残高を勝手に増やすことができなくなっているのです。

USDCの残高を増やすには、必ずAさんの残高をへらすほか方法はありません。

やきとり:USDCの総量は一定、ということでしょうか?

基本的にはそうです。

特例として、USDCの管理人のみ「Aさんを必要とせず、Bさんの残高を増やす」といった契約を実行できるように作られています。

これが言わゆるミントですね。

やきとり:なるほど、普段から何気なく使っていたUSDCもスマートコントラクトで動いていたんですね

この記事の中ででてくるファーム、あれはスマートコントラクトの塊ですね!!!

ファームの仕組みについてはまたの機会に….とっても面白いですよ。

やきとりファームコントラクト想像図

さて、そんな何気なく使っているスマートコントラクトですが、実はEVM(イーサリアムバーチャルマシン)といった基盤の上で動いているんです。

やきとり:なにそれかっこいい

少し疑問に思ったことはないでしょうか?

イーサリアムでも、BSCでも、ポリゴンでもどうして同じ操作でつかえるのだろうと

その理由はスマートコントラクトを実行する基盤がすべてEVMで設計されているからなのです。

外側はチェーンによってPowやPOS、ブロック生成時間等、色々変わってきますが、

スマートコントラクトを実行する基盤が同じだからこそ実現できることなんですね。

やきとり:なるほど、それでBSCのコントラクトでもswapETHとか書いてあるんですね。こぴぺこぴぺ。

みかん先生ありがとうございました!

ではスマートコントラクトが何か分かったところで、実際にコントラクトをさわってみましょう!

解説をしてくださるのはさんです!

死ぬ気でスワップ

直コントラクトの手法 「Swap編」

週間RUG読者の皆様、初めまして。今回、「直コントラクトの手法 Swap編」を寄稿させて頂きます「た(@taketomop)」と申します。

早速ですが、「フェアローンチ」という言葉をご存知でしょうか?

トークンのプレセールなどが存在せず、誰もが告知された時間帯からしかトークンを購入できないスタイルのローンチ方法ですね。

しかし、実際「フェアローンチ」は全くフェアでは無いのです。

やきとり:なんやて

今回の記事で扱う「直コンswap」などテクニカルな手法を用いるとPancakeSwapのUI上から購入する場合と比べて、より早くトークンを購入することが出来るのです。

そのため、PancakeSwapのUIのみでフェアローンチに参加することは「死」を意味します。

この記事で「直コンSwap」を学んで、フェアな土俵で戦えるようにしましょう!

*この方法ととても相性のいい「承認前トランザクションの監視」はまた別に寄稿させて頂きます。

やきとり:そこまで言っちゃうんですか( ゚д゚)

さて、よく稼いでいる方がおっしゃっている所謂「直コン」のやり方をこのnoteにまとめたいと思います。

① BNB→任意のトークン(例:Cake)

必要なもの

・任意の数量のBNB

WBNBのコントラクト

・任意のトークンのコントラクト(例:Cake

・Routerのコントラクト(例:PancakeswapRouterV2)←独自Routerが使われることはあまりありません。

今回は、BNB→Cakeを例にコントラクト直を行っていきます。

手順1

PancakeswapRouterV2」にBscScan上でアクセスします。

「Contract」タブを選択し、さらに「Write Contract」を選択します。

その後「Connect to Web3」からウォレットをつなぎます。

手順2

今回はBNBからほかのトークンにSwapすることを目的としているので、10番の「swapExactETHForTokens」を使用します。

では、上から順にひとつづつ解説していきたいと思います。

SwapExactETHForTokens:SwapしたいBNBの数量を入力します。

amountOutMin:スリッページの設定です。これを0にすることでPancakeswapのUI上では49%までしか設定できないスリッページを無限にできます。(注:スリッページ無限を用いると悪意のあるBotに高値で買わされる危険性があります。)

path:どのLIQを使ってSwapするかを明記します。(今回はBNB→Cakeのコントラクトを記載)

to:誰に送るのかを記載します。(自分のアドレス)

deadline:Txが詰まってしまった場合の締め切り時間を設定します。unixの時間変換ツールを用いて、現在よりも後の時間を設定します。私は20分後を指定します。

手順3

これらすべてを埋めることが出来たら、「Write」を押します。するといつものメタマスクの画面が出ますので、内容に相違がなければ確認を押してください。

②任意のトークン(BUSD)から任意のトークン(Cake)

必要なもの

・任意の数量のトークンA

・トークンAのコントラクト(例:BUSD

・任意のトークンBのコントラクト(例:Cake

・Routerのコントラクト(例:PancakeswapRouterV2)←独自Routerが使われることはあまりありません。

BNBではない任意のトークンから任意のトークンにSwapすることを目的としているので、14番の「swapExactTokenForTokens」を利用します。

①で説明した部分は割愛しますが、異なる部分の解説を行います。

今回異なる部分は「path」及び「amountin」です。BNBからSwapする際には、BNBとCakeのコントラクトを指定しましたが、ここではBUSDとCakeのコントラクトを指定します。また「amountin」の入力指定がuint256となっていますのでそちらにも注意します。

ただし、この入力のみでSwapするためにはBUSDとCakeのLIQが入っていることが前提条件となります。もし、Cake-BUSDのペアがないのにこの指定をするとSwapすることが出来ません。その際はBUSD-BNB-Cakeのルートを指定しましょう。

具体的な入力は以下に示します。

amountin:大変なことになっていますが、「1000000000000000000=1BUSD」となります。そこだけ注意していてください。

Path:今回はBUSDのコントラクトとCakeのコントラクトを指定しています。

入力が終わりましたら、「Write」を押して内容に相違がなければそのまま取引を確定させてください。

mican:スマートコントラクト上では小数点を扱うことはできず、すべて0以上の整数で表現されています。


今回のBUSDでは小数点が18桁あるので、1BUSDを表現したい場合は1の後に0を18個付ける必要があります。


小数点の表現はトークンによって様々なので注意してくださいね!

トラブルシューティング

Q:ガス代おかしいんだけど??

A:どこかで間違えてるのでもう一度この記事を読み直してください。それでも解決しない場合はApproveをしていないことが考えられます。

まとめ

内容としては以上となります。どうしてもわからないことがありましたら、Twitter(@taketomop)で受け付けますので、ご連絡ください。ただし、記事を読めばわかるような疑問には一切お答えしません。

また、この内容のコピペなどは禁じます。

では、養分にされない楽しい魔界ライフを。

留意事項

これはコントラクトの操作説明をしたものであり、一切の投資助言などではありません。また、この情報をもとに取引して損失を被った場合でも一切の損害の補填は行いません。

やきとり:特別講師のたさん、ありがとうございます!

さっそく上で学んだEVMらしさが出てましたね。ETHスワップなんちゃら。

これを無料で公開しちゃうなんてすごいですね、文章からも誠実なお人柄が見えますね。

0x_DeFi:bullish

やきとり:あ、そうですね、次はおいぬさまの番になります

直コンファーム方法+怪しい豆知識

0x_DeFi:

ハジメマシテ、国立ください研究所RUG研究科犬博士の0xdefi.ydです。

直コン大好き”bullish”か”bearish”しか言わない魔界トレーダーです。直コンファーム方法+怪しい豆知識をポピュラーなPancakeSwapを使って書いていきたいと思います。

Bullish環境: PC , Metamask,Chrome

やきとり:bearish聞いたことない

0x_DeFi:bullish

Bullishは牛からきています

とりあえず、準備するもの

PancakeSwap MasterChef.

https://bscscan.com/address/0x73feaa1ee314f8c655e354234017be2193c9e24e#readContract

PancakeSwap Router

https://www.bscscan.com/address/0x10ED43C718714eb63d5aA57B78B54704E256024E#code

Simple Unit Converter

https://eth-converter.com/

やきとり注:マスターシェフはなんかえらいひと、ルーターはスワップを担うスマートコントラクトです

STEP1.プール情報の確認

PancakeSwap MasterChef のReadContractへアクセスして10.poolLengthを確認しましょう。

PancakeSwapのコントラクト内には終わったプールを含め、

430個のプール(0–429) があることを確認できます。

例①

>>lp Token adress : 0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82

こちらの、lp Tokenに表示されているアドレスがプールで使用されているLPペア・ トークンです。Pool 0で使用されているのはCAKEデス

やきとり:いや多すぎやろ。なんで430個もプールあんねん!!

例②: Pool Infoに50と打ち込んでみましょう。

allocPoint uint256 = 0になっているプール=終わってる or 停止中なのでリワードは出 ませんッ。lpTokenを確認すると BNB — TENのLPペアということが判りました。

念のためにPancakeSwapをCHECK!

こんな感じで、割と簡単にマスターシェフ内の各プール情報を確認することがデキマス。

やきとり:そういやTENETって最近見ませんね

た:PCSみたいにプールが多いと総当りはめちゃめちゃ面倒なので、GitHubとかにソースコード上がってればカンニングすることで特定が楽になりますよ!

0x_DeFi:bullish

補足と怪しい豆知識

- allocPoint がデカいプールほどハイリスク・ハイリターン

- UIに無い隠しプールが見つけられるかも

-テスト用マスターシェフコントラクトのリワードトークンと本番が同じでプールが生きてたら…へへへ

やきとり:(∩゚д゚)アーアーきこえなーい

ちゃんと許可を取りなさい

STEP2.MasterChefへのApproveとトークン枚数の確認方法・LP作成方法 :)

た注:approveをするということは、その範囲内でのトークン利用権をapprove先のアドレスに与えることになります。

やきとり:approveの意味をググってみましょう

た:そのため、RUGの際にウォレットの中のお金まで抜かれるって被害が出てくるんです。これを防ぐためには、余り信用のできないMasterChefに対して利用制限をかけたapproveを行うのも一つの手となります。

例えば100BUSDの使用権だけをMasterChefに対して与えると、Walletにどれだけ残っていても100BUSDしか抜かれません。しかし、無制限approveを行っていると全てのBUSDが抜かれてしまいます。

やきとり:20 WBNB抜かれた私の話してます?

STEP1の例①で確認したプール0を使用して直コンステークやっていきましょう。

CAKEを準備した後、CAKEコントラクトのReadContractへGO!

https://bscscan.com/address/0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82#readContract

‘4.balanceOf’で自分のアドレスを入力してQuery

uint256 : 1000000000000000000 この数字をメモしてください。(入力したアドレスのCAKE保有枚数がuint256で表示されてます。)

次に、CAKEコントラクトのWriteContractへアクセスし、Connect to Web3 ボタンを押してウォレットを繋げて、1.approveへ GO!

spender -> Masterchef アドレス : 0x73feaa1eE314F8c655E354234017bE2193C9E24E

amount (uint256) ->

a.Unlimited approveをする場合は “-1”と入力

b. 自分の持っている枚数だけ approve したい場合は、 ‘4.balanceOf’でコピーした数字 を入力

c.Revokeしたい場合は、”0”を入力

今回はAかBを入力しWriteボタンをクリック→ViewYourTransactionをクリックで確認してくだサイ

流動性提供

LPの作り方

PancakeSwap RouterのWriteContractへアクセスしてください。下記を使用します。

※LP作成に使用するトークンは必ず、PancakeRouterへApproveしてください。

1. addLiquidity

2. addLiquidityETH

1. addLiquidity はTOKEN A — TOKEN BのLPを作成するときに使用します。

例:BUSD-USDT

2. addLiquidityETHはBNBベースのLPを作成するときに使用します。

例:CAKE-BNB

  1. addLiquidityではBUSD-USDTを使って書いていきましょう。

afdafas

sad
BUSD:0xe9e7cea3dedca5984780bafc599bd69add087d56USDT:0x55d398326f99059ff775485246999027b3197955WBNB:0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095cBUSD-USDT: 0x7efaef62fddcca950418312c6c91aef321375a00BUSD-WBNB:0x58f876857a02d6762e0101bb5c46a8c1ed44dc16
tokenA(address) : 0xe9e7cea3dedca5984780bafc599bd69add087d56 (BUSD Contract)tokenB: 0x55d398326f99059ff775485246999027b3197955 (USDT Contract)amountADresired:Aトークンを使用する枚数amountBdesired: Bトークンを使用する枚数amountAmin:LPを作る際に、Aは最低でもX枚使用する。amountBmin:LPを作る際に、Bは最低でもX枚使用する。to(address):自分のアドレス(送り先)deadline: ↑のほうで、たさんが説明してくれてマス!

今回は、BUSDトークンを最低でも1枚使ってLPを作るという条件で設定しました

a2. addLiquidityETHを使って書いていきましょう。

addLiquidityETH: BNBの枚数 (普通の数字で入れてください)token(address): トークン側のコントラクトamountTokenDesired:トークンを使用する枚数amountTokenMin:LPを作る際に、最低トークンをX枚使用する。amountETHMin: LPを作る際に、BNBを最低X枚使用する。to(address) :自分のアドレス

補足と怪しい豆知識

上場前のトークンコンラクトへGO 1.Approve

Spender = PancakeRouter amount = -1 と入力すれば、Preapproveがデキマス。

僕はよくわからないDEGENファームでStable LPを使ってファームする場合は、aを使います。1番最初にLPつくれれば悪いことできます。(気を付けてね。。。)

既にあるLPで比率がおかしいとエラー吐くので確認してみてください

価格変動が高いトークンの場合でもLPが作れちゃいます。

STEP2を何回も読み直して、自分で実践してください。

やきとり:Degenてよく聞くけどどういう意味なんでしょう?

0x_DeFi:bullish

mican:いや説明してください💢

0x_DeFi:アッはい、auditされてなかったり、unverifiedコントラクトだったり・・・Degen(魔界?)

やきとり:日本語でおk

やるしかない

STEP3. Stake,Harvest,Deposit,Withdraw,その他

5. enterStakingと6. leaveStakingはネィティブトークン(CAKE)の単体プールでしか使いません。LPトークンやその他トークンの単体プールでは、2.depositと5.widthdrawを使用します。使い方はほぼ変わらないので、2.depositと5.widthdrawの使い方については、簡潔に説明していきます。MasterChef Write ContractへGO

Stake: 5.enterStaking → 預けたい枚数をuint256で入力→Write

Harvest:5.enterStaking = 0 →Write→Harvest できますー。 bullish

6.leaveStaking = Withdrawしたい枚数をuint256で入力→Write

預けた枚数が分からなくなってしまった場合は、ReadContract→UserInfoへGO

<input>(uint256) : 使用しているpoolid

<input>(address):自分のアドレス

amountが預けている枚数です hehe

Deposit: 2.deposit

_pid:Deposit or HarvestしたいPoolIDを入力

_amount: Depositしたい枚数をuintで入力 Harvestの場合は0

→Write

_pid:WidthdrawしたいPoolIDを入力

_amount: Depositしたい枚数をuintで入力

→Write

全体的な流れ

補足と豆知識:

-emergencyWithdrawは_pidを入力→Write、対象の預けたトークンを全て引き出せますが、リワードが無くなります。Bearish

mican:LPを引き出すには絶対に報酬トークンもひっついてきます。報酬トークンに送金制限かかかっている場合などはEmergencyを使ってLPを救出できるわけですね。

預けた_pidは覚えておきましょう。

やきとり:あああ、それで報酬なくなったりしたのかあああああああああああああああああああああああああああああああああああああああああああああああ

内容としては以上デス。

どうしてもわからない事があったりした場合は、Twitter:@0x_defiへDMをお送りください。多分返事しません。STAY DEGEN STAY BULLISH — Steve Jobs

やきとり:ウソすぎて笑う

おわりに

さて、今回は割と技術色の強い記事でしたが、みなさんいかがでしたでしょうか。

ぜひとも覚えて利益を持って帰って欲しいと思います。

突然ですが、みなさん等価交換の法則というものをご存じでしょうか。

“何かを得るためには、それ相応の対価を支払わなければならない。”

という鋼の錬金術師なる一世を風靡したマンガの名セリフになります。

何が言いたいかと言いますと、どうして暗号通貨の価格が変動するのか?という話です。

要は、買う人間がいれば資金が入りその分価格は上がりますし、

売る人間がいれば価格は下がり、やきとりはラグられる訳です。

なぜ人類はなぜラグるのか?

なぜ愚かなやきとりは突っ込むのか?

その謎を解明するため、我々調査隊はアマゾンの奥地へと向かった――。

‥‥・*・‥‥………‥‥・*・‥‥………‥‥・*・‥‥………‥‥・*・…

まあ熱力学第二法則を鑑みると、等価交換できるだけで永久機関が完成するのでマシな方です。

要は、上場戦やFarmにはそのトークンを欲しいひとたちが山ほど集まるわけです。

そのためいかに他の誰よりもはやくそのトークンを買えれば、そのあとから買いが殺到するので値段が上がりやすくなるわけであります。

Farmも同様で、誰よりもはやく預けられれば分配人数の少ない中、最速で利益が発生していく訳です。

生き馬の目を抜くこの魔界、ぜひ色々と試してみてください。

そしてLP預けっぱなしにしておくと、よくラグられるのでそれもぜひ試してみてください。

週刊RUG powered by CryptoKudasaiJP

みなさんお気づきでしょうか。ヘッダー画像に ”POWERED BY CRYPTOKUDASAIJP”と書いてあるのを・・・!

なんやねんWEEKLY RUGて

ということで宣伝になります。

ここに広告を載せたい変な人はご連絡ください、そのまま意味不明な犬を買って記事にします

ウソです責任取れないのでやめてください。

一晩で1300万稼ぐ人がiPhoneを配るのはこのグループだけ!

今回はなんと100人中2人がiPhone配布となりました。

CryptoKudasaiJP 死ぬ気でスワップ

突然iPhone配布がはじまってサラッとおわりました。意味が分かりません。
私にください。こないだ落として液晶がバキバキです。液ラグ。

ではみなさん、Stay Rug!

--

--