Pages:
Author

Topic: What web related programming languages should I learn to make BitCoin Websites? - page 2. (Read 3229 times)

legendary
Activity: 1102
Merit: 1014
Fuzzy,

At this time I would get familiar with PHP and MySQL. For example you could setup my https://github.com/weex/oscommerce-bitcoin module which would require that you install oscommerce (not exactly cutting edge but useful for learning). With that process, you would have a working web store in a couple days and can modify from there.

Even if don't want oscommerce, there is a useful script in there called script/monitor.py written obviously in python that talks to bitcoind and shows you how to bridge between MySQL(and php which would connect to it) and bitcoind.

Good luck to you.

-weex
donator
Activity: 1218
Merit: 1079
Gerald Davis
Fuzzy I am going to get booed out of the room but I would recommend .Net (and specifically c#).

php is likely the "standard".  There seems to be more bitcoin web-app code in php than any other language (maybe more than all other languages combined).  I agree that C++ is likely the last choice when it comes to web development.  Maybe for back end processing but even then ... meh.

Top 3 IMHO:
php
java
.net (I know I won't get no love for this one)

As far as how to link the "front end" and the "back end" the simplest as pointed out above is to use the plain ole bitcoind running in server mode and have your web app communicate with it via the JSON API.  If you want to go more complex there are libraries which allow building custom applications which interface with the network.  You should be able to write a simple php application which pulls some data from the bitcoind and displays it on a webpage pretty easy.  Your "hello world" could be something like showing the current block height, and balance of your wallet.  Useless but a good way to get your server setup, write some php code, and figure out how to communicate with the bitcoind.    Everything else is just the same concept on a larger scale/scope.



Throwing a little theory into the discussion.  Wait wait don't do to sleep yet it's not bad.  

A good application should be based on the ntier model.  So at the lowest level you have your datastore.  This could be something as simple as a text file but more likely is a database (MySQL is the most common).  Above that your have your low level plumbing which allows data access.  Luckily you won't be writing this.  Libraries to do that have existed for some time now.  The next level up is your business logic.  This is where bitcoind (or some custom bitcoin processing engine) fits in.  It is the "smarts" of your project.  The presentation layer should have no real "smarts".  It is simply for pre-validating user input (make sure to validate again in the business layer, and watch out for SQL Injection), and displaying the data (looking shiny).

Likely all that made about no sense and your first app will be "1 tier" (no that isn't a real thing) where a single blob of code handles everything from presentation to writing to the database.  You will find it becomes very difficult to maintain the application and even more difficult to keep it secure.  
hero member
Activity: 812
Merit: 1006
Thanks for the replies guys. Looks like I may be able to at least try some stuff with C++ first.

Was hoping a few more devs would reply with regards to good web based languages to learn, but I guess they're busy working on stuff Cheesy

Personally I don't recommend going for C++ if you want to create web applications. Even PHP would be better choice. But I guess you have some reasons to choose that way, best of luck Smiley
hero member
Activity: 560
Merit: 500
Thanks for the replies guys. Looks like I may be able to at least try some stuff with C++ first.

Was hoping a few more devs would reply with regards to good web based languages to learn, but I guess they're busy working on stuff Cheesy
hero member
Activity: 812
Merit: 1006
If you like the django web framework (python), you can use the django_bitcoin library, which is developed by me + couple of other contributors.

https://github.com/kangasbros/django-bitcoin

I wrote a short tutorial about how to use it:

http://blog.kangasbros.fi/?p=85
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
I've been wondering this since I learned about Bitcoin and got into mining a year ago. What skills and what programming languages do you need to know to make a website that deals with handling users and bitcoin transfers?

You can do all the bitcoin related work using "bitcoind" which can be called from any language that allows "system" type calls (so which language you want to use is really not so relevant unless you are wanting to use a library interface).

Regarding using bitcoind you might be interested to have a look at https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list.

For handling "users" with the one wallet you can use "accounts" although bear in mind if you are going to actually run a "hot wallet" you will likely need to learn more about server security than about programming itself (you are probably well aware of this point with all the events that have happened in recent months).

Also if you are interested in the possibility of building Bitcoin web apps in C++ then you might be interested in my up and coming open source project (PM me for details).


Cheers,

Ian.
hero member
Activity: 560
Merit: 500
I've been wondering this since I learned about Bitcoin and got into mining a year ago. What skills and what programming languages do you need to know to make a website that deals with handling users and bitcoin transfers?

Since the bitcoin protocol is so new, where did people figure out how to stream bitcoins from the client to a web page/database and back?

I've just started learning C++ and plan on picking up something more web/front end related after I've worked through the current book.

Any advice is appreciated.  Smiley
Pages:
Jump to: