Commit Graph

101 Commits

Author SHA1 Message Date
GarrickOllivander 2e6d3d9fdb Safer serialization of base types (#18)
* use MESSAGE_SIZE constant instead of 32
* use Hashed trait in genesis
* safer serialization of Hash
* Hashed of [u8] should send only data to hash function, not length + data
* Safer serialization of Proof
* Safer serialization of Commitment
* Safer serialization of RangeProof
* introduce read_limited_vec instead of potential panic in conversion
2016-12-17 13:44:14 -08:00
Ignotus Peverell 9b5125c553 Required sudo in travis config to build rocksdb. 2016-12-15 17:02:27 -08:00
Ignotus Peverell 1042aba65d Badges. 2016-12-15 16:46:16 -08:00
Ignotus Peverell 8936e93482 Trying travis without sudo option. 2016-12-15 16:37:02 -08:00
Ignotus Peverell 959474dc12 Different way to get rustdb build work with Travis. 2016-12-15 16:24:30 -08:00
Ignotus Peverell 32eaac3aa7 Updated GCC version for Travis to build RocksDB. 2016-12-15 16:18:03 -08:00
Ignotus Peverell d6aedc0922 Typo in travis yml 2016-12-15 16:11:47 -08:00
Ignotus Peverell 6536be19fe Fixed travis config. 2016-12-15 15:52:47 -08:00
Ignotus Peverell 144b316a4b First pass at a Travis CI config. 2016-12-15 15:44:52 -08:00
Ignotus Peverell bc61c5dae7 Read block and transaction messages and forward to the adapter. 2016-12-15 14:57:04 -08:00
Ignotus Peverell d395b3d128 Added another server implementation for when the client needs to stay in control of the event loop (i.e. multiple servers for tests). Test to spin up 5 servers and connect them all together. 2016-12-14 16:10:39 -08:00
Ignotus Peverell 8a255c0218 Formatting. 2016-12-13 19:21:49 -08:00
Ignotus Peverell 19a700b81e Minor fixes, testing server peer count. 2016-12-13 16:05:24 -08:00
Ignotus Peverell 7bea7341ab Various cleanup and reorganization. 2016-12-11 13:04:52 -08:00
Ignotus Peverell 4b5c010b05 Rewrote most of p2p code to use futures-rs instead of mioco. Need some cleanup and support for a few more message types. 2016-12-10 19:11:49 -08:00
Ignotus Peverell 9ea3389aea Added reference to the mailing list. 2016-12-08 10:22:06 -08:00
Ignotus Peverell eb56d40807 Removed limit on number of inputs or outputs in blocks and transactions. For DoS protection only a total message size needs to be enforced by the p2p layer. 2016-12-07 18:54:28 -08:00
Ignotus Peverell 2e860d04cf Clarifying comment for rejection of blocks too far in future. 2016-11-30 16:26:04 -08:00
Ignotus Peverell 4d7bc2269b Fixed retargeting tests for truncation. 2016-11-30 11:15:49 -08:00
Ignotus Peverell ea1820cff7 Fixed usages of block constructor. 2016-11-30 11:15:23 -08:00
Ignotus Peverell 715cc44d93 Use proper target when mining in test. 2016-11-29 20:07:08 -08:00
Ignotus Peverell 55f5771a2a Avoid unecessary move of the previous block header to build a block. 2016-11-29 20:05:35 -08:00
Ignotus Peverell 2e52b13c35 Date format uses year since 1900. 2016-11-29 20:04:13 -08:00
Ignotus Peverell 1ab9001338 Target needs to be truncated after next target calculation, given that serialization in the block header does it anyway. 2016-11-29 20:03:43 -08:00
Ignotus Peverell 0c52665f17 Server abstraction aggregating underlying modules (p2p, chain, etc.). Beginning of a test to start multiple servers, connect them and mine. 2016-11-29 18:51:36 -08:00
Ignotus Peverell 309cb497f8 Configurable host and port for p2p server. Utility for client connection. 2016-11-29 18:49:03 -08:00
Ignotus Peverell 2e361fb2a4 Cleaned spurious debug. 2016-11-29 18:47:00 -08:00
Ignotus Peverell 11b8a6222a Any size pow accesible to tests. 2016-11-29 18:46:28 -08:00
Ignotus Peverell 08f2f38098 Configurable path for chain db. Lowered test cuckoo size. 2016-11-29 18:45:39 -08:00
Ignotus Peverell d11c85dae1 Fixed missing previous in block header. 2016-11-29 18:42:43 -08:00
Ignotus Peverell 3aeacf647b Module grin is better as a lib to be testable. Will introduce a slim binary module later. 2016-11-29 18:41:00 -08:00
Ignotus Peverell 5a82acd199 fmt 2016-11-27 13:14:41 -08:00
Ignotus Peverell 9795d9e452 Miner facility, using the current chain state to build on top of. 2016-11-27 12:31:15 -08:00
Ignotus Peverell 1e5ff0eeff Integration of target calculation with header validation and pow. Enforce strictly progessing time. 2016-11-16 17:03:23 -08:00
Ignotus Peverell ca26f0c3f7 Block header needs its own deserialization. Fixed pow verify to use the block target. 2016-11-16 14:08:46 -08:00
Ignotus Peverell 1d2b23a4a5 Several simple fixes to reflect changes from core (Result instead of Option for errors, consensus module, etc.) 2016-11-15 17:29:42 -08:00
Ignotus Peverell 3c5e2b2958 Block now uses the new Target type. Consensus next_target calculation adjusting every block based on deviation and increasing Cuckoo size gradually. Block time of a minute until we learn more from mining ecosystem, so enough PoW attempts can be made even on CPUs. 2016-11-15 14:41:16 -08:00
Ignotus Peverell 44545525f4 Target addition and subtraction. A little more doc. 2016-11-15 14:41:16 -08:00
Ignotus Peverell 3a54df15f3 Merge pull request #17 from romanz/patch-1
Fix a small typo in documentation
2016-11-14 11:41:27 -08:00
Roman Zeyde 151a0150b9 Fix a small typo in documentation 2016-11-14 21:21:18 +02:00
Ignotus Peverell f7b31dc5f3 Bitcoin-style target implementation. Large 32 byte number that can be compared and serializes truncated. 2016-11-13 21:04:01 -08:00
Ignotus Peverell 0440302e73 Merge pull request #16 from GarrickOllivander/fix_file_headers
Fix file headers: Developer -> Grin Developer
2016-11-13 09:48:10 -08:00
Garrick Ollivander 956dd6b816 fix file headers: Developer -> Grin Developer 2016-11-13 12:47:09 +01:00
Ignotus Peverell 2b8faf8709 A few more consensus values. 2016-11-10 17:19:03 -08:00
Ignotus Peverell d710301833 Missing consensus file. 2016-11-10 16:02:47 -08:00
Ignotus Peverell d2110f5b46 Web IRC link to make it easier for newcomers to connect. 2016-11-10 16:02:33 -08:00
Ignotus Peverell 712cf78e8a Merge pull request #14 from ignopeverell/topic/fees-in-sig
Slight changes to transaction signature. The transaction fee gets signed (instead of the empty string) and the fee amount is attached to the transaction proof in blocks.
2016-11-10 15:55:49 -08:00
Ignotus Peverell baeae7d1a5 Merged master. 2016-11-10 15:54:47 -08:00
Ignotus Peverell 4ade3ec1b8 Moved consensus related constants to their own core module. 2016-11-09 15:51:24 -08:00
Ignotus Peverell 6e2a232ca3 Cleaned up total fees from block header. Unnecessary now. 2016-11-09 13:25:40 -08:00