I've been thinking of creating a dice gambling site, and would appreciate tips on how I should do it. Here are some of my questions:
What coding languages are best for the job?
I used node.js for Just-Dice and had good experiences with it.
What security measures do I need to implement for the site and wallet?
This is a worrying question. Security isn't something you add to a site, it's the absence of insecurity. Just don't mess anything up and you have security.
How do I create a hot/cold wallet system? How do I make a new wallet for each deposit address?
Another worrying question. I would suggest that you're probably not ready to do this right. Play about with Bitcoin and web application development in general to get a feel for it. Work your way up.
A hot wallet is simply a wallet that the server can interact with, and a cold wallet is a wallet that's not online. You create them both in the normal way. You shouldn't be creating a new wallet for each user. I found that 3 wallets was enough for Just-Dice - one for the server to use, one offline cold wallet, and one which I keep online locally as a buffer between the two so I don't have to keep manually transferring coins from the cold wallet (which is a pain due to its offline nature).
How do I make the game provably fair?
There are as many ways to do this as there are existing dice sites. The basics are:
make all rolls depend on the seeds: one that you pick, and one that the player picks
make sure you pick your seed first, and commit to it (by publishing its hash) before making the player pick
make sure the rolls are completely determined by the seeds
These 3 things together prove to the player that you can't be manipulating his rolls, since he picked a vital part of the input to the roll, and he picked his part last.
And please tell me any other important things if you can think of any.
If your site is successful, it's going to take over your life. Be ready for that, or don't even start it.