PHP如何呼叫實現奇亞(Chia)互動[支援XCH]

Fenguoz發表於2021-07-01

Chia-PHP 支援奇亞的 XCH 中獲取當前區塊鏈資訊、獲取當前高度、獲取當前網路資訊、建立新錢包、生成助記詞、發起交易、獲取交易記錄等功能。

chia-php Github 地址:Fenguoz/chia-php

支援方法

節點

區塊鏈

  • ✅當前區塊鏈資訊 getBlockchainState()
  • ✅通過 header_hash 獲取完整區塊 getBlock()
  • ✅獲取完整區塊列表 getBlocks()
  • ✅通過 height 獲取塊記錄 getBlockRecordByHeight()
  • ✅通過 header_hash 獲取塊記錄 getBlockRecord()
  • ✅獲取塊記錄列表 getBlockRecords()
  • ✅獲取未完成的頭部塊 getUnfinishedBlockHeaders()
  • ✅獲取總繪製空間的估計值 getNetworkSpace()
  • ✅獲取塊的幣種增刪記錄 getAdditionsAndRemovals()
  • ✅獲取區塊鏈的初始凍結期 getInitialFreezePeriod()
  • ✅獲取當前網路資訊 getNetworkInfo()

幣種

  • ✅通過 PuzzleHash 獲取幣種記錄 getCoinRecordsByPuzzleHash()
  • ✅通過陣列 PuzzleHash 獲取幣種記錄 getCoinRecordsByPuzzleHashes()
  • ✅通過 幣種名稱/ID 獲取幣種記錄 getCoinRecordByName()
  • ? 推送交易包到記憶體池和區塊鏈 pushTx()

記憶體池

  • ✅獲取交易ID(花費捆綁雜湊)列表getAllMempoolTxIds()
  • ✅獲取記憶體池專案 getAllMempoolItems()
  • ✅通過 交易ID 獲取記憶體池專案 getMempoolItemByTxId()

錢包

金鑰管理

  • ✅指定 finger 為啟用狀態 logIn()
  • ✅獲取錢包公鑰 getPublicKeys()
  • ✅獲取錢包私鑰 getPrivateKey()
  • ✅生成助記詞 generateMnemonic()
  • ✅新增鑰匙串 addKey()
  • ✅刪除私鑰 deleteKey()
  • ✅刪除所有私鑰 deleteAllKeys()

錢包節點

  • ✅獲取錢包同步狀態 getSyncStatus()
  • ✅獲取當前高度 getHeightInfo()
  • ✅農場塊farmBlock()
  • ✅獲取區塊鏈初始凍結期 getInitialFreezePeriod()
  • ✅獲取當前網路資訊 getNetworkInfo()

錢包管理

  • ✅獲取錢包列表 getWallets()
  • ? 建立新錢包 createNewWallet()

錢包

  • ✅獲取錢包餘額 getWalletBalance()
  • ✅通過 交易hash 獲取交易記錄 getTransaction()
  • ✅獲取交易記錄 getTransactions()
  • ✅獲取新地址 getNextAddress()
  • ✅發起交易 sendTransaction()
  • ✅建立備份 createBackup()
  • ✅獲取錢包交易數量 getTransactionCount()
  • ✅獲取農場獎勵資訊 getFarmedAmount()
  • ? createSignedTransaction()

其他幣種和交易 ?

DID 錢包 ?

RL 錢包 ?

安裝


composer require fenguoz/chia-php

介面呼叫


/* 節點(Full Node) */

$fullNodeConfig = [

'base_uri' => 'https://localhost: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://localhost: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();
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章