<p>You should have a look at <a href="https://bitcointalk.org/index.php?topic=88149.0" rel="noreferrer">this</a> (my master thesis topic connected to running Bitcoin on GAE).</p>

<p>While it is possible to run a Bitcoin-related application on Google App Engine, the service will inherently depend on another application to run. GAE only allows one to use the most basic ports for HTTP and HTTPS communication, whereas running an independent Bitcoin node requires the use of TCP/IP. It is possible to write a simple program to convert HTTP calls into TCP/IP ones, but that would need to be hosted elsewhere. If you want to use Bitcoind as the way to communicate with the Bitcoin network, things get significantly easier.</p>

<p>I've tried writing my own implementation of a Bitcoin client on Google App Engine in Go, but was ultimately defeated by OP_Checksig and its lack of documentation. But honestly, I found using Bitcoind for everything Bitcoin-related to be a lot simpler.</p>

<p>What you also need to consider are the costs of running apps on Google App Engine. I personally found the write and read operations to be a bit limiting if you want to stay on a free tier, but depending on what you will actually want to do, there can be other factors to consider.</p>

CC BY-SA 3.0
2017-02-18T16:05:05.053Z
Where can I get your latest GAE java code? I used to have it but lost in a old death HDD.
quantme
CC BY-SA 3.0
2017-02-20T08:46:00.570Z
@quantme I don't use Java, I code in Go.
ThePiachu
CC BY-SA 3.0
2012-06-21T21:46:49.020Z
So to conclude? The only feasible way is to host a Bitcoind client elsewhere?
I have considered to host the entire application on an Amazon or Heroku service. But I'm familiar with App Engine and my team is just not experienced enough to run from a self-managed host like those. Maybe we will eventually consider doing this, but for now we're looking to do it on App Engine.
Steven Roose
CC BY-SA 3.0
2012-06-21T21:54:34.193Z
@stevenroose Running a Bitcoind client elsewhere is the easiest, but you probably could do what StronCoin did and rely on other services to operate - for example a javascript wallet handling services and an API to accept custom Transactions.
ThePiachu
CC BY-SA 3.0
2012-06-21T22:01:34.107Z
What exactly did StrongCoin do? Why "did"? Are they gone? I know what Blockchain My Wallet does. But I'm not wanting to write a real Wallet service. Just a service where users can send and receive coins from. More the way MtGox does it, f.e.
Steven Roose
CC BY-SA 3.0
2012-06-21T22:23:49.730Z
@stevenroose StrongCoin is still around and doing well as far as I know. I'm not sure which service they use exactly for some things, but they get information required for creating transactions from Block Explorer, let the users decode their private keys on their machines through javascript, then sign the transaction and send it back to them to relay to the Bitcoin network. The same could be done on Google App Engine.
ThePiachu
CC BY-SA 3.0
2012-06-21T22:27:02.250Z
Ah, yes, that's exactly the way Blockchain My Wallet works as well. Sadly, this is not possible in our case.
Steven Roose
CC BY-SA 3.0
2012-06-21T22:31:16.970Z
BTW, I'm in examination period now, but will definitely read your thesis about this.
Steven Roose
CC BY-SA 3.0
2012-06-21T21:39:44.507Z
2012-06-21T21:39:44.507Z
ThePiachu
<p>This question is cross-posted on <a href="https://bitcoin.stackexchange.com/questions/4028/is-it-possible-to-run-bitcoin-on-google-app-engine-alternatives">bitcoin.stackexchange</a>, <a href="https://stackoverflow.com/questions/11146996/is-it-possible-to-run-bitcoin-on-google-app-engine-alternatives">stackoverflow</a> and <a href="https://bitcointalk.org/index.php?topic=88949.0" rel="nofollow noreferrer">bitcointalks</a>.</p>

<hr>

<p>I'm planning to build an application on Google App Engine that will heavily make use of Bitcoin trading. I've been Googling along a little but I couldn't find whether it is possible to run Bitcoin itself on App Engine (with Java). I have some experience with App Engine, but limited to a pure web-app centered usage.
I've read about a few people that have made applications using Bitcoin with App Engine as well that are hosting Bitcoin separately on an Amazon EC2 instance.</p>

<p>So, does anyone here either has experience with running Bitcoin in App Engine for Java or would anyone have an idea how this could possibly be done? 
I know there are a lot of Bitcoin applications out there, I'd like to know how these manage their Bitcoin traffic.</p>

<p>I'm trying to avoid needing a separate Amazon service running all the time next to App Engine.</p>

<p>In fact, receiving Bitcoin can easily be done by using passive APIs like <a href="http://blockexplorer.com/" rel="nofollow noreferrer">blockexplorer</a> or <a href="https://blockchain.info/" rel="nofollow noreferrer">blockchain</a>, so I'm considering to find a reliable API to handle my outgoing payments. But this approach causes extreme dependency on this API service, which I actually want to avoid as much as possible.</p>

