Bitcoin Forum
May 09, 2024, 10:09:21 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 [All]
  Print  
Author Topic: Satoshi Client Operation: Overview  (Read 64593 times)
bitrick (OP)
Member
**
Offline Offline

Activity: 64
Merit: 140


View Profile
September 06, 2011, 03:38:09 AM
Last edit: September 23, 2011, 12:49:48 PM by Gavin Andresen
Merited by ABCbits (22)
 #1

Satoshi's Original Bitcoin Client - An Operational View

Preface
---------

I thought my client was taking too long to download the block chain and it
did not appear to operate smoothly. I thought I could do something to decrease
the block download time. So I downloaded the code and dug in.  Ultimately,
I failed to find the silver bullet to eliminate the long download delays
(big suprise!). But I did manage to penetrate the C++ code and figure
out how things worked for the most part.

So, I decided to write down my understanding of the code from an operational
perspective, to spare those who are not fluent in C++ from having to wade
through the code, which is quite dense and bit of a chore to pick apart,
when they really just want to know "how it works".

My focus was initially on the block download process, but I decided to
go ahead and cover all the major operational aspects I could (before losing
interest Wink. I do think I found some areas for improvement, but that is not
the point of these articles. I will try to make it clear when I am stating
the facts versus when I am writing commentary.

I intend these articles to go into the Wiki at some point but I also
thought it would be useful to open topics in the forum in order to
allow for review in case I made a mistake or missed something big,
and for reference.


Overview
------------

This series of articles will focus on how the Satoshi bitcoin client
program operates, and less so on the protocol details and the rules
for processing blocks and transactions.

Satoshi's bitcoin client is a C++ program, so be sure to look for code in
both the .cpp and the .h header files. Also, the program is multithreaded.
This leads to some complexity and the use of certain code patterns to deal
with concurrency that may be unfamiliar to many programmers. Also, the
code is aggresive in the use of C++ constructs, so it will help to be
fluent with map, multmap, set, string, vector, iostream, and templates.


For information on how the bitcoin protocol works, see:
    The original Satoshi whitepaper:
        http://bitcoin.org/bitcoin.pdf
    The articles on the bitcoin.it Wiki:
        https://en.bitcoin.it/wiki/Category:Technical
    With special mention of the protocol specification:
       https://en.bitcoin.it/wiki/Protocol_specification
    And the protocol rules:
       https://en.bitcoin.it/wiki/Protocol_rules


-- Operations --

The client is oriented around several major operations, including:

    Initialization and Startup
        Upon startup, the client performs various initilization routines
        including starting multiple threads to handle concurrent operations.

    Node Discovery
        The client uses various techniques find out about other bitcoin
        nodes that may exist.

    Node Connectivity
        The client initiates and maintains connections to other nodes.

    Sockets and Messages
        The client processes messages from other nodes and sends
        messages to other nodes using socket connections.
    
    Block Exchange
        Nodes advertise their inventory of blocks to each other and
        exchange blocks to build block chains.

    Transaction Exchange
        Nodes exchange and relay transactions with each other.
        The client associates transactions with bitcoin addresses in the
        local wallet.

    Wallet Services
        The client can create transactions using the local wallet.
        The client associates transactions with bitcoin addresses in the
        local wallet. The client provides a service for managing
        the local wallet.

    RPC Interface
        The client offers an JSON-RPC interface over HTTP over sockets
        to perform various operational functions and to manage the local
        wallet.

    User Interface
        The user interface code is scheduled to be superseded by bitcoin-qt.
        Therefore, it is not covered in further detail.

See their individual articles for more detail on each of these operations.


-- fClient Mode --

It is worth noting that there is code in the client to allow it to
operate in a mode where it only downloads block headers.
The implementation is intended to be used as a lightweight client mode which
can operate without verifying and storing all blocks and transactions.

This is controlled by the fClient variable in the code which is currently
hard coded to false.  This is currently not considered to be finished code.

This mode is known as fClient mode and the phrase Simplified Payment
Verification (or SPV) mode has also been used to describe a lightweight
client approach.



-- Main Thread Level Functions --

init.cpp:
    main()
    ExitTimeout
    Shutdown
net.cpp:
    StartNode
    ThreadGetMyExternalIP
    ThreadMapPort
    ThreadSocketHandler
    ThreadOpenConnections
    ThreadMessageHandler
rpc.cpp:
    ThreadRPCServer
irc.cpp:
    ThreadIRCSeed
db.cpp:
    ThreadFlushWalletDB
ui.cpp:
    ThreadDelayedRepaint
    SendingDialogStartTransfer


-- Significant Classes By File --

net.cpp/.h:
    CNode:  handes one socket connection
    CInv
    CAddress
    CMessageHeader
    CRequestTracker

main.cpp/.h:
    CDiskTxPos
    CInPoint
    COutPoint
    CTxIn
    CTxOut

    CTransaction
    CMerkleTx
    CTxIndex

    CBlock
    CBlockIndex
    CDiskBlockIndex
    CBlockLocator

    CAlert : CUnsignedAlert

wallet.cpp/.h
    CWallet : CKeyStore
    CReserveKey
    CWalletTx : CMerkleTx
    CWalletKey
    CAccount
    CAccountingEntry

db.cpp/.h:
    CTxDB
    CKeyPool
    CWalletDB

bignum.h
    CBigNum

util.h
    CCriticalSection: used for thread contention


--
Search on "Satoshi Client Operation" for more articles in this series.

Transaction Exchange : https://bitcointalk.org/index.php?topic=41730.0
Block Exchange : https://bitcointalk.org/index.php?topic=41729.0
Sockets and Messages : https://bitcointalk.org/index.php?topic=41727.0
Node Connectivity : https://bitcointalk.org/index.php?topic=41726.0
Node Discovery : https://bitcointalk.org/index.php?topic=41722.0
Initialization and Thread Startup : https://bitcointalk.org/index.php?topic=41719.0
1715249361
Hero Member
*
Offline Offline

Posts: 1715249361

View Profile Personal Message (Offline)

Ignore
1715249361
Reply with quote  #2

1715249361
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
shads
Sr. Member
****
Offline Offline

Activity: 266
Merit: 254


View Profile
September 06, 2011, 08:04:35 AM
 #2

I'm only part way through 2 of yr articles so far but I just wanna say thanks for an awesome job.  This sort of documentation is exactly what new devs need to get across the client quickly.

Are you planning to publish this series on a site somewhere?  It would be great to have it all in one place where people can bookmark it and find it easily for reference.  It's going to get buried eventually in the forum.

PoolServerJ Home Page - High performance java mining pool engine

Quote from: Matthew N. Wright
Stop wasting the internet.
Pieter Wuille
Legendary
*
qt
Offline Offline

Activity: 1072
Merit: 1174


View Profile WWW
September 06, 2011, 08:18:40 AM
Merited by ABCbits (1)
 #3

Thank you very much for this. I haven't had the time to go over everything in detail, but from what I've seen, it is correct and well researched. Please make sure this ends up on the wiki - people wanting to contribute need this kind of information.

I do Bitcoin stuff.
Alex Zee
Member
**
Offline Offline

Activity: 112
Merit: 10



View Profile WWW
September 06, 2011, 09:12:14 AM
 #4

I didn't yet read all of this, but it seems like a terrific job! Thanks for doing this!

I suggest putting it somewhere, like a wiki, and adding some images and formatting for better presentation.

BTC Monitor - systray price ticker
RipTalk.org - new Ripple forum
Nubarius
Sr. Member
****
Offline Offline

Activity: 310
Merit: 253


View Profile
September 06, 2011, 10:50:09 AM
 #5

I haven't read all of this yet either, but it looks like an amazing piece of badly needed documentation. Thank you so much.
etotheipi
Legendary
*
expert
Offline Offline

Activity: 1428
Merit: 1093


Core Armory Developer


View Profile WWW
September 06, 2011, 09:02:52 PM
Merited by ABCbits (1)
 #6

Bitrick, this is very good information.  It is exactly the kind of information I wanted, as someone who wants to get involved in BTC development but doesn't have the advanced C++ software skills needed to comprehend the Satoshi client code.  I look forward to using this as a secondary reference in my work, and helping iron out the details.

I would recommend you put links to each of the other posts at the bottom of this "Overview" post, and then one of the admins make this thread sticky.  I think people would expect to see this kind of information when they come to the "Development & Technical Discussion" forum,  and right now this is the most concise yet seemingly-complete version of this information I've seen so far.

Nice work!
-Eto

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
jackjack
Legendary
*
Offline Offline

Activity: 1176
Merit: 1233


May Bitcoin be touched by his Noodly Appendage


View Profile
September 06, 2011, 10:19:14 PM
 #7

I don't have the time to read or use these info but they look really awesome -> wiki!

Own address: 19QkqAza7BHFTuoz9N8UQkryP4E9jHo4N3 - Pywallet support: 1AQDfx22pKGgXnUZFL1e4UKos3QqvRzNh5 - Bitcointalk++ script support: 1Pxeccscj1ygseTdSV1qUqQCanp2B2NMM2
Pywallet: instructions. Encrypted wallet support, export/import keys/addresses, backup wallets, export/import CSV data from/into wallet, merge wallets, delete/import addresses and transactions, recover altcoins sent to bitcoin addresses, sign/verify messages and files with Bitcoin addresses, recover deleted wallets, etc.
dinker
Member
**
Offline Offline

Activity: 103
Merit: 10



View Profile
September 06, 2011, 10:52:00 PM
 #8

Excellent stuff!

Are you satoshi?  Roll Eyes

Help Me Help You Donations:
14kP6tNtrz3woESs9nEE5aDB81QTybGyyZ
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
September 06, 2011, 11:25:47 PM
Merited by ABCbits (1)
 #9

Very nice bitrick!

By the way, this patch speeds up initial download quite a lot:
  https://github.com/gavinandresen/bitcoin-git/commit/042a619709fab1329e8286c6aedbb2cdc8eb3497

...as do these, which have already been pulled into git head:
  https://github.com/bitcoin/bitcoin/commit/fb45259967032d409bca4d542b55414a7c522fba
  https://github.com/bitcoin/bitcoin/commit/ec74e8a44338202bfb82faa2cef4611cc37e7fa5

How often do you get the chance to work on a potentially world-changing project?
bitrick (OP)
Member
**
Offline Offline

Activity: 64
Merit: 140


View Profile
September 07, 2011, 12:04:39 AM
 #10


Thanks Gavin!
The first patch is the most promising. I actually tested turning off VerifySignature last week and calculated around double the block processing rate, when CPU limited. I was hoping for more, but every bit helps.

The last two patches I have less hope for. I know 0.3.23 can disconnect inappropriately, but in my testing any such disconnects should only result in a "brief" stall (brief == a few minutes of a multi-hour process). Note that the client should not disconnect a connection until all incoming and outgoing buffers are drained, so even if there is a disconnect, all the blocks queued prior to that can still get processed, so there should not be totally unproductive ongoing disconnections. (Or did I misunderstand the nature of the 0.3.23 problem?) I did not see a lot of 0.3.23 disconnect delays in my testing but maybe I just got lucky.
 
Thanks everyone for the nice comments. To reiterate: I do plan on putting this information into the wiki for future reference (and thanks for the suggestion Eto).

p.s. I am not Satoshi.
netrin
Sr. Member
****
Offline Offline

Activity: 322
Merit: 251


FirstBits: 168Bc


View Profile
October 15, 2011, 03:26:49 PM
 #11

Thanks Bitrick.

Greenlandic tupilak. Hand carved, traditional cursed bone figures. Sorry, polar bear, walrus and human remains not available for export.
d.james
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250

Firstbits: 12pqwk


View Profile
October 17, 2011, 05:19:43 PM
 #12

these are quiet educational, but it will take me days to digest as a newbie programmer.

You can not roll a BitCoin, but you can rollback some. Cheesy
Roll me back: 1NxMkvbYn8o7kKCWPsnWR4FDvH7L9TJqGG
GideonGono
Hero Member
*****
Offline Offline

Activity: 2016
Merit: 501


★Bitvest.io★ Play Plinko or Invest!


View Profile WWW
November 03, 2011, 02:15:54 PM
 #13

Great job! Grin



.
.BIG WINNER!.
[15.00000000 BTC]


▄████████████████████▄
██████████████████████
██████████▀▀██████████
█████████░░░░█████████
██████████▄▄██████████
███████▀▀████▀▀███████
██████░░░░██░░░░██████
███████▄▄████▄▄███████
████▀▀████▀▀████▀▀████
███░░░░██░░░░██░░░░███
████▄▄████▄▄████▄▄████
██████████████████████

▀████████████████████▀
▄████████████████████▄
██████████████████████
█████▀▀█▀▀▀▀▀▀██▀▀████
█████░░░░░░░░░░░░░████
█████░░░░░░░░░░░░▄████
█████░░▄███▄░░░░██████
█████▄▄███▀░░░░▄██████
█████████░░░░░░███████
████████░░░░░░░███████
███████░░░░░░░░███████
███████▄▄▄▄▄▄▄▄███████

██████████████████████
▀████████████████████▀
▄████████████████████▄
███████████████▀▀▀▀▀▀▀
███████████▀▀▄▄█░░░░░█
█████████▀░░█████░░░░█
███████▀░░░░░████▀░░░▀
██████░░░░░░░░▀▄▄█████
█████░▄░░░░░▄██████▀▀█
████░████▄░███████░░░░
███░█████░█████████░░█
███░░░▀█░██████████░░█
███░░░░░░████▀▀██▀░░░░
███░░░░░░███░░░░░░░░░░

██░▄▄▄▄░████▄▄██▄░░░░
████████████▀▀▀▀▀▀▀██
█████████████░█▀▀▀█░███
██████████▀▀░█▀░░░▀█░▀▀
███████▀░▄▄█░█░░░░░█░█▄
████▀░▄▄████░▀█░░░█▀░██
███░▄████▀▀░▄░▀█░█▀░▄░▀
█▀░███▀▀▀░░███░▀█▀░███░
▀░███▀░░░░░████▄░▄████░
░███▀░░░░░░░█████████░░
░███░░░░░░░░░███████░░░
███▀░██░░░░░░▀░▄▄▄░▀░░░
███░██████▄▄░▄█████▄░▄▄

██░████████░███████░█
▄████████████████████▄
████████▀▀░░░▀▀███████
███▀▀░░░░░▄▄▄░░░░▀▀▀██
██░▀▀▄▄░░░▀▀▀░░░▄▄▀▀██
██░▄▄░░▀▀▄▄░▄▄▀▀░░░░██
██░▀▀░░░░░░█░░░░░██░██
██░░░▄▄░░░░█░██░░░░░██
██░░░▀▀░░░░█░░░░░░░░██
██░░░░░▄▄░░█░░░░░██░██
██▄░░░░▀▀░░█░██░░░░░██
█████▄▄░░░░█░░░░▄▄████
█████████▄▄█▄▄████████

▀████████████████████▀




Rainbot
Daily Quests
Faucet
RodeoX
Legendary
*
Offline Offline

Activity: 3066
Merit: 1147


The revolution will be monetized!


View Profile
November 03, 2011, 03:29:11 PM
 #14

Thanks bitrick! I have not seen this information elsewhere.

The gospel according to Satoshi - https://bitcoin.org/bitcoin.pdf
Free bitcoin in ? - Stay tuned for this years Bitcoin hunt!
finway
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
November 04, 2011, 08:03:24 AM
Last edit: November 04, 2011, 08:21:43 AM by finway
 #15

Subscribe.

Instresting, abandon downloading blockchains from .323 client speed the downloading up.

quartz92
Member
**
Offline Offline

Activity: 72
Merit: 10


View Profile
November 08, 2011, 02:10:51 AM
 #16

nice job!
btc_artist
Full Member
***
Offline Offline

Activity: 154
Merit: 101

Bitcoin!


View Profile WWW
November 29, 2011, 04:25:42 PM
 #17

Watch.

BTC: 1CDCLDBHbAzHyYUkk1wYHPYmrtDZNhk8zf
LTC: LMS7SqZJnqzxo76iDSEua33WCyYZdjaQoE
R-
Full Member
***
Offline Offline

Activity: 238
Merit: 100

Pasta


View Profile WWW
April 05, 2012, 10:32:52 AM
 #18

I find it impressive you were able to synthesize a summary from such a complex set of code.
malevolent
can into space
Legendary
*
Offline Offline

Activity: 3472
Merit: 1721



View Profile
May 16, 2012, 09:14:58 PM
 #19


This is some interesting info for me, post your address so I can send a few bitcents ;-)

Signature space available for rent.
Xenland
Legendary
*
Offline Offline

Activity: 980
Merit: 1003


I'm not just any shaman, I'm a Sha256man


View Profile
August 14, 2012, 02:38:23 AM
 #20

This reminds me of my Pseudo Bitcoin Client, were the idea is to develop a bitcoin client from scratch in each language to better help others what is happening in the Bitcoin client in their native (programming) lanauge and as well as documentation in Pseudo Code to allow others that only know English(but have a solid understanding of hashing functions) to understand fundamentally whats going on in the official Bitcoin client.

So far I just have Generating Bitcoin addresses in java code.
I would love to expand on it with different language however I don't know how the Bitcoin client works well enough to do it my self, anyways here is the link https://github.com/Xenland/Bitcoin-Pseudocode-Client/tree/gh-pages
jl2035
Full Member
***
Offline Offline

Activity: 146
Merit: 100



View Profile
November 18, 2012, 02:22:33 PM
 #21

I wonder how much time will I need to study the Satoshi's client..  Huh

JOIN Bitbiz bitbiz.io
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1091


View Profile
November 18, 2012, 05:54:58 PM
Merited by ABCbits (1)
 #22

I wonder how much time will I need to study the Satoshi's client..  Huh

A lot!  But a lot less, if you ask questions!  Smiley


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
jl2035
Full Member
***
Offline Offline

