Files
xahaud/notes.txt
2011-10-28 16:51:35 -07:00

62 lines
1.8 KiB
Plaintext

Dependencies:
Boost 1_47
boost log http://boost-log.sourceforge.net/libs/log/doc/html/log/installation.html // this didn't work immediatly so I stopped messing with it but we should probably use it
protocol buffers: expects ..\protobuf-2.4.1 and ..\protoc-2.4.1-win32
openssl
sqlite (files are in git. )
mysql (we don't need this quite yet...)
Using:
pugixml version 1.0 download new versions at http://pugixml.org/
This is in the repo. you don't need to get it
code from:
// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
----
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
----
How much do we want to depend on the DB? Right now we are pulling a lot of stuff out f the DB and storing it in various data structures. but is that necessary?
Can't we keep everything in the DB?
LedgerMaster for example. mFutureTransactions should be in the DB
ValidationCollection
There is some trade off since reconstructing a whole ledger from the DB is a bit intense. So it might be good to cache these in memory.
Threads
----
Main thread
Does all the work. Tasks are given to it through the messageQ
Door thread
Just accepts connections and then hands them off
There is a thread for each peer?
Peers are causing:
updates to the current transaction list
updates to the validated list
you to relay messages to other peers
update your known node list
check if a transaction is valid
Actualy I think this can all be in one thread. Commands to the app must be done by RPC.