Skip to content

[rpc blockchain] Add support for mediantime, chainwork to RPC getblock.#73

Merged
roylee17 merged 1 commit into
lbryio:masterfrom
moodyjon:rpc_blockchain_getblock
Jul 27, 2022
Merged

[rpc blockchain] Add support for mediantime, chainwork to RPC getblock.#73
roylee17 merged 1 commit into
lbryio:masterfrom
moodyjon:rpc_blockchain_getblock

Conversation

@moodyjon

Copy link
Copy Markdown
Collaborator

Fixes #52

There is a "fee" attribute of nested transactions that I could not implement because I can't find the TxUndo information. Don't think that feature exists in lbcd or btcd. In C++ bitcoin, it's stored on disk I think.

"fee" : n (numeric) The transaction fee in BTC, omitted if block undo data is not available

@coveralls

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 2713965106

  • 0 of 42 (0.0%) changed or added relevant lines in 2 files are covered.
  • 3 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.009%) to 51.879%

Changes Missing Coverage Covered Lines Changed/Added Lines %
rpcserver.go 0 17 0.0%
blockchain/chain.go 0 25 0.0%
Files with Coverage Reduction New Missed Lines %
rpcserver.go 1 0.3%
peer/peer.go 2 76.24%
Totals Coverage Status
Change from base Build 2694325988: -0.009%
Covered Lines: 22543
Relevant Lines: 43453

💛 - Coveralls

@moodyjon

Copy link
Copy Markdown
Collaborator Author

lbrycrd:

Mac-mini lbcd % ./lbcctl --notls -s 18.221.146.233 -u rpcuser -P rpcpass getblock 9ee97ed1dbaf34fbf40d755ccb9a23b3074e61b1572a8135397a9f6514d741ca 1                              
{
  "hash": "9ee97ed1dbaf34fbf40d755ccb9a23b3074e61b1572a8135397a9f6514d741ca",
  "confirmations": 23954,
  "strippedsize": 27428,
  "size": 27464,
  "weight": 109748,
  "height": 1172331,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "dd27511c9ea92bea1cc4ccfea8f5deb2ff95ff33326cd9c8d4f3b208c04bc431",
  "nameclaimroot": "5afc590538ae37423c9fd1631ef426d3b4ab4fa3b3509d1c9f4bcac3fbf9a169",
  "tx": [
    "ff99a71c7b3c63e33a855ca20ee8b658fc1e52c9eb06afe81fdc7f6bfb58cf49",
    "417fb206821b962fcf1ab7f9a83e20a65edc53381607aab02cf37d4a391f3bda",
    "6aaceb5a080def8b7cba6cde4bec3e0a11520d511f92e3a9e6743b652e54759c",
    "fb1505b485866724749ccfeaaa22a655f0b17063326e6751792408bf79bfeddd",
    "aadcb689bf9d9ca6c300fed55dcb001949a5982fe2bf9ee08ca80e220836396a",
    "1c8b3f697d699cf676c36541da3ef35460b9768894a9fd8a2789be4011e7120d",
    "05332f06e7bc9f1e1890faa32a08509b61d4a542d4e79ad5850d118780d2d836",
    "f7dc5405cfca9215a921c5938360ab08301f209ad836efef6c8de5f02c053762",
    "7d6e7b0ebc07c90518d6318743194404344d9c7f660eb1a8aae8f4d8109fb498",
    "4133f4c78e9a185044f56cb39ba5728c0f1c53044ab49cdf3a3c53869661303c",
    "0b8625267fae2450ed9e1e345adc7a8aee71eb6fe7a70ab46e05eb2591d3722e",
    "c07446c23d9d9493244fc3b4052abc9421cbd246c71a313f3704c49f95b2348e",
    "92a9f99f7a6aea21a02e7ac814552a2f17b59ff43faa5467e642adbc71b2ddd0",
    "945af6df033d2121afc002a1a5073c5b47074769950bf99aeb3c73d3fd3c803b",
    "0d7aeb6f609c72c7253537cd305bd1d5fbf95c84e51babbdc2bc1c74a341c1eb",
    "4b088a77ba2b37cfcbb17b9f816aab0036a60aa2a4456763fe3fd88adfc7ac93",
    "f43a3665b0cb9739fdd5b1a4eef1bd5caa3d6038e08bab98d28e6ab88d128bb7",
    "0e7b239df566e01b1ef3448bc002960a54854c736f377b338209e8cae0709680",
    "e3128c1efe8faae4fbdffdd9e6720b7d2523302595a1430197327d9797ee03be",
    "d1bb0b7561fe1ce9a7bc039b848181e420558cd459193fd19df1735c3f611d2f",
    "c1a1c897acd375501e31ca3d5f74265fc7231306c52da42f59aab5b1f6329733",
    "c549e41da2ebdc42cdc3eb804a8a5359de40d9f629d14e7d51631869bd7dea34",
    "6638f6f5d87a4fa12fd47914a60f3ed66b9f2edca823c49a968367731a2c3d44",
    "8bbc28571f687166f9b54881522a2b47b15853b4bb86c97819333f42f324914a",
    "b82aeafc31c6e79ed989518f039fd9ae0dc6de2766bb3c08ba0d5cc53d663754",
    "95c12ab5181d212701614b7891bdcda2f7f39d42c3be23c46c305d0029ee365d",
    "eb8f765224239505451e937ffc2e62afdc46fdf593525367d9f403d260628367",
    "a692d4126b7e9da805d8a331b78966d9560ceca3699da8b99abb044b64a0946f",
    "f9df151859aa86f5e4f135fc994276ee8510895031c45a5408dba00bf8e55876",
    "1139bf7193669c4c678f02df571f5aaf65a5a83f1dc0508769f7ca837006afa4",
    "b33760a0d73e7257ee13e0316952fc5d372913147cc0c03ef5121e1610eba2a6",
    "b9fa0b1814b7bf248ba0786d3b53a59ec9bdae68c0576b9f6a252a2220963cad",
    "7e9e141a2a1cb0395411c6d77d9d7990893967a7f52951816be986f0e865aace",
    "1580fa02e7cf5b07656d64091ab5a9d57d8a05c6bbfcc28194074f9c0c771df2",
    "1ae6f3f335b775adf9267706e85b22c571668aae00126aefab8393c3f4a1e5f9"
  ],
  "time": 1654577439,
  "mediantime": 1654576797,
  "nonce": 1398139046,
  "bits": "1a00a353",
  "difficulty": 1723386059321.713,
  "chainwork": "000000000000000000000000000000000000000000000964a694729444bc7f7b",
  "nTx": 35,
  "previousblockhash": "8e1053387e1c656b6ba16aecb6385f81c3cf9e2a7e5579acc980d782d04705f9",
  "nextblockhash": "ac280c2a68c57707cc1fedbd025782c76cc2679550aa18cc5bd6e3f64c2a2769"
}