Activity: 146
Merit: 100



View Profile
November 21, 2012, 01:11:12 PM
 #23

I wonder how much time will I need to study the Satoshi's client..  Huh
A lot!  But a lot less, if you ask questions!  Smiley
Yeah, but I think I still need to study bitcoin protocols a little more. I read the Satoshi's Bitcoin paper, but guess that's not enough to understand all that code... I really don't feel 'smart' right now... Smiley

JOIN Bitbiz bitbiz.io
Intueri
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile
February 09, 2013, 03:56:50 PM
 #24

Wow, very very in depth.

A++
Bullbear
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
April 25, 2013, 09:38:36 AM
 #25

This is a great asset to the community, well done and thank you for your hard work.
LvM
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
May 01, 2013, 10:40:52 PM
 #26

An Operational View https://bitcointalk.org/index.php?topic=41718.0
Initialization and Thread Startup: https://bitcointalk.org/index.php?topic=41719.0
Node Discovery: https://bitcointalk.org/index.php?topic=41722.0
Node Connectivity: https://bitcointalk.org/index.php?topic=41726.0
Sockets and Messages: https://bitcointalk.org/index.php?topic=41727.0
Block Exchange: https://bitcointalk.org/index.php?topic=41729.0
Transaction Exchange: https://bitcointalk.org/index.php?topic=41730.0

