Commit graph

2182 commits

Author SHA1 Message Date
Antioch Peverell
ff1c55193f Wrap MsgHeader in MsgHeaderWrapper for Known/Unknown msg type support ()
* wrap MsgHeader in MsgHeaderWrapper for Known/Unknown msg type support.
* cleanup based on feedback
2019-05-14 09:07:51 -07:00
Antioch Peverell
4ba7b0a46a make sure we use BigEndian when reading numbers via StreamingReader () 2019-05-13 15:04:14 -07:00
Quentin Le Sceller
59db5e3bd1 Evict transaction from transaction pool ()
* Evict transaction from transaction pool

* Remove Result from evict function
2019-05-13 15:03:47 -07:00
Daogang Tang
15b56a97f5 docs: fix typo. ()
Signed-off-by: Mike Tang <daogangtang@gmail.com>
2019-05-13 14:47:09 -07:00
Daogang Tang
9ac4143bc9 fix: try to fix issue by adding block cleanup from db directly. ()
* fix: try to fix issue  by adding block cleanup from db directly.

Signed-off-by: Mike Tang <daogangtang@gmail.com>

* use another effective algorithm to do old block and short-lived block cleaup.

Signed-off-by: Mike Tang <daogangtang@gmail.com>

* 1. rename iter_lived_blocks to blocks_iter;
2. comments and iterator calling optimiztions.

Signed-off-by: Mike Tang <daogangtang@gmail.com>

* Fix locking bug when calling is_on_current_chain() in batch.blocks_iter just by removing it.
Because "we want to delete block older (i.e. lower height) than tail.height".

Signed-off-by: Mike Tang <daogangtang@gmail.com>
2019-05-13 16:10:31 +01:00
Quentin Le Sceller
998824ecf3 Add Azure-pipeline badge ()
* Add Azure-pipeline badge

* Fix formatting
2019-05-09 10:54:24 -07:00
Quentin Le Sceller
567ed95fc2
Set up CI with Azure Pipelines ()
Set up CI with Azure Pipelines
2019-05-09 13:15:10 -04:00
Antioch Peverell
fabff51dd3
Header version cleanup ()
* introduce HeaderVersion (was u16) for type safety
cleanup pow ser/deser (version unused)

* fixup tests for HeaderVersion

* validate header version during header deserialization
2019-05-08 21:10:42 +01:00
Antioch Peverell
8d5f73e8f1
Protocol version type safety ()
* add type safety for protocol_version

* cleanup tui for protocol version

* cleanup
2019-05-08 20:51:07 +01:00
John Tromp
4ad2ed48a3 add proofsize check in pow verify () 2019-05-05 11:51:46 +02:00
Antioch Peverell
4ef4212f1f
Simplify peer connection handling ()
* connection no longer wrapped in an Option in peer

* introduce peer.send()

* remove some Arc indirection

* self.send() cleanup

* extract Peer:new() from connect and accept

* fixup

* cleanup
2019-05-03 15:56:25 +01:00
Antioch Peverell
6c54c90101
remove the error_channel and simplify how we close peer connections () 2019-05-03 15:35:43 +01:00
Antioch Peverell
d3b4526e03
mimblewinble -> mimblewimble () 2019-05-03 13:48:25 +01:00
hashmap
55cbdf58fe
Gracefully shutdown if SIGINT was sent in TUI mode ()
Fixes 

Also 2 Arc's were replaced by one server's instance.
It is needed for p2p thread management in , currently there is no point where we could store thread handles and join them because thread::join
consume the caller, which is impossible in case of Arc.
2019-05-03 14:20:36 +02:00
Antioch Peverell
85d06fe416
fix typo ()
single char typo - merging
2019-05-03 12:07:39 +01:00
fresheneesz
7f12b45a34 Updating the (dead) link to the transaction UML () 2019-05-02 15:16:04 -04:00
Antioch Peverell
b9db129b33 Add debug logging on startup to provide size of our leaf_set (aka UTXO set) () 2019-04-30 12:27:37 -07:00
Antioch Peverell
6352780d6a Bump rand crate to 0.6 (was 0.5) ()
shuffle was deprecated, fix this up
2019-04-30 12:25:19 -07:00
Antioch Peverell
b2b96f3f81
bucket_transactions is now fee_to_weight aware ()
* bucket_transactions is now fee_to_weight aware
bucket_transactions now returns the underlying txs

* cleanup

* simplify pool bucket sorting, no need for depth sort key
2019-04-30 12:14:02 +01:00
hashmap
3d0f9bd0d3 Set TUI FPS ()
New version of Cursive allows to set fps, the existing  set_autorefresh sets 30 fps. This change decreases CPU usage from 50-65% to 15-25% on my machine.
2019-04-30 08:04:36 +08:00
hashmap
304ae444ab
Fix peer dropping ()
It turns out that we drop connection if we fail to process a message
because of chain/store/internal error, eg we have a header already, so
we refuse it and drop the peer.
This pr doesn't forward this error to the peer error channel so the
connection will not be dropped.
2019-04-26 20:22:07 +02:00
Ignotus Peverell
81a6af9624
Increase peer max count significantly ()
* Increase peer max count significantly

* Reduce limit to 125, like bitcoin
2019-04-24 15:04:59 -07:00
Antioch Peverell
de21f0d62d Cleanup how we deal with fixed size vs variable size data files ()
introduce a SizeInfo enum (to replace two options)
2019-04-24 13:43:06 -07:00
Antioch Peverell
e72409d804 Bump the version of croaring to 0.3.9 () 2019-04-24 11:17:20 -07:00
Antioch Peverell
19106b3643 Relax our p2p rules around matching protocol versions () 2019-04-24 11:15:08 -07:00
hashmap
3c400f7e2a Fix unused import warnings () 2019-04-23 18:16:03 +08:00
David Burkett
0e6a249126 Increasing thread sleeps for socket listener thread and per-connection threads. () 2019-04-23 08:29:24 +02:00
Gary Yu
97e96e4fcf use a grin specific tmp dir instead of a system tmp dir () ()
* use a grin specific tmp dir instead of a system tmp dir

* rustfmt

* using create_new instead of create

* switch the txhashset sandbox from system tmp dir to grin specific tmp dir

* rustfmt

* adapter get_tmp_dir delegate to chain implementation

* simply the logic of protolc for get_tmpfile_pathname

* rustfmt

* fix the merge mistake
2019-04-22 16:54:36 -07:00
Antioch Peverell
d7f940e160 cleanup unused data_file_path () 2019-04-22 16:53:53 -07:00
Gary Yu
b61b773cee Get back the lost code of () 2019-04-22 16:53:24 -07:00
Yeastplume
865b9b6b46
make field in tx_body public () 2019-04-19 11:55:48 +01:00
Antioch Peverell
13c6160e15
pass peer_info around rather than peer_addr (includes protocol version) () 2019-04-18 14:11:06 +01:00
Yeastplume
ea9953283b
Add helpful information if user tries to run wallet command ()
* Add warning message if user tries to run wallet command

* rustfmt
2019-04-18 10:37:19 +01:00
Ignotus Peverell
b403ccbeb1
[1.1.0 -> Master] Merge 1.1.0 with master changes back into master 2019-04-16 09:56:48 -07:00
Yeastplume
a1c9da4276
version number update 2019-04-16 11:29:01 +01:00
Yeastplume
2f38ae1caf
rustfmt 2019-04-16 11:24:53 +01:00
Yeastplume
12fe928112
merge master into 1.1.0 2019-04-16 11:24:43 +01:00
Hanjiang Yu
56fed5093e Use next available key on duplicate coinbase commitment ()
If a coinbase commitment hits a duplication and there is no transactions
to mine, it is possible that coinbase cannot be built for quite a long
time. This change tries to build coinbase with an empty key identifier
immediately in this case. The listening wallet will then use the next
available key to build a coinbase commitment, which is different from
the previous one and is unlikely to hit the duplication.
2019-04-15 15:16:33 -07:00
Quentin Le Sceller
606b4652f8 Cleanup db directory after tests ()
* Cleanup db directory after tests

