Get transaction that spent a transaction id

The blockchain.info API allows for querying information about a particular Transaction by its ID. But if you want to follow the coins to the next transaction, I’m not seeing what the next query should be.

Each “out” of the transaction has an address associated with it, and you can query for details about a address’ recent transactions. But if you’re exploring deep in the past, the most recent 50 transactions for a given address won’t have the spend for that particular “out”.

So is there another API out there that allows you to query Transaction details based on “has transaction N as an ‘in'”? Or do I need to go through the blockchain and make my own cache?

Edit: Blockchain.info clearly has the link to the transaction that spends a given output in their database, since the HTML view of a transaction now has “spent” tags after outputs that have been spent, which are links to the next transaction. However, that particular bit of data is not in the API view of the same transaction.

What are tainted coins exactly?

I’ve come across the term of a tainted coin several times now.
I understand that coins, or better, the origin of a coin can be traced throughout the blockchain.

I’ve read that bitcoins can be disassociated from an address, by sending it to a sufficiently large enough wallet which handles many transactions, thus making a transactions origin “untraceable”.

This collides with my understanding of the blockchain, where each transaction can be tracked back to its origin.

What does the concept of a tainted coin mean in this context and how can a coins taint be measured?

Test Network Genesis Block

I am using BitcoinJ for my java application which fetches the test network’s genesis block. I referred to the basics mentioned at JavaWorld and BitcoinJ’s Google Code wiki.

I am able to get it running but there seems to be an error while waiting for the node.

I receive the following output :

[main] INFO com.google.bitcoin.core.BlockChain - chain head is at height 0:
v1 block: 
   previous block: 0000000000000000000000000000000000000000000000000000000000000000
   merkle root: 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
   time: [1296688602] Thu Feb 03 04:46:42 IST 2011
   difficulty target (nBits): 487063544
   nonce: 384568319

[New I/O boss #9] INFO com.google.bitcoin.core.Peer - com.google.bitcoin.core.Peer$PeerHandler@fe64b9 - Connection refused: no further information

Note: I am working from a NAT network, can this be a point of connection failure?

How can I generate wallet files for multibit or armory?

I’m considering working on a bitcoin project that will need to generate wallet files. I’m not looking to create receipt addresses that a customer can send funds to for an existing wallet. Instead, I need to generate numerous wallet files, each with preferably only 1 payment address, that can be distributed across multiple locations.

Can this easily be done from a daemon command or with an existing API? If there is an API for this, any language is fine, though I would prefer Python.