LogoLogo
LogoLogo
  • Intro
    • Welcome
    • The Benefits of BSV Blockchain
    • What Can I Do?
    • Overview of GitHub repositories
    • Quick Start
  • Protocol
    • Introduction
    • BSV Blockchain
      • Blocks
      • Transactions
      • Proof of Work
      • Capabilities
      • Economic Model of Governance
      • Digital Asset Recovery
    • Network Policies
      • High-Level Architecture
      • Mining
      • Standard and Local Policies
      • Consensus Rules
      • Local Policies
    • Node Operations
      • Node Software
      • Bitcoin Server Network (BSN)
      • ChainTracker
      • Transaction Validation
      • UTXO Storage
      • Mempool
      • Block Assembler
      • Block Validation
      • Mining Software
      • Pruning transactions
      • Responsibilities of a Node
    • SPV Wallets, Overlays and SPV Processes
      • Simplified Payment Verification (SPV)
      • Instant Payments
      • Integrity Checks
      • SPV Wallets & Overlays
    • Transaction Lifecycle
      • Transaction Inputs and Outputs
      • Script
      • Transaction Flow
      • Constructing a transaction
      • Sequence Number and Time Locking
      • Transaction Templates
      • Transaction Processing
      • Opcodes used in Script
    • Privacy
      • Keys and Identity
      • Private vs Anonymous
      • Digital Signatures
      • Privacy on the Public Blockchain
  • Network Access Rules
    • Rules
      • Table of Contents
      • Background to the Rules
      • PART I - MASTER RULES
      • PART II - GENERAL RULES
      • PART III - ENFORCEMENT RULES
      • PART IV - DISPUTE RESOLUTION RULES
      • PART V - INTERPRETIVE RULES
    • FAQs
      • Miners
      • Professionals
      • Users
  • Important Concepts
    • High Level
      • Web3
      • Timestamping
      • SPV
      • UTXO vs Account Based
      • Linked Keys
      • Smart Contracts
    • Details
      • Hash Functions
      • Merkle Trees
      • Sighash Flags
      • Script
      • SPV
        • Deep Dive
        • Payments Flow
        • Data Models
        • Broadcasting
  • Network Topology
    • Mandala Upgrade
    • Nodes
      • SV Node
        • Architecture
        • System Requirements
        • Installation
          • SV Node
            • Configuration
            • AWS Volumes Setup
            • DDOS Mitigation
            • Docker
            • Genesis Settings
            • GetMiningCandidate
            • GKE
            • Network Environments
              • Regtest
              • STN
              • Testnet
        • Alert System
          • Alert Messages
          • Running the Alert System
            • Startup Script
          • Webhooks
        • RPC Interface
          • RPC Methods
        • Frequently Asked Questions
          • Blocks
          • Initial Block Download
          • Transactions
          • Log File Warnings
          • Safe Mode
          • Bug Bounty
        • Chronicle Release
      • Teranode
    • Overlay Services
      • Overlay Example
    • SPV Wallet
      • Quickstart
      • Key Concepts
      • AWS Deployment
        • Installation
        • Manage & Maintain
        • Update
        • Delete
      • Components
        • SPV Wallet Server
        • Storage
        • Web Admin
        • Block Headers Service
        • Web App & API
      • Who is it for?
      • Functionality & Roadmap
      • Contribute
      • Developers Guide
        • SPV Wallet
          • Authentication
          • Configuration
          • Notification
        • Go Client
          • Authentication
        • JS Client
          • Authentication
        • Admin
        • Keygen
        • Block Headers Service
          • Authentication
          • Configuration
      • Additional Components
  • paymail
    • Overview
    • BRFC Specifications
      • Specification Documents
      • BRFC ID Assignment
    • Service Discovery
      • Host Discovery
      • Capability Discovery
    • Public Key Infrastructure
    • Payment Addressing
      • Basic Address Resolution
      • Sender Validation
      • Receiver Approvals
      • PayTo Protocol Prefix
    • Verify Public Key Owner
    • Recommendations
  • Guides
    • Local Blockchain Stack
      • Mockchain Stack
    • Business Use Cases
      • Creating a Tranche of Event Tickets
    • SDKs
      • Concepts
        • BEEF
        • Fees
        • SPV
        • Transactions
        • Op Codes
        • Script Templates
        • Signatures
        • Verification
      • TypeScript
        • Node, CommonJS
        • React
        • Low Level
          • Verification
          • ECDH
          • Numbers & Points
          • Signatures
          • 42
          • ECDSA
          • Hmacs
          • Keys
          • Scripts
        • Examples
          • Creating a Simple Transaction
          • Verifying a BEEF Structure
          • Creating Transactions with Inputs, Outputs and Templates
          • Creating the R-puzzle Script Template
          • Message Encryption and Decryption
          • Message Signing
          • Building a Custom Transaction Broadcast Client
          • Verifying Spends with Script Intrepreter
          • BIP32 Key Derivation with HD Wallets
          • Using Type 42 Key Derivation for Bitcoin Wallet Management
          • Creating a Custom Transaction Fee Model
          • Building a Pulse Block Headers Client
          • Using ECIES Encryption
      • Go
        • Examples
          • Simple Tx
          • Keys
          • Encryption
          • Broadcasting
          • Inscribing
          • Data Markers
          • Linked Keys
          • ECIES
          • Fees
          • HD Keys
          • Headers
          • Secure Messages
          • Merkle Path Verification
      • Python
        • Examples
          • Simple Tx
          • Verifying BEEF
          • Complex Tx
          • Script Templates
          • Encryption
          • Message Signing
          • Building A Custom Broadcaster
          • HD Wallets
          • Linked Keys
          • Fees
          • Merkle Path Verification
          • ECIES
  • BSV Academy
    • Getting Started
    • BSV Basics: Protocol and Design
      • Introduction
        • Bit-Coin
      • The BSV Ledger
        • The Ledger
        • Triple Entry Accounting
        • Example
      • Coins and Transactions
        • Coins
        • Transactions
        • Transaction Fees
      • Theory
      • Conclusion
    • BSV Enterprise
      • Introduction
      • About BSV Blockchain
        • Introduction
        • Safe, Instant Transactions at a Predictably Low Cost
          • Reliably Low Fees
          • Comparison to Legacy Transaction Systems
          • Payment Channels
        • Scalability to Accommodate Global Demand
          • Big Blocks Show Big Potential
        • A Plan for Regulatory Acceptance
          • Ready-made Compliance
          • The Open BSV License
        • Protocol Stability
          • Building Foundations on a Bedrock of Stone
      • Technical Details
        • The Network
          • The Small World Network
          • Robust In Its Unstructured Simplicity
        • The Bitcoin SV Node Client
          • Teranode - The Future of BSV
        • The Protocol - Simple, Robust and Unbounded
          • What is the BSV Protocol?
        • Proof of Work
          • The Algorithm
          • Efficiency of Proof of Work
        • Privacy and Identity
        • Permissions and Privacy
      • Resources and Tools
        • The Technical Standards Comittee
          • TSC Principles
          • Standard Development Process
          • Status of Current and In-progress Standards
        • The Working Blockchain
          • Pruning to Create a Working Blockchain
          • Building a Working Blockchain from a List of Block Headers
          • A World View Backed by Proof of Work
    • Hash Functions
      • What are Hash Functions?
        • The Differences Between Hashing and Encryption
        • The Three Important Properties of Hash Functions
        • The Hash Functions Found in BSV
      • Base58 and Base58Check
        • What is Base58 and Why Does Bitcoin use it?
        • What is Base58 and How Does BSV use it?
      • SHA256
        • BSV Transactions and SHA-256
        • BSV Blocks and SHA-256
        • Proof-of-Work and HASH-256
      • Walkthrough Implementation of SHA-256 in Golang
        • Overview of SHA-256
        • SHA-256 Input and Processing
        • SHA-256 Compression
        • SHA-256 Final Value Construction and Output
      • RIPEMD-160
        • BSV Addresses & WIFs
      • Walkthrough Implementation of RIPEMD-160 in Golang
        • Overview of RIPEMD-160
        • RIPEMD-160 Input and Processing
        • RIPEMD-160 Compression
        • RIPEMD-160 Final Value Construction and Output
      • Doubla Hashing and BSV's Security
        • Why is Double Hashing Used in BSV
        • Hash Functions and BSV's Security Model
    • Merkle Trees
      • The Merkle Tree
        • What is a Merkle Tree?
        • Why use a Merkle Tree?
        • Merkle Trees in Action
      • Merkles Trees in BSV
        • The Data Elements
        • Transaction Merkle Trees
        • Transaction Merkle Trees in Action
      • Merkle Trees and the Block Header
        • What is the Block Header
        • The Hash Puzzle
        • Proof-of-Work in Action
      • Merkle trees and Verifying Proof of Work
        • Broadcasting the Block
        • The Coinbase Transaction
        • Data Integrity of the Block
        • Saving Disk Space
      • Standarised Merkle Proof
        • What is a Merkle Proof?
        • The BSV Unified Merkle Path (BUMP) Standard
        • Simple and Composite Proofs
      • Merkle Trees and Simplified Payment Verification
        • SPV
        • Offline Payments
    • Digital Signatures
      • What are Digital Signatures
        • Background
        • Introduction
        • Digital Signatures Protocol
        • Properties of Digital Signatures
      • ECDSA Prerequisites
        • Disclaimer
        • Modular Arithmetic
        • Groups, Rings and Finite Fields
        • Discrete Logarithm Problem
        • Elliptic Curve Cryptography (ECC)
        • Discrete Logarithm Problem with Elliptic Curves
      • ECDSA
        • Introduction
        • ECDSA
        • Further Discussion
      • BSV and Digital Signatures
        • Introduction
        • BSV Transaction
        • ECDSA (secp256k1) for BSV Transaction
        • Summary
        • Signed Messages
        • Miner Identification and Digital Signatures
    • BSV Theory
      • Abstract
        • Peer-to-Peer Cash
        • Digital Signatures and Trusted Third Parties
        • Peer-to-Peer Network
        • Timechain and Proof-of-Work
        • CPU Power
        • Cooperation in the Network
        • Network Structure
        • Messaging Between Nodes
      • Introduction
        • Commerce on the Internet
        • Non Reversible Transactions
        • Privacy in Commerce
        • The Paradigm of Fraud Acceptance
        • What is Needed...
        • Protecting Sellers From Fraud
        • Proposed Solution
        • Security and Honesty
      • Transactions
        • Electronic Coins
        • Spending a Coin
        • Payee Verification
        • Existing Solutions
        • First Seen Rule
        • Broadcasting Transactions
        • Achieving Consensus
        • Proof of Acceptance
      • Timestamp Server
        • Timestamped Hashes
        • A Chain of Timestamped Hashes
      • Proof of Work
        • Hashcash
        • Scanning Random Space
        • Nonce
        • Immutable Work
        • Chain Effort
        • One CPU, One Vote
        • The Majority Decision
        • The Honest Chain
        • Attacking the Longest Chain
        • Controlling the Block Discovery Rate
      • Network
        • Running the Network
        • The Longest Chain
        • Simultaneous Blocks
        • Breaking the Tie
        • Missed Messages
      • Incentive
        • The Coinbase Transaction
        • Coin Distribution
        • Mining Analogy
        • Transaction Fees
        • The End of Inflation
        • Encouraging Honesty
        • The Attacker's Dilemma
      • Reclaiming Disk Space
        • Spent Transactions
        • The Merkle Tree
        • Compacting Blocks
        • Block Headers
      • Simplified Payment Verification
        • Full Network Nodes
        • Merkle Branches
        • Transaction Acceptance
        • Verification During Attack Situations
        • Maintaining an Attack
        • Invalid Block Relay System
        • Businesses Running Nodes
      • Combining and Splitting Value
        • Dynamically Sized Coins
        • Inputs and Outputs
        • A Typical Example
        • Fan Out
      • Privacy
        • Traditional Models
        • Privacy in Bitcoin
        • Public Records
        • Stock Exchange Comparison
        • Key Re-Use
        • Privacy - Assessment 2
        • Linking Inputs
        • Linking the Owner
      • Calculations
        • Attacking the Chain
        • Things the Attacker Cannot Achieve
        • The Only Thing an Attacker Can Achieve
        • The Binomial Random Walk
        • The Gambler's Ruin
        • Exponential Odds
        • Waiting For Confirmation
        • Attack Via Proof of Work
        • Vanishing Probabilities
      • Conclusion
        • Conclusion Explained
    • Introduction to Bitcoin Script
      • Chapter 1: About Bitcoin Script
        • 01 - Introduction
        • 02 - FORTH: A Precursor to Bitcoin Script
        • 03 - From FORTH to Bitcoin Script
        • 04 - Bitcoin's Transaction Protocol
        • 05 - Transaction Breakdown
        • 06 - nLockTime
        • 07 - The Script Evaluator
      • Chapter 2: Basic Script Syntax
        • 01 - Introduction
        • 02 - Rules Around Data and Scripting Grammar
        • 03 - The Stacks
      • Chapter 3: The Opcodes
        • 01 - Introduction
        • 02 - Constant Value and PUSHDATA Opcodes
        • 03 - IF Loops
        • 04 - OP_NOP, OP_VERIFY and its Derivatives
        • 05 - OP_RETURN
        • 06 - Stack Operations
        • 07 - Data transformation
        • 08 - Stack Data Queries
        • 09 - Bitwise transformations and Arithmetic
        • 10 - Cryptographic Functions
        • 11 - Disabled and Removed Opcodes
      • Chapter 4: Simple Scripts
        • 01 - Introduction
        • 01 - Pay to Public Key (P2PK)
        • 02 - Pay to Hash Puzzle
        • 03 - Pay to Public Key Hash (P2PKH)
        • 04 - Pay to MultiSig (P2MS)
        • 05 - Pay to MultiSignature Hash (P2MSH)
        • 06 - R-Puzzles
      • Chapter 5: OP_PUSH_TX
        • 01 - Turing Machines
        • 02 - Elliptic Curve Signatures in Bitcoin
        • 03 - OP_PUSH_TX
        • 04 - Signing and Checking the Pre-Image
        • 05 - nVersion
        • 06 - hashPrevouts
        • 07 - hashSequence
        • 08 - Outpoint
        • 09 - scriptLen and scriptPubKey
        • 10 - value
        • 11 - nSequence
        • 12 - hashOutputs
        • 13 - nLocktime
        • 14 - SIGHASH flags
      • Chapter 6: Conclusion
        • Conclusion
    • BSV Infrastructure
      • The Instructions
        • The Whitepaper
        • Steps to Run the Network
        • Step 1
        • Step 2
        • Step 3
        • Step 4
        • Step 5
        • Step 6
      • Rules and their Enforcement
        • Introduction
        • Consensus Rules
        • Block Consensus Rules
        • Transaction Consensus Rules
        • Script Language Rules
        • Standard Local Policies
      • Transactions, Payment Channels and Mempools
      • Block Assembly
      • The Small World Network
        • The Decentralisation of Power
        • Incentive Driven Behaviour
        • Lightspeed Propagation of Transactions
        • Ensuring Rapid Receipt and Propagation of New Blocks
        • Hardware Developments to Meet User Demand
        • Novel Service Delivery Methods
        • MinerID
      • Conclusion
  • Research and Development
    • BRCs
    • Technical Standards
  • Support & Contribution
    • Join Our Discord
    • GitHub
