A re-write of polkadot staking miner using subxt to avoid hard dependency to each runtime version

Overview

Staking Miner v2

Daily compatibility check against latest polkadot

WARNING this library is under active development DO NOT USE IN PRODUCTION.

The library is a re-write of polkadot staking miner using subxt to avoid hard dependency to each runtime version.

The intention is that this library will "only break" once the pallet-election-provider-multi-phase breaks i.e, not on every runtime upgrade.

You can check the help with:

staking-miner --help

Building

cargo build --release --locked

Docker

TODO.

Running

A Docker container, especially one holding one of your SEED should be kept as secure as possible. While it won't prevent a malicious actor to read your SEED if they gain access to your container, it is nonetheless recommended running this container in read-only mode:

# The following line starts with an extra space on purpose:
 SEED=0x1234...

docker run --rm -it \
    --name staking-miner \
    --read-only \
    -e RUST_LOG=info \
    -e SEED=$SEED \
    -e URI=wss://your-node:9944 \
    staking-miner dry-run

Test locally

  1. $ cargo build --package polkadot --features fast-runtime
  2. $ polkadot --chain polkadot-dev --tmp --alice --execution Native -lruntime=debug --offchain-worker=Always --ws-port 9999
  3. $ staking-miner --uri ws://localhost:9999 --seed-or-path //Alice monitor phrag-mms
