-
Notifications
You must be signed in to change notification settings - Fork 6
/
sample.php
70 lines (57 loc) · 2.62 KB
/
sample.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"/>
</head>
<body>
<?php
require_once(__DIR__ . '/jsonRPCClient.php');
$host = 'localhost'; /* monacoind 又は monacoin-qt を実行中のホストのアドレス */
$rpcuser = 'monacoinuser'; /* monacoin.conf で指定した rpcユーザー名 */
$rpcpassword = 'pass'; /* monacoin.conf で指定した rpcパスワード */
$rpcport = '12345'; /* monacoin.conf で指定した rpcポート */
$historyNum = 50; /* 取得するトランザクション数 */
if(isset($_GET['param']) && isset($_GET['username'])) {
/* monacoind への接続アドレス */
$coindaddr = "http://$rpcuser:$rpcpassword@$host:$rpcport/";
$coind = new jsonRPCClient($coindaddr);
/* 入金アドレスのlabel。このサンプルではユーザー名をそのままラベルに使用しています */
$addrlabel = $_GET['username'];
if($_GET['param'] == "アドレス取得") { /* value="アドレス取得" のボタンの処理 */
try{
/* アドレス取得 */
$receiveaddress = $coind->getaccountaddress($addrlabel);
echo "入金先アドレス:$receiveaddress<br /><br />getaccountaddress()で取得するアドレスは、1回入金が行われるたびに変わります。<br />変わった後も、以前に取得したアドレスへの入金は有効です。";
} catch (Exception $e) {
echo 'エラー<br />';
}
}
else if($_GET['param'] == "入金チェック") { /* value="入金チェック" のボタンの処理 */
try{
/* 指定のラベル(このサンプルではユーザー名=ラベル)のトランザクションを
最新のものから$historyNum分だけ取得。
第三引数の最新のトランザクションからのオフセットです。(省略可)*/
$transactions = $coind->listtransactions($addrlabel, $historyNum, 0);
echo $_GET['username']."さんの入金履歴<br />";
foreach($transactions as $transaction) {
/* 取得したトランザクションから入金のものだけ抽出 */
if($transaction['category']=="receive") {
echo date('Y/m/d H:i:s',$transaction['time']).': '.$transaction['amount'].' MONA ';
/* 2014/02/03 追加
一定期間経過したものだけを入金扱いとする
このサンプルではトランザクション発生から 6 block経過したものを承認済みとする */
echo ($transaction['confirmations'] < 6)?'[承認待ち]':'[承認済み]';
}
}
} catch (Exception $e) {
echo 'エラー<br />';
}
}
}
?>
<br />
<form>
<input type="button" value="戻る" onClick="location.href='index.html'">
</form>
</body>
</html>