fenguoz/chia-php

支持以下功能:获取当前区块链信息、获取当前高度、获取当前网络信息、创建新钱包、生成助记词、发起交易、获取奇亚XCH的交易记录。

0.1.0 2021-07-01 05:46 UTC

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();

计划

  • 新增新接口
  • 新增参数和响应检验类
  • 完善文档
  • ...

🌟🌟

Stargazers over time