psychicat/monero-php

Monero simplewallet JSON-RPC接口的PHP库。

v1.0 2016-03-10 02:05 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:31:27 UTC


README

Monero simplewallet JSON-RPC接口的PHP库。

有关Monero的更多信息,请访问https://getmonero.org/home

如果您觉得这个库有用,请随意捐赠!

XMR: 47Vmj6BXSRPax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ6RjbVtp

安装

使用Composer安装库。

composer require psychicat/monero-php

创建钱包实例

require 'vendor/autoload.php';
use Monero\Wallet;

$wallet = new Monero\Wallet();

默认的主机名和端口连接到http://127.0.0.1:18082

要连接到外部IP或不同的端口

$hostname = YOUR_WALLET_IP;
$port = YOUR_WALLET_PORT;
$wallet = new Monero\Wallet($hostname, $port);

钱包方法

getBalance

$balance = $wallet->getBalance();

返回钱包在原子单位中的当前余额和解锁(可花费)余额。除以1e12进行转换。

示例响应

{ balance: 3611980142579999, unlocked_balance: 3611980142579999 }

getAddress

$address = $wallet->getAddress();

返回钱包的Monero地址。

示例响应

{ address: '47Vmj6BXSRPax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ6RjbVtp' }

transfer

$tx_hash = $wallet->transfer($options);

将Monero转给单个接收者或一组接收者,在一个交易中完成。返回付款的交易哈希。

参数

  • options - 包含destinations(对象或对象数组)、mixin(整数)、unlock_time(整数)、payment_id(字符串)的数组。必须提供destinations。默认的mixin值为4。
$options = [
    'destinations' => (object) [
        'amount' => '1',
        'address' => '47Vmj6BXSRPax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ6RjbVtp'
    ]
];

示例响应

{ tx_hash: '<b9272a68b0f242769baa1ac2f723b826a7efdc5ba0c71a2feff4f292967936d8>', tx_key: '' }

transferSplit

$tx_hash = $wallet->transferSplit($options);

transfer()相同,但在必要时可以分成多个交易。返回交易哈希列表。

可供options数组使用的附加属性

  • new_algorithm - 使用新的交易构建算法,默认为false。(布尔值)

示例响应

{ tx_hash_list: [ '<f17fb226ebfdf784a0f5814e1c5bb78c19ea26930a0d706c9dc1085a250ceb37>' ] }

sweepDust

$tx_hashes = $wallet->sweepDust();

将所有尘输出发送回钱包,以便更容易花费和混合资金。返回相应的交易哈希列表。

示例响应

{ tx_hash_list: [ '<75c666fc96120a643321a5e76c0376b40761582ee40cc4917e8d1379a2c8ad9f>' ] }

getPayments

$payments = $wallet->getPayments($payment_id);

使用给定的付款ID返回一个传入付款的列表。

参数

  • paymentID - 要扫描钱包中包含的交易(字符串)的付款ID

getBulkPayments

$payments = $wallet->getBulkPayments($payment_id, $height);

使用单个付款ID或从给定高度提供的付款ID列表返回一个传入付款的列表。

参数

  • paymentIDs - 要扫描钱包中的付款ID或ID列表(数组)
  • minHeight - 开始扫描的最小区块高度(例如:800000)(整数)

incomingTransfers

$transfers = $wallet->incomingTransfers($type);

返回钱包的传入转账列表。

参数

  • type - 接受"all":所有转账,"available":尚未花费的转账,或"unavailable":已花费的转账(字符串)

queryKey

$key = $wallet->queryKey($type);

返回钱包的花费密钥(助记词种子)或查看私钥。

参数

  • type - 接受"mnemonic":用于恢复钱包的助记词种子,或"view_key":钱包的查看密钥(字符串)

integratedAddress

$integratedAddress = $wallet->integratedAddress($payment_id);

使用您的钱包地址和给定的付款ID创建并返回一个新的集成地址,或者如果没有提供,自动生成一个随机付款ID。

参数

  • payment_id - 64个字符的十六进制字符串。如果未提供,将自动生成一个随机付款ID。(字符串,可选)

示例响应

{ integrated_address: '4HCSju123guax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ96NYBVqEd6JAu9j3gk' }

splitIntegrated

$splitIntegrated = $wallet->splitIntegrated($integrated_address);

返回与给定集成地址对应的标准地址和付款ID。

参数

  • integrated_address - Monero集成地址(字符串)

示例响应

{ payment_id: '<61eec5ffd3b9cb57>',
  standard_address: '47Vmj6BXSRPax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ6RjbVtp' }

getHeight

用法

$height = $wallet->getHeight();

返回代理的当前区块高度。

示例响应

{ height: 874458 }

stopWallet

$wallet->stopWallet();

干净地关闭当前的simplewallet进程。