Powered by GitBook
On this page
  • Blockchain
  • Control
  • Frozentxo
  • Generating
  • Minerid
  • Mining
  • Network
  • Rawtransactions
  • Safemode
  • Util

Was this helpful?

Edit on GitHub
Export as PDF
  1. Network Topology
  2. Nodes
  3. SV Node
  4. RPC Interface

RPC Methods

This page provides a comprehensive list of all JSON-RPC methods available in the BSV SV Node.

Blockchain

  • checkjournal: Checks the journal for inconsistencies.

  • getbestblockhash: Returns the hash of the best (tip) block in the longest blockchain.

  • getblock "blockhash" ( verbosity ): Retrieves a block with the given block hash.

  • getblockbyheight height ( verbosity ): Retrieves a block at the given height.

  • getblockchaininfo: Provides information about the current state of the blockchain.

  • getblockcount: Returns the number of blocks in the longest blockchain.

  • getblockhash height: Returns the hash of the block at a specified height.

  • getblockheader "hash" ( verbosity ): Retrieves the block header with the given hash.

  • getblockstats blockhash ( stats ): Provides statistical information about a block.

  • getblockstatsbyheight height ( stats ): Provides statistical information about a block at a given height.

  • getchaintips: Returns information about all known blockchain tips.

  • getchaintxstats ( nblocks blockhash ): Provides statistics about the total number of transactions in the chain.

  • getdifficulty: Returns the proof-of-work difficulty as a multiple of the minimum difficulty.

  • getmempoolancestors txid (verbose): Lists ancestor transactions in the mempool.

  • getmempooldescendants txid (verbose): Lists descendant transactions in the mempool.

  • getmempoolentry txid: Retrieves a specific transaction from the mempool.

  • getmempoolinfo: Returns information about the memory pool.

  • getmerkleproof "txid" ( blockhash ): Provides a Merkle proof for a transaction.

  • getmerkleproof2 "blockhash" "txid" ( includeFullTx targetType format ): Provides an extended Merkle proof for a transaction.

  • getrawmempool ( verbose ): Returns all transaction ids in the mempool.

  • getrawnonfinalmempool: Returns all non-final transaction ids in the mempool.

  • gettxout "txid" n ( include_mempool ): Retrieves information about an unspent transaction output.

  • gettxoutproof ["txid",...] ( blockhash ): Provides a proof that a transaction is included in a block.

  • gettxouts txidVoutList returnFields ( include_mempool ): Retrieves information about multiple unspent transaction outputs.

  • gettxoutsetinfo: Returns statistics about the unspent transaction output set.

  • preciousblock "blockhash": Treats a block as if it were received before others with the same work.

  • pruneblockchain: Deletes blockchain data from disk.

  • rebuildjournal: Rebuilds the transaction journal.

  • verifychain ( checklevel nblocks ): Verifies the blockchain database.

  • verifymerkleproof "proof": Verifies a Merkle proof.

  • verifytxoutproof "proof": Verifies a transaction proof.

