psychicat / monero-php
Monero simplewallet JSON-RPC接口的PHP库。
Requires
- graze/guzzle-jsonrpc: ^3.2
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进程。