Would be nice to have all these valuable articles in ONE Posting or ONE new thread.

BTC violates GAAP, result a MESS  https://bitcointalk.org/index.php?topic=211835.0
Anforderungen an eine PROFESSIONELLE BTC-Anwendung https://bitcointalk.org/index.php?topic=189669
BANKGEHEIMNIS mit BTC gleich NULL!? https://bitcointalk.org/index.php?topic=188383 Antwort: Ja, wenn man nicht höllisch aufpaßt.
bluemeanie1
Sr. Member
****
Offline Offline

Activity: 280
Merit: 257


bluemeanie


View Profile WWW
June 08, 2013, 08:09:52 PM
 #27

I'm only part way through 2 of yr articles so far but I just wanna say thanks for an awesome job.  This sort of documentation is exactly what new devs need to get across the client quickly.

Are you planning to publish this series on a site somewhere?  It would be great to have it all in one place where people can bookmark it and find it easily for reference.  It's going to get buried eventually in the forum.

yes. this is a good public resource, thanks.

there are also some fairly good docs about the Bitcoin client mechanics on the BitcoinJ wiki: http://code.google.com/p/bitcoinj/

Just who IS bluemeanie?    On NXTautoDAC and a Million Stolen NXT

feel like your voice isn't being heard? PM me.   |   stole 1M NXT?
bernard75
Legendary
*
Offline Offline

