BlockExplorer.com
Bitcoin Block Explorer (also known as Block Explorer or BBE) is an online block chain browser which displays the contents of individual Bitcoin blocks and transactions and the transaction histories and balances of addresses. It is operated by theymos.
Each object is displayed in human-readable form, as a web page, and is given a URL. By using hyperlinks, it allows users to switch from seeing one piece of data to a related one, with a single click. Clicking on the hash of an object, will move to the page that displays its data. This way for instance, you can switch from looking at a transaction, to looking at the previous transaction which gave this transaction its inputs. All block data is visible, in human-readable or machine-readable forms, and even some information that is not actually part of blocks.
It is mainly aimed at advanced users who already know what blocks are and what kind of information they contain, but a lot of helpful information is provided in tool-tips.
A listing of "strange transactions" is displayed in the main page, along with listings of the latest and largest transactions.
Bitcoin Block Explorer can also display information from the Testnet.
History
Many of the real-time stats pages existed before Bitcoin Block Explorer at http://theymos.ath.cx:64150/q. getdifficulty and getblockcount were created around July 2010, with decimaltarget, probability, hashestowin, nextretarget, totalbc, and bcperblock coming soon after. These pages were made in response to block and difficulty values being "hard-coded" into text on the old wiki, which quickly made the information obsolete.
Bitcoin Block Explorer was first made available around November 2010 at http://theymos.ath.cx:64150/bbe. It was initially meant to be the Bitcoin equivalent of TorStatus, dumping all important data about the network. After it became much more popular than the real-time stats pages, BBE was moved to http://blockexplorer.com/, and real-time-stats were moved to http://blockexplorer.com/q.
Interfacing with BBE
Use the query pages such as getreceivedbyaddress wherever possible. Note that these pages do not send a trailing newline, which may cause problems with your HTTP-fetching tool. When an error occurs, the result will begin with "ERROR:", followed by the error text. Your detection of "ERROR" must be case-insensitive. An empty result is also an error. Non-fatal errors will print query results on the next line after the error, though using this data is inadvisable.
To get block or transaction info, first find the hash of the item. This is done by using the search tool, which is accessible through a GET/HEAD request. For example, to get the hash of block number 444:
$ telnet blockexplorer.com 80 HEAD /search/444 HTTP/1.1 Host: blockexplorer.com HTTP/1.1 302 Found ... Location: http://blockexplorer.com/block/00000000cff43a64ec00bea1...
The hash is in the URL listed in the "location" header. Use it to get the JSON raw block:
http://blockexplorer.com/rawblock/00000000cff43a64ec00bea1...
Transactions use a URL like this:
http://blockexplorer.com/rawtx/cd5a933b2aec79c02f7ce36222930d4c85...
If the search returns any status code other than 302, then the search is bad. A status code of 200 indicates that the search was ambiguous, and the page body will contain links to the choices. Example of search ambiguity. A search with no search terms will 302-redirect to the home page. Searches for valid block numbers will always redirect to the block with that number (ignoring all other search types), though you can force BBE to assume a hex value by preceding it with "0x".
The shortlinks at the top of most pages are similar to searches. It is possible for shortlinks to be ambiguous, and they will likewise return a 200 status code in that case.
Unfortunately, the JSON raw block/tx pages omit a lot of important information, and there is no similar page for addresses. A full XML interface is planned. Scraping the HTML pages is not recommended, as the layout can change at any time.