275c93ab6b 
								
							 
						 
						
							
							
								
								Add docs for SimpleDecoder and SimpleEncoder traits  
							
							
							
						 
						
							2014-08-01 11:16:18 -07:00  
				
					
						
							
							
								 
						
							
								c80ec9bda8 
								
							 
						 
						
							
							
								
								Sha256dHash: add string encoder/decoder  
							
							
							
						 
						
							2014-08-01 10:52:10 -07:00  
				
					
						
							
							
								 
						
							
								a2ce000b2b 
								
							 
						 
						
							
							
								
								Revamp Serializable interface to be similar to Encoder/Encodable  
							
							... 
							
							
							
							This is a massive simplification, fixes a couple endianness bugs (though
not all of them I don't think), should give a speedup, gets rid of the
`serialize_iter` crap. 
							
						 
						
							2014-08-01 09:01:39 -07:00  
				
					
						
							
							
								 
						
							
								020295f8c9 
								
							 
						 
						
							
							
								
								Add a bunch of traits to Network so I can use it as a HashMap key  
							
							
							
						 
						
							2014-07-29 15:55:25 -07:00  
				
					
						
							
							
								 
						
							
								8cd8947cf3 
								
							 
						 
						
							
							
								
								Implement some more ToJson's  
							
							
							
						 
						
							2014-07-29 10:19:21 -07:00  
				
					
						
							
							
								 
						
							
								a34f2642f1 
								
							 
						 
						
							
							
								
								Implement ToJson for BlockHeader  
							
							... 
							
							
							
							I think this is what I want to do for everything json-visible...perhaps
I will not be able to keep the macro for it though, since there are
some clever variations on it (e.g. blocks should have their header's
hash as a field, txes should appear as txids unless vebose output is
requested, etc.) 
							
						 
						
							2014-07-28 20:12:10 -07:00  
				
					
						
							
							
								 
						
							
								1938959017 
								
							 
						 
						
							
							
								
								Add `genesis_hash` function to Blockchain  
							
							
							
						 
						
							2014-07-28 12:30:45 -07:00  
				
					
						
							
							
								 
						
							
								6f7e73d6b4 
								
							 
						 
						
							
							
								
								Fix nu_select! macro for borrowck  
							
							
							
						 
						
							2014-07-26 19:36:38 -07:00  
				
					
						
							
							
								 
						
							
								322c937c3c 
								
							 
						 
						
							
							
								
								Fixed borrowck problems with nu_select! in an evil way  
							
							
							
						 
						
							2014-07-26 11:28:55 -07:00  
				
					
						
							
							
								 
						
							
								b5b7a6b080 
								
							 
						 
						
							
							
								
								Another workaround for  https://github.com/rust-lang/rust/issues/15763  
							
							
							
						 
						
							2014-07-25 16:50:58 -07:00  
				
					
						
							
							
								 
						
							
								cc942a47f3 
								
							 
						 
						
							
							
								
								Workaround for rustc hiccup in `for` loop restructuring, remove assert from deserialization code  
							
							... 
							
							
							
							Thanks to the assert change there is a segfault happening :( 
							
						 
						
							2014-07-25 15:52:48 -07:00  
				
					
						
							
							
								 
						
							
								128ebcc6d5 
								
							 
						 
						
							
							
								
								Fix comment in UTXOset for stxo cache ordering  
							
							
							
						 
						
							2014-07-25 14:35:46 -07:00  
				
					
						
							
							
								 
						
							
								44dc29f013 
								
							 
						 
						
							
							
								
								Fix BIP30 rewind handling; add unsafe annotations to ThinVec::reserve  
							
							
							
						 
						
							2014-07-25 12:44:54 -07:00  
				
					
						
							
							
								 
						
							
								fe9ca39736 
								
							 
						 
						
							
							
								
								Send new handshake on reconnect  
							
							
							
						 
						
							2014-07-24 12:52:28 -07:00  
				
					
						
							
							
								 
						
							
								809bad5ff5 
								
							 
						 
						
							
							
								
								Reconnect on network errors; use Mutexes to control Socket access more precisely  
							
							
							
						 
						
							2014-07-24 08:27:40 -07:00  
				
					
						
							
							
								 
						
							
								9be493eeaf 
								
							 
						 
						
							
							
								
								Move Local::take() into a scope where it is guaranteed to be used  
							
							... 
							
							
							
							This was causing a mystery crash. Fixed. 
							
						 
						
							2014-07-23 15:19:44 -07:00  
				
					
						
							
							
								 
						
							
								1be45395da 
								
							 
						 
						
							
							
								
								Store TxOuts directly in UtxoSet rather than in Boxes  
							
							... 
							
							
							
							This gives a significant speedup during deserialization since we
don't have to allocate for every output. 
							
						 
						
							2014-07-23 11:27:03 -07:00  
				
					
						
							
							
								 
						
							
								b5c25ff768 
								
							 
						 
						
							
							
								
								Distinguish between network/decode errors in network message decode  
							
							... 
							
							
							
							It is now visible that EOF (i.e. peer hung up) is interpreted
as a message decode error. Probably what we want to do is reset
the connection on any error. TODO 
							
						 
						
							2014-07-23 11:22:35 -07:00  
				
					
						
							
							
								 
						
							
								9cb86dd21b 
								
							 
						 
						
							
							
								
								Change InvalidInput to EndOfFile in several cases  
							
							
							
						 
						
							2014-07-22 10:59:58 -07:00  
				
					
						
							
							
								 
						
							
								ca6d4cdde4 
								
							 
						 
						
							
							
								
								Workaround for  https://github.com/rust-lang/rust/issues/15763  
							
							
							
						 
						
							2014-07-21 19:40:29 -07:00  
				
					
						
							
							
								 
						
							
								46969b3396 
								
							 
						 
						
							
							
								
								Replace PatriciaTree with HashMap for UTXO set  
							
							... 
							
							
							
							We get a speed up (~5%) and memory savings (~10%) on initial sync from
using a HashMap, though it's hard to tell precisely how much savings
because it's quite nonlinear.
I haven't tested de/serialization. Some work needs to be done there to
split up the UTXO set since it takes forever to saveload. 
							
						 
						
							2014-07-20 16:52:00 -07:00  
				
					
						
							
							
								 
						
							
								54e4ea4586 
								
							 
						 
						
							
							
								
								Rename Serializable::hash() to Serializable::bitcoin_hash()  
							
							... 
							
							
							
							We were conflicting with the Rust stdlib trait Hash, which is used
by various datastructures which need a general hash. Also implement
Hash for Sha256dHash so that we can use bitcoin hashes as keys for
such data structures. 
							
						 
						
							2014-07-19 16:11:55 -07:00  
				
					
						
							
							
								 
						
							
								a3846965e3 
								
							 
						 
						
							
							
								
								blockchain: replace Rc mess with internal raw pointers  
							
							
							
						 
						
							2014-07-19 15:23:04 -07:00  
				
					
						
							
							
								 
						
							
								93dadd6a6e 
								
							 
						 
						
							
							
								
								Add iterators to patricia tree  
							
							
							
						 
						
							2014-07-19 13:02:25 -07:00  
				
					
						
							
							
								 
						
							
								29eba4c4c3 
								
							 
						 
						
							
							
								
								Add LICENSE file with CC0 in it  
							
							
							
						 
						
							2014-07-18 17:37:13 -07:00  
				
					
						
							
							
								 
						
							
								73e8b542c0 
								
							 
						 
						
							
							
								
								Add testnet blockspacing rule  
							
							
							
						 
						
							2014-07-18 16:41:09 -07:00  
				
					
						
							
							
								 
						
							
								51038f5810 
								
							 
						 
						
							
							
								
								Add alternate network support to `Blockchain`, `UtxoSet`, `Socket`  
							
							... 
							
							
							
							Still need to do alternate diffchange rules.. 
							
						 
						
							2014-07-18 14:38:35 -07:00  
				
					
						
							
							
								 
						
							
								8f826a959d 
								
							 
						 
						
							
							
								
								Introduce `BitcoinResult`, use it instead of boolean returns in blockchain  
							
							
							
						 
						
							2014-07-18 12:40:04 -07:00  
				
					
						
							
							
								 
						
							
								426e1fc556 
								
							 
						 
						
							
							
								
								Change name to `bitcoin` in Cargo.toml (copying convention from toml-rs and color-rs)  
							
							
							
						 
						
							2014-07-18 12:07:10 -07:00  
				
					
						
							
							
								 
						
							
								b5fd47b334 
								
							 
						 
						
							
							
								
								Allow user to change network magic, add constant for testnet  
							
							... 
							
							
							
							We need to add a "difficulty back to 1 after 20 minutes" difficulty
rule to actually support testnet, but this is a start. 
							
						 
						
							2014-07-18 12:03:38 -07:00  
				
					
						
							
							
								 
						
							
								5ca37d3614 
								
							 
						 
						
							
							
								
								Add README  
							
							
							
						 
						
							2014-07-18 07:53:03 -07:00  
				
					
						
							
							
								 
						
							
								dc943d9a7e 
								
							 
						 
						
							
							
								
								Add Travis support  
							
							
							
						 
						
							2014-07-18 07:33:44 -07:00  
				
					
						
							
							
								 
						
							
								c9ad7c0b58 
								
							 
						 
						
							
							
								
								Initial commit, move into Cargo  
							
							
							
						 
						
							2014-07-18 06:56:17 -07:00