としおの読書生活

田舎に住む社会人の読書記録を綴ります。 主に小説や新書の内容紹介と感想を書きます。 読書の他にもワイン、紅茶、パソコン関係などの趣味を詰め込んだブログにしたいです。

カテゴリ: 仮想通貨

bot1


最近仮想通貨の取引を始めてみたのですがずっとチャートを見続ける時間がなかったり、感情に流されて売買を行ってしまうためもうけを出すことができません。

そこで、時間に縛られず感情にも流されずに売買を行うために仮想通貨の自動売買を行うための仮想通貨botを作ることにしました。

botの作成が上手くいけば働かなくてもお金が増えていくので幸せな気持ちになれます(笑)

今回はいくつかの記事に分けてbitFlyer(ビットフライヤー)のAPIとPythonを使ってビットコインを自動売買する仮想通貨botを作成していきます。


仮想通貨bot(ボット)とは


botとは、人間に代わって作業を行うコンピュータプログラムの総称です。

仮想通貨botとは、人間に代わって仮想通貨の取引を自動で行ってくれるコンピュータプログラムです。


仮想通貨の自動取引botのメリット


感情に流されずトレードを行うことができる
  • 24時間いつでも自動で取引を行ってくれる
  • トレードを行っているとついついもう少し待てば値段が上がるかもしれないなどの感情に流されてしまうことがあります。botを使うことで自分が事前に決めたルールに従って取引を行ってくれるため感情に流されることがなくなります。

    世の中には副業として仮想通貨の取引を行っている人が多いと思います。そういった人は常にチャートに張り付き続けることができず取引のタイミングを失ってしまいます。botを使えばいつでも自動的に取引を行ってくれるので仕事中などでも利益を出すことができます。


    仮想通貨の自動取引botのデメリット


    ルール通りの取引しかできない
  • プログラミングのスキルが必要
  • 仮想通貨botを作るにはプログラミングの知識が必要です。ただ今の世の中プログラミングの方法を調べれば簡単にインターネットで見れるためこれはあまりデメリットではないのかもしれません。

    仮想通貨botのメリットとして事前にルールを決めているので感情に流されることがないというものがありました。しかしそれを逆にいうとルール通りのことしかできないということになります。そのため取引先のサーバーが停まるなどの予想外のことが起こると対応することができません。



    仮想通貨bot用のサンプルデータを収集する


    いよいよ仮想通貨自動取引を行うための仮想通貨botを作成していきます。

    しかし、いきなり自分の所持している仮想通貨を使用してbotの作成に挑むとみるみる仮想通貨が溶けていく未来しか見えないためまずは、仮想通貨botを作成するためにチャートのサンプルデータを集め、そのサンプルをもとにbotを作成していきます。

    今回、私はbotを作成するためにPythonbitFlyerのAPIを使います。

    Pythonの使い方が分からない人はこちらを、bitFlyerのAPIをPythonでしようする方法が分からない人はこちらを参考にしてください。


    サンプルデータを収集するコードの例


    今回は10秒ごとに最終取引価格を取得するという方法でサンプルデータを集めていきます。

    コードは下記のようになります。

    # -*- coding: utf-8 -*-
    # bitflyerから10秒ごとに最終取引価格を集める

    import pybitflyer # bitFlyerのAPIをPythonで使うために必要なライブラリ
    import time
    from datetime import datetime

    def main():
      api = pybitflyer.API(api_key="自分のAPI KEY" ,api_secret="自分のAPI Secret"# api keyの取得(pybitflyer.API()でも良い))
      raws = 0 # 最終取引価格を格納
      
      while True:
        # 10秒ごとに稼働
        if int(datetime.now().strftime('%S'))%10 == 0:
          # プロットデータの更新
          tick = api.ticker(product_code = "BTC_JPY")
          raws = tick['ltp']
          now = datetime.now()
          # 取得時刻と最終取引価格を表示する
          print('{}-{}-{}\t{}:{}:{}\t{}'.format(now.yearnow.monthnow.daynow.hournow.minutenow.second,raws))
          # 7秒後まで休憩(プログラムが無駄に走る時間を短くするため)
          time.sleep(7)

    if __name__ == '__main__':
      main()


    if int(datetime.now().strftime('%S'))%10 == 0:の赤字の10の値を変更することで最終取引価格を取得する間隔を変更することができます。

    その部分を変更する際は time.sleep(7) の赤字の7の値も変更してください。取得したい秒数の間隔より大きい値だと上手くデータを集めることができません。


    収集したサンプルデータをグラフ化する


    収集したサンプルデータをExcelでグラフ化してみました。グラフもPythonを使って描画してもよかったのですがあまり意味がないので今回はExcelを使います。

    今回はとりあえず約一日分(一日分には少し足りない)をグラフ化しました。
    bot2


    グラフを見るとしっかりとサンプルデータが収集できているみたいです。



    最後に


    本記事では、仮想通貨bot作成の第一段階としてサンプルデータの集め方を書きました。

    次からはこのサンプルデータをもとに仮想通貨botを本格的に作成していきます。



    bot1

    今回はPythonを使ってbitFlyerのAPIを触ってみたので基本的な使い方をまとめてみました。

    PythonをインストールしていることとbitFlyerの口座を作成することを前提として記事を書いていきます。

    まだPythonをインストールしていない人はこちらの記事を参考にしてください。

    実行環境
    • Python3.7.0
    • Windows10 64bit


    PythonでbitFlyerのAPIを使用するためのライブラリのインストール


    PythonでbitFlyerのAPIを使用するにはpybitflyerというライブラリをインストールする必要があります。

    pipで簡単にインストールできるのでサクッとインストールしてしまいましょう
    pip install pybitflyer
    のコマンド一発でインストールできます。



    pybitflyerを使ってみる


    pybitflyerが無事インストールできたら色々といじってみましょう。

    1.自分のAPI KEYを確認する


    bitFlyerのAPIを使うにはAPI  KEYが必要です。

    API KEYをはbitFlyerの口座を持っていれば誰でも取得することができます。まず最初に下記のページからbitFlyer Lightningのページにログインしてください。



    ログインしたら左上のメニューバーをクリックしAPIというところをクリックしてください。

    bitapi1


    ページが遷移すると新しいAPI キーを追加というボタンがあるのでそれをクリックしてください。

    そうするとAPI キーを発行することができます。このAPI キーは他人に教えないようにしましょう。もし他人にばれてしまうと勝手に自分の口座のビットコインなどが送金されてしまう恐れがあります。


    2.Bitcoinレートを取得


    まずは基本的な情報を取得してみる。

    import pybitflyer

    api = pybitflyer.API() # apiキーの認証
    ticker = api.ticker(product_code = "BTC_JPY"# bitcoinのレートを取得
    print(ticker) # プリント

    たった4行のコードで簡単に情報を取得できる。

    取引を行わない場合は自身のapiキーを認証する必要はないみたいです。

    トレードを行うのに必要な情報は best_bid(最高買い価格)、best_ask(最低売り価格)、ltp(取引価格)、timestamp かな。それらのみを取得してみる。

    import pybitflyer

    api = pybitflyer.API() # apiキーの認証

    while True:
      ticker = api.ticker(product_code = "BTC_JPY"# bitcoinのレートを取得
      data = [ticker['best_bid'], ticker['best_ask'], ticker['ltp'], ticker['timestamp']] # 必要な情報だけ取り出す
      print(data# プリント

    実行結果は以下のようになります。

    bitapi2

    仮想通貨botを作る際にサンプルデータを集めるのなら時間間隔をあけて情報を取得したほうが良いみたいだ。


    3.Bitcoinを売買する


    ビットコインを売買するコードは以下のようになる。

    api = pybitflyer.API(api_key="自分のAPI KEY" ,api_secret="自分のSecret KEY"# apiの認証
    # 成行買い注文
    api.sendchildorder(product_code="BTC_JPY"child_order_type="MARKET"side="BUY"
    size="ビットコインの取引量"minute_to_expire=10time_in_force="GTC")
    # 成行売り注文
    api.sendchildorder(product_code="BTC_JPY"child_order_type="MARKET"side="SELL",
     size="ビットコインの取引量"minute_to_expire=10time_in_force="GTC")
    # 指値買い注文
    api.sendchildorder(product_code="BTC_JPY"child_order_type="LIMIT"price="取引したい価格",
      side="BUY"size="ビットコインの取引量"minute_to_expire=10time_in_force="GTC")
    # 指値売り注文
    api.sendchildorder(product_code="BTC_JPY"child_order_type="LIMIT"price="取引したい価格",
      side="SELL"size="ビットコインの取引量"minute_to_expire=10time_in_force="GTC")

    売買を行う際は自身のAPI KEYの認証を行う必要がある。

    priceには自分が取引を行いたい価格を入力し, sizeには取引するビットコインの量を入力すれば売買を行うことができる。



    最後に


    pybitflyerの基本的な操作方法について使い方を説明したが最低限これだけの操作方法が分かっていれば仮想通貨botを作る際に困らないのではないのだろうか。

    さらに詳しくAPIの扱い方を知りたいのならばbitflyerの公式サイトを参考にしてください。




    CPUでマイニングできる仮想通貨はいくつかありましたが今人気のあるビットゼニー(BitZeny)を採掘することにしました。

    ビットゼニー(BitZeny)のVer2.01のマイニングの始め方をまとめているサイトがなかったので、ビットゼニー(BitZeny)のマイニングの採掘方法の手順をまとめます。




    ビットゼニー(BitZeny)とは


    ビットゼニー(BitZeny)は2014年11月に生まれた日本発の国際仮想通貨の一つで、ビットコインをベースに開発された。

    最近まで開発者がいなくなるなど三年間ほど放置されたが、2018年に入って開発が再開しバージョン2.0が公開された。

    ビットゼニー(BitZeny)の基本情報


    • 通貨単位:ZNY
    • 最大発行数:2億5000万ZNY
    • 時価総額:107,993,786円(2018年6月17日現在)
    • 1ZNY ≒ 1.43円(2018年6月17日現在)
    • 公式サイト:https://bitzeny.tech/

    ビットゼニー(BitZeny)の特徴


    • 日本発の仮想通貨
    • コミュニティの人気が高い
    • CPUでマイニングができる
    私がビットゼニー(BitZeny)を採掘しようと考えた理由は上記の特徴にあります。

    日本発の仮想通貨ということで公式サイトなども日本語で書かれており、日本人にとってとっつきやすいです。他の仮想通貨を扱う際には英語でのコミュニケーションが必要になる場面もあります。

    それに加えコミュニティの人気が高いことも重要です。コミュニティが活発でない仮想通貨は使用する人がいないということなのでどれだけ大量に保有していても意味がありません。

    以上のことから採掘するコインをビットゼニー(BitZeny)に決めました。



    ビットゼニー(BitZeny)をマイニングする


    ここからはビットゼニー(BitZeny)を実際にマイニングする手順を説明します。


    1.ビットゼニー(BitZeny)のウォレットのインストール


    マイニングするためにはビットゼニー(BitZeny)を入れるための財布であるウォレットを導入する必要があります。まずは下記のリンクから公式サイトにアクセスします。

    https://bitzeny.tech/

    トップページの左上にある Downloads をクリックします。

    bitzeny1


    Downloadsをクリックすると下記の画像の画面に移動するので自分にパソコンに適したバージョンをクリックしてください。そうするとダウンロードが始まります。

    bitzeny2


    ダウンロードを完了したらダウンロードしたexeファイルを起動してインストールしてください。基本的に”Next”を押していけばインストールできます。

    インストールが完了するとビットゼニー(BitZeny)のウォレットを起動した画面になります。

    始めて立ち上げるとビットゼニーのブロックチェーンと同期を始めるがこの同期にはかなりの時間がかかります。環境にもよるのでしょうが私は、半日ほどかかりました。


    2.CPUマイニングツールをダウンロードする


    下記のGithubのリンクにビットゼニーのCPUマイニングツールが置かれています。

    https://github.com/macchky/cpuminer/releases/tag/v2.6.0

    下記の画像の赤の丸でかこっているところをクリックするとダウンロードが始まります。ダウンロードが完了したらzipファイルを好きな場所に解凍してください。

    bitzeny3


    マイニングツールにセキュリティソフトが反応することがあるのでセキュリティソフトの設定でマイニングツールのフォルダを監視外にしておきましょう。


    3.マイニングプールの登録


    マイニングプールとは


    仮想通貨のマイニングは一人でやっても効率が悪いので浮く数人で協力してマイニングを行い報酬を分割するマイニングプールというものがあります。

    マイニングプールでの報酬は、ハッシュレートなどのマイニングの貢献度において分配される。

    ビットゼニーの主なマイニングプールとして下記のようなものがあります。
    うさぎコイン発掘所やみそスープールは以前利用しようとしたら利用者が多くうまく採掘できなかったので今回はみずたまりでマイニングしていきたいと思います。


    1.アカウント登録


    みずたまりのページにアクセスし右上にある「ゲスト」→「サインアップ」をクリックすると新規アカウント登録の画面に移行します。

    パスワードは大文字小文字数字をおりまぜて分かりにくいものにしてください。
    メールアドレスはGmailなどのフリーアドレスで大丈夫です
    PINは任意の4桁の数字を入力してください。ただ忘れないように注意する必要があります。

    bitzeny4


    登録後ログインしてください。


    2.ワーカー設定


    次にワーカー情報を作成する必要があります。画面左側のメニューから「アカウント情報」→「ワーカー設定」を選択してください。

    bitzeny5

    下記の画面で「WorkerName」と「WorkerPassword」を入力して「追加」をクリックすると
    ワーカーを追加できます。

    bitzeny6

    登録が完了するとワーカー設定の画面に先程登録したワーカー情報が表示されます。


    3.ウォレットアドレスの登録


    マイニングプールからの報酬を受け取るために先ほどインストールしたウォレットのアドレスを登録する必要があります。

    ウォレットアドレスは「ファイル」→「受け取り専用アドレス一覧」で確認することができます。

    bitzeny7

    ウォレットアドレスの登録は「アカウント情報」→「アカウント設定」を選択すると行うことができます。

    bitzeny8

    アカウント詳細の出金先アドレスの欄に確認したウォレットアドレスを入力しアカウント情報を更新してください。

    ウォレットアドレスを間違えるといくらマイニングをしても報酬が届かないので注意してください。


    4.マイニングツールの設定


    マイニングプールの登録を完了したらマイニングツールの設定をします。これが終わればいよいよマイニングを開始できます。

    Windowsを例にマイニングツールの設定の方法を説明します。マイニングを行うためにバッチファイルを作成する必要があります。

    先ほど解凍したマイニングツールフォルダ(ZNYminer260)内で右クリックして新規テキストファイルを作成してください。ファイル名は何でも大丈夫です。

    このテキストファイルを以下のように書き換えてください。

    minerd260.exe -a yescrypt -o stratum+tcp://bitzeny-m.mizutamari.work:19701 -u user -p password

    work:の横にある19701は採掘難易度です。CPUが第8世代のCore i7であったりそれ以上の強力なものを使用している場合は19702にしてください。

    userのところにはプールのアカウント名と先程作成したワーカー名をピリオド "." でつないだものに書き換えてください。
    アカウント名が ”Toshio" でワーカー名が "cat" の場合は、”Toshio.cat" という風にしてください。

    passwordは先程登録したWorkerPasswordに書き換えてください。

    記述し終わったら保存して閉じ、拡張子を "txt" から "bat" に変更してください。拡張子を変更するとファイルを使えなくなる恐れがというメッセージは無視して大丈夫です。


    作成したバッチファイル(bat)をダブルクリックで実行するとマイニングを開始することができます。

    bitzeny9

    マイニングに成功するとyay!!!と表示されます。


    最後に


    現在私はCore i7-930を使ってマイニングを行っていますが一日に6znyほど採掘できています。

    現在のビットゼニー(BitZeny)の価格から考えると非常に安いですがこれからの値上がりに期待して掘ってみたらどうでしょうか。

    パソコンを持っていれば誰でも始めることができるのでおすすめです。


    BitZenyをGPUマイニングする方法をまとめました。興味がある方は読んでみてください。





    本日は先日購入した GTX 1060 を使ってWindowsでも簡単に使える NiceHash(ナイスハッシュ)を使ってマイニング始めてみたのでマイニングの始め方を解説していきます。




    NiceHash(ナイスハッシュ)とは


    NiceHash(ナイスハッシュ)は採掘効率のよい仮想通貨を自動的に探してマイニングを行ってくれます。払い出しはBTC(ビットコイン)となっています。

    NiceHash(ナイスハッシュ)の良いところは本来マイナーがどの仮想通貨を掘れば効率がよいか考えるところを自動的に行ってくれるところです。そのためマイニング入門者でも簡単にマイニングを始めることができます。

    またマイニングを始めたいがPCについて詳しくないという人も多いと思いますがNiceHash(ナイスハッシュ)は Windows で利用することができるため手軽に始めることができます。


    NiceHash(ナイスハッシュ)の登録方法


    NiceHash(ナイスハッシュ)を利用するには下記のURLから登録する必要があります。

    https://www.nicehash.com

    Nice1

    画面右上にあるメニューバーをクリックすると下記のような画面が出現するのでREGISTERをクリックしてください。

    nice3

    そうすると登録画面に移行しますのでメールアドレスとパスワードを入力して登録の手続きを続けてください。

    パスワードは大文字、小文字、数字を混ぜて分かりにくいパスワードにしましょう。

    登録すると登録したメールアドレスにメールが届くのでメールに書かれているURLをクリックしてください。



    nice2


    NiceHash(ナイスハッシュ)のダウンロード


    次に NiceHash(ナイスハッシュ)でマイニングを行うにはマイニングソフトをダウンロードする必要があるので下記のURLからダウンロードしてください。

    https://miner.nicehash.com/

    マイニングソフトにはNVIDIA用のものとAMD用のものがあります。使用しているGPUと同じものをダウンロードしてください。

    私は NVIDIA GTX 1060 を使用しているので NVIDIA 用のものをダウンロードしました。

    Nice4


    ウィルスバスターなどのセキュリティソフトが反応してしまうことがあるためもし反応するようなら一度セキュリティソフトの設定をオフにしてもう一度ダウンロードしてみてください。


    NiceHash(ナイスハッシュ)の設定


    マイニングソフトをインストールすればいよいよマイニングの開始ですがその前にいくつか設定をする必要があります。

    最初に CONFIGURE の歯車アイコンをクリックしてください。


    nice5


    そうすると下記の画像の画面に遷移します。ここでやってほしい設定は二つあります。

    一つ目は CURRENCY のプルダウンメニューを開いて JPY を選択してください。こうすることで採掘量などが日本円で表示されるようになります。

    二つ目は Automatic Service Location のチェックボックスにチェックをいれてください。これをすることでもし今採掘中のサーバーが停電などで落ちてしまった場合でも別のサーバーに移動して採掘を続けてくれます。


    nice7


    次に WORKER をクリックしてください。


    nice9


    WORKER ID を設定することでNiceHash(ナイスハッシュ)で表示する名前を設定することができます。

    複数のPCでマイニングを行う際などに設定しておくことでどのパソコンでどれぐらい採掘できるのか知ることができるので便利です。

    私ももしかしたらもう一台買うかもしれないので一応設定しておきました。

    nice10


    最後にWalletをクリックしてください。


    nice11


    NICEHASH USERNAMEの欄にNiceHash(ナイスハッシュ)で登録したメールアドレスを入力してください。

    nice12


    以上で設定は完了です。


    GPUのベンチマーク


    HARDWARE DETAILS をクリックしてください。


    nice13


    ここではマイニングに使用するCPUとGPUのベンチマークをとります。

    このベンチマークの結果でハッシュレートが決まり、BTCの採掘量が決められます。

    ベンチマークを取りたい機器にチェックを入れて BENCHIMARK ALL をクリックしてください。

    私の場合CPUが corei7-930 という化石を使っているため、NiceHash(ナイスハッシュ)に対応していないのでGPUのみの選択となりました。CPUはマイニング効率にあまり影響がないので気にしません。


    nice15

    BENCHIMARK ALL をクリックするとベンチマークの設定がでますが STANDARD を選択してください。

    ベンチマークには少し時間がかかりますが、しばらくするとベンチマークが終了しマイニングを始めることができます。



    マイニング開始


    STARTボタンを押すことでマイニングが始まります。

    nice17


    マイニングを始めると下記のような画面が立ち上がります。採掘速度であるハッシュレートを確認することができます。

    nice18

    マイニングを終了する際は STOP をクリックしてください。

    nice16


    マイニングの成果報告


    NiceHash(ナイスハッシュ)を使用してマイニングを開始してから二週間ほどになりますが現状どれぐらい採掘できているのか報告します。

    私の場合ゲーム用のPCでマイニングを行っているため一日中マイニングを行っているわけではありません。ゲームをしているときはマイニングソフトを停止しています。

    一日約 0.00012000 BTC(100JPY)ほど採掘できています。(2018年6月7日の報告)

    電気代を正確に計算していないので詳細な値は分かりませんが一日数十円ほど設けていることになります。PCを放置しているだけでこれだけ設けることができるのでお得かもしれません。また今後BTCの価格がさらに上がるかもしれませんので未来への投資だと考えれば悪くないと思います。

    儲かるのはいいのですがマイニングにはデメリットもあります。

    まず私は、ワンルームの部屋に住んでいるため夜寝るときにもマイニングを続けているとGPUファンの音がうるさいと感じました。慣れるまでなかなか眠れなかった(笑)

    もう一つはGPUに負荷をかけるためGPUの寿命を縮める恐れがあります。そのため、もしマイニングを行うのならば温度管理はきちんとしましょう。私はGPUの温度は常に70℃前後になるようにしています。80℃を超えると故障の原因になりますので気を付けましょう。


    またBTCがある程度たまったらBitFlyerなどのウォレットに移動させたいと思いますのでその記事は後日書こうと思います。





    MSI GTX1060 ARMOR 6G OCV1 [GTX1060/GDDR5 6GB] トルクスファン採用したARMOR 2X 搭載GTX1060グラフィックボード


    22056875_s

    最近BATというあるとコインが話題になっています。

    この記事ではBraveを使ってBATを稼ぐ方法を紹介していきます。


    Braveのダウンロード


    まずはBATを稼げるブラウザであるBraveをダウンロードしましょう。

    ダウンロードは以下のページからできます。




    Braveのページにアクセスできたら右上のダウンロードを押下します。

    キャプチャ

    今すぐダウンロードを押下します。

    キャプチャ

    ダウンロードができたらインストーラを起動します。

    起動すると自動的にダウンロードとインストールが開始します。

    インストールが完了したら以下のようにBraveが起動します。

    キャプチャ



    Brave と bitFlyer のアカウントを連携する


    次にBraveとbitFlyerアカウントを連携していきます。

    検索バーの右にあるBrave Rewardsを押下します。

    キャプチャ

    ウォレットを認証を押下します。

    キャプチャ

    続けるを押下します。

    キャプチャ

    bitFlyerをクリックします。

    キャプチャ

    BitFlyerのログイン画面が表示されるのでログインし、許可するを押下しましょう。

    これでBraveとBitFlyerのアカウントを連携できました。





    BATの貯め方


    先ほどと同じように検索バーの右側にあるBrave Rewardsボタンを押下し、Rewards設定を押下します。

    キャプチャ

    Rewards設定画面が開けたら広告がONになっていることを確認しましょう。

    キャプチャ


    ONになっていることが確認出来たら『広告 設定』を押下します。

    キャプチャ

    できる限り多くBATを稼げるように表示される広告の最大数を『1時間に10件の広告』に設定します。

    以上の設定を行うことであとはBraveブラウザを使っていれば広告が現れるたびにBATを手に入れることができます。



    まとめ


    Braveブラウザを使ってBATを稼ぐ方法を紹介しました。

    BATはまだまだ安い仮想通貨ですが、Braveの普及によりこれから値段が上がることが想定できますので早いうちからBATを稼いでみてはいかがでしょうか。






    ↑このページのトップヘ