You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
poscan only borrowed H256 and U256 from sp-core, and sp-core drags a
native secp256k1 C build that will not cross compile to wasm32-wasip1.
Swapping to primitive-types, which sp-core merely re-exports, removes that
block, so the work golden now runs directly under wasmtime next to native.
The on chain s value stays bit identical because the types are the same.
This makes the wasm determinism gate a direct check on the work value s
itself instead of a proxy on the scan features, run on both x86_64 and
aarch64 in CI.
External miners pull the current task over mining_getTask and submit a found seal over mining_submitSeal, running the scan outside the node.
--miner sets the reward address and exposes the mining rpc. --node-miner additionally runs the in process scan loop so the node mines locally.
The mining worker now stacks a fresh task every second instead of overwriting the last one. A miner can submit a seal for any task still tied to the current head, old or new, and a new block clears them all.
External miners can subscribe to mining_subscribeTask for a task pushed every second, alongside the mining_getTask pull and the mining_submitSeal submit.
- move seal import off the rpc reactor with spawn_blocking so a flood of
submissions cannot stall the async executor
- collapse the per head task store into one bounded deque, capped so a stalled
head stops leaking a proposal every tick
- hold the proposal budget to the worker tick so authoring keeps a one second
cadence even under load
`--node-miner` now takes an optional thread count. The bare flag spreads the
scan across all cores; a number caps it. Each thread walks its own slice of the
nonce space by stride, so no two threads repeat the same work.
Each scan thread submitted its own seal, so concurrent imports for the same
head drained the WASM runtime instance pool. Threads now share a claim guard
and only one submits per pre_hash.
@motoZ-crypto, you've reached your PR review limit, so we couldn't start this review.
Next review available in:57 minutes
Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).
How can I continue?
After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.
To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.
How do review limits work?
CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.
For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.
We reviewed changes in bfaef4f...b4d5d62 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
The reason will be displayed to describe this comment to others. Learn more.
Using `drop` with type that implements `Copy`
For types that implement the Copy trait, std::mem::forget (or std::mem::drop) effectively does nothing because the type is copied into the
function call, and the newly copied type is forgotten (or dropped).
Additionally, Copy types do not have destructors; there is nothing for std::mem::forget or (or std::mem::drop) to do.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
A-consensusConsensus mechanism (Generally)A-nodeNode binary, service layer, CLIA-powPOW block production, mining algorithmT-ciCI/CD, build, DockerfileT-enhancementNew feature or request
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Consensus
External mining
Internal miner
Tuning
Closes #105