Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: ForeignKeys on January 30, 2014, 10:53:12 PM



Title: Where to start?
Post by: ForeignKeys on January 30, 2014, 10:53:12 PM
Hi, I'm a college student currently studying computer science and am extremely fascinated by bitcoin. I am interested in developing new applications and software involving bitcoin, but can't help but feel that I'm in over my head. Where would be a good place to start if I'm looking to learn how to write code that speaks bitcoin and also learn more about how the bitcoin protocol works in general?

Thanks,
Reed


Title: Re: Where to start?
Post by: etotheipi on January 31, 2014, 12:04:06 AM
Hi, I'm a college student currently studying computer science and am extremely fascinated by bitcoin. I am interested in developing new applications and software involving bitcoin, but can't help but feel that I'm in over my head. Where would be a good place to start if I'm looking to learn how to write code that speaks bitcoin and also learn more about how the bitcoin protocol works in general?

Thanks,
Reed

Do what I did to 2 years ago:  write a program that parses the blk*.dat produced by Bitcoin-Qt/bitcoind, and calculates the balance of an arbitrary address/script.  That "simple" task will show you the entrance to the rabbit hole :)

The blk*.dat files are just a simple concatenation of blocks, each one is:

Code:
Magic Bytes (4)
Block Size (4)
Header (80)
NumTx (VAR_INT)
Tx0
Tx1
...
TxN

We recently started hiring employees for my company, and this is basically what I've had them doing to get initiated.

P.S. - Also developing your love-hate relationship with the available documentation on these things.  The above task can be completed mostly with just the documentation at the following links:

https://en.bitcoin.it/wiki/Protocol_specification
https://en.bitcoin.it/wiki/Transactions


Title: Re: Where to start?
Post by: raskul on January 31, 2014, 12:04:37 AM
Hi, I'm a college student currently studying computer science and am extremely fascinated by bitcoin. I am interested in developing new applications and software involving bitcoin, but can't help but feel that I'm in over my head. Where would be a good place to start if I'm looking to learn how to write code that speaks bitcoin and also learn more about how the bitcoin protocol works in general?

Thanks,
Reed
start a pool


Title: Re: Where to start?
Post by: empoweoqwj on January 31, 2014, 04:09:20 AM
Hi, I'm a college student currently studying computer science and am extremely fascinated by bitcoin. I am interested in developing new applications and software involving bitcoin, but can't help but feel that I'm in over my head. Where would be a good place to start if I'm looking to learn how to write code that speaks bitcoin and also learn more about how the bitcoin protocol works in general?

Thanks,
Reed

What languages do you know?


Title: Re: Where to start?
Post by: ForeignKeys on January 31, 2014, 04:23:22 AM
What languages do you know?

I know Python, Java, Javascript, and Objective-C


Title: Re: Where to start?
Post by: ForeignKeys on January 31, 2014, 04:32:32 AM
Do what I did to 2 years ago:  write a program that parses the blk*.dat produced by Bitcoin-Qt/bitcoind, and calculates the balance of an arbitrary address/script.  That "simple" task will show you the entrance to the rabbit hole :)

Thanks! This sounds like a great idea.


Title: Re: Where to start?
Post by: swampbuzz on January 31, 2014, 04:47:34 AM
Do you guys know of any open source exchange software?  ???


Title: Re: Where to start?
Post by: Shahrukh on January 31, 2014, 05:57:22 AM
Do you guys know of any open source exchange software?  ???


Off topic


Title: Re: Where to start?
Post by: moocoin on January 31, 2014, 06:14:13 AM
Given that you know javascript, I would start by making a fun bitcoin web-app.
Node.js backend using node-bitcoin for the bitcoin network integration.
Javascript and Jquery for the front-end.



Title: Re: Where to start?
Post by: empoweoqwj on January 31, 2014, 07:15:16 AM
What languages do you know?

I know Python, Java, Javascript, and Objective-C

Then you are not over your head at all. Just use the APIs out there and you can do whatever you need.