読者です 読者をやめる 読者になる 読者になる

元派遣プログラマの自称技術系ブログです。雑記とか自作のオープンソースプロジェクトの話とか。
Javaとか組込とかできます。お仕事ください。

仮想通貨取引所Zaif.jpのJava用ライブラリ作りました。

Java Monacoin ビットコイン

久々のビットコインネタです。

仮想通貨取引所Zaif.jpAPIJavaから使うためのライブラリを作ったので公開します。


GitHub - nyatla/JZaif: zaif.jp API for Java


情報取得API(PublicAPI)、ストリーミングAPI、取引API(Private)のすべてのAPIを使うことができます。



プログラミング例


現在のビットコインの値段を得る

public static void main(String[] args)
{
    PublicApi lp=new PublicApi(CurrencyPair.BTCJPY);
    double r1=lp.lastPrice();
    System.out.println(r1);
    return;
}

ビットコインの買い板に30000円で0.01BTCの買いを出す。

public static void main(String[] args)
{
    ApiKey k=new ApiKey("YOUR API_KEY","YOUR SECRET KEY");
    ExchangeApi lp=new ExchangeApi(k);
    TradeResult r=lp.trade(CurrencyPair.BTCJPY,TradeType.BID,30000,0.01);
    System.out.println(r.success?String.format("orderid=%d",r.order_id):"method failed");
    return;
}

ストリーミングAPIで現在のBTCJPYの情報を得る

public class StreamingApiTest {
    static public class Sa extends StreamingApi
    {
        public Sa(CurrencyPair i_cpair) {
            super(i_cpair);
        }
        @Override
        public void onUpdate(String i_data)
        {
            //生JSONテキスト
            System.out.println(i_data);
        }
        @Override
        public void onUpdate(StreamingNotify i_data)
        {
            return;
        }
    }
    public static void main(String[] args)
    {
        StreamingApi lp=new Sa(CurrencyPair.BTCJPY);
        try {
            Thread.sleep(100000000);
        } catch (InterruptedException e) {
        }
        lp.shutdown();
        return;
    }
}

ライセンス

本体は2条項BSDです。付属してる外部ライブラリはそれぞれ調べてください。


BTC: 15ALiKAYNLfye18Bh3jepxquy1azocWXk7
MONA: MN7KgERFbUnWRXajP4hBa3GxAxSfkNsq7Y