lbcd:

Mac-mini lbcd % ./lbcctl --rpcuser=.... --rpcpass=.... getblock 9ee97ed1dbaf34fbf40d755ccb9a23b3074e61b1572a8135397a9f6514d741ca 1
{
  "hash": "9ee97ed1dbaf34fbf40d755ccb9a23b3074e61b1572a8135397a9f6514d741ca",
  "confirmations": 23954,
  "strippedsize": 27428,
  "size": 27464,
  "weight": 109748,
  "height": 1172331,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "dd27511c9ea92bea1cc4ccfea8f5deb2ff95ff33326cd9c8d4f3b208c04bc431",
  "time": 1654577439,
  "mediantime": 1654576797,
  "nonce": 1398139046,
  "bits": "1a00a353",
  "difficulty": 1723386059321.7134,
  "chainwork": "964a694729444bc7f7b",
  "previousblockhash": "8e1053387e1c656b6ba16aecb6385f81c3cf9e2a7e5579acc980d782d04705f9",
  "nextblockhash": "ac280c2a68c57707cc1fedbd025782c76cc2679550aa18cc5bd6e3f64c2a2769",
  "nameclaimroot": "5afc590538ae37423c9fd1631ef426d3b4ab4fa3b3509d1c9f4bcac3fbf9a169",
  "nTx": 35,
  "tx": [
    "ff99a71c7b3c63e33a855ca20ee8b658fc1e52c9eb06afe81fdc7f6bfb58cf49",
    "417fb206821b962fcf1ab7f9a83e20a65edc53381607aab02cf37d4a391f3bda",
    "6aaceb5a080def8b7cba6cde4bec3e0a11520d511f92e3a9e6743b652e54759c",
    "fb1505b485866724749ccfeaaa22a655f0b17063326e6751792408bf79bfeddd",
    "aadcb689bf9d9ca6c300fed55dcb001949a5982fe2bf9ee08ca80e220836396a",
    "1c8b3f697d699cf676c36541da3ef35460b9768894a9fd8a2789be4011e7120d",
    "05332f06e7bc9f1e1890faa32a08509b61d4a542d4e79ad5850d118780d2d836",
    "f7dc5405cfca9215a921c5938360ab08301f209ad836efef6c8de5f02c053762",
    "7d6e7b0ebc07c90518d6318743194404344d9c7f660eb1a8aae8f4d8109fb498",
    "4133f4c78e9a185044f56cb39ba5728c0f1c53044ab49cdf3a3c53869661303c",
    "0b8625267fae2450ed9e1e345adc7a8aee71eb6fe7a70ab46e05eb2591d3722e",
    "c07446c23d9d9493244fc3b4052abc9421cbd246c71a313f3704c49f95b2348e",
    "92a9f99f7a6aea21a02e7ac814552a2f17b59ff43faa5467e642adbc71b2ddd0",
    "945af6df033d2121afc002a1a5073c5b47074769950bf99aeb3c73d3fd3c803b",
    "0d7aeb6f609c72c7253537cd305bd1d5fbf95c84e51babbdc2bc1c74a341c1eb",
    "4b088a77ba2b37cfcbb17b9f816aab0036a60aa2a4456763fe3fd88adfc7ac93",
    "f43a3665b0cb9739fdd5b1a4eef1bd5caa3d6038e08bab98d28e6ab88d128bb7",
    "0e7b239df566e01b1ef3448bc002960a54854c736f377b338209e8cae0709680",
    "e3128c1efe8faae4fbdffdd9e6720b7d2523302595a1430197327d9797ee03be",
    "d1bb0b7561fe1ce9a7bc039b848181e420558cd459193fd19df1735c3f611d2f",
    "c1a1c897acd375501e31ca3d5f74265fc7231306c52da42f59aab5b1f6329733",
    "c549e41da2ebdc42cdc3eb804a8a5359de40d9f629d14e7d51631869bd7dea34",
    "6638f6f5d87a4fa12fd47914a60f3ed66b9f2edca823c49a968367731a2c3d44",
    "8bbc28571f687166f9b54881522a2b47b15853b4bb86c97819333f42f324914a",
    "b82aeafc31c6e79ed989518f039fd9ae0dc6de2766bb3c08ba0d5cc53d663754",
    "95c12ab5181d212701614b7891bdcda2f7f39d42c3be23c46c305d0029ee365d",
    "eb8f765224239505451e937ffc2e62afdc46fdf593525367d9f403d260628367",
    "a692d4126b7e9da805d8a331b78966d9560ceca3699da8b99abb044b64a0946f",
    "f9df151859aa86f5e4f135fc994276ee8510895031c45a5408dba00bf8e55876",
    "1139bf7193669c4c678f02df571f5aaf65a5a83f1dc0508769f7ca837006afa4",
    "b33760a0d73e7257ee13e0316952fc5d372913147cc0c03ef5121e1610eba2a6",
    "b9fa0b1814b7bf248ba0786d3b53a59ec9bdae68c0576b9f6a252a2220963cad",
    "7e9e141a2a1cb0395411c6d77d9d7990893967a7f52951816be986f0e865aace",
    "1580fa02e7cf5b07656d64091ab5a9d57d8a05c6bbfcc28194074f9c0c771df2",
    "1ae6f3f335b775adf9267706e85b22c571668aae00126aefab8393c3f4a1e5f9"
  ]
}

