|
|
@ -395,14 +395,14 @@ UniValue getblock(const UniValue& params, bool fHelp) |
|
|
|
if (fHelp || params.size() < 1 || params.size() > 2) |
|
|
|
throw runtime_error( |
|
|
|
"getblock \"hash|height\" ( verbosity )\n" |
|
|
|
"\nIf verbosity is 0, returns a string that is serialized, hex-encoded data for block 'hash'.\n" |
|
|
|
"If verbosity is 1, returns an Object with information about block <hash>.\n" |
|
|
|
"If verbosity is 2, returns an Object with information about block <hash> and information about each transaction. \n" |
|
|
|
"\nIf verbosity is 0, returns a string that is serialized, hex-encoded data for the block.\n" |
|
|
|
"If verbosity is 1, returns an Object with information about the block.\n" |
|
|
|
"If verbosity is 2, returns an Object with information about the block and information about each transaction. \n" |
|
|
|
"\nArguments:\n" |
|
|
|
"1. \"hash|height\" (string, required) The block hash or height\n" |
|
|
|
"2. verbosity (numeric, optional, default=1) 0 for hex encoded data, 1 for a json object, and 2 for json object with transaction data\n" |
|
|
|
"\nResult (for verbosity = 0):\n" |
|
|
|
"\"data\" (string) A string that is serialized, hex-encoded data for block 'hash'.\n" |
|
|
|
"\"data\" (string) A string that is serialized, hex-encoded data for the block.\n" |
|
|
|
"\nResult (for verbosity = 1):\n" |
|
|
|
"{\n" |
|
|
|
" \"hash\" : \"hash\", (string) the block hash (same as provided hash)\n" |
|
|
@ -431,8 +431,8 @@ UniValue getblock(const UniValue& params, bool fHelp) |
|
|
|
" ,... Same output as verbosity = 1.\n" |
|
|
|
"}\n" |
|
|
|
"\nExamples:\n" |
|
|
|
+ HelpExampleCli("getblock", "\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"") |
|
|
|
+ HelpExampleRpc("getblock", "\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"") |
|
|
|
+ HelpExampleCli("getblock", "\"00000000febc373a1da2bd9f887b105ad79ddc26ac26c2b28652d64e5207c5b5\"") |
|
|
|
+ HelpExampleRpc("getblock", "\"00000000febc373a1da2bd9f887b105ad79ddc26ac26c2b28652d64e5207c5b5\"") |
|
|
|
+ HelpExampleCli("getblock", "12800") |
|
|
|
+ HelpExampleRpc("getblock", "12800") |
|
|
|
); |
|
|
@ -467,10 +467,15 @@ UniValue getblock(const UniValue& params, bool fHelp) |
|
|
|
|
|
|
|
int verbosity = 1; |
|
|
|
if (params.size() > 1) { |
|
|
|
if(params[1].isNum()) |
|
|
|
if(params[1].isNum()) { |
|
|
|
verbosity = params[1].get_int(); |
|
|
|
else |
|
|
|
} else { |
|
|
|
verbosity = params[1].get_bool() ? 1 : 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (verbosity < 0 || verbosity > 2) { |
|
|
|
throw JSONRPCError(RPC_INVALID_PARAMETER, "Verbosity must be in range from 0 to 2"); |
|
|
|
} |
|
|
|
|
|
|
|
if (mapBlockIndex.count(hash) == 0) |
|
|
@ -485,7 +490,7 @@ UniValue getblock(const UniValue& params, bool fHelp) |
|
|
|
if(!ReadBlockFromDisk(block, pblockindex)) |
|
|
|
throw JSONRPCError(RPC_INTERNAL_ERROR, "Can't read block from disk"); |
|
|
|
|
|
|
|
if (verbosity <= 0) |
|
|
|
if (verbosity == 0) |
|
|
|
{ |
|
|
|
CDataStream ssBlock(SER_NETWORK, PROTOCOL_VERSION); |
|
|
|
ssBlock << block; |
|
|
|