Activity: 1316
Merit: 1003



View Profile
June 29, 2013, 06:47:07 PM
 #28

An Operational View https://bitcointalk.org/index.php?topic=41718.0
Initialization and Thread Startup: https://bitcointalk.org/index.php?topic=41719.0
Node Discovery: https://bitcointalk.org/index.php?topic=41722.0
Node Connectivity: https://bitcointalk.org/index.php?topic=41726.0
Sockets and Messages: https://bitcointalk.org/index.php?topic=41727.0
Block Exchange: https://bitcointalk.org/index.php?topic=41729.0
Transaction Exchange: https://bitcointalk.org/index.php?topic=41730.0

Would be nice to have all these valuable articles in ONE Posting or ONE new thread.

Thx man, this saved me a lot of searching.
brooksby
Full Member
***
Offline Offline

Activity: 286
Merit: 100


View Profile
November 11, 2013, 09:57:18 PM
 #29

Great job! Thanks.
inform
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile WWW
November 11, 2013, 10:01:23 PM
 #30

An Operational View https://bitcointalk.org/index.php?topic=41718.0
Initialization and Thread Startup: https://bitcointalk.org/index.php?topic=41719.0
Node Discovery: https://bitcointalk.org/index.php?topic=41722.0
Node Connectivity: https://bitcointalk.org/index.php?topic=41726.0
Sockets and Messages: https://bitcointalk.org/index.php?topic=41727.0
Block Exchange: https://bitcointalk.org/index.php?topic=41729.0
Transaction Exchange: https://bitcointalk.org/index.php?topic=41730.0

