[PHP] BitcoinのAPIを使って特定のBitcoinアドレスへ送金する方法

このエントリーをはてなブックマークに追加

こんにちは、ふじーにょ(@fujinyo)です。
なにかと話題のBitcoinですが、APIが気になったので遊んでみました。

コードを参考にされる場合は実際にお金が動きます(送金)ので全て自己責任でお願いしますね。

[PHP] BitcoinのAPIを使って特定のBitcoinアドレスへ送金する方法

まずはBitcoinそのものが必要

送金が目標なので、そもそもBitcoinが必要です。
Bitcoinは意外に簡単に買えました。僕レベルの英語スキルでも買えます。

購入する前に、ウォレット(財布)を作っておきます。
僕は、BLOCKCHAINで作りました。このサイトにはAPIでもお世話になります。

ウォレットが出来たら、ログイン後の右側ページの「アカウント設定」->「Passwords」と進んで第2パスワードも設定しておきます。

そしてBitcoinは、Payびっとで10,000円分購入しました。
最低5,000円から買えるようです。本人確認が必要ですので、運転免許書等をスキャンしたものを画像形式でアップロードします。

APIをいじる前に

Bitcoinが用意できたら、APIを触る準備です。
bitcoindというデーモンをサーバにインストールしてという方法もありますが
今回はBLOCKCHAINが提供するRPCAPIを利用します。

ドキュメントはこちらです。JSON RPC API
JSONRPCを扱えるように、JSON-RPC PHPもダウンロードしておきます。

さぁ、これで準備はOKです。

残高を表示してみる

まずは、自分のウォレットの残高を表示してみましょう。

//ダウンロードしておいた JSON-RPC PHP を読み込む
require 'jsonRPCClient.php'; 

$identifier = ""; //あなたのウォレットのIdentifier
$password = ""; //あなたのウォレットのパスワード

$bitcoin = new jsonRPCClient('https://'.$identifier.':'.$password.'@blockchain.info:443/');

echo $bitcoin->getbalance();

//実行結果
//0.18695804

Identifierとpasswordを設定すれば、残高が表示されるはずです。
“getbalance” を “getinfo” に変えるとさらに詳しいウォレット情報が取得できます。

送金してみる

さて、送金です。
と言っても残高表示まで出来ればとても簡単です。

あ、送金なのでもう1つウォレットを作る必要があります。
面倒なら 121VTCGMJF3KYx6H3oTXjDKUDSWWsAwns4 (僕のアドレス) に送ってくれてもいいですよ。
すいません、嘘です…

//ダウンロードしておいた JSON-RPC PHP を読み込む
require 'jsonRPCClient.php'; 

$identifier = ""; //あなたのウォレットのIdentifier
$password = ""; //あなたのウォレットのパスワード
$secound_password = ""; //第2のパスワード

$to_bitcoin_address = ""; //送金先のBitcoinアドレス
$amount = 0.00021971; //送金額。単位はBTC。ブログ執筆時点で日本円で10円

$bitcoin = new jsonRPCClient('https://'.$identifier.':'.$password.'@blockchain.info:443/');
$bitcoin->walletpassphrase($secound_password, 3);

$transaction_id = $bitcoin->sendtoaddress($to_bitcoin_address, $amount);

echo $transaction_id;

//実行結果
// [成功の場合トランザクションIDが表示されます]

送金等を行う場合は、第2のパスワードが必要です。
12行目で第2のパスワードをセットしています。2つ目の引数でキャッシュする秒数を設定しています。極力短い方がいいでしょう。
14行目で送金した後に、トランザクションIDを表示しています。文字列の羅列が表示されて、送金が完了していれば成功です。おめでとうございます。

色々出来そう

今回は送金のみでしたが、送金を受ける(フォームにするとか、通知とか)事も試してみたいですね。
そこまで出来れば、受けたり送ったりが簡単に出来そうです。ECサイトにBitcoin決済を実装するのも難しくないかもしれません。

では、また。

[PR] 「結さん」があなたに代わって開発案件の依頼主を探します

  • 「既存のクライアントにギャラアップは言いにくい」
  • 「営業活動する時間がないし、苦手」
  • 「仕事が途切れたらどうしよう」

ITエンジニアのこんな悩みを「結さん」が解決してくれます
結さんへの無料会員登録後は提案メールを待つだけです!

関連記事

このエントリーをはてなブックマークに追加