*

取引所のPrivate APIの前準備 仮想通貨の自動売買開発③

公開:2017/6/21

前回はPUBLIC API(誰でも見れる公開情報)でしたが、今回はPrivateAPI(自分のアカウントにログインしないとできないこと)を触ります。

まず、コインチェックにログインして、API KEYとシークレットキーを取得します。
(取得の仕方は「コインチェック APIキー 取得」とかで検索してみてください。)

下記はコインチェックにPrivateAPIでアクセスし残高を取得するコードです。

APIキーと秘密鍵を書き換えれば動くはずです。

PRIVATE APIを使うには、まず自分の情報をハッシュ化する必要があります。

ハッシュというのは、一方通行の暗号みたいなもので(厳密にはちょっと違う)、
パスワードやログイン情報を盗み見されてもハッカーに分かりにくくなります。

暗号と違うところは、暗号は暗号化されたものを復元することができるのに対し、ハッシュは復元できません。そのため、両サイドが同じハッシュの結果になるかどうかで認証が正しいかチェックします。(専門ではないので間違ってたらごめんなさい。)

コインチェックでは、
大きな数字+アクセスするURL+アクセスする内容
を一つの文字列にして、シークレットキーと一緒に合体させてハッシュ化する仕様です。

最初の”大きな数字”は、アクセスする度に大きくなっている必要がある数字です。

難しく考えずにUNIXタイムスタンプを使いましょう。
(UNIXタイムスタンプとは、1970/1/1からの経過秒です。)

アクセスするURLは、取得したい内容になって適宜変えてください。
上の例では口座残高のURLです。

残高を参照する場合、アクセスする際の中身は、ぶっちゃけなんでもいいので、できるだけ中身のないものにしてください。
(中身がない方が少しだけ通信に負担がかかりません)

ハッシュ化は、PHPでは関数があり、hash_hmac()関数を使います。ハッシュにもいろいろ種類がありますが、コインチェックではハッシュ方式も”sha256″で指定しているので、これをそのまま使います。

このハッシュをアクセスする際にヘッダー(HTTPで送信するときの件名みたいなもの)に組み込みます。

組み込むことで、特定のユーザーアカウントに部分的にログインした状態と同じになり、アカウントの情報を引き出すことができます。

次回はこれをHTTPリクエストする方法について説明します。

Message

メールアドレスが公開されることはありません。

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

【ビットコイン】板情報で自動売買

面倒臭がって今まで見て見ぬふりをしてきたのですが、 APIで板情報が取れるんですよね。 最近

記事を読む

BCH(ビットコインキャッシュ)のアービトラージの取引結果(Binance vs Poloniex)

今回はビットコインキャッシュのアービトラージの取引結果です。 日本時間 bid(売値)

記事を読む

ビットコインでアービトラージ 現物/信用どっちがいいか

一口にアービトラージといっても取引の方法には2通りあります。 1回(交換)の取引で終了する現物

記事を読む

BinanceとPoloniexの自動アービトラージシステムを作る1

ずっと国内の大手3社でアービトラージしているのですが、サーバーの脆さや約定力のなさが目立つことが良く

記事を読む

MT4から取引所のビットコインレートを取得して比較する

今までMQLしか触ったことがない人にとって、jSONだのHASHだのが出てくるAPIの処理は荷が重か

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
質問回答コラム

Q. 管理人さん自身はEAで運用しているのですか A.  して

【MT5】MACD, ストキャスティクス, モメンタムEA(配布)

GBPUSD 2018/1/1~2018/12/31 H2

【MT5】 3通貨相関アービトラージEA(無料プレゼント)

EUR, GBP, USD の3通貨の相関を利用したさや取りトレード

no image
仮想通貨対応マーチンゲールEA(無料配布)

USDJPY 2018/1/1~2018/12/31 Spread:

最適化なしで勝率98.31%()のトレードシステム【あげます】

GBPUSD D1 Spread:2 2018/1/1~2018/1

→もっと見る

PAGE TOP ↑