Comments
  • Bump sp-npos-elections from `74a6370` to `b7d2cb5`

    Bump sp-npos-elections from `74a6370` to `b7d2cb5`

    Bumps sp-npos-elections from 74a6370 to b7d2cb5.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 3
  • Bump jsonrpsee from 0.15.1 to 0.16.0

    Bump jsonrpsee from 0.15.1 to 0.16.0

    Bumps jsonrpsee from 0.15.1 to 0.16.0.

    Release notes

    Sourced from jsonrpsee's releases.

    v0.16.0

    [v0.16.0] - 2022-11-09

    v0.16.0 is a breaking release and the major changes are:

    • The server now support WS and HTTP on the same socket and the jsonrpsee-http-server and jsonrpsee-ws-server crates are moved to the jsonrpsee-server crate instead.
    • The client batch request API is improved such as the errors and valid responses can be iterated over.
    • The server has tower middleware support.
    • The server now adds a tracing span for each connection to distinguish logs per connection.
    • CORS has been moved to tower middleware.

    [Fixed]

    • server: read accepted conns properly (#929)
    • server: proper handling of batch errors and mixed calls (#917)
    • jsonrpsee: add types to server feature (#891)
    • http client: more user-friendly error messages when decoding fails (#853)
    • http_server: handle http2 requests host filtering correctly (#866)
    • server: RpcModule::call decode response correctly (#839)

    [Added]

    • proc macro: support camelCase & snake_case for object params (#921)
    • server: add connection span (#922)
    • server: Expose the subscription ID (#900)
    • jsonrpsee wrapper crate: add feature async_wasm_client (#893)
    • server: add transport protocol details to the logger trait (#886)
    • middleware: Implement proxy URI paths to RPC methods (#859)
    • client: Implement notify_on_disconnect (#837)
    • Add bytes_len() to Params (#848)
    • Benchmarks for different HTTP header sizes (#824)

    [Changed]

    • replace WS and HTTP servers with a server that supports both WS and HTTP (#863)
    • Optimize serialization for client parameters (#864)
    • Uniform log messages (#855)
    • Move CORS logic to tower middleware CorsLayer (#851)
    • server: add log for the http request (#854)
    • server: add tower support (#831)
    • jsonrpsee: less deps when defining RPC API. (#849)
    • server: rename Middleware to Logger (#845)
    • client: adjust TransportSenderT (#852)
    • client: improve batch request API (#910)
    • server: Optimize sending for SubscriptionSink::pipe_from_stream (#901)
    • ws-client: downgrade connection log to debug (#865)
    • use tracing instrument macro (#846)
    Changelog

    Sourced from jsonrpsee's changelog.

    [v0.16.0] - 2022-11-09

    v0.16.0 is a breaking release and the major changes are:

    • The server now support WS and HTTP on the same socket and the jsonrpsee-http-server and jsonrpsee-ws-server crates are moved to the jsonrpsee-server crate instead.
    • The client batch request API is improved such as the errors and valid responses can be iterated over.
    • The server has tower middleware support.
    • The server now adds a tracing span for each connection to distinguish logs per connection.
    • CORS has been moved to tower middleware.

    [Fixed]

    • server: read accepted conns properly (#929)
    • server: proper handling of batch errors and mixed calls (#917)
    • jsonrpsee: add types to server feature (#891)
    • http client: more user-friendly error messages when decoding fails (#853)
    • http_server: handle http2 requests host filtering correctly (#866)
    • server: RpcModule::call decode response correctly (#839)

    [Added]

    • proc macro: support camelCase & snake_case for object params (#921)
    • server: add connection span (#922)
    • server: Expose the subscription ID (#900)
    • jsonrpsee wrapper crate: add feature async_wasm_client (#893)
    • server: add transport protocol details to the logger trait (#886)
    • middleware: Implement proxy URI paths to RPC methods (#859)
    • client: Implement notify_on_disconnect (#837)
    • Add bytes_len() to Params (#848)
    • Benchmarks for different HTTP header sizes (#824)

    [Changed]

    • replace WS and HTTP servers with a server that supports both WS and HTTP (#863)
    • Optimize serialization for client parameters (#864)
    • Uniform log messages (#855)
    • Move CORS logic to tower middleware CorsLayer (#851)
    • server: add log for the http request (#854)
    • server: add tower support (#831)
    • jsonrpsee: less deps when defining RPC API. (#849)
    • server: rename Middleware to Logger (#845)
    • client: adjust TransportSenderT (#852)
    • client: improve batch request API (#910)
    • server: Optimize sending for SubscriptionSink::pipe_from_stream (#901)
    • ws-client: downgrade connection log to debug (#865)
    • use tracing instrument macro (#846)
    Commits
    • d3804a4 update release script
    • c74b994 chore(release): v0.16.0
    • 457da32 chore(deps): update pprof requirement from 0.10 to 0.11 (#924)
    • 425b1b6 proc-macros/tests: Update test to latest rustc v1.67 (#931)
    • 587be12 chore(deps): bump Swatinem/rust-cache from 2.0.2 to 2.1.0 (#930)
    • 824c369 [client]: improve batch request API (#910)
    • 576d837 chore(deps): tokio ^1.16 (#926)
    • 1f6368d fix(server): read accepted conns properly (#929)
    • bc11e9d proc macro: support camelCase & snake_case for object params (#921)
    • c4fafff chore(deps): bump Swatinem/rust-cache from 2.0.1 to 2.0.2 (#923)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump subxt from `a71223a` to `81175b2`

    Bump subxt from `a71223a` to `81175b2`

    Bumps subxt from a71223a to 81175b2.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Properly fetch `MinerConfig` boilerplate from metadata

    Properly fetch `MinerConfig` boilerplate from metadata

    Once https://github.com/paritytech/substrate/pull/12245 is merged we can do this.

    https://github.com/paritytech/staking-miner-v2/blob/9d58d2643e457feb8ffe80781b4735fa1687299e/src/helpers.rs#L129 is still full of assumptions (e.g. 90%, max_voters is wrong).

    This is needed before we can do #207.

    opened by kianenigma 2
  • Bump sp-version from `c76c40a` to `28f0cb1`

    Bump sp-version from `c76c40a` to `28f0cb1`

    Bumps sp-version from c76c40a to 28f0cb1.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump serde from 1.0.142 to 1.0.143

    Bump serde from 1.0.142 to 1.0.143

    Bumps serde from 1.0.142 to 1.0.143.

    Release notes

    Sourced from serde's releases.

    v1.0.143

    • Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case (#2253, thanks @โ€‹taiki-e)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump frame-support from `c172d0f` to `74a6370`

    Bump frame-support from `c172d0f` to `74a6370`

    Bumps frame-support from c172d0f to 74a6370.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump pallet-election-provider-multi-phase from `7d8e5a1` to `f64cd4f`

    Bump pallet-election-provider-multi-phase from `7d8e5a1` to `f64cd4f`

    Bumps pallet-election-provider-multi-phase from 7d8e5a1 to f64cd4f.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump pallet-election-provider-multi-phase from `279593d` to `6a946fc`

    Bump pallet-election-provider-multi-phase from `279593d` to `6a946fc`

    Bumps pallet-election-provider-multi-phase from 279593d to 6a946fc.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump sp-version from `ee3eb8f` to `279593d`

    Bump sp-version from `ee3eb8f` to `279593d`

    Bumps sp-version from ee3eb8f to 279593d.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 2
  • Bump frame-support from `25417f5` to `ee3eb8f`

    Bump frame-support from `25417f5` to `ee3eb8f`

    Bumps frame-support from 25417f5 to ee3eb8f.

    Commits
    • ee3eb8f Prevent unsoundness in environments with broken madvise(MADV_DONTNEED) (#11...
    • c28702f Democracy.fast_track not allowed with zero voting period (#11666)
    • See full diff in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 2
  • Bump once_cell from 1.16.0 to 1.17.0

    Bump once_cell from 1.16.0 to 1.17.0

    Bumps once_cell from 1.16.0 to 1.17.0.

    Changelog

    Sourced from once_cell's changelog.

    1.17.0

    • Add race::OnceRef for storing a &'a T.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • v0.1.1 fails to compile; error[E0308]: mismatched types

    v0.1.1 fails to compile; error[E0308]: mismatched types

    $ rustup --version rustup 1.25.1 (bb60b1e89 2022-07-12) info: This is the version for the rustup toolchain manager, not the rustc compiler. info: The currently active rustc version is rustc 1.64.0 (a55dd71d5 2022-09-19)

    $ cargo --version cargo 1.64.0 (387270bc7 2022-09-16)

    Steps to replicate:

    git clone https://github.com/paritytech/staking-miner-v2
    cd staking-miner-v2
    cargo install --locked subxt-cli
    subxt metadata --url ws://localhost:30325 -f bytes > artifacts/metadata.scale
    subxt codegen --file artifacts/metadata.scale | rustfmt +nightly > code.rs
    cargo build --release --locked
    

    Error:

       Compiling staking-miner v0.1.1 (/usr/src/staking-miner-v2)
    error[E0308]: mismatched types
       --> src/monitor.rs:375:6
        |
    375 |     for (_score, _, idx) in indices.0 {
        |         ^^^^^^^^^^^^^^^^    --------- this is an iterator with items of type `(sp_npos_elections::ElectionScore, u32)`
        |         |
        |         expected a tuple with 2 elements, found one with 3 elements
        |
        = note: expected tuple `(sp_npos_elections::ElectionScore, u32)`
                   found tuple `(_, _, _)`
    
    error[E0308]: mismatched types
       --> src/monitor.rs:407:18
        |
    407 |         .map_or(true, |(best_score, _, _)| score_passes_strategy(score, *best_score, strategy))
        |                        ^^^^^^^^^^^^^^^^^-
        |                        |                |
        |                        |                expected due to this
        |                        expected a tuple with 2 elements, found one with 3 elements
        |
        = note: expected tuple `(sp_npos_elections::ElectionScore, u32)`
                   found tuple `(_, _, _)`
    
    opened by dcolley 3
  • Bump serde from 1.0.151 to 1.0.152

    Bump serde from 1.0.151 to 1.0.152

    Bumps serde from 1.0.151 to 1.0.152.

    Release notes

    Sourced from serde's releases.

    v1.0.152

    • Documentation improvements
    Commits
    • ccf9c6f Release 1.0.152
    • b25d0ea Link to Hjson data format
    • 4f4557f Link to bencode data format
    • bf400d6 Link to serde_tokenstream data format
    • 4d2e36d Wrap flexbuffers bullet point to 80 columns
    • df6310e Merge pull request #2347 from dtolnay/docsrs
    • 938ab5d Replace docs.serde.rs links with intra-rustdoc links
    • ef5a0de Point documentation links to docs.rs instead of docs.serde.rs
    • 5d186c7 Opt out -Zrustdoc-scrape-examples on docs.rs
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • add `dry-run` option to `monitor command`

    add `dry-run` option to `monitor command`

    Add another CLI option to the monitor command in order to dry-run the extrinsic in order check that the account has sufficient balance to submit the solution.

    opened by niklasad1 0
  • add `delay` CLI flag

    add `delay` CLI flag

    We would want a CLI flag that enforces that the miner wait x seconds until a solution submitted to avoid concurrent solutions.

    See https://github.com/paritytech/polkadot/pull/5734

    opened by niklasad1 0
Releases(v0.1.1)
  • v0.1.1(Dec 6, 2022)

    [v0.1.1] - 2022-12-06

    This is a patch release that fixes a bug in --listen finalized before it was possible to submit multiple solutions because the solution was regarded as finalized when it was included in block.

    Fixed

    • fix: --listen finalized wait for finalized xt (#425)

    Changed

    • Bump jsonrpsee from 0.16.1 to 0.16.2 (#427)
    • Bump assert_cmd from 2.0.6 to 2.0.7 (#428)
    • Bump serde from 1.0.147 to 1.0.148 (#424)
    • Bump serde_json from 1.0.88 to 1.0.89 (#423)

    Compatibility

    Tested against:

    • Polkadot v9330
    • Kusama v9330
    • Westend v9330
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Nov 23, 2022)

  • v0.1.4-alpha(Nov 1, 2022)

  • v0.1.3-alpha(Oct 28, 2022)

    A release that supports polkadot v0.9.30

    This releases has the following major changes:

    • Dynamic API for updating runtime constants and submitting NposSulutions
    • Weight v2
    • Runtime constants are upgraded on runtime upgrades
    Source code(tar.gz)
    Source code(zip)
  • v0.1.2-alpha(Sep 14, 2022)

  • v0.1.1-alpha(Sep 14, 2022)

    Supports polkadot >= v0.9.28

    It is using the RPC runtime API TransactionPaymentCallApi_query_call_info to estimate the weight of the Solution

    Source code(tar.gz)
    Source code(zip)
Owner
Parity Technologies
Solutions for a trust-free world
Parity Technologies
ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot network.

ARYA Network ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot n

Pankaj Chaudhary 6 Dec 20, 2022
Silent monero miner using xmrig and has 0% donation.

Note If this reprository is useful to you in in any shape or form please give it a star. Educational purposes only Don't use this project maliciously.

RadonCoding 4 Nov 21, 2022
A node and runtime configuration for polkadot node.

MANTA NODE This repo is a fresh FRAME-based Substrate node, forked from substrate-developer-hub/substrate-node-templte ?? It links to pallet-manta-dap

Manta Network 14 Apr 25, 2021
Yet another gem miner

Rusty Pickaxe Multithreaded CPU miner for Provably Rare Gems, written in Rust. There is also closed-source GPU version, waiting to be released. Config

Someone 7 Aug 11, 2022
Ore Pool Miner coded in Rust for the Ore v2 program on Solana!

Ore Pool Miner Ore Pool Miner coded in Rust for the Ore v2 program on Solana Default Ore Mining Pool Alvarium Mining Pool is operated by Bifrost and i

Bifrost Inc 11 Oct 7, 2024
Marinde Anchor-Based, first on mainnet, liquid-staking-program and mSOL->SOL swap pool

marinade-anchor Marinade-finance liquid staking program for the Solana blockchain Audits & Code Review Kudelski Security: https://marinade.finance/Kud

Marinade.Finance 42 Dec 11, 2022
Here you'll find the open sourced code for the MOBIX staking contracts.

Mobix Staking Compile: rustup default stable cargo wasm Test: cargo test Optimize: quick and good: RUSTFLAGS='-C link-arg=-s' cargo wasm slow and b

MOBIX.ai 3 Apr 24, 2022
Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools.

yi Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools. About Yi is a Solana primitive for building single-sided

Crate Protocol 12 Apr 7, 2022
A reference NFT Staking Program & Client for Solana NFTs

This is a reference NFT Staking Program & Client for Solana NFTs. This program is compatible with both Candy Machine v1 and Candy Machine v2 NFTs.

Tracy Adams 73 Dec 19, 2022
Terra liquid staking derivative

Terra liquid staking derivative. Of the community, by the community, for the community.

null 36 Dec 6, 2022
C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain

C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain

null 1.9k Dec 28, 2022
Cross-chain hub for Crypto Asset on Polkadot

ChainX ChainX is a community-driven project built on the next-generation blockchain framework substrate, the largest Layer-2 network of Bitcoin using

ChainX 261 Dec 28, 2022
Polkadot Node Implementation

Polkadot Implementation of a https://polkadot.network node in Rust based on the Substrate framework. NOTE: In 2018, we split our implementation of "Po

Parity Technologies 6.5k Jan 6, 2023
๐ŸŒ The Earth Blockchain on Polkadot (archived)

Social Network Blockchain ยท The Social Network blockchain is a next-generation governance, economic, and social system for humanity built on Polkadot

social.network 18 Jan 2, 2023
Subsocial full node with Substrate/Polkadot pallets for decentralized communities: blogs, posts, comments, likes, reputation.

Subsocial Node by DappForce Subsocial is a set of Substrate pallets with web UI that allows anyone to launch their own decentralized censorship-resist

DappForce 74 Nov 24, 2022
A top-up of fatality based errors, originally developed for polkadot

fatality A generative approach to creating fatal and non-fatal errors. The generated source utilizes thiserror::Error derived attributes heavily, and

Bernhard Schuster 9 Sep 1, 2022
interBTC A trust-minimized bridge from Bitcoin to Polkadot.

interBTC A trust-minimized bridge from Bitcoin to Polkadot. Explore the specification ยป Report Bug ยท Request Feature This repository is hosted on GitH

Interlay 192 Dec 27, 2022
The Polkadot Hackathon Global Series North America edition is the second in a series of hackathons that brings the cutting edge of blockchain to a global community.

Polkadot Hackathon Project We are translating Uniswap v2 to Ink. Dependencies Install cargo-contract for building Ink contracts: cargo install dylint-

Kristiyan Dilov 3 Jun 28, 2022
A holistic, minimal documentation portal for the Polkadot developers.

polkadot-sdk-docs A holistic, minimal documentation portal for the Polkadot developers. Master Tutorial The very, very rough plan that I have so far i

Parity Technologies 9 May 26, 2023