Control

  • activezmqnotifications: Lists active ZMQ notifications.

  • dumpparameters: Dumps internal parameters to the log.

  • getinfo: Provides basic information about the node.

  • getmemoryinfo: Returns information about memory usage.

  • getsettings: Retrieves node settings.

  • help ( "command" ): Lists all commands or provides help for a specific command.

  • stop: Shuts down the node.

  • uptime: Returns the total uptime of the node.

Frozentxo

  • addToConfiscationTxidWhitelist (txs): Adds transactions to the confiscation whitelist.

  • addToConsensusBlacklist (funds): Adds funds to the consensus blacklist.

  • addToPolicyBlacklist (funds): Adds funds to the policy blacklist.

  • clearBlacklists (removeAllEntries): Clears all blacklist entries.

  • clearConfiscationWhitelist: Clears the confiscation whitelist.

  • queryBlacklist: Queries the blacklist.

  • queryConfiscationTxidWhitelist (verbose): Queries the confiscation whitelist.

  • removeFromPolicyBlacklist (funds): Removes funds from the policy blacklist.

Generating

  • generate nblocks ( maxtries ): Generates a specified number of blocks immediately.

  • generatetoaddress nblocks address (maxtries): Generates blocks to a specified address.

Minerid

  • createdatareftx "[scriptPubKey,...]": Creates a data reference transaction.

  • createminerinfotx "scriptPubKey": Creates a miner information transaction.

  • datarefindexdump: Dumps the data reference index.

  • datareftxndelete "txid": Deletes a data reference transaction.

  • dumpminerids: Dumps the miner IDs.

  • getdatareftxid: Retrieves the data reference transaction ID.

  • getmineridinfo "minerId": Retrieves information about a miner ID.

  • getminerinfotxfundingaddress: Retrieves the funding address for miner information transactions.

  • getminerinfotxid: Retrieves the miner information transaction ID.

  • makeminerinfotxsigningkey: Creates a signing key for miner information transactions.

  • rebuildminerids ( fullrebuild ): Rebuilds the miner IDs.

  • replaceminerinfotx "scriptPubKey": Replaces a miner information transaction.

  • revokeminerid "input": Revokes a miner ID.

  • setminerinfotxfundingoutpoint "txid" "n": Sets the funding outpoint for a miner information transaction.

