fenguoz / chia-php
支持以下功能:获取当前区块链信息、获取当前高度、获取当前网络信息、创建新钱包、生成助记词、发起交易、获取奇亚XCH的交易记录。
0.1.0
2021-07-01 05:46 UTC
Requires
- guzzlehttp/guzzle: ^6.0 || ^7.0
Requires (Dev)
- phpunit/phpunit: ^5.7 || ^7.5
This package is auto-updated.
Last update: 2024-08-29 05:10:07 UTC
README
概述
Chia-PHP 支持在奇亚的 XCH 中获取当前区块链信息、获取当前高度、获取当前网络信息、创建新钱包、生成助记词、发起交易、获取交易记录等功能。
支持方法
节点
区块链
- ✅通过
getBlockchainState()
获取当前区块链信息 - ✅通过
header_hash
获取完整区块getBlock()
- ✅通过
getBlocks()
获取完整区块列表 - ✅通过
height
获取块记录getBlockRecordByHeight()
- ✅通过
header_hash
获取块记录getBlockRecord()
- ✅通过
getBlockRecords()
获取块记录列表 - ✅通过
getUnfinishedBlockHeaders()
获取未完成的头部块 - ✅通过
getNetworkSpace()
获取总绘制空间的估计值 - ✅通过
getAdditionsAndRemovals()
获取块的币种增删记录 - ✅通过
getInitialFreezePeriod()
获取区块链的初始冻结期 - ✅通过
getNetworkInfo()
获取当前网络信息
币种
- ✅通过
PuzzleHash
获取币种记录getCoinRecordsByPuzzleHash()
- ✅通过数组
PuzzleHash
获取币种记录getCoinRecordsByPuzzleHashes()
- ✅通过
币种名称/ID
获取币种记录getCoinRecordByName()
- 🚧 通过
pushTx()
推送交易包到内存池和区块链
内存池
- ✅通过
getAllMempoolTxIds()
获取交易ID(花费捆绑哈希)列表 - ✅通过
getAllMempoolItems()
获取内存池项目 - ✅通过
交易ID
获取内存池项目getMempoolItemByTxId()
钱包
密钥管理
- ✅通过
logIn()
指定finger
为激活状态 - ✅通过
getPublicKeys()
获取钱包公钥 - ✅通过
getPrivateKey()
获取钱包私钥 - ✅通过
generateMnemonic()
生成助记词 - ✅通过
addKey()
添加钥匙串 - ✅通过
deleteKey()
删除私钥 - ✅通过
deleteAllKeys()
删除所有私钥
钱包节点
- ✅通过
getSyncStatus()
获取钱包同步状态 - ✅通过
getHeightInfo()
获取当前高度 - ✅通过
farmBlock()
农场块 - ✅通过
getInitialFreezePeriod()
获取区块链初始冻结期 - ✅通过
getNetworkInfo()
获取当前网络信息
钱包管理
- ✅通过
getWallets()
获取钱包列表 - 🚧 通过
createNewWallet()
创建新钱包
钱包
- ✅通过
getWalletBalance()
获取钱包余额 - ✅通过
getTransaction()
通过交易hash
获取交易记录 - ✅通过
getTransactions()
获取交易记录 - ✅通过
getNextAddress()
获取新地址 - ✅通过
sendTransaction()
发起交易 - ✅通过
createBackup()
创建备份 - ✅通过
getTransactionCount()
获取钱包交易数量 - ✅通过
getFarmedAmount()
获取农场奖励信息 - 🚧
createSignedTransaction()
其他币种和交易 🚧
DID 钱包 🚧
RL 钱包 🚧
快速开始
安装
composer require fenguoz/chia-php
接口调用
/* 节点(Full Node) */ $fullNodeConfig = [ 'base_uri' => 'https://:8555', 'verify' => false, 'cert' => '/your/private_full_node.crt/path',// private_full_node.crt 'ssl_key' => '/your/private_full_node.key/path',// private_full_node.key ]; $api = new \Chia\Api(new \GuzzleHttp\Client($fullNodeConfig)); $fullNode = new Chia\FullNode($api); $info = $fullNode->getNetworkInfo(); // $info->network_name mainnet // $info->network_prefix xch /* 钱包(Wallet) */ $walletConfig = [ 'base_uri' => 'https://:9256', 'verify' => false, 'cert' => '/your/private_wallet.crt/path',// private_wallet.crt 'ssl_key' => '/your/private_wallet.key/path', // private_wallet.key ]; $api = new \Chia\Api(new \GuzzleHttp\Client($walletConfig)); $wallet = new Chia\Wallet($api); $info = $wallet->getNetworkInfo();
计划
- 新增新接口
- 新增参数和响应检验类
- 完善文档
- ...