getblocktemplate (4.1.2 RPC) blockchain getbestblockhash getblock getblockchaininfo getblockcount getblockfilter getblockhash getblockheader getblockstats getchaintips getchaintxstats getdifficulty getmempoolancestors getmempooldescendants getmempoolentry getmempoolinfo getrawmempool gettxout gettxoutproof gettxoutsetinfo preciousblock pruneblockchain savemempool scantxoutset verifychain verifytxoutproof control getmemoryinfo getrpcinfo help logging stop uptime generating generate generatetoaddress generatetodescriptor governance getgovernanceinfo getsuperblockbudget masternodelist mnsync sentinelping spork voteraw governancewallet gobject masternode masternodebroadcast mining createauxblock getauxblock 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 addressbalance assetallocationbalance assetallocationbalances assetallocationinfo assetallocationverifyzdag assetinfo convertaddress getblockhashbytxid listassetallocationmempoolbalances listassetallocations listassetindex listassetindexallocations listassetindexassets listassets syscoincheckmint syscoinclearethheaders syscoindecoderawtransaction syscoingetspvproof syscoingettxroot syscoinsetethheaders syscoinsetethstatus syscoinstartgeth syscoinstopgeth tpstestadd tpstestinfo tpstestsetenabled syscoinwallet assetallocationburn assetallocationlock assetallocationmint assetallocationsend assetallocationsendmany assetnew assetsend assetsendmany assettransfer assetupdate convertaddresswallet sendfrom syscoinburntoassetallocation util createmultisig deriveaddresses estimatesmartfee getdescriptorinfo 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 importmulti importprivkey importprunedfunds importpubkey importwallet keypoolrefill listaddressgroupings listlabels listlockunspent listreceivedbyaddress listreceivedbylabel listsinceblock listtransactions listunspent listwalletdir listwallets loadwallet lockunspent removeprunedfunds rescanblockchain sendmany sendtoaddress sethdseed setlabel settxfee setwalletflag signmessage signrawtransactionwithwallet unloadwallet 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/syscoin/bips/blob/master/bip-0022.mediawiki https://github.com/syscoin/bips/blob/master/bip-0023.mediawiki https://github.com/syscoin/bips/blob/master/bip-0009.mediawiki#getblocktemplate_changes https://github.com/syscoin/bips/blob/master/bip-0145.mediawiki Arguments: 1. template_request (json object, optional, default={}) A json object in the following spec { "mode": "str", (string, optional) This must be set to "template", "proposal" (see BIP 23), or omitted "capabilities": [ (json array, optional) A list of strings "support", (string) client side supported feature, 'longpoll', 'coinbasetxn', 'coinbasevalue', 'proposal', 'serverlist', 'workid' ... ], "rules": [ (json array, required) A list of strings "support", (string) client side supported softfork deployment ... ], } Result: { "version" : n, (numeric) The preferred block version "rules" : [ "rulename", ... ], (array of strings) specific block rules that are to be enforced "vbavailable" : { (json object) set of pending, supported versionbit (BIP 9) softfork deployments "rulename" : bitnumber (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" : "xxxx", (string) The hash of current highest block "transactions" : [ (array) contents of non-coinbase transactions that should be included in the next block { "data" : "xxxx", (string) transaction data encoded in hexadecimal (byte-for-byte) "txid" : "xxxx", (string) transaction id encoded in little-endian hexadecimal "hash" : "xxxx", (string) hash encoded in little-endian hexadecimal (including witness data) "depends" : [ (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 "coinbasevalue" : n, (numeric) maximum allowable input to coinbase transaction, including the generation award and transaction fees (in satoshis) "coinbasetxn" : { ... }, (json object) information for coinbase transaction "target" : "xxxx", (string) The hash target "mintime" : xxx, (numeric) The minimum timestamp appropriate for the next block time, expressed in UNIX epoch time "mutable" : [ (array of string) list of ways the block template may be changed "value" (string) A way the block template may be changed, e.g. 'time', 'transactions', 'prevblock' ,... ], "noncerange" : "00000000ffffffff",(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" : ttt, (numeric) current timestamp in UNIX epoch time "bits" : "xxxxxxxx", (string) compressed target of next block "height" : n, (numeric) The height of the next block "masternode" : { (json object) required masternode payee that must be included in the next block "payee" : "xxxx", (string) payee address "script" : "xxxx", (string) payee scriptPubKey "amount": n (numeric) required amount to pay }, "masternode_payments_enforced" : true|false, (boolean) true, if masternode payments are enforced "superblock" : [ (array) required superblock payees that must be included in the next block { "payee" : "xxxx", (string) payee address "script" : "xxxx", (string) payee scriptPubKey "amount": n (numeric) required amount to pay } ,... ], "superblocks_started" : true|false, (boolean) true, if superblock payments started "superblocks_enabled" : true|false (boolean) true, if superblock payments are enabled } 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/