CC BY-SA 3.0
2012-06-21T21:29:06.753Z
Was it really necessary to cross post in a half dozen places?
Stephen Gornick
CC BY-SA 3.0
2012-06-21T21:33:11.643Z
It's 3 actually. And, in fact, the question belongs here. But I think there are far more App Engine specialists in Stackoverflow (this place is a little deserted). And I know that the true Bitcoin insiders are on Bitcointalk.
I'm sorry for that, but I ought this question quite relevant, considering the popularity of App Engine among web developers...
Steven Roose
<development>
Is it possible to run Bitcoin on Google App Engine? / alternatives?
Steven Roose
# Is it possible to run Bitcoin on Google App Engine? / alternatives?

(Asked by: username_0 on 2012-06-21)

This question is cross-posted on [bitcoin.stackexchange](https://bitcoin.stackexchange.com/questions/4028/is-it-possible-to-run-bitcoin-on-google-app-engine-alternatives), [stackoverflow](https://stackoverflow.com/questions/11146996/is-it-possible-to-run-bitcoin-on-google-app-engine-alternatives) and [bitcointalks](https://bitcointalk.org/index.php?topic=88949.0).

---

I'm planning to build an application on Google App Engine that will heavily make use of Bitcoin trading. I've been Googling along a little but I couldn't find whether it is possible to run Bitcoin itself on App Engine (with Java). I have some experience with App Engine, but limited to a pure web-app centered usage.
I've read about a few people that have made applications using Bitcoin with App Engine as well that are hosting Bitcoin separately on an Amazon EC2 instance.

So, does anyone here either has experience with running Bitcoin in App Engine for Java or would anyone have an idea how this could possibly be done?
I know there are a lot of Bitcoin applications out there, I'd like to know how these manage their Bitcoin traffic.

I'm trying to avoid needing a separate Amazon service running all the time next to App Engine.

In fact, receiving Bitcoin can easily be done by using passive APIs like [blockexplorer](http://blockexplorer.com/) or [blockchain](https://blockchain.info/), so I'm considering to find a reliable API to handle my outgoing payments. But this approach causes extreme dependency on this API service, which I actually want to avoid as much as possible.

**Tags:** development

> **Comments:**
> **username_1**: Was it really necessary to cross post in a half dozen places?  
> **username_0**: It's 3 actually. And, in fact, the question belongs here. But I think there are far more App Engine specialists in Stackoverflow (this place is a little deserted). And I know that the true Bitcoin insiders are on Bitcointalk. I'm sorry for that, but I ought this question quite relevant, considering the popularity of App Engine among web developers...  

---

## 1 answers

### Answer by username_2 on 2012-06-21. Score: 6 | Accepted answer

You should have a look at [this](https://bitcointalk.org/index.php?topic=88149.0) (my master thesis topic connected to running Bitcoin on GAE).

While it is possible to run a Bitcoin-related application on Google App Engine, the service will inherently depend on another application to run. GAE only allows one to use the most basic ports for HTTP and HTTPS communication, whereas running an independent Bitcoin node requires the use of TCP/IP. It is possible to write a simple program to convert HTTP calls into TCP/IP ones, but that would need to be hosted elsewhere. If you want to use Bitcoind as the way to communicate with the Bitcoin network, things get significantly easier.

I've tried writing my own implementation of a Bitcoin client on Google App Engine in Go, but was ultimately defeated by OP\_Checksig and its lack of documentation. But honestly, I found using Bitcoind for everything Bitcoin-related to be a lot simpler.

What you also need to consider are the costs of running apps on Google App Engine. I personally found the write and read operations to be a bit limiting if you want to stay on a free tier, but depending on what you will actually want to do, there can be other factors to consider.

> **Comments:**
> **username_0**: So to conclude? The only feasible way is to host a Bitcoind client elsewhere? I have considered to host the entire application on an Amazon or Heroku service. But I'm familiar with App Engine and my team is just not experienced enough to run from a self-managed host like those. Maybe we will eventually consider doing this, but for now we're looking to do it on App Engine.  
> **username_2**: @username_0 Running a Bitcoind client elsewhere is the easiest, but you probably could do what StronCoin did and rely on other services to operate - for example a javascript wallet handling services and an API to accept custom Transactions.  
> **username_0**: What exactly did StrongCoin do? Why "did"? Are they gone? I know what Blockchain My Wallet does. But I'm not wanting to write a real Wallet service. Just a service where users can send and receive coins from. More the way MtGox does it, f.e.  
> **username_2**: @username_0 StrongCoin is still around and doing well as far as I know. I'm not sure which service they use exactly for some things, but they get information required for creating transactions from Block Explorer, let the users decode their private keys on their machines through javascript, then sign the transaction and send it back to them to relay to the Bitcoin network. The same could be done on Google App Engine.  
> **username_0**: Ah, yes, that's exactly the way Blockchain My Wallet works as well. Sadly, this is not possible in our case.  
> **username_0**: BTW, I'm in examination period now, but will definitely read your thesis about this.  
> **username_3**: Where can I get your latest GAE java code? I used to have it but lost in a old death HDD.  
> **username_2**: @username_3 I don't use Java, I code in Go.  

---

