Php

有沒有辦法按照最新的優先順序獲取記憶體池?

  • May 24, 2016

我試圖首先列出最新交易getrawmempool的結果。

這是我所擁有的:

getrawmempool按事務雜湊的順序返回記憶體池,所以我使用 PHP 對其進行排序:

<?php
// Get an array of the memory pool transactions
$getrawmempool = $bitcoin->getrawmempool(true); // true = verbose

// Create a new array of "txid" => "time" (just so I can sort it)
foreach (array_keys($getrawmempool) as $txid) {
    $mempool[$tx] = $getrawmempool[$txid]['time'];
}

// Sort the new array
arsort($mempool);

// Print results
print_r($mempool);
?>

現在,這並不是很慢,但是對 10,000+ 個數組值進行排序並不是很容易。

問題:

  • 有沒有辦法從 bitcoin-cli按最新的順序獲取記憶體池?
  • 如果沒有,是否有更快/更好的方法對返回的結果進行排序?

我想玩弄所有使用 PHP 的記憶體池事務。因此,如果我可以按順序獲取記憶體池交易以及有關每個交易的所有詳細資訊,那將很方便。

我認為你有兩個選擇:

**1)**修補比特幣核心並getrawmempoolentry返回在entry_date之後排序的記憶體池交易。有提升多索引能夠快速排序記憶體池交易(<https://github.com/bitcoin/bitcoin/blob/master/src/txmempool.h#L303>)

**2)**您可以嘗試提高您的PHP排序速度。恕我直言Arsort不是最好的選擇。

引用自:https://bitcoin.stackexchange.com/questions/44344