比特币钱包RPC的PHP调用方法

2019-03-12 10:38:13 浏览数 (1)

当我们希望在Php开发的网站中加入比特币支付功能时,需要解决的第一个 问题,就是如何在Php程序代码中调用比特币钱包的RPC API开发接口来实现 我们期望的功能,例如比特币的支付与接收。

例如,当我们希望在Php代码中给某个比特币地址发送以太币时,可以使用 sendtoaddress 这个RPC接口,可以传入以下参数:

  • ToAddress:接收地址
  • Amount:发送的比特币数量
  • Comment:备注文本
  • CommentTo:备注接收人
  • AutoFeeSubtract:是否自动扣除手续费,默认值:false

上面的参数中,只有ToAddressAmount是必须的。当调用完成时, 将返回该笔交易对应的ID。

下面的代码使用GuzzleHttp来调用sendtoaddress接口向指定的地址发送 0.12个比特币:

代码语言:javascript复制
<?php
require('../vendor/autoload.php');

use GuzzleHttpClient;

$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代码中非常轻松 地加入对比特币支付的支持。

0 人点赞