Mining

  • getblocktemplate ( TemplateRequest ): Retrieves a block template for mining.

  • getminingcandidate coinbase (optional, default false): Retrieves a mining candidate.

  • getmininginfo: Provides information about the current state of mining.

  • getnetworkhashps ( nblocks height ): Returns the estimated network hashes per second.

  • prioritisetransaction <txid> <priority delta> <fee delta>: Prioritizes a transaction.

  • submitblock "hexdata" ( "jsonparametersobject" ): Submits a block to the network.

  • submitminingsolution "<json string>": Submits a mining solution.

  • verifyblockcandidate "hexdata" ( "jsonparametersobject" ): Verifies a block candidate.

Network

  • addnode "node" "add|remove|onetry": Adds or removes a node from the list.

  • clearbanned: Clears all banned nodes.

  • disconnectnode "[address]" [nodeid]: Disconnects from a specified node.

  • getaddednodeinfo ( "node" ): Returns information about added nodes.

  • getauthconninfo: Retrieves authorized connection information.

  • getconnectioncount: Returns the number of connections to other nodes.

  • getexcessiveblock: Returns the current excessive block size.

  • getnettotals: Returns network traffic information.

  • getnetworkinfo: Provides information about the node's network state.

  • getpeerinfo: Returns information about connected peers.

  • listbanned: Lists all banned nodes.

  • ping: Requests that a ping is sent to all connected nodes.

  • setban "subnet" "add|remove" (bantime) (absolute): Adds or removes a node/subnet from the banned list.

  • setblockmaxsize blockSize: Sets the maximum block size.

  • setexcessiveblock blockSize: Sets the excessive block size.

  • setnetworkactive true|false: Enables or disables all network activity.

  • settxnpropagationfreq freq: Sets the transaction propagation frequency.

