APIの使い方)各取引所のAPI利用方法の紹介は、今回のFISCOが最後となります。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の使い方FISCOでは仮想通貨の現物取引においてAPIを利用した取引注文を行うことが可能です。APIを利用した場合、指値のみの注文となるのでご注意ください。APIの仕様自体はZaifの現物取引と非常に似ています。APIを使って板情報から売値(asks)と買値(bids)を取得します。FISCOの場合はhttps://api.fcce.jp/api/1/depth/btc_jpyこのURLからGetメソッドで直接ビットコインの価格情報が取得可能です。APIを利用するための公開鍵と秘密鍵を取得します。Keys」を選択します。https://fcce.jp/accountこちらからAPIキーとシークレットキーを作成します。APIキーの取得キーを直接コード内に記述するのは避けたいので、Keys.jsonファイルとして別途保存しておきます。これまでと同様にjson形式で追加しておきます。"取得したシークレットキー"}](Keys.json)Header情報の作成:Get-Header取得したキーを使ってAPIの認証を行うためには、Invoke-RestMethodコマンドにHeaderとして認証情報を作成して渡す必要があります。FISCOの場合は必要な情報を文字列として連結して、SHA512ハッシュ関数を使ってシークレットキーで署名したものが認証に必要な情報となります。難しい話は読み飛ばしてもコードをそのまま再利用すれば使えるものを紹介します。※1※1:クエリー値(Nonce、メソッド、パラメーター等)を文字列として連結して、シークレットキーを使ってSHA512ハッシュ関数で署名したもの。作成したGet-KeysコマンドでAPIキーを読み込みます。Queryとして渡されたデータを、シークレットキーを使ってハッシュ関数で署名します。ハイフンを省いた文字列として取得します。Header情報を作成します。資産情報の取得:Get-AssetFISCOに保持している日本円とビットコインの残高を取得します。FISCOでは、ビットコイン以外の仮想通貨の取引が可能なので、他の通貨情報も取得可能です。資産情報はInvoke-RestMethodコマンドのPostメソッドで取得できます。このときHeader情報に認証データを含めることになります。Nonceとメソッド「get-info」をクエリー値としてGet-Headerコマンドに渡しHeader情報を取得します。Invoke-RestMethodコマンドの実行結果から、BTCもしくはJPYの値を抽出します。"jpy"10,000売買注文:Set-OrderFISCOではWeb取引画面やAPIでも現物の指値注文のみ可能となっています。現物取引のエンドポイントはhttps://api.fcce.jp/tapiとなります。methodとしてtradeを指定します。売り注文の場合は”ask”、買い注文の場合は”bid”となります。注文金額が5円刻みとなっているので、金額末尾が必ず「0」もしくは「5」となるように金額を設定する必要があります。最小注文単位は0.0001btcとなります。FISCOのAPIでは取引注文が集中するとAPIエラーが頻繁に発生するため、エラー処理Try~Catchで行います。注文がエラーとなると、”success”のプロパティー値が0となるので、この場合エラーメッセージを表示して戻り値を0としています。現物取引の場合、注文が成功するとOrderIDは全て0となってしまうので、注文成功したという意味で1を戻り値とします。その他エラーとなった場合もエラーメッセージを表示して戻り値を0とします。現在有効となっている注文一覧を取得します。12345678コマンドサンプル以降は作成した各コマンドのサンプルとなります。以上がFISCOの基本的なAPIの利用方法となります。FISCOはZaif現物取引のAPIに仕様が非常に似ています。FX取引がなく、APIの機能としても基本的なものに限定されているので、理解はしやすいかと思います。以上、国内の主要な仮想通貨取引所のAPI利用法をご紹介してきました。次回からは、これらのAPIを利用して、どのように仮想通貨を取引を行っていくのか、具体的な取引手法を解説しながら、APIを利用してPowerShellによる仮想通貨システムトレードを解説していく予定です。勝一GMOインターネット株式会社1999年6月GMOインターネットに入社。Windowsを用いたホスティング事業の立ち上げの際、サービス開発からその後の保守・運用まで1人で担当。2010年には「お名前.comWindowsデスクトップ」をリリースし、マイクロソフト社と強い信頼関係を構築。Hyper-Vで本格的なサーバー仮想環境を構築。Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。