<p>Transactions have no intrinsic total order, which would be needed to have a chronological order. Two nodes might independently create transactions <code>a</code> and <code>b</code> and send them to a common nodes <code>N</code> and <code>M</code>. <code>N</code> receives first <code>a</code> and then <code>b</code>, while <code>M</code> receives first <code>b</code> and then <code>a</code>, which would you say is the correct order?</p>

<p>If there were a total order it would be possible to completely avoid the double spending problem as it would immediately be clear which is the winning transaction between two conflicting ones: just pick the first.</p>

<p>Going back to your original question: there are two separate sets of transactions you have to consider.</p>

<ul>
<li>Committed transactions: transactions that have appeared in a block in the longest blockchain</li>
<li>Transactions in the memory pool: transactions that are yet to be confirmed</li>
</ul>

<p>bitcoind provides access to both these sets:</p>

<ul>
<li>Use <code>getmemorypool</code> to get the transactions in the memory pool</li>
<li>Use <code>getinfo</code> to get the height of the latest block, and then use <code>getblockhash</code> + <code>getblock</code> to iterate through the blocks in descending order and extract the transaction hashes. Stop when you have 10'000 transactions in total.</li>
</ul>

CC BY-SA 3.0
2013-01-19T17:49:01.763Z
Thanks for pointing out that there can't be a real chronological order. I went with your suggestion and used bitcoind to fetch info and transactions from the latest blocks – worked great.
Max Min
CC BY-SA 3.0
2013-01-11T14:15:18.073Z
2013-01-11T14:15:18.073Z
cdecker
<p>Transactions don't have an accurate timestamp so their chronological ordering comes at the granularity of which block the transaction was included in.</p>

<p>Access to the "raw transactions" is available using the Bitcoin.org client's API, however it is not necessarily trivial to do so.</p>

<ul>
<li><p><a href="http://en.bitcoin.it/wiki/Raw_Transactions" rel="nofollow">http://en.bitcoin.it/wiki/Raw_Transactions</a></p></li>
<li><p>Armory provides some methods to pull transactions -- see the code in the extras directory.</p></li>
<li>Other methods might include libbitcoin</li>
<li>or perhaps the library with picocoin</li>
<li>or maybe ABE (blockchain explorer</li>
</ul>

CC BY-SA 3.0
2013-01-11T12:34:22.887Z
2013-01-11T12:34:22.887Z
Stephen Gornick
<p>Is there a way to get a list of the latest transactions IDs? I know I can watch incoming transaction almost live on <a href="http://blockchain.info" rel="nofollow">http://blockchain.info</a>, but is there a way to download the last 10.000 transaction IDs?</p>

<p>Thanks for any hints!</p>

<transactions><blockchain><block>
Chronological list of transaction ids
Max Min
# Chronological list of transaction ids

(Asked by: username_0 on 2013-01-10)

Is there a way to get a list of the latest transactions IDs? I know I can watch incoming transaction almost live on <http://blockchain.info>, but is there a way to download the last 10.000 transaction IDs?

Thanks for any hints!

**Tags:** transactions, blockchain, block


---

## 2 answers

### Answer by username_1 on 2013-01-11. Score: 2 | Accepted answer

Transactions have no intrinsic total order, which would be needed to have a chronological order. Two nodes might independently create transactions `a` and `b` and send them to a common nodes `N` and `M`. `N` receives first `a` and then `b`, while `M` receives first `b` and then `a`, which would you say is the correct order?

If there were a total order it would be possible to completely avoid the double spending problem as it would immediately be clear which is the winning transaction between two conflicting ones: just pick the first.

Going back to your original question: there are two separate sets of transactions you have to consider.

* Committed transactions: transactions that have appeared in a block in the longest blockchain
* Transactions in the memory pool: transactions that are yet to be confirmed

bitcoind provides access to both these sets:

* Use `getmemorypool` to get the transactions in the memory pool
* Use `getinfo` to get the height of the latest block, and then use `getblockhash` + `getblock` to iterate through the blocks in descending order and extract the transaction hashes. Stop when you have 10'000 transactions in total.

> **Comments:**
> **username_0**: Thanks for pointing out that there can't be a real chronological order. I went with your suggestion and used bitcoind to fetch info and transactions from the latest blocks – worked great.  

---

### Answer by username_2 on 2013-01-11. Score: 2

Transactions don't have an accurate timestamp so their chronological ordering comes at the granularity of which block the transaction was included in.

Access to the "raw transactions" is available using the Bitcoin.org client's API, however it is not necessarily trivial to do so.

* <http://en.bitcoin.it/wiki/Raw_Transactions>
* Armory provides some methods to pull transactions -- see the code in the extras directory.
* Other methods might include libbitcoin
* or perhaps the library with picocoin
* or maybe ABE (blockchain explorer


---