Would be nice to have all these valuable articles in ONE Posting or ONE new thread.

Thx man, this saved me a lot of searching.

i am think same
TheMichael
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
November 16, 2013, 09:55:00 AM
 #31

nice job!
Ecurb123
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
November 19, 2013, 09:00:20 PM
 #32

this is exactly what I was looking for, thanks! One question though, being this post is over two years old now, is the original content still correct?
sp4ke
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
November 26, 2013, 09:45:44 PM
 #33

this is exactly what I was looking for, thanks! One question though, being this post is over two years old now, is the original content still correct?

I second this question as I am trying to get a deeper understanding of bitcoin protocol, thanx
Voodah
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250



View Profile
December 11, 2013, 07:31:04 PM
 #34

Amazing. Thank you so much.
virtualmaster
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500



View Profile
December 12, 2013, 07:25:28 PM
 #35

An interesting reading.

Calendars for free to print: 2014 Calendar in JPG | 2014 Calendar in PDF Protect the Environment with Namecoin: 2014 Calendar in JPG | 2014 Calendar in PDF
Namecoinia.org  -  take the planet in your hands
BTC: 15KXVQv7UGtUoTe5VNWXT1bMz46MXuePba   |  NMC: NABFA31b3x7CvhKMxcipUqA3TnKsNfCC7S
miner4coin
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
December 17, 2013, 10:53:30 PM
 #36

