Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
Jul 27, 2022

Conversation

moodyjon
Copy link
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

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
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
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
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
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