* Fix clean output dir windows

* Remove behind chain tests
2019-04-15 15:00:24 -07:00
Antioch Peverell
3d817f6cd0 [1.1.0] Support variable size PMMR (optional size_file) ()
* Introduce optional size_file.
Support fixed size data file via an optional elmt_size.
Support variable size data file via optional size_file.

* remember to release the size_file

* fix scoping for windows support
2019-04-12 15:41:21 -07:00
Antioch Peverell
e8c50359e4 Pull initial chain compaction out of init() and into the syncer () 2019-04-12 15:38:07 -07:00
Aidan_MegaSolar
dbbad7be03 [DOC] Translation some files in doc dir. ()
*  add md files for translation.

*  start to translation fast-sync, code_structure. add file build_KR.md, states_KR.md

* add dandelion_KR.md && simulation_KR.md for Korean translation.

*  add md files for translation.

*  start to translation fast-sync, code_structure. add file build_KR.md, states_KR.md

* add dandelion_KR.md && simulation_KR.md for Korean translation.

* remove some useless md files for translation. this is rearrange set up translation order.

*  add dot end of sentence & translate build.md in korean

*  remove fast-sync_KR.md

*  finish build_KR.md translation

*  finish build_KR.md translation

*  finish translation state_KR.md & add phrase in state.md to move other language md file

* translate blocks_and_headers.md && chain_sync.md in Korean

*  add . in chain_sync.md , translation finished in doc/chain dir.

* fix some miss typos

*  start to translate dandelion.md & simulation.md in Korean.

*  [WIP] translation

* [WIP] files add.

* [WIP] dandelion simulation

*  finish pruning translation

*  doc/dandelion translation in Korean finish

*  start to translation mmr, merkle, switch commitment in Korean

*  [WIP] merkle_KR.md

*  finish translation mmr.md & merkle.md

*  delete [WIP]switch_commitment_KR.md

*  add pow_KR.md for translation

*  finish translation grin4bitcoiners

*  fix for merge

*  fix for merge

*  fix for merge

* ,

* POW & grin4bitcoiner.md translated in Korean.

* fix some typo and cargo.lock
2019-04-12 15:32:11 -07:00
Mike Dallas
fc5fdc8445 CI Test Windows: bind to localhost instead of 0.0.0.0 () 2019-04-12 14:19:41 -04:00
Mark Renten
79c97c30ba decrease chunk size in outputs by ids () 2019-04-12 13:47:40 +02:00
Quentin Le Sceller
fb7fd62c8b CI: Do not crash on empty terminal ()
* Add warning
2019-04-11 12:36:04 -07:00
Antioch Peverell
108bdbaa73
Only flush leaf_set if we have a prunable backend. () 2019-04-09 12:03:19 +01:00
hashmap
94732b0d58
Return Result from methods of ChainAdapter ()
Most of the methods return nothing or bool which is used to decide if a
sender of a message should be banned or not. However underlying chain
implementation may fail so we need a way to reflect this fact in API.

Also it allows to reduce number of unwraps and makes the code more robust.
2019-04-08 22:13:28 +02:00
Antioch Peverell
cdc17c6cd9
We bumped version to 1.0.3 earlier but missed the Cargo.lock file () 2019-04-08 15:27:06 +01:00
hashmap
1b7d710317
Add first_see field to LivePeerInfo ()
Totally nice to have, I personally found it useful. Also could be used
to support FIFO peer list.
2019-04-04 11:59:44 +02:00
Ignotus Peverell
4f52209cd0
Bump to latest grin_secp256k1zkp 2019-04-02 16:37:42 +00:00