nicely done. thanks
konstantin718
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
December 20, 2013, 04:03:02 AM
 #37

Very helpful. Thanks!
You've inspired me to do a complete line by line technical analysis of the code and writing it up and posting here over the next few weeks.
extro24
Sr. Member
****
Offline Offline

Activity: 481
Merit: 252


View Profile
January 01, 2014, 09:09:22 AM
 #38

Ooh Konstantin.  I cannot wait.  I think thousands of programmers would be interested in that.  But do it on the latest client.  And somebody should do libcoin as well.

burinata1
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
January 31, 2014, 04:39:26 AM
 #39

Thanks for providing the info.  I'm definitely interested!  Grin
jaybny
Sr. Member
****
Offline Offline

Activity: 410
Merit: 250


Proof-of-Skill - protoblock.com


View Profile WWW
March 12, 2014, 02:50:51 AM
 #40

what version of the code is this?

Protoblock turns knowledge of American football into Fantasybit coin, a margin token used to monetize leveraged skill.

https://twitter.com/jaybny/status/1022596877332762624
Remember remember the 5th of November
Legendary
*
Offline Offline

Activity: 1862
Merit: 1011

Reverse engineer from time to time


View Profile
March 12, 2014, 02:54:14 AM
Merited by ABCbits (1)
 #41

what version of the code is this?
Old one, you can see the thread was made in 2011. From then to now the code has changed A LOT.

BTC:1AiCRMxgf1ptVQwx6hDuKMu4f7F27QmJC2
jaybny
Sr. Member
****
Offline Offline

Activity: 410
Merit: 250


Proof-of-Skill - protoblock.com


View Profile WWW
March 12, 2014, 03:13:44 AM
 #42

but which version? I have source for:

0.1.0
0.1.2
0.3.24

https://bitcointalk.org/index.php?topic=41730.msg2753401#msg2753401

seems that this s not version 0.1.0

Protoblock turns knowledge of American football into Fantasybit coin, a margin token used to monetize leveraged skill.

https://twitter.com/jaybny/status/1022596877332762624
Remember remember the 5th of November
Legendary
*
Offline Offline

Activity: 1862
Merit: 1011

Reverse engineer from time to time


View Profile
March 14, 2014, 07:59:18 PM
Merited by ABCbits (1)
 #43

but which version? I have source for:

0.1.0
0.1.2
0.3.24

https://bitcointalk.org/index.php?topic=41730.msg2753401#msg2753401

seems that this s not version 0.1.0
The thread does say Original Bitcoin client, so probably from 0.3.23 and earlier?

BTC:1AiCRMxgf1ptVQwx6hDuKMu4f7F27QmJC2
SherdonIke
Newbie
*
Offline Offline

Activity: 66
Merit: 0


View Profile
May 08, 2014, 09:44:06 AM
 #44

I don't have enough time to read this info but at first sight it looks really cool!
bbacow
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
May 08, 2014, 09:42:47 PM
 #45

Excellent stuff!

Are you satoshi?  Roll Eyes
It is a good guess~ Cheesy
anglebaby87
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
May 12, 2014, 01:12:42 PM
 #46

Excellent stuff!