@moodyjon

Copy link
Copy Markdown
Collaborator Author

Very new block without nextblockhash:

lbrycrd:

Mac-mini lbcd % ./lbcctl --notls -s 18.221.146.233 -u rpcuser -P rpcpass getblock a58b2c6dc0d94d1f46de6977835fb9ed61fede99440327f9984d3a8d97675792 1                              
{
  "hash": "a58b2c6dc0d94d1f46de6977835fb9ed61fede99440327f9984d3a8d97675792",
  "confirmations": 1,
  "strippedsize": 274,
  "size": 310,
  "weight": 1132,
  "height": 1196289,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "d5736675d6a4fc3896b5d9ef35b3a2bdeabf8c8b4107cc7b45d3c777fc00f899",
  "nameclaimroot": "630f8331b82754ecd8427ea737021cfb555f70fb6ac2f576391aceae2e383dc7",
  "tx": [
    "d5736675d6a4fc3896b5d9ef35b3a2bdeabf8c8b4107cc7b45d3c777fc00f899"
  ],
  "time": 1658430083,
  "mediantime": 1658429461,
  "nonce": 3017137963,
  "bits": "1a0154c0",
  "difficulty": 826032815094.2333,
  "chainwork": "0000000000000000000000000000000000000000000009dd8a264c1a3ddd61a9",
  "nTx": 1,
  "previousblockhash": "4b9f520caa5f2f12faf528adbaf4cf7641ac7ab7a501714b1ce184af44eadb37"
}

