當我們希望在Php開發的網站中加入比特幣支付功能時,需要解決的第一個 問題,就是如何在Php程式程式碼中呼叫比特幣錢包的RPC API開發介面來實現 我們期望的功能,例如比特幣的支付與接收。
例如,當我們希望在Php程式碼中給某個比特幣地址傳送以太幣時,可以使用 sendtoaddress 這個RPC介面,可以傳入以下引數:
- ToAddress:接收地址
- Amount:傳送的比特幣數量
- Comment:備註文字
- CommentTo:備註接收人
- AutoFeeSubtract:是否自動扣除手續費,預設值:false
上面的引數中,只有ToAddress
和Amount
是必須的。當呼叫完成時,
將返回該筆交易對應的ID。
下面的程式碼使用GuzzleHttp
來呼叫sendtoaddress
介面向指定的地址傳送
0.12個比特幣:
<?php
require('../vendor/autoload.php');
use GuzzleHttp\Client;
$client = new Client();
$opts = [
'json' => [
'jsonrpc' => '1.0',
'method' => 'sendtoaddress',
'params' => ['1LeiqzD6jCwPcdNNAPiT8ayKgdHJMP2EpZ',0.12],
'id' => time()
]
];
$rsp = $client->post('http://user:pass@localhost:8332',$opts);
echo $rsp->getBody() . PHP_EOL;
複製程式碼
上面的程式碼假設你的比特幣錢包在本機的8332埠監聽RPC呼叫請求,這也是 比特幣錢包預設的監聽埠。
比特幣錢包提供了非常豐富的RPC介面,我們可以在Php程式碼中非常輕鬆 地加入對比特幣支付的支援。如果你希望快速掌握在自己的Php網站整合對 比特幣的支援,可以訪問我們提供的線上互動教程: Php比特幣開發詳解。
原文連結:PHP如何呼叫比特幣錢包的RPC