Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
8
Help us understand the problem. What is going on with this article?
@kei_kasu

Excel VBAでビットコイン自動マイニングシステムを開発・1ヶ月実行した話~10年後の2000万を目指す~

More than 1 year has passed since last update.

目次

1.ざっくりどんなシステムなの?
2.1ヶ月実行した結果
3.誰がつくったの?
4.Free Bitcoinって?
5.期待値を最大化する話
6.技術的な話
7.今後について

1.ざっくりどんなシステムなの?

・Free Bitcoinというビットコインを無料で配布しているサイトを活用します。
・Free Bitcoin内でルーレットを回すと、出目に応じてビットコインが貰えます。
・ルーレットを回す一連の流れを自動化しました。
・システムが1時間ごとにルーレットを回し、勝手にビットコインを稼いでくれます。
・技術的にはExcel VBAでInternet Explorerを自動操作しています。
Live Roulette1.png

2.1ヶ月実行した結果

0.021 ビットコイン(2万円相当)獲得できました。一ヶ月何もせず放置しただけです。
結果.JPG

途中でルーレット当たるラッキーもあったので、平均して何BTC稼げるのかは
引き続き観察していきます。
5月頭、ビットコインの半減期の影響で、20%近く値上がりしましたよね。
システムに稼がせる→値上がりのタイミングで日本円化!これが勝利の方程式だと思っています。

3.誰がつくったの?

・某旧帝大の経済学部卒業後、外資系IT企業で3年目間SEをしています。
・プログラムに稼がせる事が得意です。
・プログラムが稼いでくれるので、最近上司が怖くないです。
・カスです。

4.Free Bitcoinって?

・ビットコインを無料で配布しているサイトです。
・広告見て!ゲーム遊んで!サイト来たらはビットコインをプレゼントするよ!ってサイトです。
・ユーザ集めにビットコインをルーレットで配る。利益は他の所で賄えるって仕組みです。
・10年以上続く40万人ユーザを抱える老舗Faucetサイトです。
・ランボルギーニ配ってます。
・ブックメーカーとかハイローとかもやってます。面白いですが非推奨です。
・登録はここから。
1.JPG

5.期待値を最大化する話

クイズです。
・Free Bitcoinでビットコインをもらう為にはルーレットを回す必要があります。
・1時間ごとに回せます。
・1時間回すごとにRPというポイントが貰えます。(初期値は2RP)
・ルーレットごとにもらえるRPはRPを消費することで倍増できます。(最大1200RP)
RP.JPG
・ルーレットごとにもらえるBTCはRPを消費することで倍増できます。(最大10倍)
BTC.JPG
一番効率よくBTCを手に入れるには、
どのタイミングでどれだけRPを消費すれば良いでしょうか?

VBAが自動で計算させて、それに基づきブラウザを自動操作します。

5.技術的な話

・ブラウザ上で押したいボタンを探索する
・ブラウザ上から必要な情報を引っ張ってくる
IEの自動操作は基本これだけです。

以下、3パターン覚えておけば、どんなHTMLでも解析し自動操作できます。

ID属性からボタンを押す。ID属性は一意なのでこれだけでボタンを作れます。
Dim button As HTMLInputElement
Set button = objIE.document.getElementById("free_play_form_button")
button.Click

クラス属性からボタンを押す。クラス属性は重複している場合もあるので、X番目のなら(X)と指定する必要があります。
Dim button As HTMLInputElement
Set button = objIE.document.getElementsByClassName("reward_table_box br_0_0_5_5 user_reward_points font_bold")(0)
button.Click

Tag属性からボタンを押す。tag属性は重複している場合もあるので、文字列検索で指定してあげる必要があります。
For Each objTag In objIE.document.getElementsByTagName("button")
If InStr(objTag.outerHTML, "fp_bonus_1000") > 0 Then
objTag.Click
End If
Next

情報を引っ張りたい場合は以下、2パターンです。

中身だけ取り出す
string = objTag.innerHTML

HTMLごと取り出す
string = objTag.outerHTML

7.今後について

「ヤフオクで、1円で終了間近のブランド品を自動で落札するExcel VBA」
これが当面の目標です。

最後に

こちら
で完成系のシステムとマニュアルを公開してます。
ノーリスクでビットコインが獲得できます。
将来、基軸通貨になるとも言われているビットコインを獲得しておきましょう。

・サイトの仕様変更で使えなくなる可能性があります。その際はアップデートします。
・システムにより生じた利益・損失に作者は責任を負いません。
・100%上記の金額になるとは限らず、サイトの仕様、BTCの価値に依存します。

8
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
kei_kasu
某旧帝大の経済学部卒業 外資系IT企業で3年目の現役SE プログラムに稼いでもらうことが得意

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
8
Help us understand the problem. What is going on with this article?