lbcd:

Mac-mini lbcd % ./lbcctl --rpcuser=.... --rpcpass=.... getblock a58b2c6dc0d94d1f46de6977835fb9ed61fede99440327f9984d3a8d97675792 1
{
  "hash": "a58b2c6dc0d94d1f46de6977835fb9ed61fede99440327f9984d3a8d97675792",
  "confirmations": 1,
  "strippedsize": 274,
  "size": 310,
  "weight": 1132,
  "height": 1196289,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "d5736675d6a4fc3896b5d9ef35b3a2bdeabf8c8b4107cc7b45d3c777fc00f899",
  "time": 1658430083,
  "mediantime": 1658429461,
  "nonce": 3017137963,
  "bits": "1a0154c0",
  "difficulty": 826032815094.2333,
  "chainwork": "9dd8a264c1a3ddd61a9",
  "previousblockhash": "4b9f520caa5f2f12faf528adbaf4cf7641ac7ab7a501714b1ce184af44eadb37",
  "nameclaimroot": "630f8331b82754ecd8427ea737021cfb555f70fb6ac2f576391aceae2e383dc7",
  "nTx": 1,
  "tx": [
    "d5736675d6a4fc3896b5d9ef35b3a2bdeabf8c8b4107cc7b45d3c777fc00f899"
  ]
}

@moodyjon

Copy link
Copy Markdown
Collaborator Author

Block 0

lbrycrd:

Mac-mini lbcd % ./lbcctl --notls -s 18.221.146.233 -u rpcuser -P rpcpass getblock 9c89283ba0f3227f6c03b70216b9f665f0118d5e0fa729cedf4fb34d6a34f463 1
{
  "hash": "9c89283ba0f3227f6c03b70216b9f665f0118d5e0fa729cedf4fb34d6a34f463",
  "confirmations": 1196287,
  "strippedsize": 229,
  "size": 229,
  "weight": 916,
  "height": 0,
  "version": 1,
  "versionHex": "00000001",
  "merkleroot": "b8211c82c3d15bcd78bba57005b86fed515149a53a425eb592c07af99fe559cc",
  "nameclaimroot": "0000000000000000000000000000000000000000000000000000000000000001",
  "tx": [
    "b8211c82c3d15bcd78bba57005b86fed515149a53a425eb592c07af99fe559cc"
  ],
  "time": 1446058291,
  "mediantime": 1446058291,
  "nonce": 1287,
  "bits": "1f00ffff",
  "difficulty": 1,
  "chainwork": "0000000000000000000000000000000000000000000000000000000000010001",
  "nTx": 1,
  "nextblockhash": "decb9e2cca03a419fd9cca0cb2b1d5ad11b088f22f8f38556d93ac4358b86c24"
}

lbcd:

Mac-mini lbcd % ./lbcctl --rpcuser=.... --rpcpass=.... getblock 9c89283ba0f3227f6c03b70216b9f665f0118d5e0fa729cedf4fb34d6a34f463 1
{
  "hash": "9c89283ba0f3227f6c03b70216b9f665f0118d5e0fa729cedf4fb34d6a34f463",
  "confirmations": 1196287,
  "strippedsize": 229,
  "size": 229,
  "weight": 916,
  "height": 0,
  "version": 1,
  "versionHex": "00000001",
  "merkleroot": "b8211c82c3d15bcd78bba57005b86fed515149a53a425eb592c07af99fe559cc",
  "time": 1446058291,
  "mediantime": 1446058291,
  "nonce": 1287,
  "bits": "1f00ffff",
  "difficulty": 1,
  "chainwork": "10001",
  "nextblockhash": "decb9e2cca03a419fd9cca0cb2b1d5ad11b088f22f8f38556d93ac4358b86c24",
  "nameclaimroot": "0000000000000000000000000000000000000000000000000000000000000001",
  "nTx": 1,
  "tx": [
    "b8211c82c3d15bcd78bba57005b86fed515149a53a425eb592c07af99fe559cc"
  ]
}

@roylee17

Copy link
Copy Markdown
Collaborator

LGTM.

@roylee17 roylee17 merged commit daa3137 into lbryio:master Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bring getblock up to date

3 participants