APIの使い方)引き続き各取引所のAPIの利用方法を紹介します。今回はBTCBOXです。24時間システムを稼働することも考慮し、「お名前.comデスクトップクラウド」の仮想マシンを使って作成~稼働まで行っています。・PowerShellの基本的な文法、使い方については解説を省略しています。・APIを公開している仮想通貨取引所の口座開設が完了しているものとします。口座開設方法については省略しています。・システムトレードを行うことによって必ずしも利益が出るという保証はありません。有効化するPowerShellで使用される暗号化プロトコルは以下で確認することができます。Tls既定ではSSL3、TLS(1.0)が利用可能となっています。1.2を必須とするサイトが増えてきており、仮想通貨取引所のAPIも同様となっています。Frameworkを利用しているInvoke-WebRequestコマンドを実行するとエラーとなる場合があります。1.2を利用するようにあらかじめ設定をしておきましょう。1.2で通信することを明記します。こちらはスクリプト毎にその都度明記する必要があります。1.2で通信を既定値として設定しておきます。1"いずれかの対策を事前に行うことで、Invoke-WebRequestコマンドでAPIを利用する場合のエラーを回避することが可能です。APIの使い方BTCBOXでは、仮想通貨の現物取引においてAPIを利用した取引注文を行うことが可能です。APIを利用した場合、指値のみの注文となるのでご注意ください。APIを使って板情報から売値(asks)と買値(bids)を取得します。BTCBOXの場合は売値が高い方から並んでいるので、最安の売値はデータの一番最後を取得することになります。買値については、高い順にならんだ最初のデータを取得すれば問題ありません。数量についても、売値は逆並びとなるので、データの最後を取得します。APIを利用するための公開鍵と秘密鍵を取得します。BTCBOXのサイト上のメニューから「財産センター」-「APIキーの取得」を選択します。https://www.btcbox.co.jp/api/secret/keys/こちらから公開鍵と秘密鍵を作成します。APIキーの取得キーを直接コード内に記述するのは避けたいので、Keys.jsonファイルとして別途保存しておきます。これまでと同様にjson形式で追加しておきます。"取得したシークレットキー"}](Keys.json)Header情報の作成:Get-Header取得したキーを使ってAPIの認証を行うためには、Invoke-RestMethodコマンドを利用します。ここではHeader情報の作成として紹介していますが、BTCBOXの場合は他の取引所とは異なり、Bodyとして認証情報を作成してPOSTメソッドで渡す必要があります。クエリーデータとして受け取る情報は、注文時のオーダー情報やキャンセル時のオーダーIDなどがあります。クエリーデータにAPIキー、Nonceを加えたものを、SHA256ハッシュ関数を使ってシークレットキーで署名したものが認証に必要な情報となります。資産情報の取得:Get-AssetBTCBOXに保持している日本円とビットコインの残高を取得します。BTCBOXでは、ビットコイン以外の仮想通貨の取引が可能なので、他の通貨情報も取得可能です。資産情報はInvoke-RestMethodコマンドのPOSTメソッドで取得できます。資産情報は指定するパラメーターがありませんので、空のBody情報をGet-Headerコマンドに渡して、認証情報を付加したものを受け取ります。空のBody情報をGet-Headerコマンドに渡し認証情報入りのデータを取得します。Invoke-RestMethodコマンドの実行結果から、BTCもしくはJPYの値を抽出します。"jpy"10,000売買注文:Set-OrderBTCBOXのWeb取引画面では、成行・指値の両方の注文が可能ですが、APIを利用した場合、指値注文のみ利用可能となります。bch」のいずれかを指定します。売り注文の場合は”sell”、買い注文の場合は”buy”となります。指値注文のための値段を指定します。最小注文単位は0.01btcとなります。Invoke-RestMethodコマンドで注文を行います。エラーとなった場合メッセージを表示して戻り値を0としています。注文が成功した場合はオーダーIDを戻り値として返します。注文履歴をいつから取得するか、パラメーターを指定できますが、ここでは0としてすべてのデータとしています。typeパラメーターをliveとすることで現在有効な注文のみを表示しています。0.001:注文のキャンセル:Cancel-Order注文時に取得したオーダーIDを指定します。戻り値のresultがtrueとなっていれば成功です。コマンドサンプル以降は作成した各コマンドのサンプルとなります。以上がBTCBOXの基本的なAPIの利用方法となります。BTCBOXは現物取引の他に、仮想通貨融資というサービスを行っており、信用取引のような形態でも仮想通貨の取引が可能となっています。勝一GMOインターネット株式会社1999年6月GMOインターネットに入社。Windowsを用いたホスティング事業の立ち上げの際、サービス開発からその後の保守・運用まで1人で担当。2010年には「お名前.comWindowsデスクトップ」をリリースし、マイクロソフト社と強い信頼関係を構築。Hyper-Vで本格的なサーバー仮想環境を構築。Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。