Are you satoshi?  Roll Eyes

ha ha  the same question...   so good..

CoolCoin -Forever Free IPO. CHKtvnfSDTQpewKAh9sCPqkmvjfJiKPeW7
spring.yu
Member
**
Offline Offline

Activity: 115
Merit: 10

Cryptocurrencies is future


View Profile
June 05, 2014, 03:17:33 AM
 #47

Thanks for doing this!
Hope this jod can help bitcoin become more strong
distcoin
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
June 06, 2014, 02:11:56 AM
 #48

Great job!

I have worked with allot of open source applications before like VLC and I can tell you this sort
of clear concise documentation without fluff is invaluable.

We newbies stand in debt to you.
Endlessa
Sr. Member
****
Offline Offline

Activity: 335
Merit: 250


View Profile
June 27, 2014, 05:13:51 PM
 #49

Great job!

I have worked with allot of open source applications before like VLC and I can tell you this sort
of clear concise documentation without fluff is invaluable.

We newbies stand in debt to you.

this documentation is so old, it borders on useless.  Some of these files don't exist and many of them have been refactored and/or moved.  Maybe when the dev team actually wants people to be able to help, they will take a moment to point people in the right direction.
Muhammed Zakir
Hero Member
*****
Offline Offline

Activity: 560
Merit: 506


I prefer Zakir over Muhammed when mentioning me!


View Profile WWW
July 22, 2014, 02:23:58 AM
 #50

this documentation is so old, it borders on useless.  Some of these files don't exist and many of them have been refactored and/or moved.  Maybe when the dev team actually wants people to be able to help, they will take a moment to point people in the right direction.

See this reply :
Nodes currently only store the historical blockchain for serving out to newly initializing peers and for stats queries in the rpc. Since 0.8 the software is restructured so that it never accesses it otherwise, and the next release will likely include a feature to operate with only about 1GB storage.

I think they are trying to make it simpler.
Kindly,
       MZ

TNBS
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
July 25, 2014, 05:52:15 PM
 #51

I do see that this thread was created in 2011, and probably longer relevant towards the current Satoshi Client; I would still like to thank you for your efforts in closing the gap between developers and users. I have been picking apart some of the older clients as well and with the way the code is laid out, it can quickly become overwhelming. Although my findings were similar to yours, it was a pleasurable read that helped me evaluate my findings with a better since of clarity.
mtomcdev
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
July 25, 2014, 06:24:20 PM
 #52

Thanks!
provenceday
Legendary
*
Offline Offline

Activity: 1148
Merit: 1000



View Profile
March 05, 2015, 03:35:44 PM
 #53

that's really a nice instructions.
jeeri
Member
**
Offline Offline

Activity: 115
Merit: 10


View Profile WWW
January 19, 2018, 01:48:52 AM
 #54

You deserve much appreciation dude.
Really it is very very helpful for endeavors like me. I have been looking for this kind of primary hand guide to start with. The best thing is you also mentioned what things need to be equipped with for understanding the source code. I'm going to make use of it now.

Thank you very much.

   ⚡⚡ PRiVCY ⚡⚡   ▂▃▅▆█ ✅ PRiVCY ($PRIV) is a new PoW/PoS revolutionary privacy project ● ☞ ✅ Best privacy crypto-market! ● █▆▅▃▂
    Own Your Privacy! ─────────────────║ WebsiteGithub  |  Bitcointalk  |  Twitter  |  Discord  |  Explorer ║─────────────────
   ✯✯✯✯✯                 ✈✈✈[Free Airdrop - Starts 9th June]✅[Bounty]✈✈✈ ║───────────║ Wallet ➢ ✓ Windows  |  ✓ macOS  |  ✓ Linux
Shawnix
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
January 21, 2018, 10:38:42 PM
 #55

Everything I need to work on Satochi's and mine them, good information, thanks for the help!
Pages: 1 2 3 [All]
  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!