Updated on Thu May 22 09:35:11 CEST 2014

If working with git repository, use command 'git log --oneline --decorate' for latest change log

1554046 (HEAD, 2014_05_changelog) add a script for ChangeLog regeneration
7810d7f (origin/develop, master) generate changelog using 'git log --oneline --decorate'
4ae40d1 added NEWS file.
5efb64e Track previous stable release, not next version.
cf72d8d next release is 3.0
6d77dea Merge pull request #21 from evoskuil/develop
88e8028 Make implicit cast explicit.
0c586fe Add missing source files to VS projects.
4e9198d Remove dead comments.
68a70b7 update version numbers to be consistent.
712dfee remove duplicate file.
6a3c395 Merge pull request #17 from evoskuil/develop
eef9344 Make implicit casts explicit, document a lossy implicit cast.
0bb0d8b bug from veox: fix for windows hosts files to not crash.
02c7892 bugfix: hash_number copying hash in reverse + add a unit test
f7ac085 use boost::dynamic_bitset<uint8_t> to represent stealth prefixes now.
05423dc Merge pull request #14 from genjix/uint256
86068ed add hash_number which uses bitcoind's uint256
c89452b Merge pull request #12 from evoskuil/develop
9367909 Updated nuget references.
9b7e8b6 msvc build config workaround for lack of ltcg gmp
33e0a26 remove unintended nuget reference
dc9a6a3 Add Windows DLL version resource.
1ed17a0 Fix Windows break in sha1.c (<endian.h> not defined).
176a667 Conditionally disable non-portable code.
e78152f Optimize VS project and props using updated common props.
2c5ea29 Update VS readme.md
1a5fb9b Ignore *.log
1902aa6 Remove outdated VS readme.
50ed10e Update VS common props to make project files less verbose.
637787a Add VS build script.
287b81e updated debian package
1be7269 ability to resize memory mapped files.
40256f2 added README for unit tests
b4aaa88 Merge pull request #10 from evoskuil/develop
cf6cddd Integrate BOOST_TEST_DYN_LINK into MSVC builds and remove comment.
5863f3b Temp fix up for lack of dynamic build of secp256k1 library.
3f83f82 Add/fix ec_keys, script and scriptnum tests in msvc build.
a2b1aa1 Incorrect secp256k1 linkage for one msvc build.
7b3632c msvc min/max constexpr no use "LEAST", comment on msvc sign warning
3a8dc6d Add script_number to VS builds.
db14534 re-enable SHA1 script tests now that it's fixed.
63fb9b0 switch to oauth sha1 code.
cd84abe suppress log_fatal() messages
fdb6866 added unit test code generator READMEs
ee2dd92 script fixes.
f85f227 added script unit test.
4741ee5 add hash test case + python code generator.
ca3fdb1 sha1 unit test.
1025099 avoid extraneous = data_chunk(...)
e11fe9c bugfix: stack being popped twice in op_hash256
546003c Merge pull request #9 from evoskuil/develop
98a1191 Merge branch 'develop' of github.com:libbitcoin/libbitcoin into develop
73fb5c8 remove cruft
f96ebd0 migrate script code to use script_number (dropping openssl-dependent big_number)
cc48107 Update NuGet dependencies for updated EC.
ca8f290 Add ec_keys.hpp/cpp to VS project.
2d74811 Avoid casting int to bool in c++.
0884255 split off script_number into its own header.
0f816f6 scriptnum unit test
86f824f Change to compiler (vs. Windows) test for export defines.
f9ac4a9 Fix msvc compile error on base58 unit test.
9c2c736 Make implicit casts explicit, eliminate msvc warnings.
91c8d56 Implement deprecated attribute for msvc12.
314a178 Merge branch 'debian_packaging' into develop
91a4870 Merge branch 'stealth_idx_every_block' into develop
bd81543 add comment to testcase bout libsecp256k1
bc34a8d add BC_DEPRECATED macro to mark objects as deprecated for removal.
c1ea202 tidied up base58 encoding.
942783a copied non-ssl base58 functions from satoshi src + added unit tests.
b516ec5 added doxygen comments to format.hpp functions
7de56a8 (origin/master) remove decode_hex_digest<HashType> from public API. use decode_hash or decode_short_hash specialisations instead.
719563b remove cast_chunk and uncast_type
fad8bdb clean up format.hpp, move functions to format.ipp
0c40f04 decode_hash() / decode_short_hash() aliases for decode_hex_digest<foobar>()
3514bce s/tweak_add/ec_tweak_add/ and s/ec_mul/ec_multiply/
76645e1 Merge branch 'develop' of github.com:libbitcoin/libbitcoin into stealth_idx_every_block
b13e476 Clarify the EC math operations
7c0c08b Revert "add *temporary* ec addition function (using OpenSSL)."
76b5ea4 Merge pull request #7 from evoskuil/develop
02fecbf don't skip blocks, index every block.
45b06a9 add another unit test for ec
8e9f078 Update VS projects and packaging.
01d7060 Fix array initializer.
4f83cd1 Remove comment-only bigint files.
5cee9bb add *temporary* ec addition function (using OpenSSL).
3324ae0 allow to select custom path for libsecp256k1 during configure.
39453db Update the documentation for the new ec_keys types
382fa8c Integrate the secp256k1 library
d317f26 move calculate_stealth_bitfield() into public API.
b43f411 dont reverse bytes in script::op_hash160
658c07e avoid calling pretty() twice.
a045d6e add warning for orphans too
883d1e0 style correction: spaces in "template <typename whatever...>"
bf96a70 bugfix: script pushdatas using to_big_endian() instead of to_little_endian().
1ed3f91 add failing serialization test
2193013 expose methods used by templated serialization code.
b14d889 extend broadcast to also send to manually added connections
5060717 Include the checksum system in bitcoin.hpp
feff2a7 Sort bitcoin.hpp
608b6f7 Create a checksum utility subsystem
7aee55e Ignore the unit-test binary
54267a2 Move base58 unit test into the new framework
1df0739 Sort the makefiles
e376f4a Do not use uncast_type or cast_chunk anywhere
e4c4d80 Clean up endian handling
778099d template arguments use caps case as per STL/boost style.
9f25743 Revert buggy, untested elliptic_curve_key changes
7b11890 Silence the sha512 unit test
43c57f8 Create a byte_array type
426119e Fix trailing whitespace in the license header
ec09b48 Fix hmac_sha512 to return correct results
bfa330a Fix refactoring crash bugs
71aae13 Add unit tests for sha512
009c2ba Merge pull request #4 from evoskuil/develop
1fbc6cb deconflict remaining test names
b484d4f Move BOOST_TEST_DYN_LINK preprocessor define to build script.
2f87992 Merge pull request #3 from evoskuil/develop
92ebfd2 Add boost test to nuget dependencies, remove source-wired dynamic link symbol.
73930c9 Deconflict templated test names from public symbols and update test references.
e0b8741 Add current boost-based tests to VS test project.
654d4fe Merge pull request #2 from evoskuil/develop
63fd0fb fix struct export attributes
64df926 remove missing header ref
3e33027 update hash endianess test to include word endian.
11a8fb5 Update header references for size_t.
8298694 Add sha512 w/hmac, rem C hash refs from script, rationalize ec wrapper, disable curl.
14243e8 Hash function cosmetics.
afcb074 bugfix: ripemd was being passed wrong size. now generates correct hashes.
7211694 move ripemd test into its own thing
f71d45c remove comment (I've verified sha256 stuff works)
7292e5c added ripemd hash unit test
f672138 rename hash functions to terser forms.
405119e add alg detail to comments for hash.hpp
f15b72b add some comments.
73ef873 add proposed functions.
291d304 add sha256 hash test case
60d9690 bugfix: makefile not install external/ headers into subdir
b1dcb5f Merge pull request #1 from evoskuil/develop
ef4b671 missed conditionally-compiled macro call
c0c49bf fix lousy macro declarations
af703a7 update includes and fix one parameter
321766b Remove for loop initializers from C code.
197bf21 use boost for endian tests in hash fns
a81f3f0 sha1, sha256, ripemd160 without openssl
bc2aabd add new testnet dns seeds.
59270dd make autogen.sh +x
1e6d5fe integrate ripemd without openssl
3f3dc3c ripemd160 files with slight derived from openbsd hash/rmd160.c
03efdcd Merge pull request #47 from evoskuil/develop
0c60efd Add defines to common libbitcoin header.
9e282e1 remove function definitions from .ipp files - they don't belong there.
0410041 Merge pull request #46 from evoskuil/develop
e9b56f0 Additional exports.
9f68f55 Merge branch 'master' into develop
4c69e3f add export visibility symbols and set everything to internal visibility by default.
4c8f51d Merge pull request #45 from lclc/lclc2
82f2b7d Merge pull request #41 from bardiharborow/master
4c9a1f0 added HACKING file.
9b14ae2 added HACKING file.
9d09441 ability to set compressed of ec key manually/
682d34e Merge pull request #44 from evoskuil/master
2635089 Update README.md
392e5c4 Create README.md
37b2555 Centralize .gitignore for VS projects.
9edeab3 Change filters file tools version.
1614896 Remove VS .props files tool versioning.
2e8fb11 Updated initchain example to latest (stealth) version
9610491 Add examples project to VS solution.
cadde12 Update README.md
5a98d27 Create README.md
44a8d6e Update VS build configuration.
2264608 Merge pull request #43 from evoskuil/master
d93eeeb Add define.hpp to VS project, modify public symbol names.
d3e5870 Merge branch 'spesmilo/master'
116f4ff don't change state until after ec is checked.
e31ea45 added protocol outbound connection state-change debug log output.
1ef85bf use stronger internal linkage attribute
c464442 rename BC_HIDDEN to BC_INTERNAL
4d816f3 prefer BC_API/BC_HIDDEN over potentially confusing BC_PUBLIC/BC_PRIVATE
e35a216 typo.
561765c added define.hpp with shared lib / DLL visibility macros.
8e843a3 Merge branch 'spesmilo/master'
48fd8ff tidy up code so loop looks less confusing.
70b146b switch to static_cast instead of c style cast.
a167047 switch to new big_number set_compact()/compact() code from bitcoind for compatibility.
f538c13 remove constexpr from base_value(opcode) in script.cpp
5ad1775 cleanup handshake code slightly.
1f8cdf5 bugfix: alloc error because of overflow.
8de24f9 Update Visual Studio standard project props.
ce59696 added detail of returned result to documentation comment for blockchain::fetch_stealth().
007ad0e added documentation comments to serializer header.
c40a86b tidy serializer by moving implementation to .ipp file.
24e8268 README: added Gentoo instructions
7184aba anticipate a future where a large stealth_bitfield is needed and don't make the 4 bytes hardcoded in the db.
36954bc updated authors file.
f79f77a add assert to check whether system is 64bit.
189fc96 Add bitnodes.io dns seed.
4a843ce Merge pull request #40 from evoskuil/master
800380f Workaround generic lambda (C++14) limitation and remove guard.
66c5b77 [doc] Include missing pages in toctree
993b7bd Update 64bit warning fix.
d772f6d Remove tabs.
059bf2e Move conditional build guards to VS UI.
b1f549a Revert unnecessary change.
b2c6933 Clean builds for VS2013.
8c45abe Deconflict overrides (not sure why gcc can't handle).
a1ac835 Change _WIN32 to _MSC_VER where compiler (vs. target) is issue.
59a29ae Remove unused variable.
d691b98 Fix unsigned/signed comparison.
d0c54a6 Missing reference for linux builds.
638bbaa Windows build work in progress.
15669f0 Cosmetic
d23954b Revert cosmetic changes.
e2514da Merge branch 'spesmilo/master', integrate build work in progress.
d73e6f0 lower connection watermark from 2000 every 5 seconds to 10 per second.
0e0ec6d Merge branch 'spes'
825b6e8 verifying of history for address against blockchain.info
0b8dd13 switch protocol to async_strand so std::bind(...) cruft isn't needed everywhere.
91d1c5c beautified code, by removing posix_time:: prefixes.
ae5f9b3 watermark to prevent too many reconnection attempts when there's no internet from exhausting resources. the watermark places a fixed upper limit on the number of connection attempts within a fixed interval (2000 ever 5 secs).
f5a1dad all magic constants must have a name.
9e0da36 assert in network connect timeout section.
2c5421a autogen.sh runs "autoreconf -i"
f7ba2dd set version in payment_address to payment_address::invalid_version during construction.
0e9f940 pass parameter as a reference instead of a copy
cd861d0 Re-add a function used by the libwallet URI parser
a3288cf Use the right constant for madvise
4c6d4ab Do not use 64-bit file IO calls in mmfile
4a1aeda verifying of history for address against blockchain.info
c893601 Update filters and proj files, remove _WINDOWS symbol.
f92dab8 switch protocol to async_strand so std::bind(...) cruft isn't needed everywhere.
19f78c9 beautified code, by removing posix_time:: prefixes.
9104dfa watermark to prevent too many reconnection attempts when there's no internet from exhausting resources. the watermark places a fixed upper limit on the number of connection attempts within a fixed interval (2000 ever 5 secs).
643b06b all magic constants must have a name.
38ffbb5 assert in network connect timeout section.
eb55043 autogen.sh runs "autoreconf -i"
c3eeeab set version in payment_address to payment_address::invalid_version during construction.
ff31869 Merge pull request #39 from kdomanski/master
c6b609d pass parameter as a reference instead of a copy
344a9c8 [debian] Bump version to 2.0.0
b9ee9e5 Merge pull request #38 from swansontec/master
6b44e5b Comments
6ae80c8 Enable leveldb switch.
715fe53 Clean up VS project.
30fa64b Re-add a function used by the libwallet URI parser
506ab18 Build updates.
6c7fd8e Use the right constant for madvise
d64669a Do not use 64-bit file IO calls in mmfile
628e304 Ignore bin/.
d7bacf6 Lost a file.
1db96f4 Move python scrjson to test/ and remove bin/.
a4cf82c Catch up VS build to spesmilo repo.
335489f readded namespace 'bc' alias
6c4b180 Merge branch 'master' of github.com:spesmilo/libbitcoin
c7900cf conditional macro to use UINT_LEAST32_MAX on Windows, and numeric_limits on Linux.
50d08b0 Merge branch 'master' of git://github.com/evoskuil/libbitcoin into evoskuil-master
db1a0dc Merge pull request #35 from kdomanski/master
63839a7 minor stylistic changes.
40729cb remove assert that can cause a remote crash.
fe712a1 Add LEVELDB_ENABLED preproc definition to build configurations. Remove unused/cryptic bc namespace declaration.
482bbdc Formatting.
1a7a705 Revert "Fix build break in examples/priv.cpp resulting from library changes to elliptic_curve_key."
dbdd7ce Swap a few residual tabs for spaces.
4f63088 Solution and project files for VS2013 x86 builds. Related changes: work around a vs compiler bug, fix invalid initializers, fix and document hazardous implicit numeric casts, fix string and integer type mismatches, add missing header references, add conditional compile of new win impl of clock_gettime.
8a0a7eb Merge pull request #36 from swansontec/base58
bf4678c Added myself to AUTHORS
3e6ddc3 [debian] Include database folder with .hpp files
6a50305 [debian] Make it clear that our AGPL3 has additional permissions
5a4b7b8 [debian] Sort files
e63e0ec [debian] Missing dependency and last changes in Description
66dfdf0 Added instructions to build Debian package to README
cec595e [debian] Rename package to libbitcoin0
52efdfa [debian] Added .ipp files
034da12 [debian] Fixed more lintian warnings
7cc366e [debian] Fix some lintian warnings
b153456 [debian] Removed --enable-bdb build flag
95d2484 Added debian folder with rules to build .deb package
10d3c7e Optimize the base58 decoder
1973ed7 Detect wrongly-encoded bitcoin addresses
d0d1f4f pass parameters as references instead of copies (performance)
df4079d implement bitcoind checkmultisig bug
53f1829 implement script op_counter (nOpCount from EvalScript())
218cc3e update checkpoints.
71a68f4 patch by William Swanson fixing my erroneous C++: see ML thread called [Libbitcoin] [PATCH] Fix C++11 language violations. Archive link: http://lists.dyne.org/lurker/message/20140214.055052.2d0bc4dd.en.html
5c66451 index stealth transactions in the database (write).
506494b link with info with stealth_database
b7d82d3 correct error message.
b1ca693 fix typo and warning
59486a4 add state to nodes in getx_responder so we can track hash_continue value for remote node downloading blocks.
bb7d0b0 stealth database part of blockchain, and able to query values.
ac66781 add mmap file utility class.
ff2f364 stealth functions.
ff68281 ported detwallet mnemonic stuff to libwallet
c6443fe remove obsolete detwallet test
313034e protocol start doesn't stop if handshake ip resolution fails.
e1e56d7 rename hosts filename to hosts.p2p (more descriptive)
ebadde8 Merge pull request #34 from veox/issue33
946d637 examples/priv: Use new elliptic_curve_key.
140255e Support for setting compressed flag on new_keypair and set_secret (set by default).
af5b513 Fix build break in examples/priv.cpp resulting from library changes to elliptic_curve_key.
cbce83c enable compressed keys, and remove redundant/obsolete set_private_key()/private_key() methods for elliptic_curve_key.
e90de86 remove get_data from session: already implemented in getx_responder.
7d2a34a downgrade error to warning (thanks Noel Maersk): http://lists.dyne.org/lurker/message/20140113.093843.531c548b.en.html
79d6eb0 downgrade scary looking error to warning.
03d769e (tag: v2.0) bump version number to 2.0
e0aac62 set checkpoint to 702
fa76ee0 update last checkpoint to block 278700
3a07aa4 remove redundant chain reference in leveldb_organizer (only base organizer needs it)
f1e9541 comments for sighash script stuff
a7f3264 crypto stuff now uses libwallet.
1b5f609 updated quickstart doc.
3816080 remove determ from examples.
c936659 tidied up serialize code.
d0cb6e9 cleaned up and fixed txpool validate code.
cd9b8bb moved select_outputs to libwallet.
67c70db ported key formats code over to libwallet.
7d8ff6c Merge pull request #28 from changlan/master
1eb9dc6 Merge pull request #29 from PabloCastellano/master
a57bf36 Last recommended changes to clarify License
6214753 ability to maintain connections
b57bccd ability to disable listening for incoming connections in protocol service.
fef52aa refactored connections code to be nicer.
e7735b2 removed deterministic_wallet (now in libwallet).
0c06018 slight modification to copyright notices on files.
660960c added doc comment to async_parallel header.
651d6c3 fixed bug where connect() was calling completion handler twice. bug was in handshake when a node is stopped and receive_* get called with error::service_stopped. the code was incorrectly handling errors. fix is to correctly stop subsequent calls by setting the counter to the clearance_count.  this is now done through the new async_parallel mechanism (see last commit before this). async_parallel takes a callback and calls it exactly once on the condition it is either called N times or with an error.
c37bfbe async_parallel header.
203f723 add some debug assert info to network protocol outgoing connect code.
bba6c58 fix template function missing auto keyword.
53f7106 simplify maintain connections code.
64a97c4 Merge pull request #24 from dhuseby/forgot-automake
d9bbf12 added copyright header to source and include files.
4a6c40d Added note about why Ubuntu 12.04 is not supported
06cc1a3 disable aggressive reconnect policy in favour of having slots that always reconnect. see the comments for more details.
46777af Fix Mac OS X compilation issue
f759bf4 Fixes issue when generating pub key.
01982a1 correct mistaken legacy sigops count thanks to peter todd.
898d934 improved deserializer's read_variable_uint()
7d47602 updated doc examples.
b86797f updated doc examples.
b1d0c6f [doc] Describe optional configure flags in README
946b4e1 I had to install automake on ubuntu for autoreconf -i to work
070189e oops! add missing check. corresponding Satoshi code:
bd7a6ea comment out assert which can sometimes trigger.
ce9e841 Fixes for testnet script_version and wallet import format prefix.
1deb4ab some output scripts are unspendable and cannot be deserialized. instead set those output scripts as opcode::raw_data (like with coinbase scripts).
f7d7f75 rename coinbase_script() to raw_data_script()
e543599 added stuff needed for libtool to properly link
8b4084c only check spend_height > from_height if the spend exists.
3a4f1c1 stop infinite recursive loop caused by error handling code not returning.
638382e corrected lambda style.
9823165 up the strictness of compiler, and fix warnings.
1121f45 fix mistake where log_debug() is by default outputing to stderr
5cc8521 add timed_section to installation. it's useful.
c4bb4dd set_iterator() and other small changes to serializer.
c6d2aab remove obselete tool now we have bootstrap and faster initial download.
03bf99f threadpool: ability to specify number of threads for spawn(n) to create.
0921187 Added detect-network to tools, to detect which network the libbitcoin.so is compiled for.
de298dd Support bootstrapping of testnet and faster bootstrapping using bootstrap-fast, which does not check the transactions inside blocks. If they can be deserialized they are considered valid and added to the chain.
a517332 changed magic_value to from uint32_t to function.
0cd3b04 (tag: v1.4) incorrect version number in version.hpp - corrected it.
cb006d4 missing Makefile.
6b4780e drop excessive logging. not helpful to users.
3742d44 no need for expensive duplicate check anymore. duplicate tx are no longer part of bitcoin.
3e8c64f typo: missing brackets.
b64387c double timed_section::elapsed()
d609076 updated checkpoints.
e7fa3f7 skip expensive checks when behind last checkpoint.
506b25e put decorator header in namespace.
d0cd847 time a section of code to find bottlenecks. not included in default dist.
cedf67b update version macro in version.hpp
b1d676d bugfix: output is found but spend already exists, so skip insertion instead of continuing to loop. also set found = true so assert doesn't trigger.
adcfeae accept inconsistency and conflicts as a fact of life. try our best to resolve these.
b473fe8 contextual logging using LOG_TXIDX and LOG_TXPOOL
44222b0 safer transaction_pool - re-subscribe to blockchain reorgs right away so as not to miss any blocks.
07a3c25 i like the debug logging. lets do more of this.
c9983b8 in fetch_history(chain, indexer, ...), height=0 => unconfirmed tx, height=max => non-existent.
63113ec fixed assert problem with tx getting indexed twice. see output below for debug logs.
b51cd6b swap order of outputs and spends for indexer to be consistent.
ccec0e8 fixed problem with inconsistent debits db caused by 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T (for example). use a simpler strategy for loading debits instead of trying to be smart.
b895c6c Merge branch 'master' of https://github.com/spesmilo/libbitcoin
9ff8a3c pool/indexer detailed debug logging isn't needed in main code though.
11fd896 just some debug logging to poller and indexer. might be useful in the future.
73b8c86 increase credits/debits checksum to 8 bytes up from 4 to protect against collisions.
43bb840 Merge pull request #22 from PabloCastellano/master
14c2e0d sha256 minor tidying.
fe6dc6b bugfix: zero out beginning bytes (before most significant digit) for deterministic wallet secret generation.
8eab1f1 fullnode: wait for session to stop.
783af17 Update .gitignore
a38db70 Use AM_SILENT_RULES when building
95e349d Remove BerkeleyDB from doc and INSTALL (--enable-bdb)
a6e41a8 Added "clean" rule to examples/Makefile
050649c [doc] Fix some typos and add some links
6413455 Merge branch 'master' of https://github.com/spesmilo/libbitcoin
fb25412 bootstrap.cpp changed break out of loop after reading the last block in the file. changed usleep(1000) to nanosleep. Even sleeping for just 1ns prevents the import from stalling.
0064959 bugfix: pass unconfirmed list to validate handler in txpool.
d5b33ba better debug logging for transaction pool stuff.
b7b5748 always deindex even if confirm error (like error::forced_removal)
ce1aca7 reorg test with double spending and everything.
ee9199f fix reorg testing tool.
6b42301 create a transaction.
2cc34a8 create a prefix of 100 blocks so coinbase tx is spendable (cannot spend immature coinbase txs).
82a87ba added missing warning output for validate_block::connect_input about spending immature coinbase.
fa646d3 fakechain adding txs (signature is not yet correct though)
cb856e3 nicer scrjson unit test.
fc3aaca move step(..., n) to a separate file to make it more obvious you're meant to customize that function.
b4f2c28 tester to generate fake chains. customise the function step(..., n) to generate different chains for testing.
18308da bugfix: optimisation with only reading bits field from block header was missing offset when deserializing bits field. result was that block version is substituted for bits field.
eabe628 update script unit test.
24d75cb when depth was renamed to height in libbitcoin, script opcode DEPTH inadvertently got renamed too.
15b2b3a stricter asserts in transaction indexer.
57766fd replace main std promise with a spinlock.
cf90a7e not a fan of inheritance. prefer composition always.
fb27202 Added: (outputs, change) = select_outputs(unspent, min_value)
c4a9960 Merge branch 'master' of https://github.com/spesmilo/libbitcoin
d723327 Added tools folder, tools Makefile and bootstrap.cpp for importing blocks from a bootstrap.dat file.
c1e19fb decode_hex_digest was using hash_digest_size. make it use actual HashType size.
e955016 mpk copy unit test.
3889a3a satoshi_to_btc
9d5d58e tidied up the repo.
91d2912 comment for last_non_special_bits() [testnet func] in work_required()
f93025c pblaa -> previous_blaa.
b25a8b3 updated AUTHORS file.
2a283d0 logic error in testnet work_required() calculation.
18c400a Merge branch 'spesmilo' into testnet
6820b8f stylistic changes: - unindent macros so they are on the same column always. - clip long lines to 80 char max horizontal limit. - comments always on their own line. - refactored work_required() to look nicer. - { and } always on a separate line.
bee8946 cancel disconnect timer when connected.
2d804ff logic error in timeout stuff.
c77a75d stop channel if connection times out.
87aede1 network::connect() timeout.
6d83811 Merge pull request #19 from wingsuit/master
025cc36 Added support for testnet, enable when running configure.
519a564 updated docstrings for async_strand.
95d20de Added AUR link to README
f695714 decode_hex: move scope of decoder inside main loop so it gets cleared.
64b79cf bugfix: decode_hex throwing on invalid input.
e3f0c26 renamed async_strand::push() to randomly_queue() (name is more specific)
7706d12 input.input_script -> input.script, output.output_script -> output.script
109d037 split assert in indexer. makes tracking down bugs easier.
e7a3853 updated examples.
4b154c4 s/script/script_type/
849274b nicer address with less code.
b4f170b Revert "use compressed public keys."
4cdfe88 show the failed input if validate_inputs_failed for tx pool validate.
29ebf64 tx_pool::set_capacity() instead of passing param to constructor.
50e7153 use compressed public keys.
374442d since transaction_pool expires items when they are forced out of the circular buffer, we don't need to expire transactions based on time in the indexer. we rely on the txpool implicit expiry instead and use less code.
e31a167 split transaction pool store() method into validate() and store() methods.
de8f81f bugfix: handle_confirm() doesn't get called when the circular buffer drops it out of memory so it wasn't getting deindexed in the transaction_indexer.
3d90b68 bugfix thanks to shunyata <empty@cqdr.es>: if bignum value begins with 0x00, then SSL will skip to the first significant digit.
57ade12 Merge pull request #15 from shunyata/master
25ca42d Ignore some artifacts of checkinstall
388cc68 Bugfix regarding leading 00 bytes not being counted by BN_num_bytes
44598b9 bugfix: decode_hex_digest should let decode_hex handle the string decoding stuff. just check the returned number of bytes is correct.
a5bbfac enable all address types now for fetch_history()
7d3c4d3 we now use the end_of_stream exception, not script::empty() for script deserial.
09c8f3b use deserializer for parsing script.
cf6ab7a add <atomic> to types.hpp header.
309429e added script::empty() method.
ae33ec5 fix interger overflow in decode_hex when 0 size hex_str is used.
708bb28 assert was checking size wrongly. script code has min 4 ops, not the input script itself.
40a9a1c single extract() function for both input and output scripts. tx input BIP16 addr are now indexed.
5c768b2 payment_type script::type() method can now detect input script types also.
43f4d16 downgrade misleading 'error' messages.
c3613ac Revert "bugfix: set_script should use the back value not the serialized script!"
6517772 bugfix: set_script should use the back value not the serialized script!
bf53d10 implicitlly use std::bind in async_strand methods.
e87da02 use blockchain/ for database path not the less obvious 'database'
1af39bc typo: log_to_both should also output to file.
bd43797 added extra error checking to fetch_history() composed operation.
a7ed126 provided composed operation: fetch_history() (gets history for an address from both the blockchain and transaction memory pool)
0bd9cd0 bugfix: height was being dirtied before we used it. now have a separate dirty flag.
a18eaea add expiry of txs to indexer (thanks vitalik buterin for his input).
924f9f7 example of using transaction_indexer in fullnode example.
551115a build stuff for transaction_indexer (see previous commit).
bc5c412 transaction_indexer class - makes an index of unconfirmed transactions. you can query this index using a Bitcoin address to see all related input and point points (returned as a txhash/index) with their relevant data (previous_output point for spends, and the Bitcoin value for outputs).
9e76479 poll for "stop" command from user in fullnode.
6fe2a43 made logging stuff in fullnode more intuitive.
0a21bd2 ability to compare 2 payment_address or use it as a key in a std::*map.
7f5a462 ability to std::cout << both output_point and input_point types.
43ef730 install download-blockchain.sh script.
8ca4149 install download-blockchain.sh
3879627 install some doc with libbitcoin.
6b288e7 use rsync for blockchain download. display command.
bd0bfae use rsync for blockchain download.
394c0f1 tx deserial/serial tests
ff4e2ec make tx deserialization less strict so that asserts aren't triggered by bad streams.
0fd9337 bugfix: typo in deserialize from last change.
10267ad prettified serialize code by putting non-public stuff in impl/*.ipp files
e3daeef add from_height optimisation.
7c65f6e ha ha wth satoshi?? generate_signature_hash() returns 1 and doesn't fail. http://permalink.gmane.org/gmane.comp.bitcoin.devel/1411
20e6616 added url to pkgconfig file.
ba55570 pkg-config use -std=c++11 not -std=gnu++0x
bde4b04 12 words mnemonic.
ab73514 added human stop message to README.
20580d0 be more forgiving on user provided data. this data is usually small in size and not performance critical.
3ea20af channel_loader_module impl doesn't need to be publically exposed.
f9271e9 protocol: continue accepting nodes and perform handshake with them.
6bf5aa8 download-blockchain.sh
c9f660b added "sudo ldconfig" line.
d90c8b6 made a more friendly README.
147df99 moved data_stack to types.hpp (made it a public type).
3901890 removed "typedef uint8_t byte" - just use uint8_t instead.
bc33da4 fetch_history returns a history structure.
25e66ea add depth to db_debit
bc01403 height is now part of debit too.
8563628 formatting of comments.
0c6b0aa removed ancient bitcoin.sql schema.
34c3a3d Now we use the technically correct term 'height' not 'depth'. End of an era.
1c29cab got rid of checksum hashmap for fetch_history. queries are twice as fast.
f6f25ee subscriber_ptr typedef.
0e2cad7 exposed extract_input_address()
21bf682 balance tool actually calculates the balance now.
77e55fb broadcast send handler
62169a0 query balances for an address.
2d3e369 make protocol max_outbound configurable.
4ea09fe bugfix: actually save inpoint in debit db (not previous outpoint)
1ffc0ac renamed serializer2 to serializer.
caaa544 replaced chain.fetch_outputs(), fetch_history(chain), fetch_output_values(chain) with chain.fetch_history()
b01da97 protobuf is no longer needed.
d14f066 clarified readme further about where to add env variables to ~/.bashrc
6af8c80 updated readme for clarity.
4905035 made the instructions in blocks.sh file to a README file.
b7c9fd1 added blocks.sh starting script.
9192e1c updated readme instructions.
c3e23ee address debits now stored in database.
62a784c cleanup database batch code.
52138be cleanup of databases in leveldb backend.
e0cc563 additional test case for serialize unit test.
b05e7ce bugfix: properly return end iterator during block write serialize.
0600eb5 serial/deserial test.
5628d24 added beginning of test case suite.
d6cc12d moved out of date unit tests.
d97a7d2 bugfix - detail hash wasn't getting recomputed when we change the header.
4bd0213 assert that db ptr is good in db_open()
9fa0455 update reorg test.
11f1f31 updated doc for recent changes.
47e78f8 tidy up sliced_detail a little (not much).
570237e remove misleading block comparison operator.
4373abe purged protobuf. introduced new hash_digest_list, short_hash_list and block_header_type. database is storing block directly on disk with hashes now.
a1c42cc switch to new serializer.
0e43299 deleted bdb backend (obselete).
a9513b5 new style serializer using iterators.
46e7a43 write tx data to disk in native format.
6315204 add reasons why connect_input fail.
b4e7c5c load deserialized objects directly instead of creating a temporary buffer.
592dae5 make end iterator for deserializer const, and add doxygen doc.
9535960 proper deserializer making using of iterators rather than buffers.
f0de237 Merge branch 'pcastell'
0a7beea commented out incomplete section of sphinx tutorial doc.
0d72963 added author to sphinx documentation.
131b5b7 Added author to doxygen documentation.
a54fad8 better build system checking for c++11 and adding to CXXFLAGS
e6f7d00 Update version in configure.ac too
90cf2ba updated copyright year range.
19b0110 (tag: v1.0.10) update version.hpp
f090251 (tag: v1.0.9) enable-debug mode for configure. turns off debug output.
2d3701c rename post() to queue()
dd6bb3a blockchain write optimisation: call user given callbacks in a seperate thread exclusion queue (async_queue) so users can't hold up main write queue.
5fa1cf4 updated README with mac osx mountain lion build instructions.
d10cfe8 bugfix: increment and compare in atomic call.
4cfe4e4 inside composed operations: count increment and compare MUST be atomic.
03bdd9b fetch_history and fetch_output_values composed operations.
a3b284e doc: tutorial nice highlighting for error_code values in network stuff
43a2fe9 doc: tutorial missing argument in fullnode::connection_started function
9b5417b (tag: v1.0.2) doc: updated fullnode tutorial.
2ea7947 rename to format functions: pretty_hex -> encode_hex, bytes_from_pretty -> decode_hex, hash_from_pretty -> decode_hex_digest
bd90bf6 add std::error_code to protocol::subscribe_channel handler to signal when service has stopped.
ff458ad comment assert in loading version message.
e60d583 doxygen comments for threadpool.
e32bddc added riak link on optimising leveldb.
2e873a5 fRelayTxes is not included in the version message in any deterministic way.
29a3930 bigger list of seed nodes.
2bae671 typo remove semicolon from block validation check.
f7a7a78 oops! tried to join() threads from inside when error condition triggers. don't do that...
032f9e5 doc: add section about file limits.
83b823e bugfix in fullnode example: start blockchain and WAIT before anything else.
91596f0 fullnode blockchain should start before anything else.
fae2ae0 recommendation to set ulimit higher.
732acfa raise it further.
1339078 raise low value for max_open_files in LevelDB.
64152ae doc: added section on optimization to blockchain chapter.
b80b143 updated version primitive with 'relay_transactions' field, and bumped protocol_version to 70001
4cb78c6 nicer function names for logger (output_cout() instead of output_to_cout())
aef2c6e logger default, same func for both normal stdout and error stderr messages.
7e3236f deleted outdated documentation.
a0601c1 readme for generating the docs.
9e1bda0 doc: updated examples.
12633dc doc: updated examples list in intro.
5780c90 doc: clarify tx_pool
fa76977 replace mentions of Vidalia with libbitcoin in LICENSE.
ba4905e chapter 7 complete!
f1ae805 doc: header for tutorial main page.
cf79e81 doc: title underline too short.
6b210a9 mac osx build instructions.
e717c5a fix to build on mac osx.
4fa3e71 fix warning in leveldb about initialization order of vars in contrsutctor.
29a81b4 bugfix: race condition in fetch block locator
a7d7f1b add comment clarifying sleep inside seqloop loop.
6c0851f don't print block depth for not confirmed blocks.
9ab50ba show_chain(blockchain)
c186839 reorg test.
69c4971 cleanup seqlock fetch read spinlock.
0b5c83a fully using seqlock for leveldb blockchain.
00e5c87 seqlock skeleton.
dc0f1a3 doc: clarified unclear section in network doc.
383a18e doc: txrad part of network documentation.
19d4a8c logtst updated.
c4be94e Added short title description to examples.
1dd1fd8 Added transaction radar example.
284163b doc: blockchain reorganize.
cfdcea4 doxygen comment in blockchain: better param names for handle_reorganize example.
0a25f71 doc: logging system.
55aa054 BUGFIX: avoid counting sigops twice (once for legacy and once for p2sh)
96a0be5 expand checks to skip old blocks with version 2 as there are loads of blocks with the version incorrectly set.
f08ea8e fix to work on Mac OSX.
4c967b8 block 189565 has version incorrectly set to 2. add workaround to skip that block.
b89774d section about subscribing to new channels.
7bf8a32 doxygen comments for protocol API.
ba44088 proto example: display message when new connection.
56b4aeb typo in docs.
c7c5986 added program to connect to random bitcoin nodes in network.
81d287a added comment about catching c signal to example proto.
8020600 catch signal in protocol test example.
9706266 protocol example.
3c9c854 doc: info about network services.
b469cdb added info about handshake service and connect composed operation.
2598617 doc: more terse description for connect example src.
a830a15 deleting dud lines from net documentation.
b8e7533 doc for accept/connect stuff.
358344e accept/connect daemon examples.
822c29d section on poller.
ad09f5d doc: section about word of satoshi.
8f7bcae added display-last tutorial.
8b9d7c3 display last example.
ab236d4 fullnode explanation text.
8287d90 test reorganising the blockchain.
50064b4 leak-check example for tests.
b2f91db use set_seed when calling new_seed() so that MPK also gets set too.
f5f0480 poller's ask_blocks duplicates filter policy is too strict. make it more permissive by also checking the hash_stop (not just locator.begin())
b8a98a4 only check coinbase_depth() in accept_block() if version 2.0 block.
c320681 missing return for when adding block to pool fails.
4de27e6 need to serialize the expect script before doing comparison.
1fbc0c1 enforce block number in coinbase of blocks.
b1fa8e2 remove old CXX compat stuff in blockchain interface.
ae598e8 doc: fullnode example
e0749ad fullnode example implementation.
3e19603 doc: further design info.
41ef5dc added example source code listings.
4fff57c doc: little pargraph about blockchain::store.
6ebde0b beginning of blockchain documentation.
1c6f603 init leveldb_blockchain example.
de2fa70 full node code listing in doc.
601cfed import genesis block code listing in doc.
ae8a51d added fullnode. needs code cleanup.
68d570d bugfix: output_cerr_and_file forgot to make it actually output to file before.
2848c80 added missing Makefile.
e76f05a deleted .pyc file and added *.pyc to .gitignore
2f8d05d fatten section about threadpools
1e634f3 bugfix: check stack size for OP_WITHIN before popping items from stack.
a0be931 bugfix: python doesnt cast str -> bool properly. do str -> int -> bool.
d0b24fb script test: use a tmp file indicate pass or fail to python wrapper.
4821e64 doc: moved section about services to libbitcoin anatomy
b113309 updated documentation info.
8ec2efb added leveldb_blockchain to doxygen doc.
e243f4c updated README instructions.
7adf615 updated install instructions.
06fe31b edited README.
80a0917 finished crypto section.
5e0e973 added section about secret parameter.
e2a0823 deterministic key documentation,
3731e79 libbitcoin quickstart.
bd91272 crypto documentation.
4b787c7 first example! priv command from subvertx project.
e3f6593 removed unused deprecated _ptr definitions for services in types.hpp
5f9fa44 more documentation on overview page (std::* and core data types).
1310c27 document different key formats
0c9ab0c offline txs documentation.
54fd718 sphinx Makefile.
20de551 new logging system (uses DEFINES for domains).
dba6ed7 Beginnings of documentation.
c71d9f6 (tag: v1.0) payment_address: added doxygen comment and fixed variable name (address_type) which is already a type name in primitives.hpp
eaa3b8e zero out hash for payment_address in constructor.
4a15cf4 added missing primitives file.
e98844d add stop point for import.
0fe1cd9 rename async_service to threadpool.
77858bb just use a random value for the counter.
dd5ea60 use a proper counter that we read off from the keys.
8b46d69 different kind of duplicate key using suffix instead of huge value.
5858a16 only store last 16 bytes of block hash in leveldb database index.
13abc94 show more output in import.
9f33c51 Merge branch 'rename'
deebb7d Merge branch 'leveldb'
abcb969 naming migration complete.
7a84044 migration to new names for messages (now primitives).
5632eb6 remove ugly block variable name prefixes.
27fbc44 new names in bitcoin.hpp doc
4c14425 first step migration to new naming scheme for messages (now called primitives)
451fe81 increase number of locks.
bed69b7 full leveldb backend working.
71e82eb depth_comparator to order blocks by depth logically.
533f4d8 download blockchain from SOURCE to DEST. can resume from last place if stopped.
dd04cb5 leveldb and bdb can work alongside each other now.
688154c fetch block depth
e0e8300 save_transaction and fetch_outputs.
e3bb6eb fetch_last_depth.
2e017d1 fetch block header by hash.
6138a3c purged out bdb txn_guard.
3d637e7 fetch and store block headers only.
aa80905 missing leveldb_blockchain file.
6c085d5 leveldb_blockchain initialisation and uninitialisation.
c1bd3f3 basic framework for a leveldb blockchain. copied over bdb blockchain and renamed class prefixes to leveldb. methods need to be slowly migrated to using leveldb.
91194bf remove kyoto cabinet incomplete blockchain impl.
a15f1b3 added const modifier to deterministic wallet methods.
2142ab3 blockchain import() function.
c907d61 changed some of the log levels for networking stuff.
7966c0e simplified and improved logger filter() method.
3c0bfa9 changed header guards to end in _HPP.
d36dbee Added latest checkpoint for block 225430
be59eaf skip last output in sighash single.
7a36ba4 session_params wasn't being deleted.
0c5c246 fix unitiatlised last_block_hash_ in poller variable.
66d84d0 valgrind suppression file.
94dde5d simple checksig test.
c38d963 move op.data size check out of if because (!allow_execution && !is_condition_opcode(op.code)) can return beforehand.
4aa6ce1 if script fails to parse then check and fail in scritp unit test.
a184e0e build a byte stream when parsing script strings before parsing that byte stream into a script.
81c81ed updated checkpoints.
96a5efa better shutdown for net app.
44e3832 cleanup curl before possibly returning.
019ec0b updated block hash.
d77a00b shutdown protobuf before exit.
4afc8f2 set DB_DBT_READONLY on readable_data_type for bdb
42fcc4f added blocks to test forking at block #191809
4228031 bugfix: don't attempt to remove spends from coinbase txs.
07e5926 bugfix: coinbase output addresses not getting indexed.
3884709 added feeder test program.
e3c5133 assert with message displaying raw script on assert failure during parsing.
c6e37b0 hmac stuff. TODO: long_hash/short_hash? maybe rename *_from_* functions to consistent *_to_* or use conversion classes?
ddef898 Added doc for deterministic wallet.
a0f0d1d use newer and clearer std::to_string(int) instead of boost::lexical_cast<std::string>(int)
47234b3 updated ec-key unit test.
8a02a35 open flags contained some flags which arent env->open(...) flags.
fc30a8c turn off durability
30c8d4f logic error: check input_index < parent_tx.inputs.size() before sighash::anyone_can_pay which resizes number of inputs to 1.
1eed6a2 missing async_service destructor.
f893bd6 Electrum compatible deterministic wallet.
fee9d4f valgrind prefers this.
c07faaf fixed memory leak on async_service destruction.
4bd8285 unitialised variable.
f4130e7 add input_point_list to be consistent with us having output_point_list
40b4b3b tx locktime in block validation code (first appears in block #198358).
6f16e91 add payment_type::pubkey to extract from output_script function
d6dfba3 Add example orphan block (block 191810, 000000000000073335b2c6ccdfeff59658a1714b6c6de3eadf9ee3954aad0562)
4fbe803 virtual destructor in polymorphic base class.
85fb5aa fetch last block and show its hash.
e5d12fd bugfix uninit variable for scr size.
c563a03 script_size(...)
cad6fcb fail if stack + altstack > 1000
b702b35 count_non_push use std::count_if
040d047 bugfix: uninitialised variable (counter var inside count_non_push).
ec46375 added disabled opcodes so they get parsed but running script fails.
0fd580e op_return
f5eb029 data size max of 520. max ops of 201.
382e967 op_verif and op_vernotif should always stop the script even if not executed.
8397f3a bugfix: hash160 digest should not be reversed.
1dfc639 script: within, ripemd160, sha1, hash256
49a1d82 op_max
d695238 script: numequal, numequalverify, numnotequal, lessthan, greaterthan, lessthanorequal
d01a430 booland
43d6578 op_0notequal
5ed6ee0 op_negate
4dc942d op_sub
e31da95 op_1add, op_1sub, abs
cd4570b op_2over, op_2rot, op_2swap
2383d21 enable -1 in scritp json testing tool for scripts.
6935a58 op_2dup, op_3dup
19d5a1c op_2drop, op_tuck
a12fa36 op_swap
298b2ba op_rot
9095911 op_pick()
fd582f2 op_depth and op_nip
1455770 script ifdup
6a199c9 script alternate stack commands
7c8c178 added reserved (auto-fail) opcodes.
c2a98fc refactor script run method into nicer flat style
1c0bbc1 hackish addition of if/notif, else and endif.
3051fe0 bugfix: special/push operations may also push empty data (opcode zero). Hence we check the opcode over the shorter !op.data.empty()
2cf4ef8 hex strings should be treated as raw_scripts to be appended to current script.
b51dea9 opcode::negative_1
e9ea4b7 op_add
82681a8 use actual pushdata* not raw_data which is for coinbase scripts.
df06313 Removed coroutine stuff because in practice using coroutines in c++ is impractical.
2b3ad3f big_numer *int64 methods used by script system.
5404286 added checkpoint for block 185333
ca64a7a removed useless clock utility. rely completely on system clock.
341c6ec correct error codes in script test.
ab0ce85 script json unit test suite.
b14a6d2 string_to_opcode(...) takes const std::string& (const ref), not std::string (copy)
55c5456 install key_formats.hpp header
15d69d8 Merge branch 'minikey'
29d0323 Added Mike Caldwell's (Cascaius) samples for testing minikey format.
f0b387e minikey_to_secret: convert Cascasius minikeys to secret EC parameter
69b8703 wallet import format conversion functions.
a7c1819 fix decode58 to compensate for endian swappiness changes to big_number
c032cb6 secret support in elliptic_curve_key
3d04b9f s/libbost-dev/libbost-all-dev/
48dca87 hashes need endian to be reversed Q.Q
6657cbf Fixed encode_base58 implementation.
ad2cf48 bugfix to reverse vch data in big_number::set_data(vch)
42d52a1 bugfix: is_push_only() function used by BIP16 wasn't treating op_zero and op_x as push only opcodes.
2329143 bugfix: shutdown database at the end of bdb_blockchain::setup("database").
8aecf4c called reorganize with error::service_stopped upon bdb_blockchain::stop() invocation
d78d049 amended INSTALL file with configure step
d7012f0 s/libboost/libbost/ in INSTALL
ab82f54 g++ 4.6 compatibility grr
2f37e86 version.hpp with version information defines.
dd99c0b ping - pong
e91acac fixed echo test.
6be42a5 removed discovery
4713713 removed psql blkchain interface
f307c02 migrated session
9da06ac migrated transaction_pool
edfd58c migrated hosts
380bf4c migrated protocol
5c4186d removed ancient postgres blockchain impl
5adf2ee migrated getx_responder
f984471 poltst uses stop, not shutdown to finish.
0f70ed2 async_strand with queue in bdb
0cbbde1 protocol takes handshake and network by ref
0bf6d2b bdb_blockchain api simplification and cleanup.
7f7d1ee migrated handshake
fd3e1bb migrated network
ce26b3b migrated poller
a58a999 migrated blockchain
cf7b251 BITCOIN_ASSERT_MSG
f6d85d6 ~bdb_blockchain() reorganize error::service_stopped
76e2ef1 weak_bind
a04fc42 Functor -> Handler
8de1f8c forgot to add satoshi_serialize.cpp
f153393 goodbye exporter. you were ugly.
ebce5b9 extensible loader in channel.
f633599 new style serialisation: uses ADL and is extensible.
84df7f3 broke compatibility with g++ 4.7: - use template aliases to simplify blockchain interface - remove MACROS from error.hpp
b9e184f g++ 4.7 fixes
e3997d3 subscriber's should have a separate strand.
727d6c2 move script pretty function outside class scope.
5dcd7e7 hanshake->connect(...) => connect(handshake, ...)
c042df4 ostream << for data_chunk
53b5f09 Bugfix: fetch_block_locator returning entries reversed.
daf05bd --enable-kyoto
c3c43e0 kyoto cabinet blockchain. only save/fetch block header.
1b0d599 remove fetch_block_locator members.
8a5830b fetch_block_locator free function.
f6b28a3 Check earlier for blocks with duplicate transactions. Fixes #1167
730e23f block_locator_indexes not indices!
ec8fa55 Merge branch 'getx'
9a41541 check_signature fails if invalid pubkey is passed rather than wasting time trying to validate.
6319e2f Fixes in script for testnet transactions 87abda4755e492de6149affbfc67d42a367f76c166c6bc31c8dfb916f74f66bb and a17b21f52859ed326d1395d8a56d5c7389f5fc83c17b9140a71d7cb86fdf0f5f (funky opcodes).
ec9ccd5 broadcast invs for new blocks.
f685e2e Do not reverse script readdataX bytes as cast_chunk already does that.
f773265 getdata for blocks.
abdb002 fetch_block
b43660e Bugfix: avoid ~bdb_blockchain() body if initialisation never had a chance to start.
6ee6236 fetch outputs for 1vaynert unit test.
3e2ac05 Bugfix: capture this_ptr in lambdas
c23bc88 include system_error in hosts file for Parabola Linux.
48782b7 Respomd to get_data requests for transactions.
c53adb7 file_lock database to prevent multiple accesses.
b5cfee3 ostream operator<< for hash_digest/short_hash
798690f getx_responder: basic structure. responds to getblocks, getdata, and relays last block inv after 500th download.
2c809a3 remove include of non-existant threads.hpp
1ff01d4 removed old deprecated header.
cb9b3fb workaround fix for very very stupid error in g++ 4.6 (incorrect exception specifier for std::error_category)
b08edfc txpool returns unconfirmed input index when error::input_not_found
6ab8340 Accept memory pool transactions with unconfirmed inputs.
b5d1fd4 prevent requesting block more than once in a row from multiple nodes
c544041 doxygen main page.
e796edc doxygen transaction_pool comments.
5ab18d8 async_service_ptr
47b690a Drop ask blocks if last block hash in locator is same as last time.
8b68468 fan out for coroutines.
30fcaa2 Renamed: error::missing_object -> error::not_found
8b37ae4 txpool::fetch()
e8d7b32 dont allow bip16 for block validation before bip16_switchover_timestamp.
7e982fc codehash_begin_ which is set by OP_CODESEPARATOR
5c167ee OP_NOP1-10
6e39138 BUGFIX: is_pubkey_hash should be checking data size is 20
c899e79 handle_start for when blockchain is initialised in factory method.
19a5f88 BUGFIX: adding duplicate orphan blocks return only block_status::orphan but did not return error::duplicate
decd254 bdb_blockchain: store P2SH addresses in the address <-> outputs lookup database.
6bcb7a7 poller->monitor(node) to download blocks from non initial_ask_getblocks node.
0b1be18 more C++'ie interface for payment_address
d452071 avoid sending empty getdata packets when block poller filters out block invs from an all tx inv message.
0e470ff fetch_outputs(address, cb) - payment_address argument instead of short_hash for public key hash.
1f402f1 -DBDB_ENABLED in pkg-config --cflags
7d7ff17 remove obselete comment from address.hpp
ba16db4 payment_address::type_ initialised to payment_type::non_standard
a4ea10a coroutine testcase
a310d26 boost::asio coroutine and yield.
a8a143b Renamed: object_already_exists -> duplicate
0f680d8 the (co)pumpkin_buffer
5a7216d limit so many spurious transaction inventories.
251d4df is_output_spent should not check blocks after fork point.
99bf71f end_slice assert when serious internal problem.
48be07b Doxygen typo.
8e31ec2 BUGFIX: mark as processed blocks removed from queue.
0f2a7a7 const getter functions in payment_address
16e5fba data_helpers.hpp -> format.hpp
aa86c02 updated checkpoints.
f8f82ae payment_address class representing a bitcoin address.
72a06a3 new sigops count (yuck)
a61a222 checkmultisigverify
144b523 number_script_sig_operations -> legacy_sigops_count
78a2a4f signature validation for checkmultisig
ce45ab0 BIP 16 unit test.
0df577d checkmultisigverify with disabled check_signature
8167897 checkmultisig stub
6b7de90 load eval script when payment_type is script_hash
de1e00d is_push_only
e2cc1e3 is_script_hash_type()
e792777 BUGFIX: avoid re-processing invalid blocks which can lead to trying to remove a non-existant block from orphans pool.
25dad64 // Re-check as another transaction might've been added in the interim
c83c7e6 more specific tx_pool errors.
1e77666 redundant error check in store mempool tx
45ca5ad More specific error_code values for block validation.
21702c9 Setup doxygen.
138a2a6 temporary public_key_hash_to_address function (until BIP 16)
67dbf03 BUGFIX: bad input_point reported for fetch_spend
06bfad8 tenative fetch_block and fetch_block_locator free functions.
d7d5fb5 More atomic blockchain API: fetch_block exploded into fetch_block_header/fetch_block_transaction_hashes
407c116 boostified namespace endings.
4a6a93f     prettified types.hpp
cf6673d session_params have _ after name to not conflict with type names
89f7819 make constructor for bdb_blockchain run async and not block
ed0eca9 error_code'ified check_block()
298d03f BUGFIX: Chris Kohloff (I have a bugfix by boost::asio, and std guru w00t)
831b2a1 Give a reason (std::error_code) why block validation failed.
5771ee6 error categories for grouping certain errors (thanks Chris Kohloff - creator of boost::asio and std::error_code for solving my ADL problem).
73eae63 Added the session into crap bitcoin client.
d71add4 crap_client
9e246e0 protocol::broadcast message
3d68797 BUGFIX(es): base58 - woe! the amount of logic errors! (next time don't be smart, just copy Satoshi's)
5e42f7f log: alias and filter
ed8314b missing &s: void hosts::do_remove(const message::network_address& address,
f70f5f2 delete copy/assign operators for network services
ff4970d Keep the start_depth in handshake's template version updated when it changes.
468122f handshake.set_start_depth(depth, completion_handler)
feea6b9 sipa's BIP 30 security fix.
f2552da Don't add duplicate transactions to the pool.
3a43c74 transaction_pool handle reorganise
549e847 OP_MIN
958d212 script: added op_x
2373a90 Add unconfirmed transactions to the memory pool and validate them.
d995f03 session (downloads blockchain and connects to network)
6d89083 copy not forward arguments in subscriber.
9e2feab protocol does not implicitly create any services. you pass it the needed ones.
f225346 poller: downloads blockchain.
d3a1680 clear channel subscriptions on stop()
2439574 new threading model: async_service.
ea2e10f protocol::subscribe_channel
65d945f gracefully shutdown socket on stop()
e37329f encapsulate seed addresses logic in its own mini-container.
d8fa4ce concurrency hint for boost io_servie (1)
548d876 bool channel::stopped()
cc94bfd Automatic lifetime/circular reference issue resolved using (ugly-)boilerplate wrapper.
6259fad function decorator
423694e BUGFIX: could not call channel::stop() within same thread context.
294316d Added poller sksleton.
0f78bfb README: typo and omission
c110065 listen + accept connections.
235fd55 version and verack messages now have checksums (like every other message). no longer need ugly workaround.
ddeaa06 if 0: connects to seed nodes, downloads addresses, populates hosts.... then create X connections and maintain that.
cd30155 On timeout, getting the remote_endpoint from socket can cause an exception. Pass an error_code object to supress that.
6943220 seed nodes added.
058b865 added support for aliases BIP (size of version packet is now >= 85 not == 85)
37b9b4e test stopping channel.
4bf0aa5 protocol::start will initialise handshaker and call bootstrap
75ff657 Perform node seeding in protocol::bootstrap sequence.
3ca1904 Added indices_list typedef = std::vector<size_t>
474c0d3 handshake has 1 init for multiple nodes. explicitly separate those steps. prefer explicit over implicit.
1a4786d capacity in hosts constructor.
030b4d9 hosts::fetch_count(handler)
49ff9a2 subscribe_reorganize
11090b4 remove spends and addresses on reorganise
cfcb0b0 clear txs on reorganise.
2412a01 BUGFIX: arrival blocks pushed out of circular buffer by replaced blocks.
5b007c1 protocol class (year it's empty RERO)
f865de8 simple hosts class. not too advanced yet.
34ebafd Updated AUTHORS file.
5c06c23 hash_from_pretty is now a templated function to support short_hash
d48aefe heartbeat ping, timeout and subscribe to stops.
b8851cb Added Lesser exception. libbitcoin is LAGPL
37deba4 Added remaining packet types. (untested - need to build unit tests)
291004c echo test server
75d1cb5 subscribe_transaction
58ac7c4 listen error checking.
98b5f3d copy cons/oper for eckey
1b63098     subscribe_raw now returns entire message header, not just command in order to mirror the behaviour of send.
8598641 Various small name changes and reorganisation for readability.
33a49e0 send/recv raw data in network
073748b message::get_blocks::locator_start_hashes -> start_hashes
6538b15 cleaned up exporter interface to be more logical.
18789d6 added -lcurl to pkg-config
67f7966 Added OpenSSL exception.
4b2816b Added exception for where it is impossible to convey sourcecode.
c8b6b7e network::listen() acceptor class
0f31795 BUGFIX: if channel gets bad packet it deletes timer, and then if it goes out of scope it attempts to cancel deleted timer.
bf2c373 Huge readability win in exchange for drop in speed during rare corner case.
29b6f62 fetch_outputs(pubkey_hash, completion_handler)
efdedae script.type() -> payment_type (pubkey, pubkey_hash, script_hash, non_standard)
c3e0738 fetch_spend(output_point) -> input_point
970f035 BUGFIX: add to subscribe queue while inside function call causes infinite loop so make copy of queue before calling functions.
c99f4f4 fetch_block_depth(hash)
6b70203 discovery: return present clients with handler
3e2c03e discovery: add handlers, move nick and channel name to class fields
6a9d96c Improved uncast_type.
f4d3aff discovery: respond to PING
b2e86d2 discovery: made methods private
90d99d0 discovery: random number generator seeded
c77cd1a Finalised API based off experience with block-exploiter. Future changes:
a007ea3 discovery: we are joining a channel
eb50ebf Merge branch 'master' of gitorious.org:libbitcoin/libbitcoin
316553a libbitcoin.pc is a generated file, added to .gitignore
973c171 added netbeans project dir to .gitignore
7715b73 hardcoded regex being incorrect should not fail silently.
e09b219 typedef deduplication
ea27aa4 add Eclipse project files to .gitignore
b7a03c1 IRC discovery unit test
45f2ddd discovery: IRC talks to us
98cb4b2 8-bit port number? ooops...
a565a62 Merge branch 'master' of gitorious.org:libbitcoin/libbitcoin
bfeb459 bitcoin.hpp: removed include of bdb backend because installation of this file is conditional
214ba44 subscriber: No need to copy regsistry stack
f0283f8 Abstracted away subscription from channel into generic utility.
c6e3040 threaded_service will not be deprecated. changed my mind here.
4d7e196 tests/bdb-poller.cpp now merged into subvertx
9dc966f added transaction_pool.hpp to makefile
43e163e Various small fixes to tx validator
2613f38 Disabled postgresql_blockchain from Makefile since it is unmaintained (for the time being).
1f8f034 Removed old kernel. There will be no kernel. There old plan was for low level kernel and high level session classes. However due to a better than expected design, the kernel class is redundant. Instead there will be a single session class with blocking functions.
ab58357 New bdb-poller (should be copied over to subvertx)
49f2167 Removed using directives from system headers. They should never have:
0e0a84c Reverted "Remove discovery.cpp from Makefile because doesn't compile here."
bae1c5e transaction_pool: can add txs + verifies them. no auto removal of txs yet though.
353c70a Remove discovery.cpp from Makefile because doesn't compile here.
d65c930 struct node_address got lost in merger
ecfacba early stub of node discovery
b597384 Lookup external IP address using dyndns and whatismyip
58c80fc handshake class to encapsulate handshake protocol with a template version message and all the intracies involved there.
12f0dbb User Agent: "/libbitcoin:0.1a/"
1009e11 Support for BIP 0014 (User Agent): https://en.bitcoin.it/wiki/BIP_0014
36f5a35 Consolidated network/types.hpp into types.hpp
26378a6 BUGFIX: on connection error, trying to close an already closed socket.
070b765 I am a style pedant.
c28af58 non-copyable blockchain services.
f9b792d Install blockchain/organizer.hpp into include directory
14140a8 dialect -> exporter, original_dialect -> satoshi_exporter
67378de util -> utility (like boost and STD libraries do)
36d2623 Python-like range function: iterable range(iterable, start_offset, end_offset)
b874b22 Error code descriptions.
7c0528c async resolve for domain names + iterate/connect all entries (not only try 1st) Needs boost 1.48
67a8395 bdb_blockchain: Maintain a database tracking spends.
230efd3 OP_DROP OP_SHA256 OP_EQUAL for tx 4f1433d6433d3ce8a877519ba9ddc310dbee96dba939aca0dbef0176a3563436 in block 157785
d3390f2 Performance settings for bdb.
5c00523 bdb_blockchain: finished block validation + organisation. connect inputs working for orphan chain lookups.
48e0d39 bdb_blockchain: finished block validation + organisation. connect inputs working for orphan chain lookups.
70fd97b Streamlined txs_* databases. No more numbered IDs. + double spend check for bdb
05095e4 bdb_validate_block: - works on chain blocks but connect_input isnt checking orphan chain yet. - no searching for double spends.
2650b1e Merge branch 'master' of gitorious.org:libbitcoin/libbitcoin
dcf6c59 Added data_helpers include for bdb blockchain service
eb8bad5 helper functions moved from types.hpp to data_helpers.hpp
33c0cc3 Added organize document.
eaac1d3 added kdevelop's working backups and project files to gitignore
ce224e6 use block_info, rejected status and slight organisation changes.
31fe0a2 clock -> chrono_clock
6615ef4 validate_block hooks. requires virtual functions to be filled in.
1dcdb96 void blockchain::fetch_last_depth(handler);
14f643e txn_guard, data_type with implementation files.
888df51 Updated postgresql_blockchain for recent changes to blockchain interface.
69ba60b --enable-berkdb -> --enable-bdb
198c42e std::vector: &foo[0] -> foo.data()
872db65 Merge branch 'bdb'
4128e3d bdb store blocks and order. stub verify hook.
59ef366 Remove -lcppdb from pkg-config in file.
3f22cb5 Added Ubuntu build instructions to README
c5069b2 bool operator==(const message::block block_a, const message::block& block_b);
150cd62 compacted -> compact
cd1c7aa Removed postbind. Use boost asio strand->wrap instead.
acc1188 set_foo/get_foo -> set_foo/foo
0d40ca8 blockchain::store(..., handler), handler now returns block_info{status, depth} instead of only block_status
b5c8c6e bdb: Ability to reorganise.
3d0465f Updated Dev Makefile unit tests for base58 and big-number
0692a52 cast_chunk is little endian encoding by default.
3f48a8d Remove inlining for function which can exist across multiple TUs by means of a declaration alone.
ff1b96d bdb size_t -> uint32_t for depth to be consistent.
1176b9a Revert "Full optimisations ON. Iff UB exists then I want to suffer. Pain is good."
414d581 Merge branch 'master' into bdb
8ff465c Revert "Full optimisations ON. Iff UB exists then I want to suffer. Pain is good."
f828f90 Full optimisations ON. Iff UB exists then I want to suffer. Pain is good.
5cdf5b3 Full optimisations ON. Iff UB exists then I want to suffer. Pain is good.
86b4802 bdb_blockchain organizer.
8937006 ~0u -> std::numeric_limits<uint32_t>::max()
4a3b737 big_number block_work(bits)
46b2431 messages::block.prev_block -> messages::block.previous_block_hash
5558014 hash_digest / short_hash std::hash implementations for std::*map variants.
10fe90e Use begin/end free functions to make helpers more generic.
93ba1a8 Improved shared_const_buffer to use std overridable allocator and std::begin/end free functions.
ab22d0f Updated convenience header.
ec792ff bdb_blockchain: Download + store blocks without ordering or caching as orphans.
e134a6d bdb_blockchain fetch_block_locator
611951e Allow child channel to outlive parent network object. We do this by creating a shared 'thread_core' that is passed between instances. Exclusion function sets (strand) use this thread_core as a factory.
f63ad94 Rename: storage -> blockchain
061e008 Updated kernel for new style network interface.
a626229 new style network interface [old style: network_ptr + channel_handle -> new style: network_ptr / channel_ptr]
cff3762 Merge branch 'master' of gitorious.org:libbitcoin/libbitcoin
052065e network_impl -> network. no need for abstract base class when only have single impl and using proactors.
ad1318e updated README
184d981 updated README
b367539 pubkey_to_address -> public_key_to_address (no abbrev in public API)
23be37e fixed pkg-config issue on some systems (including gentoo)
df21fca proto mumbo-jumbo, ask genjix what just happened
685c5c6 fixed minor Makefile.am mistake
9b50fdd conditional postgres in configure
798a908 conditional berkdb in configure
882338e WITH TIME ZONE
17ceb54 Use DB_CXX_HEADER for different bdb paths.
b6ff345 inventory, not inv (we dont like abbrevs here)
1db7684 Convenience header.
d6f070a m4/ax_berkeley_db_cxx.m4: added db 5.1 to list
79ca576 bdb plugin reading/saving blocks with txs.
4ca6ea3 added bc namespace alias.
fd5cbec genesis_block()
0df89ac Initial BDB skeleton.
c4e736a Fix some silly warnings.
e35ef77 seperate function for creating message headers.
3d8aa33 No need for return error_code in dialect when it throws exceptions.
02788ed foo%2 -> foo % 2 as per style guide.
db755ca fixed a little problem with PostgreSQL on some systems
174e0ec bitcoin.sql installed to /usr/share/<package-name>
12fb96d kdomanski - gentoo ebuild.
faf47bf Added libbitcoin to pkg-config Libs
54b6e7e C++0x in Cflags for pkg-config
54b4d95 Added Cflags to pkg-config file.
a69b12b pkg-config Requires is more problematic than it is useful.
5a3442f pkg-config
9b58121 Moved to a separate repo under the project name subvertx: https://gitorious.org/libbitcoin/subvertx
db4d3aa Added build system guy to AUTHORS
d237743 Add .gitignore
4bffede build: avoid touching CXXFLAGS
13f618f build: properly use CHECK_GXX_CPP0X's result
8bb7031 build: failure when package not found is implicit
ba1be24 renamed:    Makefile -> development-makefile
c519ca8 Install headers system wide.
31f0a62 autotools build system.
3e4ee49 Safe deserializer. Throws end_of_stream if premature end of data_stream. Caught inside channel when deconstructing messages and signals the handler with error::bad_stream
f3987a4 s/^  :/ :/ as per std style. means that constructor initialiser list won't align with constructor parameters. improves readability.
ad20fe1 Shared code between serialiser and hash_transaction.
f188b51 string_repr() -> pretty()
38d18d6 Accept [HOST[:PORT]] for mktx.
b011caf Use public key from private key to find previous output address.
c59dec1 Add address command to priv help.
00e2e97 mktx - tool for making a transaction from one output to another.
20f531a tx serialisation + unit test.
8d174bc No need to pass header when deserialising streams because checking is done inside channel
729873c Templated function for channel sends since channels are internal.
e7f6d76 Tightened the storage requirements in order to have a stronger API: block processing no longer lazily evaluated. must try to execute fully on calling.
6ede50e Subscriber/relay loop should be immediate.
eec55c6 use std::array.fill(0) instead of {0, 0, 0, ...
505e1af handshake convenience wrapper.
e5d01f9 BUGFIX: nettest, inv_count should increment by number of inventories
dfe01c1 Use std::atomic instead of std::mutex + size_t for barrier in nettest.
8494687 Updated nettest for latest changes.
709619d call handle_send(...) after attempting send in channel.
a3abd4b std::ref(...)'ize bound reference arguments.
b09f6d3 w00t! Subscriber model for networking interface!
ddb8476 seperate op_checksigverify into generate_signature_hash for create new transactions.
a3e2308 Fix for premature end of pretty byte stream
a779b51 if dupli tx stop block caching
4e6cb9c example program to fetch balance of bitcoin address.
b3faf96 Patch for occasional dropped hashContinue.
59d4b7f Temporary address helper functions (address.hpp).
74fe352 (input.hash, input.index) -> (input.previous_output.hash, input.previous_output.index) for clarity.
9b26b10 Bitcoin address from private key.
b0aa5ee suvertx: priv app for new keypair, signing and verifying
967ec4d optionally allow non space separated hex input.
4e8e7dc Completed EC key class + unit test.
5a5abb3 base58_encode/decode(...). Borried heavily from bitcointools and Satoshi bitcoin (thanks)
d27a75c get_balance of a bitcoin address.
808f0e1 I prefer this way of iterating.
ed6c263 Proper getblocks cycle.
a4c72e2 Deleted extraneous code. About to be replaced by better code.
0442ffb Storage modules use references not inheritance for sharing modules.
fd44588 channel_id same as version nonce (random number)
9ad5158 block cache circular_buffer -> std::vector
6b799ef Avoid reloading data in validate loop
dfe6f73 No more block_status.
8e5128e src/storage/postgresql/ sub-directory
ba936d4 bits extraction/compaction util functions - code reuse!
f4fa29c Cache last 500 blocks in ring buffer.
a7622f9 Significant speedup of block validation by caching block info for connect_input
17c53c4 Store coinbase input script as raw byte stream.
3d283d2 Removed script_from_pretty
e7c8a45 no prev_block_id
b4a9d2a OP_CHECKSIG uses the stack
5d472fe hash_from_pretty implicitly uses bytes_from_pretty
3d3bce2 Cleaner way to find indices for block_locator.
e50ed93 pushdata1/2/4
97d400d postgresql script -> bytea
b63a344 Faster way to find maximum depth for best chain for creating block locator.
573aace Shouldn't send getdata with 0 inventories.
6d86ae0 Supposed to count *SIG operations, not all operations for CheckBlock sigops check.
9db2b05 Use bytea in postgres storage.
dec0da7 Added makefile target: libbitcoin_no_storage
118e337 logger domains.
e6edfb8 poller: allow clean exit using EOF
be32f76 hexlify -> pretty_hex. script_repr -> pretty_script
f1c8199 Script now stored as a pretty string.
b440b4a Non-blocking recovery organise/validate blocks upon program startup.
bcf239d Added OP_NOP which is in block 127630, 4th tx 0adfc9 1st output.
497e668 VALIDATE BLOCKS COMPLETED!!! (search for double spends)
82ebcfd Handle duplicate transactions being in multiple blocks in the same chain.
3ef9a34 SIGHASH_SINGLE SIGHASH_NONE SIGHASH_ANYONECANPAY
12a9f1d ConnectInputs() without checking for double spends.
74f44cb Split execution of input/output scripts but share same stack.
8865406 BUGFIX: big endian system should reverse byte ordering that we want.
1f0057e One line implementation of CBigNumber::set_uint64 :)
df51a29 Use valid as a status name instead of the verbose verified. Especially since verify also has other connotations of crypto verifying
621dc7e AcceptBlock()
b34764a BUGFIX: hexlify segfault with zero-size argument
1cd8b27 BUGFIX: merkle hash function fails if after first level is odd number of hashes
e7eb154 Mark checked blocks as verified.
f06a6f3 Delete branch method - only took a week to get right :/
0ad3814 Re-adjust documentation.
f8dc067 check_block() and accept_block()
70eefca Python showcase scripts.
23b10e6 Fixed unit test by having configurable barrier settings.
6e22ff0 Automatic internal blockchain organisation which triggers block verification.
8f4c8d3 Use const ref everywhere
18d695a Replaced old display_byte_array with hexlify
b7879b1 PSQL functions to calculate difficulty.
dfea875 BUGFIX: LOL service was calling itself recursively forever XD
9f2c3f9 Added Python reference implementation of block chain reorganizer for postgresql_storage module.
8418f57 magic_value as a constant (thanks mizerydearia)
fd0472d Use postbind for fetching info from storage.
0e2c27d phantomcircuit: Down from 18 secs to 0.14secs for fetching 100 blocks! w00t!!
2a6e625 Use prepared statements.
241e829 Nicer construction of statement for IN
5e8e2b2 poller has quicker wait time now.
69b68f0 postgresql post()'s to itself internally.
1b6d8d5 Added INDEXes to SQL
eb1fd7f Added block_reward constant.
cb14fa5 No more net:: namespace.
7361f6c net/ -> network/
712ffab Consolidate all errors into one central place.
66f0251 BUGFIX: wtf, there is an opcode to push 0 bytes to the stack...
4ec8d16 parent_id -> transaction_id as per mizerydearia's suggestion.
a0b871b Added DB password parameter to psql storage
28e8b52 Acceptable temporary method to prevent race conditions in psql storage.
aba0520 poller: Added command line switches to modify behaviour.
78ddc8d Poll, download & organize block-chain application.
cb8d8e4 storage_->fetch_block_locator
f777ee1 Serialise access to threads using strand.
c31435a Check for previous block.
f31173a CheckBlock()
771a6d9 serialize_bytes -> hexlify in types.hpp
43aa480 BUGFIX: generate_merkle_root should return the hash if it's a single tx
2a5783f big_number (CBigNum equivalent)
d3f7581 CheckBlock() size limit check.
81402a8 dialect moved to root namespace.
2b33990 Block chain verifier
e670f3b Added fetch_block_by_hash
932e6f4 fetch_X suffixed by method; fetch_X_by_Y
f3b2a92 Abstract away common thread + io_service code into base class.
45b945c Put std::error_code as first argument in handlers.
456fd6e Added C++ style guide.
846a4ad postbind class for executing async functions outside your current thread.
c6e494d fixed nettest: boost::system::error_code -> std::error_code
3c3f602 constants header.
e7f09b5 network std::error_code
c8bd087 async_connect
44a1af6 Use shared_from_this(), more consistent naming + coding style.
543b51d boost::bind purged in favour of std::bind everywhere.
0ee20d1 Amended unit test examples.
22342b7 std::error_code for errors in storage instead of bools.
3b4a674 Removed storage namespace. No need for it.
5f5dbd3 OP_CHECKSIG
6b0d9f5 when organising the blockchain, match up outputs with inputs.
3267335 Use better looking overloaded name string_repr for printing methods.
c6051f1 net::message:: moved up a namespace to message::
567be07 logger(LOG_BLAA) -> log_blaa()
4eca216 string_to_opcode and added opcode::bad_operation
5d76fc2 Fixes to deserialising of values from SQL.
bc9ebd7 BUGFIX: missing previous_output_index in inputs SQL table.
a4f7e8b convert SQL NUMERIC to internal format (uint64_t)
b7d8517 Fetch block works.
645c470 Merkle generating works.
4642a84 transaction hashing: migrated over phantom's code + added a uint test.
8612e39 Script serialisation + unit test.
c019840 Added Elliptic Curve Key class.
98bd326 proactor based API for storage module.
14bed4f postgresql_storage->organize_blockchain()
4ba79f8 BUGFIX: overflow when casting large ints.
319f72e read_byte improvement.
dc1708e BUGFIX: int rounding in div
d024c03 Added type-test unit-test.
57560d0 Fixed encoding scheme to be consistent rather than flip-flopping back and forth.
bea8974 Added genesis block.
70ce040 BUGFIX: out of scope variable before doing SQL stmt exec
0367b78 import db explanation.
c1d13f7 Added cppdb build instructions.
65b3e25 Added README and LICENSE files.
b59fc9c Added psql serialisation plugin.
17db025 Added SQL storage document.
517baa4 Added original project document.
74659ac Moved sending version message to inside channel constructor.
928c3fd C++0x style for loops.
cc95d54 Reading blocks from the network and passing them to storage.
97d4a58 Added preliminary schema for PSQL database.
aeb2fac Added transaction and block message objects.
7b2c45b Fixed to compile on Oneiric Ocelot
098d9f3 Added test unit for script engine.
a63e17e Scripting engine (basic).
c35ee99 Cleaned up Makefile
652b31c Basic scripting engine, parsing raw byte stream.
7219221 Made serializer a generic utility (moved from net submodule).
25bab94 hash_digest in types header.
3fa1e60 Hashing genesis block.
9f5a584 getblocks command working.
7e3faaa Get random handle from network component.
49edb50 error code and callback to handle_connect in net.
23dc1cd Now using data_chunk type.
df389c1 Inventories being buffered in storage Checksums being checked.
a801e0b Use start_accept instead of flags in the constructor.
9b96e1b Added storage module.
ba6f4a1 read timestamp from addr packet.
255b8e8 Header now use < > when referring to own API to avoid confusion when including local .hpp files.
5433f89 Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
8e35627 Additional verification of the payload in the dialect.
c6fc3cd Additional verification of the payload in the dialect.
f38864e Reading inventory packets.
54c83ab templates to remove copy-paste code + typedefs for cleanup.
7bf6b23 Read var_uint in addresses.
9a93b6f Sending verack response upon receiving version message.
374eeee Messages going to the kernel where a response can be constructed.
d6df000 Some reorganisation. Using handles to refer to channels.
4a58d96 moved serializer to src/
6611d26 Moved more stuff out of public API.
08a449c Using handles instead of pointers for channels.
8e70d67 Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
9112b8f Use cleaner async_read functions instead of re-implementing boost::asio functionality myself.
ae34d4d Use cleaner async_read functions instead of re-implementing boost::asio functionality myself.
4500dd7 Various code cleanup and trimming: - Flat structure for checking error statuses in channels. - Use closures for strand callbacks in conn_man - flags for connection status. - timeout uses proper boost type.
ce2253e removed redundant dud files.
2ef9f63 moved bindings directory to top-level project root.
b7cdfb3 Added demonstration convenience header.
b86182a Added custom BITCOIN_ASSERT define.
e76aadd Added storage base class.
577da71 connection_manager and default_connection_manager vis a vis delegator and delegator_default.
db1db25 Removed dud assert.
4a607e5 Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
9a2aee4 Receiving all message packets from peers but not yet parsing payload.
5046001 Receiving all message packets from peers but not yet parsing payload.
4f85994 Renamed peer to channel.
1b465a1 fixed logger header path.
7cf3a82 half implemented script support for OP_CHECKSIG
9bc93bd Merge branch 'bitmove'
fcd07fc moved headers to ./include/bitcoin
e6a77c0 Read payload of messages.
ea518c3 cleaned up scripting and partially implemented OP_CHECKSIG
bc41f33 Accepting incoming connections.
b4bdff3 removed operator << from sha256 class added logging to all var_uint functions
b1c60fb Use PREFIX increment not postfix increment for iteration.
2485411 Moved nettest make script to Makefile.
c435af3 removed obselete sha test.
83cd273 C++0x TR1 recommends the use of #include <cstdint>  over <boost/cstdint.hpp> and <cstdint.h> for whatever reason now.
5913763 Added typedefs and switched types to cstdint types for clarity.
2fbf1c7 Split off SHA256 SSL specific code into utility class.
ee50acf Cleaned up transaction sourcecode a bit.
1788bcf initial support for
d48c7e0 initial support for most common script ops
f2d63f5 simplified opcode::VERIFY
f1f9964 fixed transaction names
79679c6 bignum support
770ef9d logger util class.
5de556e Added disconnect timeout (currently set to 30 secs).
ba452f2 Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
01adeb9 Disconnection support for misbehaving peers.
adae72e initial script support, plus minor bug fixes
826dfd2 Merge branch 'master' of ssh://10.66.66.61/~/src/libbitcoin
b880c8a Script op code constants
6ba8d16 Restyled code according to our agreed 'standard' :p
4474cb5 Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
a6882f5 Ability to deserialize headers from version response.
6bf3622 renamed .h to .hpp
e8c552d removed temp files
7180427 Merge branch 'master' of ssh://10.66.66.61/~/src/libbitcoin
eae1eed script parsing working
bf012ee Peer uses a reference counted temporary buffer object instead of buffering a send queue inside the class and needing logic to deque items in handle_send.
e5c11a2 initial script base class
f75697a exchanging versions works now.
788685a genjix stuff
17d4cad transaction hashing works (initializer is weird)
aa6f737 morning!
f5f5b08 block hashing test (passes)
d2166bd removed sha256 class
3c69589 commit #3
65fb02b commit #2
9dea468 initial commit
