Ignotus Peverell
57eb7ad0a9
A few more basic block checks in the chain pipeline. Added a chain adapter trait that's notified when a block is accepted.
2016-12-20 17:35:04 -08:00
Ignotus Peverell
dc33ebcf39
Network block broadcasting.
2016-12-20 17:33:20 -08:00
Ignotus Peverell
c1340223de
Minor API change to PoW verify, to use the size provided by the block header by default.
2016-12-20 17:32:19 -08:00
Ignotus Peverell
0702ab1829
Utility crate for things that don't fit anywhere else. Helper struct to emcapsulate one time initializations with a RefCell of an Option.
2016-12-20 17:29:35 -08:00
Ignotus Peverell
e688ff99e6
Started putting in place the adapter between the chain and p2p modules to forward blocks and transactions. Cleaned up chain store references.
2016-12-18 15:51:54 -08:00
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