Backport v21 !15627: Rollup node: RPC to retrieve values under key in durable storage
Backport !15627 (merged) to v21: Rollup node: RPC to retrieve values under key in durable storage
Commits
- ba985c01 Rollup node/RPC/Alpha: retrieve values under key in durable storage
- 744159f8 018_Proxford/Rollup node/RPC/Alpha: retrieve values under key in durable storage
- a759b6bc 019_PtParisB/018_Proxford/Rollup node/RPC/Alpha: retrieve values under key in durable storage
- 80f6c3c1 020_PsParisC/019_PtParisB/018_Proxford/Rollup node/RPC/Alpha: retrieve values under key in durable storage
- 068875aa 021_PsQuebec/020_PsParisC/019_PtParisB/018_Proxford/Rollup node/RPC/Alpha: retrieve values under key in durable storage
- 61f0ff00 Rollup node/RPC: remove durable storage values RPC from secure ACL
- 0d28efd5 Doc: changelog
- 984ea1a1 Test: durable storage values RPC
Original MR description
What
This MR adds an RPC to the rollup node to retrieve keys and values in the durable storage directly under a given key.
Why
This will allows the EVM node to retrieve the evm events with a single RPC reducing the load on the rollup node.
How
Using durable storage subkeys.
Manually testing the MR
Example:
curl -s 'http://localhost:8998/global/block/9062027/durable/wasm_2_0_0/values?key=/evm/events' | jq
[
{
"key": "0",
"value": "f84503f842a01c38c00000000000000000000000000000000000000000000000000000000000a094c2158e5d0f715777c5f2314d0fd13f7eadc4f1681d70ef964651c537d8e5a5"
},
{
"key": "7",
"value": "f84503f842a02338c00000000000000000000000000000000000000000000000000000000000a0d41b0f3ca4ae5e81e4cfaed62fb8a3d0356ae0b54b2a388c12cd5dd415a467b9"
},
{
"key": "11",
"value": "f84503f842a02738c00000000000000000000000000000000000000000000000000000000000a0f464de5c1237cb988bbe31fa3ec59984ffa540f5c39b85ebe8bb6f12aa9cb9cc"
},
{
"key": "14",
"value": "f84503f842a02a38c00000000000000000000000000000000000000000000000000000000000a06fc5cdcd9f94e9f7ff0c96ffa5b76368c15f293194469ba8881e6fc5e0c8657b"
},
{
"key": "2",
"value": "f84503f842a01e38c00000000000000000000000000000000000000000000000000000000000a027a4af6c03946eb7023b5bec8776d063d9381da22319a155da0624c8d6da52f4"
},
{
"key": "13",
"value": "f84503f842a02938c00000000000000000000000000000000000000000000000000000000000a0f2feb4d121f9ace8e5415cfa91684a310b61519133357fe11d457f8b87e5e47a"
},
{
"key": "15",
"value": "f84503f842a02b38c00000000000000000000000000000000000000000000000000000000000a03ebd3ef8242ce884ac6701dd9dae758becccd734801b9955933042121529edd3"
},
{
"key": "3",
"value": "f84503f842a01f38c00000000000000000000000000000000000000000000000000000000000a0347d7edaa8d1541d0bcd9baf7a9dacbc547aef1c401b0597fa3997b414c1ff11"
},
{
"key": "5",
"value": "f84503f842a02138c00000000000000000000000000000000000000000000000000000000000a0cb63d7958b3bf9e8998dd2c27c34417e1c25dd944d566e702c97e01c4edf2f04"
},
{
"key": "6",
"value": "f84503f842a02238c00000000000000000000000000000000000000000000000000000000000a0d8df4b2123bc9392f5c569b5160e52d6e614eaf937916d7dbaf67544dfb2d05a"
},
{
"key": "1",
"value": "f84503f842a01d38c00000000000000000000000000000000000000000000000000000000000a0629af22745128e2cf3f3960e7d9f99a9a1ad4d05bac33eb840221d0f5143c9a0"
},
{
"key": "9",
"value": "f84503f842a02538c00000000000000000000000000000000000000000000000000000000000a078227b86db0ae83205f9e7fb58e532088097680500eca7188f85b6d76d8f5dc9"
},
{
"key": "length",
"value": "1200000000000000"
},
{
"key": "10",
"value": "f84503f842a02638c00000000000000000000000000000000000000000000000000000000000a06e6e3e598e3d8bea2fa619158712cba229af89b2fcd0c67944377225a6bf1ad1"
},
{
"key": "12",
"value": "f84503f842a02838c00000000000000000000000000000000000000000000000000000000000a0253b0cfee8874813712f0141665caf08d1fbbe546599b16fda54dddc76aba5b6"
},
{
"key": "17",
"value": "f84503f842a02d38c00000000000000000000000000000000000000000000000000000000000a0e2bbf8663a6209656ce6672121406344cfcd31397925990a61c4d0170f3b7c86"
},
{
"key": "4",
"value": "f84503f842a02038c00000000000000000000000000000000000000000000000000000000000a0d32fe1b912334bdf14c053c7f963caca975e7e1596dcd02a53beadce8989c8aa"
},
{
"key": "16",
"value": "f84503f842a02c38c00000000000000000000000000000000000000000000000000000000000a086d6b2a73e56160253ac64ced699b4cd50c9b689f683e6659d11d598a9f6cda2"
},
{
"key": "8",
"value": "f84503f842a02438c00000000000000000000000000000000000000000000000000000000000a071f5a88c4b13b8b1f701b870475c4e1a0aeb2f74ebb27e14734a4e825b43ae32"
}
]
Edited by Alain Mebsout