Bitcoin Forum
November 13, 2024, 08:49:48 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Alright, I am going to go through the source code.  (Read 1556 times)
ALPHA. (OP)
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
November 29, 2011, 06:47:55 AM
 #1

I have the C++ documentation ready and the source downloaded. Before I pick my way around and try to begin to slowly absorb this thing, any tips? Is there any actual documentation on the Bitcoin code itself?
Phinnaeus Gage
Legendary
*
Offline Offline

Activity: 1918
Merit: 1570


Bitcoin: An Idea Worth Spending


View Profile WWW
November 29, 2011, 06:55:23 AM
 #2

I have the C++ documentation ready and the source downloaded. Before I pick my way around and try to begin to slowly absorb this thing, any tips? Is there any actual documentation on the Bitcoin code itself?

We're fucked now! What next? The manual for Three Mile Island, and you're going to fix that? (Sorry, Harv. Couldn't help myself. Good luck with C++).  Wink

Oops! I may have misunderstood your post. I thought you were going to delve into the client. My bad!
btc_artist
Full Member
***
Offline Offline

Activity: 154
Merit: 102

Bitcoin!


View Profile WWW
November 29, 2011, 06:55:49 AM
 #3

There aren't a lot of comments, but it's a relatively small code base and most things are fairly self-explanatory.

BTC: 1CDCLDBHbAzHyYUkk1wYHPYmrtDZNhk8zf
LTC: LMS7SqZJnqzxo76iDSEua33WCyYZdjaQoE
Herodes
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1000


View Profile
November 29, 2011, 08:04:07 AM
 #4

I noticed in the development forum someone had already done what you are going to do, and also done some good writeups on the code. Don't have a link right here, but I'm sure you will find it.
fivebells
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
November 29, 2011, 09:31:25 AM
 #5

  • Use the debugger to step through the code.  Makes it easier to see what's going on.
  • PyBtcEngine is a near-complete implementation which I am finding much easier to follow.
  • Documentation is sparse, but there's some on the wiki, and a thread called "overview of the Satoshi client", both of which can be pretty handy.  Browsing the source code history with a tool like gitk can also be informative, but it's a bit of a crapshoot.
dogisland
Sr. Member
****
Offline Offline

Activity: 262
Merit: 250



View Profile
November 29, 2011, 12:24:42 PM
 #6

If you haven't done C++ before then you might find the BitcoinJ java implementation easier to read.
realnowhereman
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502



View Profile
November 29, 2011, 12:41:03 PM
 #7

I don't know how helpful it will be to you; but my (woefully incomplete) alternative bitcoin client is available at:

https://github.com/andyparkins/additup

I was trying to write clearer code than the satoshi client so perhaps it will help with understanding.

The protocol is there, and a broadcast block reciever.  But they are held in memory not written to disk.

1AAZ4xBHbiCr96nsZJ8jtPkSzsg1CqhwDa
Gavin Andresen
Legendary
*
Offline Offline

Activity: 1652
Merit: 2301


Chief Scientist


View Profile WWW
November 29, 2011, 04:20:38 PM
 #8

https://bitcointalk.org/index.php?topic=41718.0

How often do you get the chance to work on a potentially world-changing project?
elggawf
Sr. Member
****
Offline Offline

Activity: 308
Merit: 250


View Profile
November 29, 2011, 07:08:16 PM
 #9

I haven't looked at how much of 0.5 is in QT, but I'm somewhat familiar with QT myself. Any object that starts with a Q is likely to be a QT object, and QT's documentation is pretty good. Simply google the object type and you should come up with a page on Nokia/Trolltech's site that has all the details in it.

I only mention this since I think your major grievance was the UI, and I gather the 0.5 version's UI is QT-based.

^_^
zellfaze
Full Member
***
Offline Offline

Activity: 141
Merit: 101


Security Enthusiast


View Profile WWW
November 30, 2011, 07:50:40 AM
 #10

Version 0.5 actually comes with two UIs.  There is a bitcoin.exe and a bitcoin-qt.exe.  Depending on whether you want the new QT UI or the legacy UI.

So he could still poke around in the non-QT based one if he doesn't want to deal with QT.

A+, CCENT, CCNA
Security Enthusiast
PHP Coder

Not that I expect anyone to, but should you like my post, please donate:
Donate: 1BRbfqii6Sm9tEUE8A16H7QeDmYFjyBZ7V
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!