Rawtransactions

  • createrawtransaction [{"txid":"id","vout"},...] {"address","data":"hex",...} ( locktime ): Creates a raw transaction.

  • decoderawtransaction "hexstring": Decodes a raw transaction.

  • decodescript "hexstring": Decodes a script.

  • fundrawtransaction "hexstring" ( options ): Adds inputs to a raw transaction.

  • getrawtransaction "txid" ( verbose ): Retrieves raw transaction data.

  • sendrawtransaction "hexstring" ( allowhighfees dontcheckfee ): Sends a raw transaction.

  • sendrawtransactions [{"hex": "hexstring", "allowhighfees": true|false, "dontcheckfee": true|false, "listunconfirmedancestors": true|false, "config: " <json string> }, ...]: Sends multiple raw transactions.

  • signrawtransaction "hexstring" ( [{"txid":"id","vout","scriptPubKey":"hex","redeemScript":"hex"},...] ["privatekey1",...] sighashtype ): Signs a raw transaction.

Safemode

  • getsafemodeinfo: Retrieves safemode information.

  • ignoresafemodeforblock "blockhash": Ignores safemode for a specific block.

  • reconsidersafemodeforblock "blockhash": Reconsiders safemode for a specific block.

Util

  • clearinvalidtransactions: Clears invalid transactions from the memory pool.

  • createmultisig nrequired ["key",...]: Creates a multi-signature address.

  • signmessagewithprivkey "privkey" "message": Signs a message with a private key.

  • validateaddress "address": Validates a Bitcoin address.

  • verifymessage "address" "signature" "message": Verifies a signed message.

  • verifyscript <scripts> [<stopOnFirstInvalid> [<totalTimeout>]]: Verifies scripts.

PreviousRPC InterfaceNextFrequently Asked Questions

Last updated 12 months ago

Was this helpful?