On Fedora, Linux headers aren't enough to build `rocksdb`, as suggested in #549. `clang` is also required. Adds note to troubleshooting to help with this.
* Change name of get_peer to get_connected_peer and add a get_peer method with store
* Change to get_connected_peer
* Added handler for GET peers/a.b.c.d
* Add minor document fixes
- fix broken link
- fix shell command formatting
- fix typo
* Add FAQ entry dealing with rocksdb
When compiling Grin without Linux headers the build process exits with
an opaque error message. Adding the header files fixes this.
References #549.
* Adding kcov code coverage to chain and core modules
* Adjust travis.yml to wget kcov from mimblewimble org
* Add codecov badge to README.md
* Fix repo name in badge to grin, from kcov
When applying a fork, everything is done in memory to be able to
rewind if it's either invalid or doesn't have more work. But
checking for the UTXO index was done only against the store. Now
checking the memory as well to find UTXOs that haven't been
stored yet.
The method `is_unspent` hadn't been fixed with the other sumtree
functions to check the MMR before deciding whether something is
really unspent. This is now fixed and also checks the output
hash is the one we expect.
* Add term and grin_p2p for grin client
* Setting msg as public for the client
* Specifying binary for cargo build
* Minimal client implementation
* Using server configuration for the client
* Display current chain height
* Display difficulty and last block pushed
* Remove unneeded secp256k1 dependency
* added debug logging to see what we're doing in save_pos_index
* add counts to logging
* make sure inputs/outputs in tx are sorted
tweak debug logging
* DRY up sorting of inputs/outputs/kernels via a simple sort() in ser/deser
* add explicit validation fo sort order during tx and block validation
* sort order consensus rule for inputs/outputs/kernels in blocks
* we want a max of 10*num_peers blocks during sync...
not min
* fix test imports
* wip
* rework check_orphans to be smart about _which_ orphan(s) to check
* cleanup
* limit max of 100 blocks at a time, and corresponding 100 max orphan blocks
* distinguish select (among futures) from select coins. Regex search in project for select\b shows we hardly use select, but maybe could use it to add timeouts more cleanly. ("Want to add a timeout to any future? Just do a select of that future and a timeout future!" from https://aturon.github.io/blog/2016/08/11/futures/)
* remove a trailing space
* FAQ.md - fix typo
* wallet: display problematic tx
* update FAQ build troubleshooting to cover #443
* stdout_log_level = Info
file_log_level = Debug
* sync: show total diff @ height when syncronization is completed
* better wallet send dest format error
* move INFO "Client conn ... lost" and "Connected to peer" down to Debug
* move some level=Info to Debug, add 1000-block outputs
* timeout connection already tracks "expected" responses
use this to deduplicate requests and do not ask a peer for the same thing again
(until either success or timeout)
* do not ask for orphan blocks repeatedly
allow more than preferred number of peers (clean if we exceed max number)
* move fast tests towards the end, slow tests to the front. avoids having a long running test straggling behind when other tests have finished
* testing if we can manage also with "sudo: false"
* reorder tasks a bit more
Moved handling to the peer map out of the p2p server and into
its own struct. Allowed factoring code from the net adapter and
simplification of some interactions. Also removes the need for
the adapter to reference the p2p server or peers.
Fixes#430, #453 and #456
* Rename wallet 'receive' to 'listen'
* Handle use of previous 'receive' command gracefully and clarify docs
* Move listen port from main wallet config to subcommand and break input out into own file method
* Clean up arg description
* Add placeholder to docs for file method in wallet
* Tidy wallet help text
* Rename pending wallet 'receive' to 'request'
* Restore receive method for file based transactions
Without a backup, the in-memory data structure stays truncated
even if the rewind is abandoned. Also add some logging on our
most problematic block in case it still is problematic.