Skip to content

Implement hidden (test-only) RPC calls #333

@0xB10C

Description

@0xB10C

Bitcoin Core has a number of hidden RPC calls that are excluded from the documentation by default. However, being able to interact with them using corepc would still be good for testing and power usage. Some of these are clearly for testing only (e.g. mocktime), while others can be useful for node operators too: invalidateblock, while some others expose partially implementation specific data, where the response format might change at some point (i.e. they aren't super stable, like getrawaddrman and getorphantxs).

Some hidden RPCs I think would be good to implement:

  • getorphantxs: Shows transactions in the tx orphanage.
  • getrawaddrman: Returns information on all address manager entries for the new and tried tables. I've been using this in addrman-observer for a while now.
  • addpeeraddress: Add the address of a potential peer to an address manager table. This RPC is for testing only. See also getnodeaddresses returns an empty list #320
  • sendmsgtopeer: Send a p2p message to a peer specified by id. The message type and body must be provided, the message header will be generated. This RPC is for testing only.
  • addconnection: Open an outbound connection to a specified node. This RPC is for testing only.
  • echo/echojson: Simply echo back the input arguments. This command is for testing.
  • estimaterawfee: Estimates the approximate fee per kilobyte needed for a transaction to begin confirmation within conf_target blocks if possible. Uses virtual transaction size as defined in BIP 141 (witness data is discounted)
  • reconsiderblock: Removes invalidity status of a block, its ancestors and its descendants, reconsider them for activation. This can be used to undo the effects of invalidateblock.
  • invalidateblock: Permanently marks a block as invalid, as if it violated a consensus rule.
  • generatetoaddress: Mine to a specified address and return the block hashes.
  • generatetodescriptor Mine to a specified descriptor and return the block hashes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions