getblocktemplate (4.2.2 RPC) blockchain getbestblockhash getblock getblockchaininfo getblockcount getblockfilter getblockhash getblockheader getblockstats getchainlocks getchaintips getchaintxstats getdifficulty getmempoolancestors getmempooldescendants getmempoolentry getmempoolinfo getrawmempool gettxout gettxoutproof gettxoutsetinfo preciousblock pruneblockchain savemempool scantxoutset verifychain verifytxoutproof control getmemoryinfo getrpcinfo help logging stop uptime evo bls_fromsecret bls_generate protx_diff protx_info protx_list quorum_dkgsimerror quorum_dkgstatus quorum_getrecsig quorum_hasrecsig quorum_info quorum_isconflicting quorum_list quorum_memberof quorum_selectquorum quorum_sign quorum_verify evowallet protx_info_wallet protx_list_wallet protx_register protx_register_fund protx_register_prepare protx_register_submit protx_revoke protx_update_registrar protx_update_service generating generateblock generatetoaddress generatetodescriptor governance getgovernanceinfo getsuperblockbudget gobject_check gobject_count gobject_deserialize gobject_diff gobject_get gobject_getcurrentvotes gobject_list gobject_submit gobject_vote_conf voteraw governancewallet gobject_list_prepared gobject_prepare gobject_vote_alias gobject_vote_many masternode masternode_connect masternode_count masternode_current masternode_list masternode_outputs masternode_payments masternode_status masternode_winner masternode_winners mining createauxblock getblocktemplate getmininginfo getnetworkhashps prioritisetransaction submitauxblock submitblock submitheader network addnode clearbanned disconnectnode getaddednodeinfo getconnectioncount getnettotals getnetworkinfo getnodeaddresses getpeerinfo listbanned ping setban setnetworkactive rawtransactions analyzepsbt combinepsbt combinerawtransaction converttopsbt createpsbt createrawtransaction decodepsbt decoderawtransaction decodescript finalizepsbt fundrawtransaction getrawtransaction joinpsbts sendrawtransaction signrawtransactionwithkey testmempoolaccept utxoupdatepsbt syscoin assetallocationverifyzdag assetinfo assettransactionnotarize convertaddress getnotarysighash listassets mnauth mnsync spork syscoincheckmint syscoinclearethheaders syscoindecoderawtransaction syscoingetspvproof syscoingettxroots syscoinsetethheaders syscoinsetethstatus syscoinstartgeth syscoinstopgeth syscoinwallet addressbalance assetallocationbalance assetallocationburn assetallocationmint assetallocationsend assetallocationsendmany assetnew assetnewtest assetsend assetsendmany assettransfer assetupdate convertaddresswallet getauxblock listunspentasset sendfrom signhash signmessagebech32 syscoinburntoassetallocation util createmultisig deriveaddresses estimatesmartfee getdescriptorinfo getindexinfo signmessagewithprivkey validateaddress verifymessage wallet abandontransaction abortrescan addmultisigaddress backupwallet bumpfee createwallet dumpprivkey dumpwallet encryptwallet getaddressesbylabel getaddressinfo getbalance getbalances getnewaddress getrawchangeaddress getreceivedbyaddress getreceivedbylabel gettransaction getunconfirmedbalance getwalletinfo importaddress importdescriptors importmulti importprivkey importprunedfunds importpubkey importwallet keypoolrefill listaddressgroupings listdescriptors listlabels listlockunspent listreceivedbyaddress listreceivedbylabel listsinceblock listtransactions listunspent listwalletdir listwallets loadwallet lockunspent psbtbumpfee removeprunedfunds rescanblockchain send sendmany sendtoaddress sethdseed setlabel settxfee setwalletflag signmessage signrawtransactionwithwallet unloadwallet upgradewallet walletcreatefundedpsbt walletlock walletpassphrase walletpassphrasechange walletprocesspsbt zmq getzmqnotifications getblocktemplate ( "template_request" ) If the request parameters include a 'mode' key, that is used to explicitly select between the default 'template' request or a 'proposal'. It returns data needed to construct a block to work on. For full specification, see BIPs 22, 23, 9, and 145: https://github.com/bitcoin/bips/blob/master/bip-0022.mediawiki https://github.com/bitcoin/bips/blob/master/bip-0023.mediawiki https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki#getblocktemplate_changes https://github.com/bitcoin/bips/blob/master/bip-0145.mediawiki Arguments: 1. template_request (json object, optional, default={}) Format of the template { "mode": "str", (string, optional) This must be set to "template", "proposal" (see BIP 23), or omitted "capabilities": [ (json array, optional) A list of strings "str", (string) client side supported feature, 'longpoll', 'coinbasevalue', 'proposal', 'serverlist', 'workid' ... ], "rules": [ (json array, required) A list of strings "segwit", (string, required) (literal) indicates client side segwit support "str", (string) other client side supported softfork deployment ... ], } Result (If the proposal was accepted with mode=='proposal'): null (json null) Result (If the proposal was not accepted with mode=='proposal'): "str" (string) According to BIP22 Result (Otherwise): { (json object) "version" : n, (numeric) The preferred block version "rules" : [ (json array) specific block rules that are to be enforced "str", (string) name of a rule the client must understand to some extent; see BIP 9 for format ... ], "vbavailable" : { (json object) set of pending, supported versionbit (BIP 9) softfork deployments "rulename" : n, (numeric) identifies the bit number as indicating acceptance and readiness for the named softfork rule ... }, "vbrequired" : n, (numeric) bit mask of versionbits the server requires set in submissions "previousblockhash" : "str", (string) The hash of current highest block "transactions" : [ (json array) contents of non-coinbase transactions that should be included in the next block { (json object) "data" : "hex", (string) transaction data encoded in hexadecimal (byte-for-byte) "txid" : "hex", (string) transaction id encoded in little-endian hexadecimal "hash" : "hex", (string) hash encoded in little-endian hexadecimal (including witness data) "depends" : [ (json array) array of numbers n, (numeric) transactions before this one (by 1-based index in 'transactions' list) that must be present in the final block if this one is ... ], "fee" : n, (numeric) difference in value between transaction inputs and outputs (in satoshis); for coinbase transactions, this is a negative Number of the total collected block fees (ie, not including the block subsidy); if key is not present, fee is unknown and clients MUST NOT assume there isn't one "sigops" : n, (numeric) total SigOps cost, as counted for purposes of block limits; if key is not present, sigop cost is unknown and clients MUST NOT assume it is zero "weight" : n (numeric) total transaction weight, as counted for purposes of block limits }, ... ], "coinbaseaux" : { (json object) data that should be included in the coinbase's scriptSig content "key" : "hex", (string) values must be in the coinbase (keys may be ignored) ... }, "coinbasevalue" : n, (numeric) maximum allowable input to coinbase transaction, including the generation award and transaction fees (in satoshis) "longpollid" : "str", (string) an id to include with a request to longpoll on an update to this template "target" : "str", (string) The hash target "mintime" : xxx, (numeric) The minimum timestamp appropriate for the next block time, expressed in UNIX epoch time "mutable" : [ (json array) list of ways the block template may be changed "str", (string) A way the block template may be changed, e.g. 'time', 'transactions', 'prevblock' ... ], "noncerange" : "hex", (string) A range of valid nonces "sigoplimit" : n, (numeric) limit of sigops in blocks "sizelimit" : n, (numeric) limit of block size "weightlimit" : n, (numeric) limit of block weight "curtime" : xxx, (numeric) current timestamp in UNIX epoch time "bits" : "str", (string) compressed target of next block "height" : n, (numeric) The height of the next block "default_witness_commitment" : "str" (string, optional) a valid witness commitment for the unmodified block template } Examples: > syscoin-cli getblocktemplate '{"rules": ["segwit"]}' > curl --user myusername --data-binary '{"jsonrpc": "1.0", "id": "curltest", "method": "getblocktemplate", "params": [{"rules": ["segwit"]}]}' -H 'content-type: text/plain;' http://127.0.0.1:8370/