Zebra/zebrad/tests/common
teor 2ac6921d60
feat(mine): Add an internal Zcash miner to Zebra (#8136)
* Patch equihash to use the solver branch

* Add an internal-miner feature and set up its dependencies

* Remove 'Experimental' from mining RPC docs

* Fix a nightly clippy::question_mark lint

* Move a byte array utility function to zebra-chain

* fixup! Add an internal-miner feature and set up its dependencies

* Add an equihash::Solution::solve() method with difficulty checks

* Check solution is valid before returning it

* Add a TODO to check for peers before mining

* Move config validation into GetBlockTemplateRpcImpl::new()

* fixup! fixup! Add an internal-miner feature and set up its dependencies

* Use the same generic constraints for GetBlockTemplateRpcImpl struct and impls

* Start adding an internal miner component

* Add the miner task to the start command

* Add basic miner code

* Split out a method to mine one block

* Spawn to a blocking thread

* Wait until a valid template is available

* Handle shutdown

* Run mining on low priority threads

* Ignore some invalid solutions

* Use a difference nonce for each solver thread

* Update TODOs

* Change the patch into a renamed dependency to simplify crate releases

* Clean up instrumentation and TODOs

* Make RPC instances cloneable and clean up generics

* Make LongPollId Copy so it's easier to use

* Add API to restart mining if there's a new block template

* Actually restart mining if there's a new block template

* Tidy instrumentation

* fixup! Move config validation into GetBlockTemplateRpcImpl::new()

* fixup! Make RPC instances cloneable and clean up generics

* Run the template generator and one miner concurrently

* Reduce logging

* Fix a bug in getblocktemplate RPC tip change detection

* Work around some watch channel change bugs

* Rate-limit template changes in the receiver

* Run one mining solver per available core

* Use updated C code with double-free protection

* Update to the latest solver branch

* Return and submit all valid solutions

* Document what INPUT_LENGTH means

* Fix watch channel change detection

* Don't return early when a mining task fails

* Spawn async miner tasks to avoid cooperative blocking, deadlocks, and improve shutdown responsiveness

* Make existing parallelism docs and configs consistent

* Add a mining parallelism config

* Use the minimum of the configured or available threads for mining

* Ignore optional feature fields in tests

* Downgrade some frequent logs to debug

* Document new zebrad features and tasks

* Describe the internal-miner feature in the CHANGELOG

* Update dependency to de-duplicate equihash solutions

* Use futures::StreamExt instead of TryStreamExt

* Fix a panic message typo
2024-01-11 14:41:01 +00:00
..
configs add(docs): Note default path to config in docs (#8143) 2024-01-10 06:53:32 +00:00
get_block_template_rpcs feat(mine): Add an internal Zcash miner to Zebra (#8136) 2024-01-11 14:41:01 +00:00
lightwalletd change(state): Expose ZebraDb methods that can create different kinds of databases (#8002) 2023-11-28 13:49:11 +00:00
cached_state.rs fix(security): fix concurrency issues in tree key formats, and CPU usage in genesis tree roots (#7392) 2023-10-19 14:50:46 +00:00
check.rs T0. refactor(test): split zebrad acceptance tests into sub-modules (#3901) 2022-03-18 16:02:22 +00:00
checkpoints.rs change(state): Expose ZebraDb methods that can create different kinds of databases (#8002) 2023-11-28 13:49:11 +00:00
config.rs avoid starting the scan task if no keys to scan are present (#8059) 2023-12-06 01:56:43 +00:00
failure_messages.rs change(docs): update docs for new lightwalletd version used in Zebra (#7427) 2023-08-30 22:30:20 +00:00
get_block_template_rpcs.rs change(rpc): Add getpeerinfo RPC method (#5951) 2023-01-17 07:09:07 +00:00
launch.rs feature(mining): Enable mining RPCs by default in production builds (#7740) 2023-10-18 04:15:17 +00:00
lightwalletd.rs change(ci): Generate mainnet checkpoints in CI (#6550) 2023-04-27 04:39:43 +00:00
mod.rs change(ci): Generate mainnet checkpoints in CI (#6550) 2023-04-27 04:39:43 +00:00
sync.rs change(consensus): Remove Sprout and Sapling parameter download task and debug_skip_preload config (#7844) 2023-10-27 06:12:57 +00:00
test_type.rs change(consensus): Remove Sprout and Sapling parameter download task and debug_skip_preload config (#7844) 2023-10-27 06:12:57 +00:00