Skip to content
This repository was archived by the owner on Feb 19, 2026. It is now read-only.

Improve esploras scalability#9

Open
saidalaoui-sq wants to merge 3 commits into
new-indexfrom
saidalaoui/ln-748-improve-esploras-scalability
Open

Improve esploras scalability#9
saidalaoui-sq wants to merge 3 commits into
new-indexfrom
saidalaoui/ln-748-improve-esploras-scalability

Conversation

@saidalaoui-sq

Copy link
Copy Markdown
Collaborator

Overview

Implementation of the proof of concept for the solution proposal of setting up Esplora as two separate services: Readers and Writer services:

  • Adds readonly argument to allow current instance to access RocksDB tables in EFS in read-only mode.
  • Updates implementation to prevent write operations against RocksDB tables in case the current instance is in readonly mode.
  • Updates implementation to close and re-open connection to RocksDB tables as a work around for invalidating cache.

Testing

Deployed to Esplora Dev environment.

  • Verified tip is in sync with known Signet tip verified through mempool.space
curl --location 'https://development.e.r.cequals.xyz/blocks/tip/hash'
000000489bba27e69140ba5bff07321230a875babcf57b7c350442b4d5d2d7f7%
  • Using mempool.space, verify transactions's data
~ curl --location 'https://development.e.r.cequals.xyz/tx/12a32c2d834248576f9dd05f3738c9f09ee7993794daf1ef080b765b17d4ecc0'
{"txid":"12a32c2d834248576f9dd05f3738c9f09ee7993794daf1ef080b765b17d4ecc0","version":2,"locktime":214052,"vin":[{"txid":"7b505c9c4e67b66f453ab023135dae73295ce6a92ee6235fbb1d02da8d5cf4bf","vout":2,"prevout":{"scriptpubkey":"0014aaab3dcb9fa15f146512a07564e801ffcb5b8966","scriptpubkey_asm":"OP_0 OP_PUSHBYTES_20 aaab3dcb9fa15f146512a07564e801ffcb5b8966","scriptpubkey_type":"v0_p2wpkh","scriptpubkey_address":"tb1q424nmjul5903gegj5p6kf6qpll94hztx5y9gjg","value":385772},"scriptsig":"","scriptsig_asm":"","witness":["3044022072831444fbd3dd2682a0acd7e110e6f5ff1915a047adaf916b75abfa2c7be896022001fd20fecc576fe5dc1c2323e7f07f625cee674fab6be44d96c1dc8a6d31f00701","0371c269349709a43d4ce008e11a055e461ff00100f771e348a6c1c4b84e2cebf7"],"is_coinbase":false,"sequence":4294967293},{"txid":"11dbb837929d8a86d041c38a433b5d72bb4c72ed495f0ca5abb7b68256cb1c1f","vout":0,"prevout":{"scriptpubkey":"00141335a6c31f8f3bcbd2598273b8c5ce87abe9f7a1","scriptpubkey_asm":"OP_0 OP_PUSHBYTES_20 1335a6c31f8f3bcbd2598273b8c5ce87abe9f7a1","scriptpubkey_type":"v0_p2wpkh","scriptpubkey_address":"tb1qzv66dscl3uauh5jesfem33wws747naapcgt4c5","value":199999140},"scriptsig":"","scriptsig_asm":"","witness":["3044022039026234629872ed58c27adea4db96daa2d45829a00c37eb3b1294f9a59ee69602200da5cc0f85e366dfd4e779a62378d5b2645c0dc8f9e35f8f99ec36bce2c5adc901","020a07ecd4277bc65a98dde7506065e1bbcdd5e890189ecd3d80f867bc44e778e5"],"is_coinbase":false,"sequence":4294967293},{"txid":"41129dae7d8d0481ea82e699ed6ba87484570df0c1c5951f38150caa48af5773","vout":0,"prevout":{"scriptpubkey":"00141335a6c31f8f3bcbd2598273b8c5ce87abe9f7a1","scriptpubkey_asm":"OP_0 OP_PUSHBYTES_20 1335a6c31f8f3bcbd2598273b8c5ce87abe9f7a1","scriptpubkey_type":"v0_p2wpkh","scriptpubkey_address":"tb1qzv66dscl3uauh5jesfem33wws747naapcgt4c5","value":12499151},"scriptsig":"","scriptsig_asm":"","witness":["30440220188092d8c92bf3947870ac9db3698e0d564c5d7173452d286572020b5791b02b02206ff5cf6c200f1a2132c668bc53e135acb8c748ac04ab1cf8e97eb455065267d001","020a07ecd4277bc65a98dde7506065e1bbcdd5e890189ecd3d80f867bc44e778e5"],"is_coinbase":false,"sequence":4294967293},{"txid":"ca16949665999530440cb31da86091c98ad84a42f78b56195bb4df75b2f1393e","vout":0,"prevout":{"scriptpubkey":"00141335a6c31f8f3bcbd2598273b8c5ce87abe9f7a1","scriptpubkey_asm":"OP_0 OP_PUSHBYTES_20 1335a6c31f8f3bcbd2598273b8c5ce87abe9f7a1","scriptpubkey_type":"v0_p2wpkh","scriptpubkey_address":"tb1qzv66dscl3uauh5jesfem33wws747naapcgt4c5","value":99999145},"scriptsig":"","scriptsig_asm":"","witness":["30440220133e40b4446b6f67281b888b2884585be465b5ce508a9f5657948444a71d5733022008f6f0ccb2d3afc0a4ff58472abdbae66dc13ae96c249b5bb8060b7f07bc41b901","020a07ecd4277bc65a98dde7506065e1bbcdd5e890189ecd3d80f867bc44e778e5"],"is_coinbase":false,"sequence":4294967293}],"vout":[{"scriptpubkey":"51201f3365c8af420f3243be272cff3bdcc3be470d350bd5f04602a952fa19af7b65","scriptpubkey_asm":"OP_PUSHNUM_1 OP_PUSHBYTES_32 1f3365c8af420f3243be272cff3bdcc3be470d350bd5f04602a952fa19af7b65","scriptpubkey_type":"v1_p2tr","scriptpubkey_address":"tb1pruektj90gg8nysa7yuk07w7ucwlywrf4p02lq3sz49f05xd00djscyt2fw","value":200000000},{"scriptpubkey":"00149237ac6e6630e71525e162e34deda5e26e3db93b","scriptpubkey_asm":"OP_0 OP_PUSHBYTES_20 9237ac6e6630e71525e162e34deda5e26e3db93b","scriptpubkey_type":"v0_p2wpkh","scriptpubkey_address":"tb1qjgm6cmnxxrn32f0pvt35mmd9ufhrmwfm4n3t5c","value":382766},{"scriptpubkey":"51204a6041f54b8cf8b2d48c6f725cb0514e51e5e7e7ac429c33da62e98765dd62f3","scriptpubkey_asm":"OP_PUSHNUM_1 OP_PUSHBYTES_32 4a6041f54b8cf8b2d48c6f725cb0514e51e5e7e7ac429c33da62e98765dd62f3","scriptpubkey_type":"v1_p2tr","scriptpubkey_address":"tb1pffsyra2t3nut94yvdae9evz3feg7tel843pfcv76vt5cwewavtesl3gsph","value":100000000},{"scriptpubkey":"51204a98aa12ded9f6c53e2164b90dd95d38f4be1c342ceec770c7d62d1844217cec","scriptpubkey_asm":"OP_PUSHNUM_1 OP_PUSHBYTES_32 4a98aa12ded9f6c53e2164b90dd95d38f4be1c342ceec770c7d62d1844217cec","scriptpubkey_type":"v1_p2tr","scriptpubkey_address":"tb1pf2v25yk7m8mv203pvjusmk2a8r6tu8p59nhvwux86ck3s3pp0nkqt30dvt","value":12500000}],"size":764,"weight":1766,"fee":442,"status":{"confirmed":true,"block_height":214053,"block_hash":"0000010e60378c98da211547794df53e6b255b1995f33b43763415f5b59bd38c","block_time":1726839113}}%

@saidalaoui-sq saidalaoui-sq changed the title Saidalaoui/ln 748 improve esploras scalability improve esploras scalability Sep 23, 2024
@saidalaoui-sq saidalaoui-sq changed the title improve esploras scalability Improve esploras scalability Sep 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant