Glad you brought this up. Prior to building helloblock, I built a couple of other open source apps (tippercoin / sparecoins) which used the blockchain.info API.
There were a few problems that I encountered. Blockchain.info is focused on consumer and their API is structured to back their consumer facing sites. As such, they have no testnet support. This is a deal breaker. Because that means, any integration tests come at a tangible financial cost.
Furthermore, their API has always been a documented internal API rather than a public one. That meant, there is no versioning on the API and they sometimes make breaking changes without deprecation notice. The lack of versioning caused a bit of issues.
And in general, I found the API is set up in a way that is, frankly, a bit strange. For example, instead of a status code of 400 for an client side error, they generate a 200 status code with an error text in the body. That also caused issues for debugging and error handling too.
In the end, the various quirks finally led us to build this API.
You forgot another reason. I've been trying to run several businesses on the BlockChain.info API and it's just plain unreliable. Funds forwarding and notifications of transactions can take hours and that's just not acceptable if you're trying to run a business.
Yes, but only with the transaction forwarding feature.
They offer a free service where you can give their API a destination address and a webhook and they'll give you back a individual deposit address.
You can then give that deposit address to your customer. In theory, the customer is supposed to make the payment, Blockchain.info sees the transaction, notifies your webhook, and forwards the payment to the destination address.
The problem is that the system that looks for the transactions sometimes doesn't see them for hours and the webhook isn't notified until the payment is swept.
The money was received but it took 2 hours and 15 minutes for my webhook to be notified that payment was received and for it to be forwarded. In the meantime, the customer who was told that the transaction would be approved after 1 block confirmation was furious.
This seems to happen about 30% of the time with their API.
I'd be curious to have your perspective on the risks of relying on 3rd party infrastructure. That 3rd party can't really try to feed wrong blocks or transactions, it would ruin its business. Then from a practical standpoint, the only attack it can run is a Sybil attack which, when not spending any transaction, can't result in double-spends. So what do you see as a problem relying on 3rd party infra for Bitcoin development?
The OP was complaining that blockchain.info has outages (which it does), so there's one reason. But more generally, the whole point of Bitcoin is you don't have to rely on trusted third parties. You might as well say, "the bank can't really try to gamble with your money, it'd ruin its business". But it happens! Now block explorer sites can't gamble with your money, but they can do plenty of other things. The assumption that they won't do problematic things because it'd hurt their business is just as weak. E.g. what happens if they start charging you fees?
But more generally I wonder why people are doing this. If your app really needs indexed access to the entire block chain, you probably designed it wrong. If your app doesn't, then you could as well use local software.
We are about to release a webhook feature which you can register your deposit addresses (you can also set it at a predetermined confirmation count). That way at least you will get notified immediately (so you can confirm it with your customer). although the forwarding is still up to blockchain.info to be timely. Contact us over scott@helloblock.io if you are interested.
What might have gone wrong (i.e. what might the video show)? YouTube has given an error when trying to view the video on every day that I've tried to view it (its viewer #s appear to have flatlined too - so I don't think it's just me).
I'd like some idea just so I'm not completely in the dark : Blue smoke, seizure, wind, sunlight, self-hitting, etc?
This almost seems like an unfortunate consequence on the "Innovator's Dilemma", whereby older workers compete on experience and qualifications, but are then deemed overqualified by employers. Much like how technology consistently outpaces market demand.
Rather, it seems like workers need to compete on a new trajectory and perhaps be re-educated. Although, I don't know if how system supports that very well.
There's actually an open source project that does this (https://github.com/maxme/bitcoin-arbitrage). It's pretty much a simple version of how algorithmic trading works on Wall St.
The thing that really kills you is time lag, getting your money between exchanges. This means you can't have pure arbitrage (riskless), but rather statistical arbitrage.