From 0383d81d54ddc262dcdee7a8b89db1d8411355a2 Mon Sep 17 00:00:00 2001 From: jcstein Date: Thu, 11 Jan 2024 21:57:08 +0000 Subject: [PATCH] =?UTF-8?q?Deploy=20preview=20for=20PR=201358=20?= =?UTF-8?q?=F0=9F=9B=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pr-preview/pr-1358/404.html | 4 +- pr-preview/pr-1358/README.html | 10 +-- ...E.md.ddbe6c67.js => README.md.e799d281.js} | 2 +- ...c67.lean.js => README.md.e799d281.lean.js} | 2 +- .../{app.d72673e6.js => app.0345c282.js} | 2 +- .../chunks/@localSearchIndexroot.03cb80d9.js | 1 + .../chunks/@localSearchIndexroot.a0ab7312.js | 1 - ...917c92.js => VPLocalSearchBox.073a47f0.js} | 2 +- .../{theme.0be5931b.js => theme.f4f3d47a.js} | 2 +- ...6.js => community_calendar.md.723a1b30.js} | 2 +- ...=> community_calendar.md.723a1b30.lean.js} | 2 +- ...e9f246.js => community_coc.md.80a4bdb0.js} | 2 +- ...n.js => community_coc.md.80a4bdb0.lean.js} | 2 +- ...mmunity_cohort-one-content.md.3e986d06.js} | 2 +- ...ty_cohort-one-content.md.3e986d06.lean.js} | 2 +- ...bb.js => community_itn-tos.md.9a6c75b0.js} | 2 +- ... => community_itn-tos.md.9a6c75b0.lean.js} | 2 +- ... community_modular-fellows.md.43e72762.js} | 2 +- ...unity_modular-fellows.md.43e72762.lean.js} | 2 +- ...unity_modular-meetup-guide.md.9f0c82ae.js} | 2 +- ..._modular-meetup-guide.md.9f0c82ae.lean.js} | 2 +- ...unity_modular-meetup-intro.md.de857e63.js} | 2 +- ..._modular-meetup-intro.md.de857e63.lean.js} | 2 +- ...ity_modular-meetup-toolkit.md.02daca06.js} | 2 +- ...odular-meetup-toolkit.md.02daca06.lean.js} | 2 +- ...7.js => community_overview.md.eec32cc5.js} | 2 +- ...=> community_overview.md.eec32cc5.lean.js} | 2 +- ... => community_speaker-list.md.63b5b766.js} | 2 +- ...ommunity_speaker-list.md.63b5b766.lean.js} | 2 +- ...opers_arbitrum-dapp-deploy.md.24fb99a5.js} | 2 +- ..._arbitrum-dapp-deploy.md.24fb99a5.lean.js} | 2 +- ...developers_arbitrum-deploy.md.dd94baab.js} | 2 +- ...opers_arbitrum-deploy.md.dd94baab.lean.js} | 2 +- ...opers_arbitrum-integration.md.5263b4a9.js} | 2 +- ..._arbitrum-integration.md.5263b4a9.lean.js} | 2 +- ... developers_arbitrum-mocha.md.af0f93fd.js} | 44 +++++------- ...elopers_arbitrum-mocha.md.af0f93fd.lean.js | 55 +++++++++++++++ ...elopers_arbitrum-mocha.md.d37f1721.lean.js | 67 ------------------- ...rs_arbitrum-smart-contract.md.60cea1ec.js} | 2 +- ...bitrum-smart-contract.md.60cea1ec.lean.js} | 2 +- ...opers_blobstream-contracts.md.0e0e8c4a.js} | 2 +- ..._blobstream-contracts.md.0e0e8c4a.lean.js} | 2 +- ...lopers_blobstream-offchain.md.3eaf5acf.js} | 2 +- ...s_blobstream-offchain.md.3eaf5acf.lean.js} | 2 +- ...s_blobstream-proof-queries.md.f5b6175e.js} | 2 +- ...bstream-proof-queries.md.f5b6175e.lean.js} | 2 +- ...s => developers_blobstream.md.59e73c8f.js} | 2 +- ...developers_blobstream.md.59e73c8f.lean.js} | 2 +- ...=> developers_bubs-testnet.md.2bb39560.js} | 2 +- ...velopers_bubs-testnet.md.2bb39560.lean.js} | 2 +- ...> developers_build-modular.md.eaad659b.js} | 2 +- ...elopers_build-modular.md.eaad659b.lean.js} | 2 +- ...opers_celestia-app-vesting.md.d378eb7e.js} | 2 +- ..._celestia-app-vesting.md.d378eb7e.lean.js} | 2 +- ...lopers_celestia-app-wallet.md.3ebd02ee.js} | 2 +- ...s_celestia-app-wallet.md.3ebd02ee.lean.js} | 2 +- ...velopers_celestia-node-key.md.759edb88.js} | 8 +-- ...ers_celestia-node-key.md.759edb88.lean.js} | 2 +- ...=> developers_cosmostation.md.c4d22c75.js} | 2 +- ...velopers_cosmostation.md.c4d22c75.lean.js} | 2 +- ... developers_deploy-on-bubs.md.98e400d5.js} | 2 +- ...lopers_deploy-on-bubs.md.98e400d5.lean.js} | 2 +- ...velopers_ethereum-fallback.md.742feedc.js} | 2 +- ...ers_ethereum-fallback.md.742feedc.lean.js} | 2 +- ...-modular-development-guide.md.90a43f3b.js} | 2 +- ...lar-development-guide.md.90a43f3b.lean.js} | 2 +- ... developers_gm-portal-bubs.md.0ce379d0.js} | 2 +- ...lopers_gm-portal-bubs.md.0ce379d0.lean.js} | 2 +- ...evelopers_how-to-stake-tia.md.70cfa743.js} | 2 +- ...pers_how-to-stake-tia.md.70cfa743.lean.js} | 2 +- ... => developers_ibc-relayer.md.4288a15e.js} | 2 +- ...evelopers_ibc-relayer.md.4288a15e.lean.js} | 2 +- ...elopers_integrate-celestia.md.01a2bf80.js} | 2 +- ...rs_integrate-celestia.md.01a2bf80.lean.js} | 2 +- ...velopers_intro-to-op-stack.md.064dc6c5.js} | 2 +- ...ers_intro-to-op-stack.md.064dc6c5.lean.js} | 2 +- ...4d8.js => developers_keplr.md.a1a4c9b0.js} | 36 +++++----- ...s => developers_keplr.md.a1a4c9b0.lean.js} | 34 +++++----- ...db1a.js => developers_leap.md.9a160a89.js} | 2 +- ...js => developers_leap.md.9a160a89.lean.js} | 2 +- ....js => developers_nitrogen.md.da18e584.js} | 2 +- ...> developers_nitrogen.md.da18e584.lean.js} | 2 +- ....js => developers_node-api.md.cc40ec20.js} | 2 +- ...> developers_node-api.md.cc40ec20.lean.js} | 2 +- ...> developers_node-tutorial.md.034451d3.js} | 16 ++--- ...elopers_node-tutorial.md.034451d3.lean.js} | 2 +- ...developers_optimism-devnet.md.88270525.js} | 4 +- ...opers_optimism-devnet.md.88270525.lean.js} | 2 +- ....js => developers_optimism.md.8ba9c7cf.js} | 4 +- ...> developers_optimism.md.8ba9c7cf.lean.js} | 2 +- ...evelopers_prompt-scavenger.md.9b7a7d56.js} | 2 +- ...pers_prompt-scavenger.md.9b7a7d56.lean.js} | 2 +- ... developers_retrievability.md.67cf7f40.js} | 2 +- ...lopers_retrievability.md.67cf7f40.lean.js} | 2 +- ...f.js => developers_rollkit.md.9ccbca72.js} | 2 +- ...=> developers_rollkit.md.9ccbca72.lean.js} | 2 +- ...developers_rollup-overview.md.5f98a2b0.js} | 2 +- ...opers_rollup-overview.md.5f98a2b0.lean.js} | 2 +- ...f.js => developers_staking.md.9a66730d.js} | 2 +- ...=> developers_staking.md.9a66730d.lean.js} | 2 +- ... => developers_submit-data.md.f2ca1523.js} | 2 +- ...evelopers_submit-data.md.f2ca1523.lean.js} | 2 +- ...ex.md.e7138ccc.js => index.md.c0956aec.js} | 2 +- ...8ccc.lean.js => index.md.c0956aec.lean.js} | 2 +- ...orks_data-availability-faq.md.066561d0.js} | 2 +- ...data-availability-faq.md.066561d0.lean.js} | 2 +- ...ks_data-availability-layer.md.901019ed.js} | 2 +- ...ta-availability-layer.md.901019ed.lean.js} | 2 +- ...orks_monolithic-vs-modular.md.355e2909.js} | 2 +- ...monolithic-vs-modular.md.355e2909.lean.js} | 2 +- ...ow-celestia-works_overview.md.f5b328f4.js} | 2 +- ...lestia-works_overview.md.f5b328f4.lean.js} | 2 +- ...orks_transaction-lifecycle.md.53956a18.js} | 2 +- ...transaction-lifecycle.md.53956a18.lean.js} | 2 +- ...learn_paying-for-blobspace.md.75d7f3dd.js} | 2 +- ..._paying-for-blobspace.md.75d7f3dd.lean.js} | 2 +- ..._staking-governance-supply.md.96bf0c6c.js} | 2 +- ...ing-governance-supply.md.96bf0c6c.lean.js} | 2 +- ...d.1511c563.js => learn_tia.md.13ceca34.js} | 2 +- ....lean.js => learn_tia.md.13ceca34.lean.js} | 2 +- ...d5f9.js => nodes_arabica-9.md.4364bd1a.js} | 2 +- ...js => nodes_arabica-9.md.4364bd1a.lean.js} | 2 +- ...js => nodes_arabica-devnet.md.8f1c6f7b.js} | 2 +- ... nodes_arabica-devnet.md.8f1c6f7b.lean.js} | 2 +- ...=> nodes_blobstream-binary.md.ae3c7e1f.js} | 2 +- ...des_blobstream-binary.md.ae3c7e1f.lean.js} | 2 +- ...es_blobstream-bootstrapper.md.435c61fe.js} | 2 +- ...obstream-bootstrapper.md.435c61fe.lean.js} | 2 +- ...=> nodes_blobstream-deploy.md.a82e447c.js} | 2 +- ...des_blobstream-deploy.md.a82e447c.lean.js} | 2 +- ...s => nodes_blobstream-keys.md.30287788.js} | 2 +- ...nodes_blobstream-keys.md.30287788.lean.js} | 2 +- ...es_blobstream-orchestrator.md.d3216791.js} | 2 +- ...obstream-orchestrator.md.d3216791.lean.js} | 2 +- ...> nodes_blobstream-relayer.md.ed24ac43.js} | 2 +- ...es_blobstream-relayer.md.ed24ac43.lean.js} | 2 +- ...e3.js => nodes_bridge-node.md.b7def6ff.js} | 4 +- ... => nodes_bridge-node.md.b7def6ff.lean.js} | 2 +- ...odes_celestia-app-commands.md.7218e4ec.js} | 2 +- ...celestia-app-commands.md.7218e4ec.lean.js} | 2 +- ...nodes_celestia-app-metrics.md.28214465.js} | 2 +- ..._celestia-app-metrics.md.28214465.lean.js} | 2 +- ...odes_celestia-app-multisig.md.942d7a74.js} | 2 +- ...celestia-app-multisig.md.942d7a74.lean.js} | 2 +- ...lestia-app-upgrade-monitor.md.d7be78de.js} | 2 +- ...a-app-upgrade-monitor.md.d7be78de.lean.js} | 2 +- ...b.js => nodes_celestia-app.md.b8fe0c79.js} | 2 +- ...=> nodes_celestia-app.md.b8fe0c79.lean.js} | 2 +- ...estia-node-custom-networks.md.a3f7cf13.js} | 2 +- ...-node-custom-networks.md.a3f7cf13.lean.js} | 2 +- ...odes_celestia-node-metrics.md.4c2e1903.js} | 2 +- ...celestia-node-metrics.md.4c2e1903.lean.js} | 2 +- ...estia-node-troubleshooting.md.41ca74ba.js} | 2 +- ...-node-troubleshooting.md.41ca74ba.lean.js} | 2 +- ....js => nodes_celestia-node.md.b10f9ec5.js} | 2 +- ...> nodes_celestia-node.md.b10f9ec5.lean.js} | 2 +- ...36.js => nodes_config-toml.md.9d9340c9.js} | 2 +- ... => nodes_config-toml.md.9d9340c9.lean.js} | 2 +- ...js => nodes_consensus-node.md.711684a9.js} | 62 ++++++++--------- ... nodes_consensus-node.md.711684a9.lean.js} | 52 +++++++------- ...44.js => nodes_decide-node.md.6443394a.js} | 2 +- ... => nodes_decide-node.md.6443394a.lean.js} | 2 +- ....js => nodes_docker-images.md.db62ba23.js} | 60 ++++++++--------- ...> nodes_docker-images.md.db62ba23.lean.js} | 54 +++++++-------- .../nodes_environment.md.29ebdfd7.lean.js | 1 - ...d7.js => nodes_environment.md.dc077089.js} | 8 +-- .../nodes_environment.md.dc077089.lean.js | 1 + ...=> nodes_full-storage-node.md.48d8403d.js} | 2 +- ...des_full-storage-node.md.48d8403d.lean.js} | 2 +- ... => nodes_hardfork-process.md.68176593.js} | 2 +- ...odes_hardfork-process.md.68176593.lean.js} | 2 +- ... nodes_instantiate-testnet.md.c33fb906.js} | 2 +- ...s_instantiate-testnet.md.c33fb906.lean.js} | 2 +- ...9b0.js => nodes_light-node.md.b067d9c8.js} | 8 +-- ...s => nodes_light-node.md.b067d9c8.lean.js} | 2 +- ...e0ec34.js => nodes_mainnet.md.47e4ca41.js} | 2 +- ...n.js => nodes_mainnet.md.47e4ca41.lean.js} | 2 +- ....js => nodes_mocha-testnet.md.bd2f0390.js} | 2 +- ...> nodes_mocha-testnet.md.bd2f0390.lean.js} | 2 +- ...0380e.js => nodes_overview.md.66a45f27.js} | 2 +- ....js => nodes_overview.md.66a45f27.lean.js} | 2 +- ...8a.js => nodes_participate.md.3043cbf7.js} | 2 +- ... => nodes_participate.md.3043cbf7.lean.js} | 2 +- ...81.js => nodes_quick-start.md.ba85612b.js} | 2 +- ... => nodes_quick-start.md.ba85612b.lean.js} | 2 +- ...8f5b64.js => nodes_systemd.md.4890eb0c.js} | 2 +- ...n.js => nodes_systemd.md.4890eb0c.lean.js} | 2 +- ...s_transaction-resubmission.md.7b10acd2.js} | 2 +- ...nsaction-resubmission.md.7b10acd2.lean.js} | 2 +- pr-preview/pr-1358/community/calendar.html | 10 +-- pr-preview/pr-1358/community/coc.html | 10 +-- .../pr-1358/community/cohort-one-content.html | 10 +-- pr-preview/pr-1358/community/itn-tos.html | 8 +-- .../pr-1358/community/modular-fellows.html | 10 +-- .../community/modular-meetup-guide.html | 10 +-- .../community/modular-meetup-intro.html | 10 +-- .../community/modular-meetup-toolkit.html | 10 +-- pr-preview/pr-1358/community/overview.html | 10 +-- .../pr-1358/community/speaker-list.html | 10 +-- .../developers/arbitrum-dapp-deploy.html | 10 +-- .../pr-1358/developers/arbitrum-deploy.html | 10 +-- .../developers/arbitrum-integration.html | 10 +-- .../pr-1358/developers/arbitrum-mocha.html | 26 ++----- .../developers/arbitrum-smart-contract.html | 10 +-- .../developers/blobstream-contracts.html | 10 +-- .../developers/blobstream-offchain.html | 10 +-- .../developers/blobstream-proof-queries.html | 10 +-- pr-preview/pr-1358/developers/blobstream.html | 10 +-- .../pr-1358/developers/bubs-testnet.html | 10 +-- .../pr-1358/developers/build-modular.html | 10 +-- .../developers/celestia-app-vesting.html | 10 +-- .../developers/celestia-app-wallet.html | 10 +-- .../pr-1358/developers/celestia-node-key.html | 16 ++--- .../pr-1358/developers/cosmostation.html | 10 +-- .../pr-1358/developers/deploy-on-bubs.html | 10 +-- .../pr-1358/developers/ethereum-fallback.html | 10 +-- .../full-stack-modular-development-guide.html | 10 +-- .../pr-1358/developers/gm-portal-bubs.html | 10 +-- .../pr-1358/developers/how-to-stake-tia.html | 10 +-- .../pr-1358/developers/ibc-relayer.html | 10 +-- .../developers/integrate-celestia.html | 10 +-- .../pr-1358/developers/intro-to-op-stack.html | 10 +-- pr-preview/pr-1358/developers/keplr.html | 12 ++-- pr-preview/pr-1358/developers/leap.html | 10 +-- pr-preview/pr-1358/developers/nitrogen.html | 10 +-- pr-preview/pr-1358/developers/node-api.html | 10 +-- .../pr-1358/developers/node-tutorial.html | 20 +++--- .../pr-1358/developers/optimism-devnet.html | 12 ++-- pr-preview/pr-1358/developers/optimism.html | 12 ++-- .../pr-1358/developers/prompt-scavenger.html | 10 +-- .../pr-1358/developers/retrievability.html | 10 +-- pr-preview/pr-1358/developers/rollkit.html | 10 +-- .../pr-1358/developers/rollup-overview.html | 10 +-- pr-preview/pr-1358/developers/staking.html | 10 +-- .../pr-1358/developers/submit-data.html | 10 +-- pr-preview/pr-1358/hashmap.json | 2 +- pr-preview/pr-1358/index.html | 8 +-- .../data-availability-faq.html | 10 +-- .../data-availability-layer.html | 10 +-- .../monolithic-vs-modular.html | 10 +-- .../learn/how-celestia-works/overview.html | 10 +-- .../transaction-lifecycle.html | 10 +-- .../pr-1358/learn/paying-for-blobspace.html | 10 +-- .../learn/staking-governance-supply.html | 10 +-- pr-preview/pr-1358/learn/tia.html | 10 +-- pr-preview/pr-1358/nodes/arabica-9.html | 10 +-- pr-preview/pr-1358/nodes/arabica-devnet.html | 10 +-- .../pr-1358/nodes/blobstream-binary.html | 10 +-- .../nodes/blobstream-bootstrapper.html | 10 +-- .../pr-1358/nodes/blobstream-deploy.html | 10 +-- pr-preview/pr-1358/nodes/blobstream-keys.html | 10 +-- .../nodes/blobstream-orchestrator.html | 10 +-- .../pr-1358/nodes/blobstream-relayer.html | 10 +-- pr-preview/pr-1358/nodes/bridge-node.html | 14 ++-- .../pr-1358/nodes/celestia-app-commands.html | 10 +-- .../pr-1358/nodes/celestia-app-metrics.html | 10 +-- .../pr-1358/nodes/celestia-app-multisig.html | 10 +-- .../nodes/celestia-app-upgrade-monitor.html | 10 +-- pr-preview/pr-1358/nodes/celestia-app.html | 10 +-- .../nodes/celestia-node-custom-networks.html | 10 +-- .../pr-1358/nodes/celestia-node-metrics.html | 10 +-- .../nodes/celestia-node-troubleshooting.html | 10 +-- pr-preview/pr-1358/nodes/celestia-node.html | 10 +-- pr-preview/pr-1358/nodes/config-toml.html | 10 +-- pr-preview/pr-1358/nodes/consensus-node.html | 18 ++--- pr-preview/pr-1358/nodes/decide-node.html | 10 +-- pr-preview/pr-1358/nodes/docker-images.html | 18 ++--- pr-preview/pr-1358/nodes/environment.html | 16 ++--- .../pr-1358/nodes/full-storage-node.html | 12 ++-- .../pr-1358/nodes/hardfork-process.html | 10 +-- .../pr-1358/nodes/instantiate-testnet.html | 10 +-- pr-preview/pr-1358/nodes/light-node.html | 16 ++--- pr-preview/pr-1358/nodes/mainnet.html | 10 +-- pr-preview/pr-1358/nodes/mocha-testnet.html | 10 +-- pr-preview/pr-1358/nodes/overview.html | 10 +-- pr-preview/pr-1358/nodes/participate.html | 10 +-- pr-preview/pr-1358/nodes/quick-start.html | 10 +-- pr-preview/pr-1358/nodes/systemd.html | 10 +-- .../nodes/transaction-resubmission.html | 10 +-- pr-preview/pr-1358/sitemap.xml | 2 +- 280 files changed, 897 insertions(+), 933 deletions(-) rename pr-preview/pr-1358/assets/{README.md.ddbe6c67.js => README.md.e799d281.js} (96%) rename pr-preview/pr-1358/assets/{README.md.ddbe6c67.lean.js => README.md.e799d281.lean.js} (76%) rename pr-preview/pr-1358/assets/{app.d72673e6.js => app.0345c282.js} (95%) create mode 100644 pr-preview/pr-1358/assets/chunks/@localSearchIndexroot.03cb80d9.js delete mode 100644 pr-preview/pr-1358/assets/chunks/@localSearchIndexroot.a0ab7312.js rename pr-preview/pr-1358/assets/chunks/{VPLocalSearchBox.8e917c92.js => VPLocalSearchBox.073a47f0.js} (99%) rename pr-preview/pr-1358/assets/chunks/{theme.0be5931b.js => theme.f4f3d47a.js} (99%) rename pr-preview/pr-1358/assets/{community_calendar.md.3366a606.js => community_calendar.md.723a1b30.js} (95%) rename pr-preview/pr-1358/assets/{community_calendar.md.3366a606.lean.js => community_calendar.md.723a1b30.lean.js} (95%) rename pr-preview/pr-1358/assets/{community_coc.md.2ee9f246.js => community_coc.md.80a4bdb0.js} (98%) rename pr-preview/pr-1358/assets/{community_coc.md.2ee9f246.lean.js => community_coc.md.80a4bdb0.lean.js} (82%) rename pr-preview/pr-1358/assets/{community_cohort-one-content.md.ab451cc5.js => community_cohort-one-content.md.3e986d06.js} (99%) rename pr-preview/pr-1358/assets/{community_cohort-one-content.md.ab451cc5.lean.js => community_cohort-one-content.md.3e986d06.lean.js} (91%) rename pr-preview/pr-1358/assets/{community_itn-tos.md.7b9132bb.js => community_itn-tos.md.9a6c75b0.js} (99%) rename pr-preview/pr-1358/assets/{community_itn-tos.md.7b9132bb.lean.js => community_itn-tos.md.9a6c75b0.lean.js} (92%) rename pr-preview/pr-1358/assets/{community_modular-fellows.md.f8968cd3.js => community_modular-fellows.md.43e72762.js} (99%) rename pr-preview/pr-1358/assets/{community_modular-fellows.md.f8968cd3.lean.js => community_modular-fellows.md.43e72762.lean.js} (92%) rename pr-preview/pr-1358/assets/{community_modular-meetup-guide.md.9d50b746.js => community_modular-meetup-guide.md.9f0c82ae.js} (99%) rename pr-preview/pr-1358/assets/{community_modular-meetup-guide.md.9d50b746.lean.js => community_modular-meetup-guide.md.9f0c82ae.lean.js} (91%) rename pr-preview/pr-1358/assets/{community_modular-meetup-intro.md.0a65dcb2.js => community_modular-meetup-intro.md.de857e63.js} (98%) rename pr-preview/pr-1358/assets/{community_modular-meetup-intro.md.0a65dcb2.lean.js => community_modular-meetup-intro.md.de857e63.lean.js} (91%) rename pr-preview/pr-1358/assets/{community_modular-meetup-toolkit.md.86a564ad.js => community_modular-meetup-toolkit.md.02daca06.js} (98%) rename pr-preview/pr-1358/assets/{community_modular-meetup-toolkit.md.86a564ad.lean.js => community_modular-meetup-toolkit.md.02daca06.lean.js} (90%) rename pr-preview/pr-1358/assets/{community_overview.md.7f8230c7.js => community_overview.md.eec32cc5.js} (94%) rename pr-preview/pr-1358/assets/{community_overview.md.7f8230c7.lean.js => community_overview.md.eec32cc5.lean.js} (94%) rename pr-preview/pr-1358/assets/{community_speaker-list.md.b218cd47.js => community_speaker-list.md.63b5b766.js} (97%) rename pr-preview/pr-1358/assets/{community_speaker-list.md.b218cd47.lean.js => community_speaker-list.md.63b5b766.lean.js} (97%) rename pr-preview/pr-1358/assets/{developers_arbitrum-dapp-deploy.md.f18c1216.js => developers_arbitrum-dapp-deploy.md.24fb99a5.js} (99%) rename pr-preview/pr-1358/assets/{developers_arbitrum-dapp-deploy.md.f18c1216.lean.js => developers_arbitrum-dapp-deploy.md.24fb99a5.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_arbitrum-deploy.md.ce1fe08e.js => developers_arbitrum-deploy.md.dd94baab.js} (99%) rename pr-preview/pr-1358/assets/{developers_arbitrum-deploy.md.ce1fe08e.lean.js => developers_arbitrum-deploy.md.dd94baab.lean.js} (94%) rename pr-preview/pr-1358/assets/{developers_arbitrum-integration.md.fb46832c.js => developers_arbitrum-integration.md.5263b4a9.js} (99%) rename pr-preview/pr-1358/assets/{developers_arbitrum-integration.md.fb46832c.lean.js => developers_arbitrum-integration.md.5263b4a9.lean.js} (93%) rename pr-preview/pr-1358/assets/{developers_arbitrum-mocha.md.d37f1721.js => developers_arbitrum-mocha.md.af0f93fd.js} (73%) create mode 100644 pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.af0f93fd.lean.js delete mode 100644 pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.d37f1721.lean.js rename pr-preview/pr-1358/assets/{developers_arbitrum-smart-contract.md.4b9c4b79.js => developers_arbitrum-smart-contract.md.60cea1ec.js} (99%) rename pr-preview/pr-1358/assets/{developers_arbitrum-smart-contract.md.4b9c4b79.lean.js => developers_arbitrum-smart-contract.md.60cea1ec.lean.js} (94%) rename pr-preview/pr-1358/assets/{developers_blobstream-contracts.md.17a910f4.js => developers_blobstream-contracts.md.0e0e8c4a.js} (99%) rename pr-preview/pr-1358/assets/{developers_blobstream-contracts.md.17a910f4.lean.js => developers_blobstream-contracts.md.0e0e8c4a.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_blobstream-offchain.md.4ecb5c94.js => developers_blobstream-offchain.md.3eaf5acf.js} (99%) rename pr-preview/pr-1358/assets/{developers_blobstream-offchain.md.4ecb5c94.lean.js => developers_blobstream-offchain.md.3eaf5acf.lean.js} (91%) rename pr-preview/pr-1358/assets/{developers_blobstream-proof-queries.md.8f56c893.js => developers_blobstream-proof-queries.md.f5b6175e.js} (99%) rename pr-preview/pr-1358/assets/{developers_blobstream-proof-queries.md.8f56c893.lean.js => developers_blobstream-proof-queries.md.f5b6175e.lean.js} (85%) rename pr-preview/pr-1358/assets/{developers_blobstream.md.d1230ea5.js => developers_blobstream.md.59e73c8f.js} (99%) rename pr-preview/pr-1358/assets/{developers_blobstream.md.d1230ea5.lean.js => developers_blobstream.md.59e73c8f.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_bubs-testnet.md.5c2a062d.js => developers_bubs-testnet.md.2bb39560.js} (98%) rename pr-preview/pr-1358/assets/{developers_bubs-testnet.md.5c2a062d.lean.js => developers_bubs-testnet.md.2bb39560.lean.js} (91%) rename pr-preview/pr-1358/assets/{developers_build-modular.md.4d8f6fa4.js => developers_build-modular.md.eaad659b.js} (98%) rename pr-preview/pr-1358/assets/{developers_build-modular.md.4d8f6fa4.lean.js => developers_build-modular.md.eaad659b.lean.js} (83%) rename pr-preview/pr-1358/assets/{developers_celestia-app-vesting.md.b8ddb0f0.js => developers_celestia-app-vesting.md.d378eb7e.js} (99%) rename pr-preview/pr-1358/assets/{developers_celestia-app-vesting.md.b8ddb0f0.lean.js => developers_celestia-app-vesting.md.d378eb7e.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_celestia-app-wallet.md.fb60b2b9.js => developers_celestia-app-wallet.md.3ebd02ee.js} (99%) rename pr-preview/pr-1358/assets/{developers_celestia-app-wallet.md.fb60b2b9.lean.js => developers_celestia-app-wallet.md.3ebd02ee.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_celestia-node-key.md.aed961c9.js => developers_celestia-node-key.md.759edb88.js} (98%) rename pr-preview/pr-1358/assets/{developers_celestia-node-key.md.aed961c9.lean.js => developers_celestia-node-key.md.759edb88.lean.js} (95%) rename pr-preview/pr-1358/assets/{developers_cosmostation.md.a9bf8ade.js => developers_cosmostation.md.c4d22c75.js} (98%) rename pr-preview/pr-1358/assets/{developers_cosmostation.md.a9bf8ade.lean.js => developers_cosmostation.md.c4d22c75.lean.js} (95%) rename pr-preview/pr-1358/assets/{developers_deploy-on-bubs.md.c815f33d.js => developers_deploy-on-bubs.md.98e400d5.js} (99%) rename pr-preview/pr-1358/assets/{developers_deploy-on-bubs.md.c815f33d.lean.js => developers_deploy-on-bubs.md.98e400d5.lean.js} (79%) rename pr-preview/pr-1358/assets/{developers_ethereum-fallback.md.a9f9c2d1.js => developers_ethereum-fallback.md.742feedc.js} (97%) rename pr-preview/pr-1358/assets/{developers_ethereum-fallback.md.a9f9c2d1.lean.js => developers_ethereum-fallback.md.742feedc.lean.js} (91%) rename pr-preview/pr-1358/assets/{developers_full-stack-modular-development-guide.md.ac0c6d02.js => developers_full-stack-modular-development-guide.md.90a43f3b.js} (99%) rename pr-preview/pr-1358/assets/{developers_full-stack-modular-development-guide.md.ac0c6d02.lean.js => developers_full-stack-modular-development-guide.md.90a43f3b.lean.js} (93%) rename pr-preview/pr-1358/assets/{developers_gm-portal-bubs.md.96030ee3.js => developers_gm-portal-bubs.md.0ce379d0.js} (99%) rename pr-preview/pr-1358/assets/{developers_gm-portal-bubs.md.96030ee3.lean.js => developers_gm-portal-bubs.md.0ce379d0.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_how-to-stake-tia.md.9c5268c0.js => developers_how-to-stake-tia.md.70cfa743.js} (98%) rename pr-preview/pr-1358/assets/{developers_how-to-stake-tia.md.9c5268c0.lean.js => developers_how-to-stake-tia.md.70cfa743.lean.js} (94%) rename pr-preview/pr-1358/assets/{developers_ibc-relayer.md.b8476175.js => developers_ibc-relayer.md.4288a15e.js} (99%) rename pr-preview/pr-1358/assets/{developers_ibc-relayer.md.b8476175.lean.js => developers_ibc-relayer.md.4288a15e.lean.js} (90%) rename pr-preview/pr-1358/assets/{developers_integrate-celestia.md.6fca88e4.js => developers_integrate-celestia.md.01a2bf80.js} (98%) rename pr-preview/pr-1358/assets/{developers_integrate-celestia.md.6fca88e4.lean.js => developers_integrate-celestia.md.01a2bf80.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_intro-to-op-stack.md.edf5d840.js => developers_intro-to-op-stack.md.064dc6c5.js} (99%) rename pr-preview/pr-1358/assets/{developers_intro-to-op-stack.md.edf5d840.lean.js => developers_intro-to-op-stack.md.064dc6c5.lean.js} (91%) rename pr-preview/pr-1358/assets/{developers_keplr.md.73b344d8.js => developers_keplr.md.a1a4c9b0.js} (94%) rename pr-preview/pr-1358/assets/{developers_keplr.md.73b344d8.lean.js => developers_keplr.md.a1a4c9b0.lean.js} (80%) rename pr-preview/pr-1358/assets/{developers_leap.md.8c1fdb1a.js => developers_leap.md.9a160a89.js} (98%) rename pr-preview/pr-1358/assets/{developers_leap.md.8c1fdb1a.lean.js => developers_leap.md.9a160a89.lean.js} (96%) rename pr-preview/pr-1358/assets/{developers_nitrogen.md.da575949.js => developers_nitrogen.md.da18e584.js} (97%) rename pr-preview/pr-1358/assets/{developers_nitrogen.md.da575949.lean.js => developers_nitrogen.md.da18e584.lean.js} (89%) rename pr-preview/pr-1358/assets/{developers_node-api.md.105c42f2.js => developers_node-api.md.cc40ec20.js} (98%) rename pr-preview/pr-1358/assets/{developers_node-api.md.105c42f2.lean.js => developers_node-api.md.cc40ec20.lean.js} (90%) rename pr-preview/pr-1358/assets/{developers_node-tutorial.md.e1712ce5.js => developers_node-tutorial.md.034451d3.js} (97%) rename pr-preview/pr-1358/assets/{developers_node-tutorial.md.e1712ce5.lean.js => developers_node-tutorial.md.034451d3.lean.js} (74%) rename pr-preview/pr-1358/assets/{developers_optimism-devnet.md.093b572a.js => developers_optimism-devnet.md.88270525.js} (99%) rename pr-preview/pr-1358/assets/{developers_optimism-devnet.md.093b572a.lean.js => developers_optimism-devnet.md.88270525.lean.js} (91%) rename pr-preview/pr-1358/assets/{developers_optimism.md.24d065a6.js => developers_optimism.md.8ba9c7cf.js} (92%) rename pr-preview/pr-1358/assets/{developers_optimism.md.24d065a6.lean.js => developers_optimism.md.8ba9c7cf.lean.js} (65%) rename pr-preview/pr-1358/assets/{developers_prompt-scavenger.md.f59a1a8b.js => developers_prompt-scavenger.md.9b7a7d56.js} (99%) rename pr-preview/pr-1358/assets/{developers_prompt-scavenger.md.f59a1a8b.lean.js => developers_prompt-scavenger.md.9b7a7d56.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_retrievability.md.7cc5190a.js => developers_retrievability.md.67cf7f40.js} (98%) rename pr-preview/pr-1358/assets/{developers_retrievability.md.7cc5190a.lean.js => developers_retrievability.md.67cf7f40.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_rollkit.md.154e744f.js => developers_rollkit.md.9ccbca72.js} (97%) rename pr-preview/pr-1358/assets/{developers_rollkit.md.154e744f.lean.js => developers_rollkit.md.9ccbca72.lean.js} (92%) rename pr-preview/pr-1358/assets/{developers_rollup-overview.md.d3da84f0.js => developers_rollup-overview.md.5f98a2b0.js} (98%) rename pr-preview/pr-1358/assets/{developers_rollup-overview.md.d3da84f0.lean.js => developers_rollup-overview.md.5f98a2b0.lean.js} (90%) rename pr-preview/pr-1358/assets/{developers_staking.md.90e3f65f.js => developers_staking.md.9a66730d.js} (97%) rename pr-preview/pr-1358/assets/{developers_staking.md.90e3f65f.lean.js => developers_staking.md.9a66730d.lean.js} (90%) rename pr-preview/pr-1358/assets/{developers_submit-data.md.a3c74a56.js => developers_submit-data.md.f2ca1523.js} (99%) rename pr-preview/pr-1358/assets/{developers_submit-data.md.a3c74a56.lean.js => developers_submit-data.md.f2ca1523.lean.js} (99%) rename pr-preview/pr-1358/assets/{index.md.e7138ccc.js => index.md.c0956aec.js} (96%) rename pr-preview/pr-1358/assets/{index.md.e7138ccc.lean.js => index.md.c0956aec.lean.js} (96%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_data-availability-faq.md.a114803b.js => learn_how-celestia-works_data-availability-faq.md.066561d0.js} (99%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_data-availability-faq.md.a114803b.lean.js => learn_how-celestia-works_data-availability-faq.md.066561d0.lean.js} (93%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_data-availability-layer.md.7afe0f99.js => learn_how-celestia-works_data-availability-layer.md.901019ed.js} (99%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_data-availability-layer.md.7afe0f99.lean.js => learn_how-celestia-works_data-availability-layer.md.901019ed.lean.js} (99%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_monolithic-vs-modular.md.8958e4cb.js => learn_how-celestia-works_monolithic-vs-modular.md.355e2909.js} (98%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_monolithic-vs-modular.md.8958e4cb.lean.js => learn_how-celestia-works_monolithic-vs-modular.md.355e2909.lean.js} (92%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_overview.md.56b57e18.js => learn_how-celestia-works_overview.md.f5b328f4.js} (97%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_overview.md.56b57e18.lean.js => learn_how-celestia-works_overview.md.f5b328f4.lean.js} (89%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_transaction-lifecycle.md.305b3ba8.js => learn_how-celestia-works_transaction-lifecycle.md.53956a18.js} (99%) rename pr-preview/pr-1358/assets/{learn_how-celestia-works_transaction-lifecycle.md.305b3ba8.lean.js => learn_how-celestia-works_transaction-lifecycle.md.53956a18.lean.js} (99%) rename pr-preview/pr-1358/assets/{learn_paying-for-blobspace.md.96090a9e.js => learn_paying-for-blobspace.md.75d7f3dd.js} (97%) rename pr-preview/pr-1358/assets/{learn_paying-for-blobspace.md.96090a9e.lean.js => learn_paying-for-blobspace.md.75d7f3dd.lean.js} (90%) rename pr-preview/pr-1358/assets/{learn_staking-governance-supply.md.73331605.js => learn_staking-governance-supply.md.96bf0c6c.js} (99%) rename pr-preview/pr-1358/assets/{learn_staking-governance-supply.md.73331605.lean.js => learn_staking-governance-supply.md.96bf0c6c.lean.js} (93%) rename pr-preview/pr-1358/assets/{learn_tia.md.1511c563.js => learn_tia.md.13ceca34.js} (99%) rename pr-preview/pr-1358/assets/{learn_tia.md.1511c563.lean.js => learn_tia.md.13ceca34.lean.js} (97%) rename pr-preview/pr-1358/assets/{nodes_arabica-9.md.91bed5f9.js => nodes_arabica-9.md.4364bd1a.js} (99%) rename pr-preview/pr-1358/assets/{nodes_arabica-9.md.91bed5f9.lean.js => nodes_arabica-9.md.4364bd1a.lean.js} (90%) rename pr-preview/pr-1358/assets/{nodes_arabica-devnet.md.a40d5f6e.js => nodes_arabica-devnet.md.8f1c6f7b.js} (99%) rename pr-preview/pr-1358/assets/{nodes_arabica-devnet.md.a40d5f6e.lean.js => nodes_arabica-devnet.md.8f1c6f7b.lean.js} (97%) rename pr-preview/pr-1358/assets/{nodes_blobstream-binary.md.684dce82.js => nodes_blobstream-binary.md.ae3c7e1f.js} (98%) rename pr-preview/pr-1358/assets/{nodes_blobstream-binary.md.684dce82.lean.js => nodes_blobstream-binary.md.ae3c7e1f.lean.js} (97%) rename pr-preview/pr-1358/assets/{nodes_blobstream-bootstrapper.md.3494c04b.js => nodes_blobstream-bootstrapper.md.435c61fe.js} (98%) rename pr-preview/pr-1358/assets/{nodes_blobstream-bootstrapper.md.3494c04b.lean.js => nodes_blobstream-bootstrapper.md.435c61fe.lean.js} (89%) rename pr-preview/pr-1358/assets/{nodes_blobstream-deploy.md.d1e53185.js => nodes_blobstream-deploy.md.a82e447c.js} (99%) rename pr-preview/pr-1358/assets/{nodes_blobstream-deploy.md.d1e53185.lean.js => nodes_blobstream-deploy.md.a82e447c.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_blobstream-keys.md.48da8f2c.js => nodes_blobstream-keys.md.30287788.js} (99%) rename pr-preview/pr-1358/assets/{nodes_blobstream-keys.md.48da8f2c.lean.js => nodes_blobstream-keys.md.30287788.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_blobstream-orchestrator.md.053c6d78.js => nodes_blobstream-orchestrator.md.d3216791.js} (99%) rename pr-preview/pr-1358/assets/{nodes_blobstream-orchestrator.md.053c6d78.lean.js => nodes_blobstream-orchestrator.md.d3216791.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_blobstream-relayer.md.9cf9a917.js => nodes_blobstream-relayer.md.ed24ac43.js} (99%) rename pr-preview/pr-1358/assets/{nodes_blobstream-relayer.md.9cf9a917.lean.js => nodes_blobstream-relayer.md.ed24ac43.lean.js} (90%) rename pr-preview/pr-1358/assets/{nodes_bridge-node.md.945479e3.js => nodes_bridge-node.md.b7def6ff.js} (97%) rename pr-preview/pr-1358/assets/{nodes_bridge-node.md.945479e3.lean.js => nodes_bridge-node.md.b7def6ff.lean.js} (90%) rename pr-preview/pr-1358/assets/{nodes_celestia-app-commands.md.acd01a13.js => nodes_celestia-app-commands.md.7218e4ec.js} (99%) rename pr-preview/pr-1358/assets/{nodes_celestia-app-commands.md.acd01a13.lean.js => nodes_celestia-app-commands.md.7218e4ec.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_celestia-app-metrics.md.0835b1be.js => nodes_celestia-app-metrics.md.28214465.js} (99%) rename pr-preview/pr-1358/assets/{nodes_celestia-app-metrics.md.0835b1be.lean.js => nodes_celestia-app-metrics.md.28214465.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_celestia-app-multisig.md.46de9731.js => nodes_celestia-app-multisig.md.942d7a74.js} (99%) rename pr-preview/pr-1358/assets/{nodes_celestia-app-multisig.md.46de9731.lean.js => nodes_celestia-app-multisig.md.942d7a74.lean.js} (88%) rename pr-preview/pr-1358/assets/{nodes_celestia-app-upgrade-monitor.md.66e886da.js => nodes_celestia-app-upgrade-monitor.md.d7be78de.js} (89%) rename pr-preview/pr-1358/assets/{nodes_celestia-app-upgrade-monitor.md.66e886da.lean.js => nodes_celestia-app-upgrade-monitor.md.d7be78de.lean.js} (89%) rename pr-preview/pr-1358/assets/{nodes_celestia-app.md.fe8b37cb.js => nodes_celestia-app.md.b8fe0c79.js} (81%) rename pr-preview/pr-1358/assets/{nodes_celestia-app.md.fe8b37cb.lean.js => nodes_celestia-app.md.b8fe0c79.lean.js} (60%) rename pr-preview/pr-1358/assets/{nodes_celestia-node-custom-networks.md.56582c14.js => nodes_celestia-node-custom-networks.md.a3f7cf13.js} (99%) rename pr-preview/pr-1358/assets/{nodes_celestia-node-custom-networks.md.56582c14.lean.js => nodes_celestia-node-custom-networks.md.a3f7cf13.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_celestia-node-metrics.md.7c3ba2cf.js => nodes_celestia-node-metrics.md.4c2e1903.js} (99%) rename pr-preview/pr-1358/assets/{nodes_celestia-node-metrics.md.7c3ba2cf.lean.js => nodes_celestia-node-metrics.md.4c2e1903.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_celestia-node-troubleshooting.md.fdb3edd1.js => nodes_celestia-node-troubleshooting.md.41ca74ba.js} (99%) rename pr-preview/pr-1358/assets/{nodes_celestia-node-troubleshooting.md.fdb3edd1.lean.js => nodes_celestia-node-troubleshooting.md.41ca74ba.lean.js} (96%) rename pr-preview/pr-1358/assets/{nodes_celestia-node.md.afa4dc19.js => nodes_celestia-node.md.b10f9ec5.js} (81%) rename pr-preview/pr-1358/assets/{nodes_celestia-node.md.afa4dc19.lean.js => nodes_celestia-node.md.b10f9ec5.lean.js} (60%) rename pr-preview/pr-1358/assets/{nodes_config-toml.md.1c2fb136.js => nodes_config-toml.md.9d9340c9.js} (98%) rename pr-preview/pr-1358/assets/{nodes_config-toml.md.1c2fb136.lean.js => nodes_config-toml.md.9d9340c9.lean.js} (90%) rename pr-preview/pr-1358/assets/{nodes_consensus-node.md.a920e4f0.js => nodes_consensus-node.md.711684a9.js} (93%) rename pr-preview/pr-1358/assets/{nodes_consensus-node.md.a920e4f0.lean.js => nodes_consensus-node.md.711684a9.lean.js} (74%) rename pr-preview/pr-1358/assets/{nodes_decide-node.md.28304b44.js => nodes_decide-node.md.6443394a.js} (96%) rename pr-preview/pr-1358/assets/{nodes_decide-node.md.28304b44.lean.js => nodes_decide-node.md.6443394a.lean.js} (90%) rename pr-preview/pr-1358/assets/{nodes_docker-images.md.14cb58a7.js => nodes_docker-images.md.db62ba23.js} (85%) rename pr-preview/pr-1358/assets/{nodes_docker-images.md.14cb58a7.lean.js => nodes_docker-images.md.db62ba23.lean.js} (61%) delete mode 100644 pr-preview/pr-1358/assets/nodes_environment.md.29ebdfd7.lean.js rename pr-preview/pr-1358/assets/{nodes_environment.md.29ebdfd7.js => nodes_environment.md.dc077089.js} (89%) create mode 100644 pr-preview/pr-1358/assets/nodes_environment.md.dc077089.lean.js rename pr-preview/pr-1358/assets/{nodes_full-storage-node.md.23f1735f.js => nodes_full-storage-node.md.48d8403d.js} (96%) rename pr-preview/pr-1358/assets/{nodes_full-storage-node.md.23f1735f.lean.js => nodes_full-storage-node.md.48d8403d.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_hardfork-process.md.0d0962f7.js => nodes_hardfork-process.md.68176593.js} (96%) rename pr-preview/pr-1358/assets/{nodes_hardfork-process.md.0d0962f7.lean.js => nodes_hardfork-process.md.68176593.lean.js} (81%) rename pr-preview/pr-1358/assets/{nodes_instantiate-testnet.md.e1404647.js => nodes_instantiate-testnet.md.c33fb906.js} (99%) rename pr-preview/pr-1358/assets/{nodes_instantiate-testnet.md.e1404647.lean.js => nodes_instantiate-testnet.md.c33fb906.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_light-node.md.e1daa9b0.js => nodes_light-node.md.b067d9c8.js} (96%) rename pr-preview/pr-1358/assets/{nodes_light-node.md.e1daa9b0.lean.js => nodes_light-node.md.b067d9c8.lean.js} (83%) rename pr-preview/pr-1358/assets/{nodes_mainnet.md.b5e0ec34.js => nodes_mainnet.md.47e4ca41.js} (99%) rename pr-preview/pr-1358/assets/{nodes_mainnet.md.b5e0ec34.lean.js => nodes_mainnet.md.47e4ca41.lean.js} (97%) rename pr-preview/pr-1358/assets/{nodes_mocha-testnet.md.4bdc3c2e.js => nodes_mocha-testnet.md.bd2f0390.js} (99%) rename pr-preview/pr-1358/assets/{nodes_mocha-testnet.md.4bdc3c2e.lean.js => nodes_mocha-testnet.md.bd2f0390.lean.js} (92%) rename pr-preview/pr-1358/assets/{nodes_overview.md.7420380e.js => nodes_overview.md.66a45f27.js} (97%) rename pr-preview/pr-1358/assets/{nodes_overview.md.7420380e.lean.js => nodes_overview.md.66a45f27.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_participate.md.7099968a.js => nodes_participate.md.3043cbf7.js} (98%) rename pr-preview/pr-1358/assets/{nodes_participate.md.7099968a.lean.js => nodes_participate.md.3043cbf7.lean.js} (97%) rename pr-preview/pr-1358/assets/{nodes_quick-start.md.cf19cb81.js => nodes_quick-start.md.ba85612b.js} (97%) rename pr-preview/pr-1358/assets/{nodes_quick-start.md.cf19cb81.lean.js => nodes_quick-start.md.ba85612b.lean.js} (90%) rename pr-preview/pr-1358/assets/{nodes_systemd.md.2a8f5b64.js => nodes_systemd.md.4890eb0c.js} (99%) rename pr-preview/pr-1358/assets/{nodes_systemd.md.2a8f5b64.lean.js => nodes_systemd.md.4890eb0c.lean.js} (91%) rename pr-preview/pr-1358/assets/{nodes_transaction-resubmission.md.112ed17e.js => nodes_transaction-resubmission.md.7b10acd2.js} (97%) rename pr-preview/pr-1358/assets/{nodes_transaction-resubmission.md.112ed17e.lean.js => nodes_transaction-resubmission.md.7b10acd2.lean.js} (92%) diff --git a/pr-preview/pr-1358/404.html b/pr-preview/pr-1358/404.html index 93202e4c3e..1c2c2066c0 100644 --- a/pr-preview/pr-1358/404.html +++ b/pr-preview/pr-1358/404.html @@ -7,7 +7,7 @@ - + @@ -35,7 +35,7 @@

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- + \ No newline at end of file diff --git a/pr-preview/pr-1358/README.html b/pr-preview/pr-1358/README.html index 5c6735841b..a247f50c40 100644 --- a/pr-preview/pr-1358/README.html +++ b/pr-preview/pr-1358/README.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

Celestia Documentation Site

Welcome to the official documentation repository for Celestia.

Here you'll find comprehensive guides, tutorials, and reference materials to help you make the most out of Celestia.

Building the site

To get started, clone the repository and run the following:

bash
yarn && yarn dev
yarn && yarn dev

This documentation site is built with VitePress

Contribution Guidelines

We love contributions from the community! Whether you're fixing typos, improving content clarity, or adding new topics, every contribution helps.

  • Fork & Clone: Fork this repository and clone it to your local machine.
  • Branch: Always create a new branch for your changes. Naming it relevantly.
  • Commit Changes: Make your changes and commit them with a clear and concise commit message.
  • Push & Create PR: Push your changes to your fork and create a pull request to the main branch of this repository.

Please ensure to review the detailed Contribution Guidelines above before making a pull request.

Directory Structure

  • /learn: A category for learning about Celestia.
  • /developers: A category with tutorials and guides for deploying rollups and interacting with Celestia nodes.
  • /nodes: Technical reference materials for all node types.
  • /community: A category for the Celestia community.
  • /public: Images, diagrams, and other media files used in the documentation.

Feedback & Suggestions

We value feedback from the community. If you have suggestions for improvements or find any discrepancies in the documentation, please raise an issue in this repository.

- +

Celestia Documentation Site

Welcome to the official documentation repository for Celestia.

Here you'll find comprehensive guides, tutorials, and reference materials to help you make the most out of Celestia.

Building the site

To get started, clone the repository and run the following:

bash
yarn && yarn dev
yarn && yarn dev

This documentation site is built with VitePress

Contribution Guidelines

We love contributions from the community! Whether you're fixing typos, improving content clarity, or adding new topics, every contribution helps.

  • Fork & Clone: Fork this repository and clone it to your local machine.
  • Branch: Always create a new branch for your changes. Naming it relevantly.
  • Commit Changes: Make your changes and commit them with a clear and concise commit message.
  • Push & Create PR: Push your changes to your fork and create a pull request to the main branch of this repository.

Please ensure to review the detailed Contribution Guidelines above before making a pull request.

Directory Structure

  • /learn: A category for learning about Celestia.
  • /developers: A category with tutorials and guides for deploying rollups and interacting with Celestia nodes.
  • /nodes: Technical reference materials for all node types.
  • /community: A category for the Celestia community.
  • /public: Images, diagrams, and other media files used in the documentation.

Feedback & Suggestions

We value feedback from the community. If you have suggestions for improvements or find any discrepancies in the documentation, please raise an issue in this repository.

+ \ No newline at end of file diff --git a/pr-preview/pr-1358/assets/README.md.ddbe6c67.js b/pr-preview/pr-1358/assets/README.md.e799d281.js similarity index 96% rename from pr-preview/pr-1358/assets/README.md.ddbe6c67.js rename to pr-preview/pr-1358/assets/README.md.e799d281.js index 8a6058045c..87cd7df250 100644 --- a/pr-preview/pr-1358/assets/README.md.ddbe6c67.js +++ b/pr-preview/pr-1358/assets/README.md.e799d281.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as i}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Celestia Documentation Site","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Celestia Documentation Site | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1705009966000}'),o={name:"README.md"},n=i('

Celestia Documentation Site

Welcome to the official documentation repository for Celestia.

Here you'll find comprehensive guides, tutorials, and reference materials to help you make the most out of Celestia.

Building the site

To get started, clone the repository and run the following:

bash
yarn && yarn dev
yarn && yarn dev

This documentation site is built with VitePress

Contribution Guidelines

We love contributions from the community! Whether you're fixing typos, improving content clarity, or adding new topics, every contribution helps.

Please ensure to review the detailed Contribution Guidelines above before making a pull request.

Directory Structure

Feedback & Suggestions

We value feedback from the community. If you have suggestions for improvements or find any discrepancies in the documentation, please raise an issue in this repository.

',16),s=[n];function r(l,c,u,d,p,h){return t(),a("div",null,s)}const y=e(o,[["render",r]]);export{g as __pageData,y as default}; +import{_ as e,o as t,c as a,Q as i}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Celestia Documentation Site","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Celestia Documentation Site | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1705010189000}'),o={name:"README.md"},n=i('

Celestia Documentation Site

Welcome to the official documentation repository for Celestia.

Here you'll find comprehensive guides, tutorials, and reference materials to help you make the most out of Celestia.

Building the site

To get started, clone the repository and run the following:

bash
yarn && yarn dev
yarn && yarn dev

This documentation site is built with VitePress

Contribution Guidelines

We love contributions from the community! Whether you're fixing typos, improving content clarity, or adding new topics, every contribution helps.

Please ensure to review the detailed Contribution Guidelines above before making a pull request.

Directory Structure

Feedback & Suggestions

We value feedback from the community. If you have suggestions for improvements or find any discrepancies in the documentation, please raise an issue in this repository.

',16),s=[n];function r(l,c,u,d,p,h){return t(),a("div",null,s)}const y=e(o,[["render",r]]);export{g as __pageData,y as default}; diff --git a/pr-preview/pr-1358/assets/README.md.ddbe6c67.lean.js b/pr-preview/pr-1358/assets/README.md.e799d281.lean.js similarity index 76% rename from pr-preview/pr-1358/assets/README.md.ddbe6c67.lean.js rename to pr-preview/pr-1358/assets/README.md.e799d281.lean.js index f13bf17179..6df58855ea 100644 --- a/pr-preview/pr-1358/assets/README.md.ddbe6c67.lean.js +++ b/pr-preview/pr-1358/assets/README.md.e799d281.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as i}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Celestia Documentation Site","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Celestia Documentation Site | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1705009966000}'),o={name:"README.md"},n=i("",16),s=[n];function r(l,c,u,d,p,h){return t(),a("div",null,s)}const y=e(o,[["render",r]]);export{g as __pageData,y as default}; +import{_ as e,o as t,c as a,Q as i}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Celestia Documentation Site","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Celestia Documentation Site | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1705010189000}'),o={name:"README.md"},n=i("",16),s=[n];function r(l,c,u,d,p,h){return t(),a("div",null,s)}const y=e(o,[["render",r]]);export{g as __pageData,y as default}; diff --git a/pr-preview/pr-1358/assets/app.d72673e6.js b/pr-preview/pr-1358/assets/app.0345c282.js similarity index 95% rename from pr-preview/pr-1358/assets/app.d72673e6.js rename to pr-preview/pr-1358/assets/app.0345c282.js index 8fc1081114..9c08db6c02 100644 --- a/pr-preview/pr-1358/assets/app.d72673e6.js +++ b/pr-preview/pr-1358/assets/app.0345c282.js @@ -1 +1 @@ -import{a3 as i,s,a4 as c,a5 as l,a6 as d,a7 as f,a8 as m,a9 as h,aa as A,ab as g,ac as y,ad as P,X as v,d as w,u as C,j as R,y as _,ae as b,af as D,ag as E}from"./chunks/framework.2263f03b.js";import{t as p}from"./chunks/theme.0be5931b.js";const L={extends:p,Layout:()=>i(p.Layout,null,{}),enhanceApp({app:e,router:a,siteData:t}){}};function u(e){if(e.extends){const a=u(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const o=u(L),T=w({name:"VitePressApp",setup(){const{site:e}=C();return R(()=>{_(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),b(),D(),E(),o.setup&&o.setup(),()=>i(o.Layout)}});async function j(){const e=O(),a=x();a.provide(l,e);const t=d(e.route);return a.provide(f,t),a.component("Content",m),a.component("ClientOnly",h),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),o.enhanceApp&&await o.enhanceApp({app:a,router:e,siteData:A}),{app:a,router:e,data:t}}function x(){return g(T)}function O(){let e=s,a;return y(t=>{let n=P(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),[])),s&&(e=!1),r},o.NotFound)}s&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{c(a.route,t.site),e.mount("#app")})});export{j as createApp}; +import{a3 as i,s,a4 as c,a5 as l,a6 as d,a7 as f,a8 as m,a9 as h,aa as A,ab as g,ac as y,ad as P,X as v,d as w,u as C,j as R,y as _,ae as b,af as D,ag as E}from"./chunks/framework.2263f03b.js";import{t as p}from"./chunks/theme.f4f3d47a.js";const L={extends:p,Layout:()=>i(p.Layout,null,{}),enhanceApp({app:e,router:a,siteData:t}){}};function u(e){if(e.extends){const a=u(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const o=u(L),T=w({name:"VitePressApp",setup(){const{site:e}=C();return R(()=>{_(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),b(),D(),E(),o.setup&&o.setup(),()=>i(o.Layout)}});async function j(){const e=O(),a=x();a.provide(l,e);const t=d(e.route);return a.provide(f,t),a.component("Content",m),a.component("ClientOnly",h),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),o.enhanceApp&&await o.enhanceApp({app:a,router:e,siteData:A}),{app:a,router:e,data:t}}function x(){return g(T)}function O(){let e=s,a;return y(t=>{let n=P(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),[])),s&&(e=!1),r},o.NotFound)}s&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{c(a.route,t.site),e.mount("#app")})});export{j as createApp}; diff --git a/pr-preview/pr-1358/assets/chunks/@localSearchIndexroot.03cb80d9.js b/pr-preview/pr-1358/assets/chunks/@localSearchIndexroot.03cb80d9.js new file mode 100644 index 0000000000..3fea145491 --- /dev/null +++ b/pr-preview/pr-1358/assets/chunks/@localSearchIndexroot.03cb80d9.js @@ -0,0 +1 @@ +const e='{"documentCount":750,"nextId":750,"documentIds":{"0":"/pr-preview/pr-1358/README#celestia-documentation-site","1":"/pr-preview/pr-1358/README#building-the-site","2":"/pr-preview/pr-1358/README#contribution-guidelines","3":"/pr-preview/pr-1358/README#directory-structure","4":"/pr-preview/pr-1358/README#feedback-suggestions","5":"/pr-preview/pr-1358/community/calendar#community-calendar","6":"/pr-preview/pr-1358/community/coc#celestia-org-code-of-conduct","7":"/pr-preview/pr-1358/community/coc#our-pledge","8":"/pr-preview/pr-1358/community/coc#our-standards","9":"/pr-preview/pr-1358/community/coc#enforcement-responsibilities","10":"/pr-preview/pr-1358/community/coc#scope","11":"/pr-preview/pr-1358/community/coc#enforcement","12":"/pr-preview/pr-1358/community/coc#enforcement-guidelines","13":"/pr-preview/pr-1358/community/coc#_1-correction","14":"/pr-preview/pr-1358/community/coc#_2-warning","15":"/pr-preview/pr-1358/community/coc#_3-temporary-ban","16":"/pr-preview/pr-1358/community/coc#_4-permanent-ban","17":"/pr-preview/pr-1358/community/coc#attribution","18":"/pr-preview/pr-1358/community/cohort-one-content#cohort-one-content-calendar","19":"/pr-preview/pr-1358/community/cohort-one-content#month-1-learning-and-exploring-start-building-whenever-you-re-ready","20":"/pr-preview/pr-1358/community/cohort-one-content#week-1-26-september","21":"/pr-preview/pr-1358/community/cohort-one-content#week-2-3-october","22":"/pr-preview/pr-1358/community/cohort-one-content#week-3-10-october","23":"/pr-preview/pr-1358/community/cohort-one-content#week-4-17-october","24":"/pr-preview/pr-1358/community/cohort-one-content#month-2-designing-implementing-a-basic-prototype","25":"/pr-preview/pr-1358/community/cohort-one-content#week-5-24-october","26":"/pr-preview/pr-1358/community/cohort-one-content#week-6-31-october","27":"/pr-preview/pr-1358/community/cohort-one-content#week-7-7-november","28":"/pr-preview/pr-1358/community/cohort-one-content#week-8-14-november","29":"/pr-preview/pr-1358/community/cohort-one-content#week-9-21-november","30":"/pr-preview/pr-1358/community/cohort-one-content#month-3-build-out-the-prototype-into-a-functional-product","31":"/pr-preview/pr-1358/community/cohort-one-content#week-10-28-november","32":"/pr-preview/pr-1358/community/cohort-one-content#week-11-5-december","33":"/pr-preview/pr-1358/community/cohort-one-content#dec-12-week-12","34":"/pr-preview/pr-1358/community/cohort-one-content#dec-19-week-13-no-scheduled-events-meet-with-mentors","35":"/pr-preview/pr-1358/community/cohort-one-content#dec-26-week-14-no-scheduled-events-holiday-break-🎉","36":"/pr-preview/pr-1358/community/cohort-one-content#jan-2-week-15-no-scheduled-events-meet-with-mentors","37":"/pr-preview/pr-1358/community/cohort-one-content#jan-9-week-16-submissions-due","38":"/pr-preview/pr-1358/community/cohort-one-content#project-repositories","39":"/pr-preview/pr-1358/community/cohort-one-content#individual-fellows","40":"/pr-preview/pr-1358/community/cohort-one-content#team-fellows","41":"/pr-preview/pr-1358/community/itn-tos#supplemental-incentivized-testnet-terms","42":"/pr-preview/pr-1358/community/itn-tos#_1-general-terms","43":"/pr-preview/pr-1358/community/itn-tos#_2-taxes","44":"/pr-preview/pr-1358/community/itn-tos#_3-supplemental-privacy-information","45":"/pr-preview/pr-1358/community/itn-tos#_4-certain-additional-representations","46":"/pr-preview/pr-1358/community/modular-fellows#modular-fellows","47":"/pr-preview/pr-1358/community/modular-fellows#overview","48":"/pr-preview/pr-1358/community/modular-fellows#milestones","49":"/pr-preview/pr-1358/community/modular-fellows#project-ideas","50":"/pr-preview/pr-1358/community/modular-fellows#support","51":"/pr-preview/pr-1358/community/modular-fellows#continuation","52":"/pr-preview/pr-1358/community/modular-fellows#modular-mentors","53":"/pr-preview/pr-1358/community/modular-meetup-guide#modular-meetup-guide","54":"/pr-preview/pr-1358/community/modular-meetup-guide#before-the-meetup","55":"/pr-preview/pr-1358/community/modular-meetup-guide#during-the-meetup","56":"/pr-preview/pr-1358/community/modular-meetup-guide#after-the-meetup","57":"/pr-preview/pr-1358/community/modular-meetup-guide#logistics-and-guidance","58":"/pr-preview/pr-1358/community/modular-meetup-guide#venue","59":"/pr-preview/pr-1358/community/modular-meetup-guide#catering-and-refreshments","60":"/pr-preview/pr-1358/community/modular-meetup-guide#audience","61":"/pr-preview/pr-1358/community/modular-meetup-guide#speakers","62":"/pr-preview/pr-1358/community/modular-meetup-guide#sponsors","63":"/pr-preview/pr-1358/community/modular-meetup-guide#communications-and-marketing","64":"/pr-preview/pr-1358/community/modular-meetup-guide#recording","65":"/pr-preview/pr-1358/community/modular-meetup-guide#utilizing-meetup-com-platform","66":"/pr-preview/pr-1358/community/modular-meetup-guide#onboarding-questions-for-community-members-joining-a-modular-meetup","67":"/pr-preview/pr-1358/community/modular-meetup-intro#celestia-modular-meetup-program","68":"/pr-preview/pr-1358/community/modular-meetup-intro#program-description","69":"/pr-preview/pr-1358/community/modular-meetup-intro#important-info","70":"/pr-preview/pr-1358/community/modular-meetup-intro#celestia-org-community-code-of-conduct","71":"/pr-preview/pr-1358/community/modular-meetup-intro#signup-form","72":"/pr-preview/pr-1358/community/modular-meetup-intro#emails","73":"/pr-preview/pr-1358/community/modular-meetup-intro#discord","74":"/pr-preview/pr-1358/community/modular-meetup-intro#materials","75":"/pr-preview/pr-1358/community/modular-meetup-toolkit#modular-meetup-toolkit","76":"/pr-preview/pr-1358/community/modular-meetup-toolkit#celestia-branding-guidelines","77":"/pr-preview/pr-1358/community/modular-meetup-toolkit#sample-introduction-to-modularity-workshop-presentation","78":"/pr-preview/pr-1358/community/modular-meetup-toolkit#sample-run-a-celestia-light-node-workshop-presentation","79":"/pr-preview/pr-1358/community/modular-meetup-toolkit#sample-deploy-a-sovereign-rollup-workshop-presentation","80":"/pr-preview/pr-1358/community/modular-meetup-toolkit#sample-modular-meetup-introduction-workshop-presentation","81":"/pr-preview/pr-1358/community/modular-meetup-toolkit#swag-logistics","82":"/pr-preview/pr-1358/community/overview#community-overview","83":"/pr-preview/pr-1358/community/speaker-list#speaker-list","84":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#deploy-a-dapp-on-your-arbitrum-rollup-devnet","85":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#dependencies","86":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#setup-and-contract-deployment","87":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#interact-with-the-contract","88":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#update-the-frontend","89":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#interact-with-the-frontend","90":"/pr-preview/pr-1358/developers/arbitrum-deploy#deploy-an-arbitrum-rollup-devnet","91":"/pr-preview/pr-1358/developers/arbitrum-deploy#dependencies","92":"/pr-preview/pr-1358/developers/arbitrum-deploy#general","93":"/pr-preview/pr-1358/developers/arbitrum-deploy#rust","94":"/pr-preview/pr-1358/developers/arbitrum-deploy#golang","95":"/pr-preview/pr-1358/developers/arbitrum-deploy#node","96":"/pr-preview/pr-1358/developers/arbitrum-deploy#other-dependencies","97":"/pr-preview/pr-1358/developers/arbitrum-deploy#clone-the-repository","98":"/pr-preview/pr-1358/developers/arbitrum-deploy#installing-nitro-from-source","99":"/pr-preview/pr-1358/developers/arbitrum-deploy#validating-with-wasm","100":"/pr-preview/pr-1358/developers/arbitrum-deploy#next-steps","101":"/pr-preview/pr-1358/developers/arbitrum-integration#introduction-to-arbitrum-rollups-with-celestia-as-da","102":"/pr-preview/pr-1358/developers/arbitrum-integration#overview","103":"/pr-preview/pr-1358/developers/arbitrum-integration#blobstream","104":"/pr-preview/pr-1358/developers/arbitrum-integration#ethereum-fallback-mechanism-in-nitro","105":"/pr-preview/pr-1358/developers/arbitrum-integration#next-steps","106":"/pr-preview/pr-1358/developers/arbitrum-mocha#deploy-an-arbitrum-rollup-to-mocha-testnet","107":"/pr-preview/pr-1358/developers/arbitrum-mocha#dependencies","108":"/pr-preview/pr-1358/developers/arbitrum-mocha#setting-up-your-light-node","109":"/pr-preview/pr-1358/developers/arbitrum-mocha#run-your-nitro-rollup-on-mocha","110":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#deploy-a-smart-contract-to-your-arbitrum-rollup","111":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#overview","112":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#prerequisites","113":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#setup","114":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#create-your-smart-contract","115":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#test-your-smart-contract","116":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#deploying-your-smart-contract","117":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#funded-accounts","118":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#using-our-arbitrum-devnet","119":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#interacting-with-your-smart-contract","120":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#next-steps","121":"/pr-preview/pr-1358/developers/blobstream-contracts#integrate-with-blobstream-contracts","122":"/pr-preview/pr-1358/developers/blobstream-contracts#getting-started","123":"/pr-preview/pr-1358/developers/blobstream-contracts#prerequisites","124":"/pr-preview/pr-1358/developers/blobstream-contracts#installing-blobstream-contracts","125":"/pr-preview/pr-1358/developers/blobstream-contracts#example-usage","126":"/pr-preview/pr-1358/developers/blobstream-contracts#data-structures","127":"/pr-preview/pr-1358/developers/blobstream-contracts#interface","128":"/pr-preview/pr-1358/developers/blobstream-contracts#querying-the-proof","129":"/pr-preview/pr-1358/developers/blobstream-contracts#verifying-data-inclusion-for-fraud-proofs","130":"/pr-preview/pr-1358/developers/blobstream-offchain#integrate-with-blobstream-client","131":"/pr-preview/pr-1358/developers/blobstream-offchain#blobstream-demo-rollup","132":"/pr-preview/pr-1358/developers/blobstream-offchain#defining-a-chain","133":"/pr-preview/pr-1358/developers/blobstream-offchain#rollup-sequencer","134":"/pr-preview/pr-1358/developers/blobstream-offchain#committing-to-data","135":"/pr-preview/pr-1358/developers/blobstream-offchain#creating-blocks","136":"/pr-preview/pr-1358/developers/blobstream-offchain#rollup-full-node","137":"/pr-preview/pr-1358/developers/blobstream-offchain#downloading-the-block","138":"/pr-preview/pr-1358/developers/blobstream-offchain#more-documentation","139":"/pr-preview/pr-1358/developers/blobstream-offchain#proving-inclusion-via-blobstream","140":"/pr-preview/pr-1358/developers/blobstream-offchain#submitting-block-data-to-celestia-via-light-node","141":"/pr-preview/pr-1358/developers/blobstream-offchain#posting-headers-to-ethereum","142":"/pr-preview/pr-1358/developers/blobstream-proof-queries#blobstream-proofs-queries","143":"/pr-preview/pr-1358/developers/blobstream-proof-queries#prerequisites","144":"/pr-preview/pr-1358/developers/blobstream-proof-queries#querying-the-proofs","145":"/pr-preview/pr-1358/developers/blobstream-proof-queries#_1-data-root-inclusion-proof","146":"/pr-preview/pr-1358/developers/blobstream-proof-queries#_2-transaction-inclusion-proof","147":"/pr-preview/pr-1358/developers/blobstream-proof-queries#converting-the-proofs-to-be-usable-in-the-daverifier-contract","148":"/pr-preview/pr-1358/developers/blobstream-proof-queries#data","149":"/pr-preview/pr-1358/developers/blobstream-proof-queries#shareproofs","150":"/pr-preview/pr-1358/developers/blobstream-proof-queries#namespace","151":"/pr-preview/pr-1358/developers/blobstream-proof-queries#rowroots","152":"/pr-preview/pr-1358/developers/blobstream-proof-queries#rowproofs","153":"/pr-preview/pr-1358/developers/blobstream-proof-queries#attestationproof","154":"/pr-preview/pr-1358/developers/blobstream-proof-queries#high-level-diagrams","155":"/pr-preview/pr-1358/developers/blobstream-proof-queries#the-celestia-square","156":"/pr-preview/pr-1358/developers/blobstream-proof-queries#the-commitment-scheme","157":"/pr-preview/pr-1358/developers/blobstream-proof-queries#conclusion","158":"/pr-preview/pr-1358/developers/blobstream#integrate-with-blobstream","159":"/pr-preview/pr-1358/developers/blobstream#overview","160":"/pr-preview/pr-1358/developers/blobstream#how-blobstream-works","161":"/pr-preview/pr-1358/developers/blobstream#events-and-messages-relayed","162":"/pr-preview/pr-1358/developers/blobstream#how-to-integrate","163":"/pr-preview/pr-1358/developers/blobstream#deployed-contracts","164":"/pr-preview/pr-1358/developers/blobstream#blobstream-vs-data-availability-committees-dacs","165":"/pr-preview/pr-1358/developers/blobstream#decentralization-and-security","166":"/pr-preview/pr-1358/developers/blobstream#mechanism-of-verification","167":"/pr-preview/pr-1358/developers/blobstream#flexibility-and-scalability","168":"/pr-preview/pr-1358/developers/bubs-testnet#bubs-testnet","169":"/pr-preview/pr-1358/developers/bubs-testnet#built-with-the-op-stack-and-celestia","170":"/pr-preview/pr-1358/developers/bubs-testnet#building-on-bubs","171":"/pr-preview/pr-1358/developers/bubs-testnet#rpc-urls","172":"/pr-preview/pr-1358/developers/bubs-testnet#https","173":"/pr-preview/pr-1358/developers/bubs-testnet#wss","174":"/pr-preview/pr-1358/developers/bubs-testnet#faucet","175":"/pr-preview/pr-1358/developers/bubs-testnet#explorer","176":"/pr-preview/pr-1358/developers/bubs-testnet#next-steps","177":"/pr-preview/pr-1358/developers/build-modular#build-modular","178":"/pr-preview/pr-1358/developers/build-modular#what-is-a-modular-blockchain","179":"/pr-preview/pr-1358/developers/build-modular#ease-of-deploying-a-chain","180":"/pr-preview/pr-1358/developers/build-modular#scaling","181":"/pr-preview/pr-1358/developers/build-modular#customizability","182":"/pr-preview/pr-1358/developers/build-modular#building-on-celestia","183":"/pr-preview/pr-1358/developers/build-modular#smart-contracts","184":"/pr-preview/pr-1358/developers/build-modular#sovereign-rollups","185":"/pr-preview/pr-1358/developers/build-modular#rollups","186":"/pr-preview/pr-1358/developers/celestia-app-vesting#how-to-create-a-vesting-account-with-celestia-app","187":"/pr-preview/pr-1358/developers/celestia-app-vesting#local-devnet","188":"/pr-preview/pr-1358/developers/celestia-app-vesting#setting-up-the-local-devnet","189":"/pr-preview/pr-1358/developers/celestia-app-vesting#run-the-devnet","190":"/pr-preview/pr-1358/developers/celestia-app-vesting#save-the-home-directory-path","191":"/pr-preview/pr-1358/developers/celestia-app-vesting#check-the-version-of-the-devnet","192":"/pr-preview/pr-1358/developers/celestia-app-vesting#next-steps","193":"/pr-preview/pr-1358/developers/celestia-app-vesting#setting-up-vesting-account-on-devnet","194":"/pr-preview/pr-1358/developers/celestia-app-vesting#create-a-new-key","195":"/pr-preview/pr-1358/developers/celestia-app-vesting#list-your-keys","196":"/pr-preview/pr-1358/developers/celestia-app-vesting#set-variables","197":"/pr-preview/pr-1358/developers/celestia-app-vesting#create-your-devnet-vesting-account","198":"/pr-preview/pr-1358/developers/celestia-app-vesting#query-the-devnet-vesting-account-details","199":"/pr-preview/pr-1358/developers/celestia-app-vesting#query-the-devnet-base-account-details","200":"/pr-preview/pr-1358/developers/celestia-app-vesting#query-the-balances-of-the-devnet-accounts","201":"/pr-preview/pr-1358/developers/celestia-app-vesting#mocha","202":"/pr-preview/pr-1358/developers/celestia-app-vesting#create-a-wallet","203":"/pr-preview/pr-1358/developers/celestia-app-vesting#fund-your-account","204":"/pr-preview/pr-1358/developers/celestia-app-vesting#create-a-vesting-account-on-mocha","205":"/pr-preview/pr-1358/developers/celestia-app-vesting#optional-set-up-a-full-consensus-node-or-validator","206":"/pr-preview/pr-1358/developers/celestia-app-vesting#optional-change-your-client-toml","207":"/pr-preview/pr-1358/developers/celestia-app-vesting#notes","208":"/pr-preview/pr-1358/developers/celestia-app-vesting#conclusion","209":"/pr-preview/pr-1358/developers/celestia-app-wallet#create-a-wallet-with-celestia-app","210":"/pr-preview/pr-1358/developers/celestia-app-wallet#prerequisites","211":"/pr-preview/pr-1358/developers/celestia-app-wallet#create-a-wallet","212":"/pr-preview/pr-1358/developers/celestia-app-wallet#fund-a-wallet","213":"/pr-preview/pr-1358/developers/celestia-node-key#create-a-wallet-with-celestia-node","214":"/pr-preview/pr-1358/developers/celestia-node-key#using-the-cel-key-utility","215":"/pr-preview/pr-1358/developers/celestia-node-key#installation","216":"/pr-preview/pr-1358/developers/celestia-node-key#steps-for-generating-node-keys","217":"/pr-preview/pr-1358/developers/celestia-node-key#steps-for-exporting-node-keys","218":"/pr-preview/pr-1358/developers/celestia-node-key#steps-for-importing-node-keys","219":"/pr-preview/pr-1358/developers/celestia-node-key#view-all-options-for-cel-key","220":"/pr-preview/pr-1358/developers/celestia-node-key#docker-and-cel-key","221":"/pr-preview/pr-1358/developers/celestia-node-key#prerequisites","222":"/pr-preview/pr-1358/developers/celestia-node-key#running-your-node","223":"/pr-preview/pr-1358/developers/celestia-node-key#mounting-existing-keys-to-container","224":"/pr-preview/pr-1358/developers/cosmostation#cosmostation-integration-with-celestia","225":"/pr-preview/pr-1358/developers/cosmostation#install-cosmostation","226":"/pr-preview/pr-1358/developers/cosmostation#add-celestia-network-parameters","227":"/pr-preview/pr-1358/developers/deploy-on-bubs#deploy-a-smart-contract-on-bubs-testnet","228":"/pr-preview/pr-1358/developers/deploy-on-bubs#dependencies","229":"/pr-preview/pr-1358/developers/deploy-on-bubs#setup","230":"/pr-preview/pr-1358/developers/deploy-on-bubs#create-your-smart-contract","231":"/pr-preview/pr-1358/developers/deploy-on-bubs#test-your-smart-contract","232":"/pr-preview/pr-1358/developers/deploy-on-bubs#deploying-your-smart-contract","233":"/pr-preview/pr-1358/developers/deploy-on-bubs#using-anvil","234":"/pr-preview/pr-1358/developers/deploy-on-bubs#using-bubs","235":"/pr-preview/pr-1358/developers/deploy-on-bubs#interacting-with-your-smart-contract","236":"/pr-preview/pr-1358/developers/deploy-on-bubs#next-steps","237":"/pr-preview/pr-1358/developers/ethereum-fallback#ethereum-fallback","238":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#full-stack-modular-blockchain-development-guide","239":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#getting-started","240":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#pre-requisites","241":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#project-setup","242":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#updating-the-contract-and-tests","243":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#running-the-test","244":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#updating-the-deployment-script","245":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#deploying-locally","246":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#deploying-to-the-ethermint-sovereign-rollup","247":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#building-the-frontend","248":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#configuring-environment-variables","249":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#configuring-the-entrypoint","250":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#creating-and-reading-posts","251":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#adding-ethermint-chain-to-metamask","252":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#testing-it-out-on-ethermint","253":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#now-give-it-a-spin-🌀","254":"/pr-preview/pr-1358/developers/gm-portal-bubs#deploying-a-dapp-on-bubs-testnet","255":"/pr-preview/pr-1358/developers/gm-portal-bubs#update-the-frontend","256":"/pr-preview/pr-1358/developers/gm-portal-bubs#interact-with-the-frontend","257":"/pr-preview/pr-1358/developers/gm-portal-bubs#next-steps","258":"/pr-preview/pr-1358/developers/how-to-stake-tia#how-to-stake-tia","259":"/pr-preview/pr-1358/developers/how-to-stake-tia#select-your-preferred-wallet","260":"/pr-preview/pr-1358/developers/how-to-stake-tia#stake-tia-with-keplr-wallet","261":"/pr-preview/pr-1358/developers/how-to-stake-tia#open-your-keplr-browser-extension","262":"/pr-preview/pr-1358/developers/how-to-stake-tia#select-celestia-network-and-search-for-a-validator","263":"/pr-preview/pr-1358/developers/how-to-stake-tia#stake-your-tia-tokens","264":"/pr-preview/pr-1358/developers/how-to-stake-tia#confirm-and-manage-your-tia","265":"/pr-preview/pr-1358/developers/how-to-stake-tia#stake-tia-with-leap-wallet","266":"/pr-preview/pr-1358/developers/how-to-stake-tia#open-your-leap-browser-extension","267":"/pr-preview/pr-1358/developers/how-to-stake-tia#select-a-validator-and-stake-tia","268":"/pr-preview/pr-1358/developers/how-to-stake-tia#confirm-and-manage-your-tia-1","269":"/pr-preview/pr-1358/developers/ibc-relayer#ibc-relaying-guide","270":"/pr-preview/pr-1358/developers/ibc-relayer#hermes","271":"/pr-preview/pr-1358/developers/ibc-relayer#configuration","272":"/pr-preview/pr-1358/developers/ibc-relayer#add-relayer-wallets","273":"/pr-preview/pr-1358/developers/ibc-relayer#verify-configuration-files","274":"/pr-preview/pr-1358/developers/ibc-relayer#create-a-connection-between-2-chains","275":"/pr-preview/pr-1358/developers/ibc-relayer#create-clients","276":"/pr-preview/pr-1358/developers/ibc-relayer#open-connection-over-new-clients","277":"/pr-preview/pr-1358/developers/ibc-relayer#configure-channels-in-hermes","278":"/pr-preview/pr-1358/developers/ibc-relayer#start-the-relayer","279":"/pr-preview/pr-1358/developers/ibc-relayer#transfer","280":"/pr-preview/pr-1358/developers/ibc-relayer#token-filter","281":"/pr-preview/pr-1358/developers/integrate-celestia#integrate-celestia-for-service-providers","282":"/pr-preview/pr-1358/developers/integrate-celestia#getting-started","283":"/pr-preview/pr-1358/developers/integrate-celestia#celestia-service-provider-notes","284":"/pr-preview/pr-1358/developers/integrate-celestia#custody-and-key-management","285":"/pr-preview/pr-1358/developers/integrate-celestia#rpc-and-querying","286":"/pr-preview/pr-1358/developers/integrate-celestia#compatibility","287":"/pr-preview/pr-1358/developers/integrate-celestia#syncing","288":"/pr-preview/pr-1358/developers/integrate-celestia#notable-exceptions-relative-to-other-blockchains","289":"/pr-preview/pr-1358/developers/intro-to-op-stack#introduction-to-op-stack-integration","290":"/pr-preview/pr-1358/developers/intro-to-op-stack#about-the-integration","291":"/pr-preview/pr-1358/developers/intro-to-op-stack#table-of-contents-of-the-category","292":"/pr-preview/pr-1358/developers/intro-to-op-stack#celestia-and-op-stack-repository","293":"/pr-preview/pr-1358/developers/intro-to-op-stack#what-are-optimism-and-the-op-stack","294":"/pr-preview/pr-1358/developers/intro-to-op-stack#what-is-celestia","295":"/pr-preview/pr-1358/developers/intro-to-op-stack#op-stack-and-celestia","296":"/pr-preview/pr-1358/developers/intro-to-op-stack#next-steps","297":"/pr-preview/pr-1358/developers/keplr#keplr-integration-with-celestia","298":"/pr-preview/pr-1358/developers/keplr#add-celestia-network-to-keplr","299":"/pr-preview/pr-1358/developers/leap#leap-integration-with-celestia","300":"/pr-preview/pr-1358/developers/leap#install-leap","301":"/pr-preview/pr-1358/developers/leap#add-mocha-testnet","302":"/pr-preview/pr-1358/developers/leap#adding-a-custom-chain-to-leap","303":"/pr-preview/pr-1358/developers/nitrogen#nitrogen-testnet","304":"/pr-preview/pr-1358/developers/nitrogen#getting-started-with-nitrogen","305":"/pr-preview/pr-1358/developers/nitrogen#nitrogen-tokens","306":"/pr-preview/pr-1358/developers/nitrogen#optional-bridging-tokens","307":"/pr-preview/pr-1358/developers/node-api#node-api","308":"/pr-preview/pr-1358/developers/node-api#rpc-api","309":"/pr-preview/pr-1358/developers/node-api#library","310":"/pr-preview/pr-1358/developers/node-api#rpc","311":"/pr-preview/pr-1358/developers/node-api#rpc-api-tutorial","312":"/pr-preview/pr-1358/developers/node-api#gateway-api","313":"/pr-preview/pr-1358/developers/node-api#gateway-api-tutorial","314":"/pr-preview/pr-1358/developers/node-tutorial#celestia-node-rpc-cli-tutorial","315":"/pr-preview/pr-1358/developers/node-tutorial#introduction","316":"/pr-preview/pr-1358/developers/node-tutorial#blobs","317":"/pr-preview/pr-1358/developers/node-tutorial#namespaces","318":"/pr-preview/pr-1358/developers/node-tutorial#hardware-requirements","319":"/pr-preview/pr-1358/developers/node-tutorial#setting-up-dependencies","320":"/pr-preview/pr-1358/developers/node-tutorial#install-golang","321":"/pr-preview/pr-1358/developers/node-tutorial#celestia-node","322":"/pr-preview/pr-1358/developers/node-tutorial#install-celestia-node","323":"/pr-preview/pr-1358/developers/node-tutorial#instantiate-a-celestia-light-node","324":"/pr-preview/pr-1358/developers/node-tutorial#connect-to-a-public-core-endpoint","325":"/pr-preview/pr-1358/developers/node-tutorial#keys-and-wallets","326":"/pr-preview/pr-1358/developers/node-tutorial#rpc-cli-guide","327":"/pr-preview/pr-1358/developers/node-tutorial#command-formatting","328":"/pr-preview/pr-1358/developers/node-tutorial#basic-flags","329":"/pr-preview/pr-1358/developers/node-tutorial#auth-token","330":"/pr-preview/pr-1358/developers/node-tutorial#node-store","331":"/pr-preview/pr-1358/developers/node-tutorial#auth-token-on-custom-or-private-network","332":"/pr-preview/pr-1358/developers/node-tutorial#submitting-data","333":"/pr-preview/pr-1358/developers/node-tutorial#retrieving-data","334":"/pr-preview/pr-1358/developers/node-tutorial#setting-the-gas-fee-and-limit","335":"/pr-preview/pr-1358/developers/node-tutorial#examples","336":"/pr-preview/pr-1358/developers/node-tutorial#check-your-balance","337":"/pr-preview/pr-1358/developers/node-tutorial#check-the-balance-of-another-address","338":"/pr-preview/pr-1358/developers/node-tutorial#get-your-node-id","339":"/pr-preview/pr-1358/developers/node-tutorial#get-your-account-address","340":"/pr-preview/pr-1358/developers/node-tutorial#get-block-header-by-height","341":"/pr-preview/pr-1358/developers/node-tutorial#combined-commands","342":"/pr-preview/pr-1358/developers/node-tutorial#get-data-availability-sampler-stats","343":"/pr-preview/pr-1358/developers/node-tutorial#transfer-balance-of-utia-to-another-account","344":"/pr-preview/pr-1358/developers/node-tutorial#api-version","345":"/pr-preview/pr-1358/developers/node-tutorial#help","346":"/pr-preview/pr-1358/developers/node-tutorial#advanced-example","347":"/pr-preview/pr-1358/developers/node-tutorial#additional-resources","348":"/pr-preview/pr-1358/developers/node-tutorial#post-an-svg-as-a-pfb","349":"/pr-preview/pr-1358/developers/node-tutorial#golang-guide","350":"/pr-preview/pr-1358/developers/node-tutorial#troubleshooting","351":"/pr-preview/pr-1358/developers/optimism-devnet#deploy-an-op-stack-devnet","352":"/pr-preview/pr-1358/developers/optimism-devnet#dependency-setup","353":"/pr-preview/pr-1358/developers/optimism-devnet#environment-setup-and-golang-installation","354":"/pr-preview/pr-1358/developers/optimism-devnet#clone-repository","355":"/pr-preview/pr-1358/developers/optimism-devnet#build-devnet","356":"/pr-preview/pr-1358/developers/optimism-devnet#start-devnet","357":"/pr-preview/pr-1358/developers/optimism-devnet#view-the-logs-of-the-devnet","358":"/pr-preview/pr-1358/developers/optimism-devnet#stop-devnet","359":"/pr-preview/pr-1358/developers/optimism-devnet#viewing-containers","360":"/pr-preview/pr-1358/developers/optimism-devnet#find-a-transaction","361":"/pr-preview/pr-1358/developers/optimism-devnet#read-the-transaction-call-data","362":"/pr-preview/pr-1358/developers/optimism-devnet#find-the-data-on-celestia","363":"/pr-preview/pr-1358/developers/optimism-devnet#ethereum-fallback-mechanism-in-op-stack","364":"/pr-preview/pr-1358/developers/optimism-devnet#implementation-of-fallback","365":"/pr-preview/pr-1358/developers/optimism-devnet#testing-the-fallback","366":"/pr-preview/pr-1358/developers/optimism-devnet#span-batches","367":"/pr-preview/pr-1358/developers/optimism#deploy-an-op-stack-devnet-to-celestia","368":"/pr-preview/pr-1358/developers/optimism#pick-your-deployment-type","369":"/pr-preview/pr-1358/developers/optimism#using-a-local-devnet","370":"/pr-preview/pr-1358/developers/optimism#using-a-light-node","371":"/pr-preview/pr-1358/developers/optimism#using-a-raas-provider","372":"/pr-preview/pr-1358/developers/optimism#build-the-devnet","373":"/pr-preview/pr-1358/developers/optimism#start-the-devnet","374":"/pr-preview/pr-1358/developers/optimism#view-the-logs-of-the-devnet","375":"/pr-preview/pr-1358/developers/optimism#stop-the-devnet","376":"/pr-preview/pr-1358/developers/optimism#clean-the-devnet","377":"/pr-preview/pr-1358/developers/optimism#deploying-to-an-l1-or-l2","378":"/pr-preview/pr-1358/developers/prompt-scavenger#prompt-scavenger","379":"/pr-preview/pr-1358/developers/prompt-scavenger#dependencies","380":"/pr-preview/pr-1358/developers/prompt-scavenger#install-celestia-node-and-run-a-light-node","381":"/pr-preview/pr-1358/developers/prompt-scavenger#node-api-authentication-key","382":"/pr-preview/pr-1358/developers/prompt-scavenger#openai-key","383":"/pr-preview/pr-1358/developers/prompt-scavenger#building-the-prompt-scavenger","384":"/pr-preview/pr-1358/developers/prompt-scavenger#copy-over-go-files","385":"/pr-preview/pr-1358/developers/prompt-scavenger#build-your-import-statements","386":"/pr-preview/pr-1358/developers/prompt-scavenger#helpful-functions","387":"/pr-preview/pr-1358/developers/prompt-scavenger#wrapping-up-the-functions","388":"/pr-preview/pr-1358/developers/prompt-scavenger#next-steps","389":"/pr-preview/pr-1358/developers/retrievability#data-retrievability-and-pruning","390":"/pr-preview/pr-1358/developers/retrievability#data-retrievability-and-pruning-in-celestia-node","391":"/pr-preview/pr-1358/developers/retrievability#suggested-practices-for-rollups","392":"/pr-preview/pr-1358/developers/rollkit#rollkit","393":"/pr-preview/pr-1358/developers/rollkit#tutorials","394":"/pr-preview/pr-1358/developers/rollup-overview#deploy-a-rollup","395":"/pr-preview/pr-1358/developers/rollup-overview#what-is-a-rollup","396":"/pr-preview/pr-1358/developers/rollup-overview#section-contents","397":"/pr-preview/pr-1358/developers/staking#staking-on-celestia","398":"/pr-preview/pr-1358/developers/staking#mainnet-beta","399":"/pr-preview/pr-1358/developers/staking#mocha-testnet","400":"/pr-preview/pr-1358/developers/submit-data#submitting-data-blobs-to-celestia","401":"/pr-preview/pr-1358/developers/submit-data#fee-market-and-mempool","402":"/pr-preview/pr-1358/developers/submit-data#fees-and-gas-limits","403":"/pr-preview/pr-1358/developers/submit-data#estimating-pfb-gas","404":"/pr-preview/pr-1358/developers/submit-data#gas-fee-calculation","405":"/pr-preview/pr-1358/developers/submit-data#estimating-gas-programmatically","406":"/pr-preview/pr-1358/developers/submit-data#submitting-multiple-transactions-in-one-block-from-the-same-account","407":"/pr-preview/pr-1358/developers/submit-data#api","408":"/pr-preview/pr-1358/developers/submit-data#the-celestia-app-consensus-node-cli","409":"/pr-preview/pr-1358/developers/submit-data#the-celestia-node-light-node-cli","410":"/pr-preview/pr-1358/developers/submit-data#grpc-to-a-consensus-node-via-the-user-package","411":"/pr-preview/pr-1358/developers/submit-data#rpc-to-a-celestia-node","412":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#data-availability-faq","413":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-data-availability","414":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-the-data-availability-problem","415":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#how-do-nodes-verify-data-availability-in-celestia","416":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-data-availability-sampling","417":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-are-some-of-the-security-assumptions-that-celestia-makes-for-data-availability-sampling","418":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#why-is-block-reconstruction-necessary-for-security","419":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-data-storage","420":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-the-problem-around-data-storage","421":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-the-difference-between-data-availability-and-data-storage","422":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#where-does-blockchain-state-fit-into-this","423":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#why-doesn-t-celestia-incentivize-storage-of-historical-data","424":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#who-may-store-historical-data-if-there-is-no-reward","425":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-are-some-things-blockchains-can-do-to-provide-stronger-assurances-of-data-retrievability","426":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#celestia-s-data-availability-layer","427":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#data-availability-sampling-das","428":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#scalability","429":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#fraud-proofs-of-incorrectly-extended-data","430":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#namespaced-merkle-trees-nmts","431":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#building-a-pos-blockchain-for-da","432":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#providing-data-availability","433":"/pr-preview/pr-1358/learn/how-celestia-works/monolithic-vs-modular#monolithic-vs-modular-blockchains","434":"/pr-preview/pr-1358/learn/how-celestia-works/overview#introduction","435":"/pr-preview/pr-1358/learn/how-celestia-works/transaction-lifecycle#the-lifecycle-of-a-celestia-app-transaction","436":"/pr-preview/pr-1358/learn/how-celestia-works/transaction-lifecycle#checking-data-availability","437":"/pr-preview/pr-1358/learn/paying-for-blobspace#paying-for-blobspace","438":"/pr-preview/pr-1358/learn/paying-for-blobspace#payforblobs-transactions","439":"/pr-preview/pr-1358/learn/paying-for-blobspace#fee-market-overview","440":"/pr-preview/pr-1358/learn/staking-governance-supply#staking-governance-supply","441":"/pr-preview/pr-1358/learn/staking-governance-supply#proof-of-stake-on-celestia","442":"/pr-preview/pr-1358/learn/staking-governance-supply#inflation","443":"/pr-preview/pr-1358/learn/staking-governance-supply#decentralised-governance","444":"/pr-preview/pr-1358/learn/staking-governance-supply#network-parameters","445":"/pr-preview/pr-1358/learn/staking-governance-supply#community-pool","446":"/pr-preview/pr-1358/learn/staking-governance-supply#tia-allocation-at-genesis","447":"/pr-preview/pr-1358/learn/staking-governance-supply#unlocks","448":"/pr-preview/pr-1358/learn/tia#overview-of-tia","449":"/pr-preview/pr-1358/learn/tia#tia-at-a-glance","450":"/pr-preview/pr-1358/learn/tia#role-of-tia","451":"/pr-preview/pr-1358/learn/tia#paying-for-blobspace","452":"/pr-preview/pr-1358/learn/tia#bootstrapping-new-rollups","453":"/pr-preview/pr-1358/learn/tia#proof-of-stake","454":"/pr-preview/pr-1358/learn/tia#decentralised-governance","455":"/pr-preview/pr-1358/learn/tia#denominations","456":"/pr-preview/pr-1358/learn/tia#tia-display-token","457":"/pr-preview/pr-1358/learn/tia#utia-staking-denomination","458":"/pr-preview/pr-1358/learn/tia#microtia-staking-denomination-alias","459":"/pr-preview/pr-1358/nodes/arabica-9#arabica-9-devnet","460":"/pr-preview/pr-1358/nodes/arabica-9#software-version-numbers","461":"/pr-preview/pr-1358/nodes/arabica-9#integrations","462":"/pr-preview/pr-1358/nodes/arabica-9#rpc-endpoints","463":"/pr-preview/pr-1358/nodes/arabica-9#bridge-full-and-light-nodes","464":"/pr-preview/pr-1358/nodes/arabica-9#full-and-light-nodes-only","465":"/pr-preview/pr-1358/nodes/arabica-9#api-endpoints","466":"/pr-preview/pr-1358/nodes/arabica-9#grpc-endpoints","467":"/pr-preview/pr-1358/nodes/arabica-9#arabica-devnet-faucet","468":"/pr-preview/pr-1358/nodes/arabica-9#web","469":"/pr-preview/pr-1358/nodes/arabica-9#explorers","470":"/pr-preview/pr-1358/nodes/arabica-9#network-upgrades","471":"/pr-preview/pr-1358/nodes/arabica-devnet#arabica-devnet","472":"/pr-preview/pr-1358/nodes/arabica-devnet#network-stability-and-upgrades","473":"/pr-preview/pr-1358/nodes/arabica-devnet#network-details","474":"/pr-preview/pr-1358/nodes/arabica-devnet#software-version-numbers","475":"/pr-preview/pr-1358/nodes/arabica-devnet#integrations","476":"/pr-preview/pr-1358/nodes/arabica-devnet#rpc-endpoints","477":"/pr-preview/pr-1358/nodes/arabica-devnet#using-consensus-endpoints-with-da-nodes","478":"/pr-preview/pr-1358/nodes/arabica-devnet#arabica-devnet-faucet","479":"/pr-preview/pr-1358/nodes/arabica-devnet#discord","480":"/pr-preview/pr-1358/nodes/arabica-devnet#web","481":"/pr-preview/pr-1358/nodes/arabica-devnet#explorers","482":"/pr-preview/pr-1358/nodes/arabica-devnet#network-upgrades","483":"/pr-preview/pr-1358/nodes/blobstream-binary#blobstream-for-validators","484":"/pr-preview/pr-1358/nodes/blobstream-binary#install-the-blobstream-binary","485":"/pr-preview/pr-1358/nodes/blobstream-binary#install","486":"/pr-preview/pr-1358/nodes/blobstream-binary#usage","487":"/pr-preview/pr-1358/nodes/blobstream-binary#next-steps","488":"/pr-preview/pr-1358/nodes/blobstream-binary#useful-links","489":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#blobstream-bootstrapper","490":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#how-to-run","491":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#install-the-blobstream-binary","492":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#init-the-store","493":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#add-keys","494":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#open-the-p2p-port","495":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#start-the-bootstrapper","496":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#systemd-service","497":"/pr-preview/pr-1358/nodes/blobstream-deploy#deploy-the-blobstream-contract","498":"/pr-preview/pr-1358/nodes/blobstream-deploy#how-to-run","499":"/pr-preview/pr-1358/nodes/blobstream-deploy#install-the-blobstream-binary","500":"/pr-preview/pr-1358/nodes/blobstream-deploy#add-keys","501":"/pr-preview/pr-1358/nodes/blobstream-deploy#deploy-the-contract","502":"/pr-preview/pr-1358/nodes/blobstream-keys#key-management","503":"/pr-preview/pr-1358/nodes/blobstream-keys#orchestrator-command","504":"/pr-preview/pr-1358/nodes/blobstream-keys#relayer-command","505":"/pr-preview/pr-1358/nodes/blobstream-keys#deploy-command","506":"/pr-preview/pr-1358/nodes/blobstream-keys#store-initialization","507":"/pr-preview/pr-1358/nodes/blobstream-keys#options","508":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-keystore","509":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-add-subcommand","510":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-delete-subcommand","511":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-list-subcommand","512":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-update-subcommand","513":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-import-subcommand","514":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-import-ecdsa","515":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-import-file","516":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-keystore","517":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-add-subcommand","518":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-delete-subcommand","519":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-import-subcommand","520":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-list-subcommand","521":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#blobstream-orchestrator","522":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#how-it-works","523":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#how-to-run","524":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#requirements","525":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#install-the-blobstream-binary","526":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#init-the-store","527":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#add-keys","528":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#evm-key","529":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#open-the-p2p-port","530":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#start-the-orchestrator","531":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#known-issues","532":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#transport-authentication-handshake-failed","533":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#failed-to-query-last-valset-before-nonce-most-likely-pruned","534":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#register-evm-address","535":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#updating-the-evm-address-if-its-corresponding-private-key-is-lost","536":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#systemd-service","537":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#issue-journald-not-outputting-the-logs","538":"/pr-preview/pr-1358/nodes/blobstream-relayer#blobstream-relayer","539":"/pr-preview/pr-1358/nodes/blobstream-relayer#how-it-works","540":"/pr-preview/pr-1358/nodes/blobstream-relayer#how-to-run","541":"/pr-preview/pr-1358/nodes/blobstream-relayer#install-the-blobstream-binary","542":"/pr-preview/pr-1358/nodes/blobstream-relayer#init-the-store","543":"/pr-preview/pr-1358/nodes/blobstream-relayer#add-keys","544":"/pr-preview/pr-1358/nodes/blobstream-relayer#evm-key","545":"/pr-preview/pr-1358/nodes/blobstream-relayer#start-the-relayer","546":"/pr-preview/pr-1358/nodes/bridge-node#setting-up-a-celestia-bridge-node","547":"/pr-preview/pr-1358/nodes/bridge-node#overview-of-bridge-nodes","548":"/pr-preview/pr-1358/nodes/bridge-node#hardware-requirements","549":"/pr-preview/pr-1358/nodes/bridge-node#setting-up-your-bridge-node","550":"/pr-preview/pr-1358/nodes/bridge-node#setup-the-dependencies","551":"/pr-preview/pr-1358/nodes/bridge-node#deploy-the-celestia-bridge-node","552":"/pr-preview/pr-1358/nodes/bridge-node#install-celestia-node","553":"/pr-preview/pr-1358/nodes/bridge-node#initialize-the-bridge-node","554":"/pr-preview/pr-1358/nodes/bridge-node#run-the-bridge-node","555":"/pr-preview/pr-1358/nodes/bridge-node#optional-run-the-bridge-node-with-a-custom-key","556":"/pr-preview/pr-1358/nodes/bridge-node#optional-start-the-bridge-node-with-systemd","557":"/pr-preview/pr-1358/nodes/celestia-app-commands#helpful-cli-commands","558":"/pr-preview/pr-1358/nodes/celestia-app-commands#creating-a-wallet","559":"/pr-preview/pr-1358/nodes/celestia-app-commands#key-management","560":"/pr-preview/pr-1358/nodes/celestia-app-commands#importing-and-exporting-keys","561":"/pr-preview/pr-1358/nodes/celestia-app-commands#querying-subcommands","562":"/pr-preview/pr-1358/nodes/celestia-app-commands#token-management","563":"/pr-preview/pr-1358/nodes/celestia-app-commands#governance","564":"/pr-preview/pr-1358/nodes/celestia-app-commands#community-pool","565":"/pr-preview/pr-1358/nodes/celestia-app-commands#claim-validator-rewards","566":"/pr-preview/pr-1358/nodes/celestia-app-commands#delegate-undelegate-tokens","567":"/pr-preview/pr-1358/nodes/celestia-app-commands#unjailing-the-validator","568":"/pr-preview/pr-1358/nodes/celestia-app-commands#how-to-export-logs-with-systemd","569":"/pr-preview/pr-1358/nodes/celestia-app-commands#signing-genesis-for-a-new-network","570":"/pr-preview/pr-1358/nodes/celestia-app-metrics#metrics","571":"/pr-preview/pr-1358/nodes/celestia-app-metrics#setup","572":"/pr-preview/pr-1358/nodes/celestia-app-metrics#visualization","573":"/pr-preview/pr-1358/nodes/celestia-app-metrics#node-exporter","574":"/pr-preview/pr-1358/nodes/celestia-app-metrics#alerts","575":"/pr-preview/pr-1358/nodes/celestia-app-multisig#multisig","576":"/pr-preview/pr-1358/nodes/celestia-app-multisig#command-line","577":"/pr-preview/pr-1358/nodes/celestia-app-multisig#resources","578":"/pr-preview/pr-1358/nodes/celestia-app-upgrade-monitor#upgrade-monitor","579":"/pr-preview/pr-1358/nodes/celestia-app#install-celestia-app","580":"/pr-preview/pr-1358/nodes/celestia-app#building-binary-from-source","581":"/pr-preview/pr-1358/nodes/celestia-app#installing-a-pre-built-binary","582":"/pr-preview/pr-1358/nodes/celestia-app#ports","583":"/pr-preview/pr-1358/nodes/celestia-node-custom-networks#custom-networks-and-values","584":"/pr-preview/pr-1358/nodes/celestia-node-metrics#celestia-node-metrics","585":"/pr-preview/pr-1358/nodes/celestia-node-metrics#running-metrics-flags","586":"/pr-preview/pr-1358/nodes/celestia-node-metrics#tls-connections","587":"/pr-preview/pr-1358/nodes/celestia-node-metrics#metrics-endpoint-design-considerations","588":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#troubleshooting","589":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#network-selection","590":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#chain-id","591":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#ports","592":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#changing-the-location-of-your-node-store","593":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#resetting-your-config","594":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#clearing-the-data-store","595":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#fatal-headers-given-to-the-heightsub-are-in-the-wrong-order","596":"/pr-preview/pr-1358/nodes/celestia-node#install-celestia-node","597":"/pr-preview/pr-1358/nodes/celestia-node#next-steps","598":"/pr-preview/pr-1358/nodes/celestia-node#upgrading-your-binary","599":"/pr-preview/pr-1358/nodes/config-toml#config-toml-guide","600":"/pr-preview/pr-1358/nodes/config-toml#pre-requisites","601":"/pr-preview/pr-1358/nodes/config-toml#understanding-config-toml","602":"/pr-preview/pr-1358/nodes/config-toml#core","603":"/pr-preview/pr-1358/nodes/config-toml#p2p","604":"/pr-preview/pr-1358/nodes/config-toml#bootstrap","605":"/pr-preview/pr-1358/nodes/config-toml#mutual-peers","606":"/pr-preview/pr-1358/nodes/config-toml#services","607":"/pr-preview/pr-1358/nodes/config-toml#trustedhash-and-trustedpeer","608":"/pr-preview/pr-1358/nodes/consensus-node#setting-up-a-celestia-full-consensus-node","609":"/pr-preview/pr-1358/nodes/consensus-node#hardware-requirements","610":"/pr-preview/pr-1358/nodes/consensus-node#setting-up-a-full-consensus-node","611":"/pr-preview/pr-1358/nodes/consensus-node#setup-the-dependencies","612":"/pr-preview/pr-1358/nodes/consensus-node#install-celestia-app","613":"/pr-preview/pr-1358/nodes/consensus-node#setup-the-p2p-networks","614":"/pr-preview/pr-1358/nodes/consensus-node#storage-and-pruning-configurations","615":"/pr-preview/pr-1358/nodes/consensus-node#connecting-a-consensus-node-to-a-bridge-node","616":"/pr-preview/pr-1358/nodes/consensus-node#enable-transaction-indexing","617":"/pr-preview/pr-1358/nodes/consensus-node#retain-all-block-data","618":"/pr-preview/pr-1358/nodes/consensus-node#querying-transactions-by-hash","619":"/pr-preview/pr-1358/nodes/consensus-node#accessing-historical-state","620":"/pr-preview/pr-1358/nodes/consensus-node#saving-on-storage-requirements","621":"/pr-preview/pr-1358/nodes/consensus-node#syncing","622":"/pr-preview/pr-1358/nodes/consensus-node#state-sync","623":"/pr-preview/pr-1358/nodes/consensus-node#quick-sync","624":"/pr-preview/pr-1358/nodes/consensus-node#start-the-consensus-node","625":"/pr-preview/pr-1358/nodes/consensus-node#optional-setting-up-a-validator","626":"/pr-preview/pr-1358/nodes/consensus-node#setting-up-a-celestia-validator-node","627":"/pr-preview/pr-1358/nodes/consensus-node#validator-hardware-requirements","628":"/pr-preview/pr-1358/nodes/consensus-node#wallet","629":"/pr-preview/pr-1358/nodes/consensus-node#delegate-stake-to-a-validator","630":"/pr-preview/pr-1358/nodes/consensus-node#optional-deploy-the-celestia-node","631":"/pr-preview/pr-1358/nodes/consensus-node#install-celestia-node","632":"/pr-preview/pr-1358/nodes/consensus-node#initialize-the-bridge-node","633":"/pr-preview/pr-1358/nodes/consensus-node#run-the-bridge-node","634":"/pr-preview/pr-1358/nodes/consensus-node#optional-start-the-bridge-node-with-systemd","635":"/pr-preview/pr-1358/nodes/consensus-node#setup-blobstream-keys","636":"/pr-preview/pr-1358/nodes/consensus-node#run-the-validator-node","637":"/pr-preview/pr-1358/nodes/consensus-node#register-your-validators-evm-address","638":"/pr-preview/pr-1358/nodes/consensus-node#run-a-blobstream-orchestrator","639":"/pr-preview/pr-1358/nodes/consensus-node#submit-your-validator-information","640":"/pr-preview/pr-1358/nodes/consensus-node#extra-resources-for-consensus-nodes","641":"/pr-preview/pr-1358/nodes/consensus-node#optional-reset-network","642":"/pr-preview/pr-1358/nodes/consensus-node#optional-configuring-an-rpc-endpoint","643":"/pr-preview/pr-1358/nodes/consensus-node#expose-rpc","644":"/pr-preview/pr-1358/nodes/consensus-node#note-on-external-address","645":"/pr-preview/pr-1358/nodes/consensus-node#restart-the-node","646":"/pr-preview/pr-1358/nodes/consensus-node#optional-transaction-indexer-configuration-options","647":"/pr-preview/pr-1358/nodes/consensus-node#optional-discard-abci-responses-configuration","648":"/pr-preview/pr-1358/nodes/decide-node#deciding-which-node-to-run","649":"/pr-preview/pr-1358/nodes/decide-node#beginner","650":"/pr-preview/pr-1358/nodes/decide-node#advanced","651":"/pr-preview/pr-1358/nodes/docker-images#🐳-docker-setup","652":"/pr-preview/pr-1358/nodes/docker-images#prerequisites","653":"/pr-preview/pr-1358/nodes/docker-images#quick-start","654":"/pr-preview/pr-1358/nodes/docker-images#light-node-setup-with-persistent-storage","655":"/pr-preview/pr-1358/nodes/docker-images#initialize-the-node-store-and-key","656":"/pr-preview/pr-1358/nodes/docker-images#start-the-node","657":"/pr-preview/pr-1358/nodes/docker-images#video-walkthrough","658":"/pr-preview/pr-1358/nodes/docker-images#_2-5-minute-version","659":"/pr-preview/pr-1358/nodes/docker-images#troubleshooting","660":"/pr-preview/pr-1358/nodes/environment#development-environment","661":"/pr-preview/pr-1358/nodes/environment#install-dependencies","662":"/pr-preview/pr-1358/nodes/environment#install-golang","663":"/pr-preview/pr-1358/nodes/full-storage-node#setting-up-a-celestia-full-storage-node","664":"/pr-preview/pr-1358/nodes/full-storage-node#overview-of-full-storage-nodes","665":"/pr-preview/pr-1358/nodes/full-storage-node#hardware-requirements","666":"/pr-preview/pr-1358/nodes/full-storage-node#setting-up-your-full-storage-node","667":"/pr-preview/pr-1358/nodes/full-storage-node#setup-the-dependencies","668":"/pr-preview/pr-1358/nodes/full-storage-node#install-celestia-node","669":"/pr-preview/pr-1358/nodes/full-storage-node#run-the-full-storage-node","670":"/pr-preview/pr-1358/nodes/full-storage-node#initialize-the-full-storage-node","671":"/pr-preview/pr-1358/nodes/full-storage-node#start-the-full-storage-node","672":"/pr-preview/pr-1358/nodes/full-storage-node#optional-run-the-full-storage-node-with-a-custom-key","673":"/pr-preview/pr-1358/nodes/full-storage-node#optional-start-the-full-storage-node-with-systemd","674":"/pr-preview/pr-1358/nodes/full-storage-node#stop-the-full-storage-node","675":"/pr-preview/pr-1358/nodes/hardfork-process#celestia-hardfork-process","676":"/pr-preview/pr-1358/nodes/hardfork-process#general-process","677":"/pr-preview/pr-1358/nodes/hardfork-process#mocha-hardfork","678":"/pr-preview/pr-1358/nodes/instantiate-testnet#celestia-app-network-instantiation-guide","679":"/pr-preview/pr-1358/nodes/instantiate-testnet#hardware-requirements","680":"/pr-preview/pr-1358/nodes/instantiate-testnet#setup-dependencies","681":"/pr-preview/pr-1358/nodes/instantiate-testnet#celestia-app-installation","682":"/pr-preview/pr-1358/nodes/instantiate-testnet#spin-up-a-celestia-testnet","683":"/pr-preview/pr-1358/nodes/instantiate-testnet#optional-reset-working-directory","684":"/pr-preview/pr-1358/nodes/instantiate-testnet#initialize-a-working-directory","685":"/pr-preview/pr-1358/nodes/instantiate-testnet#create-a-new-key","686":"/pr-preview/pr-1358/nodes/instantiate-testnet#add-genesis-account-keyname","687":"/pr-preview/pr-1358/nodes/instantiate-testnet#optional-adding-other-validators","688":"/pr-preview/pr-1358/nodes/instantiate-testnet#create-the-genesis-transaction-for-new-chain","689":"/pr-preview/pr-1358/nodes/instantiate-testnet#creating-the-genesis-json-file","690":"/pr-preview/pr-1358/nodes/instantiate-testnet#modify-your-config-file","691":"/pr-preview/pr-1358/nodes/instantiate-testnet#add-your-node-as-a-persistent-peer","692":"/pr-preview/pr-1358/nodes/instantiate-testnet#instantiate-the-network","693":"/pr-preview/pr-1358/nodes/light-node#setting-up-a-celestia-light-node","694":"/pr-preview/pr-1358/nodes/light-node#overview-of-light-nodes","695":"/pr-preview/pr-1358/nodes/light-node#hardware-requirements","696":"/pr-preview/pr-1358/nodes/light-node#setting-up-your-light-node","697":"/pr-preview/pr-1358/nodes/light-node#install-celestia-node","698":"/pr-preview/pr-1358/nodes/light-node#initialize-the-light-node","699":"/pr-preview/pr-1358/nodes/light-node#start-the-light-node","700":"/pr-preview/pr-1358/nodes/light-node#keys-and-wallets","701":"/pr-preview/pr-1358/nodes/light-node#testnet-tokens","702":"/pr-preview/pr-1358/nodes/light-node#optional-run-the-light-node-with-a-custom-key","703":"/pr-preview/pr-1358/nodes/light-node#optional-start-light-node-with-systemd","704":"/pr-preview/pr-1358/nodes/light-node#data-availability-sampling","705":"/pr-preview/pr-1358/nodes/mainnet#mainnet-beta","706":"/pr-preview/pr-1358/nodes/mainnet#network-stability-and-upgrades","707":"/pr-preview/pr-1358/nodes/mainnet#software-version-numbers","708":"/pr-preview/pr-1358/nodes/mainnet#network-parameters","709":"/pr-preview/pr-1358/nodes/mainnet#maximum-bytes","710":"/pr-preview/pr-1358/nodes/mainnet#integrations","711":"/pr-preview/pr-1358/nodes/mainnet#consensus-nodes","712":"/pr-preview/pr-1358/nodes/mainnet#consensus-rpc-endpoints","713":"/pr-preview/pr-1358/nodes/mainnet#api-endpoints","714":"/pr-preview/pr-1358/nodes/mainnet#grpc-endpoints","715":"/pr-preview/pr-1358/nodes/mainnet#data-availability-nodes","716":"/pr-preview/pr-1358/nodes/mainnet#da-rpc-endpoints","717":"/pr-preview/pr-1358/nodes/mainnet#explorers","718":"/pr-preview/pr-1358/nodes/mainnet#analytics","719":"/pr-preview/pr-1358/nodes/mainnet#network-upgrades","720":"/pr-preview/pr-1358/nodes/mocha-testnet#mocha-testnet","721":"/pr-preview/pr-1358/nodes/mocha-testnet#software-version-numbers","722":"/pr-preview/pr-1358/nodes/mocha-testnet#rpc-endpoints","723":"/pr-preview/pr-1358/nodes/mocha-testnet#bridge-full-and-light-nodes","724":"/pr-preview/pr-1358/nodes/mocha-testnet#full-and-light-nodes-only","725":"/pr-preview/pr-1358/nodes/mocha-testnet#api-endpoints","726":"/pr-preview/pr-1358/nodes/mocha-testnet#grpc-endpoints","727":"/pr-preview/pr-1358/nodes/mocha-testnet#bridge-and-full-node-endpoints","728":"/pr-preview/pr-1358/nodes/mocha-testnet#mocha-testnet-faucet","729":"/pr-preview/pr-1358/nodes/mocha-testnet#explorers","730":"/pr-preview/pr-1358/nodes/mocha-testnet#network-upgrades","731":"/pr-preview/pr-1358/nodes/overview#overview-to-running-nodes-on-celestia","732":"/pr-preview/pr-1358/nodes/participate#participate-in-the-celestia-networks","733":"/pr-preview/pr-1358/nodes/participate#mainnet-beta","734":"/pr-preview/pr-1358/nodes/participate#testnets","735":"/pr-preview/pr-1358/nodes/participate#network-upgrades","736":"/pr-preview/pr-1358/nodes/quick-start#quick-start-guide","737":"/pr-preview/pr-1358/nodes/quick-start#celestia-node","738":"/pr-preview/pr-1358/nodes/quick-start#celestia-app","739":"/pr-preview/pr-1358/nodes/quick-start#getting-started","740":"/pr-preview/pr-1358/nodes/systemd#setting-up-your-node-as-a-background-process-with-systemd","741":"/pr-preview/pr-1358/nodes/systemd#consensus-nodes","742":"/pr-preview/pr-1358/nodes/systemd#start-the-celestia-app-with-systemd","743":"/pr-preview/pr-1358/nodes/systemd#data-availability-nodes","744":"/pr-preview/pr-1358/nodes/systemd#celestia-full-storage-node","745":"/pr-preview/pr-1358/nodes/systemd#celestia-bridge-node","746":"/pr-preview/pr-1358/nodes/systemd#celestia-light-node","747":"/pr-preview/pr-1358/nodes/transaction-resubmission#transaction-resubmission","748":"/pr-preview/pr-1358/nodes/transaction-resubmission#monitoring-and-resubmission","749":"/pr-preview/pr-1358/nodes/transaction-resubmission#notes"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[3,1,24],"1":[3,3,22],"2":[2,3,69],"3":[2,3,34],"4":[3,3,25],"5":[2,1,32],"6":[5,1,1],"7":[2,5,62],"8":[2,5,114],"9":[2,5,57],"10":[1,5,43],"11":[1,5,39],"12":[2,5,22],"13":[2,7,38],"14":[2,7,57],"15":[3,7,50],"16":[3,7,34],"17":[1,5,47],"18":[5,1,1],"19":[12,5,11],"20":[4,17,14],"21":[4,17,44],"22":[4,17,43],"23":[4,17,14],"24":[8,5,8],"25":[4,12,78],"26":[4,12,13],"27":[3,12,46],"28":[4,12,37],"29":[4,12,79],"30":[10,5,8],"31":[4,15,41],"32":[4,15,13],"33":[3,15,91],"34":[10,15,13],"35":[10,15,1],"36":[10,15,13],"37":[6,15,32],"38":[2,5,1],"39":[2,7,16],"40":[2,7,13],"41":[4,1,150],"42":[3,4,229],"43":[2,4,69],"44":[4,4,137],"45":[4,4,460],"46":[2,1,58],"47":[1,2,1],"48":[1,3,81],"49":[2,2,73],"50":[1,2,75],"51":[1,2,53],"52":[2,3,104],"53":[3,1,31],"54":[3,3,129],"55":[3,3,69],"56":[3,3,72],"57":[3,3,39],"58":[1,6,164],"59":[3,6,124],"60":[1,6,150],"61":[1,6,190],"62":[1,6,170],"63":[3,6,159],"64":[1,6,132],"65":[4,6,145],"66":[9,6,167],"67":[4,1,28],"68":[2,4,64],"69":[2,4,1],"70":[6,6,71],"71":[2,6,70],"72":[1,6,35],"73":[1,6,28],"74":[1,6,48],"75":[3,1,37],"76":[3,3,12],"77":[6,3,44],"78":[8,3,58],"79":[7,3,48],"80":[6,3,23],"81":[2,3,37],"82":[2,1,26],"83":[2,1,143],"84":[8,1,17],"85":[1,8,14],"86":[4,8,85],"87":[4,12,94],"88":[3,8,51],"89":[4,8,15],"90":[5,1,27],"91":[1,5,12],"92":[1,6,25],"93":[1,6,19],"94":[1,6,35],"95":[1,6,42],"96":[2,6,11],"97":[3,5,28],"98":[4,5,98],"99":[3,9,37],"100":[2,5,14],"101":[8,1,1],"102":[1,8,129],"103":[1,9,86],"104":[5,9,116],"105":[2,8,17],"106":[7,1,22],"107":[1,7,23],"108":[5,7,150],"109":[6,7,45],"110":[8,1,1],"111":[1,8,33],"112":[1,8,18],"113":[1,8,35],"114":[4,8,103],"115":[4,8,139],"116":[4,8,1],"117":[2,9,51],"118":[4,9,87],"119":[5,8,91],"120":[2,8,28],"121":[4,1,1],"122":[2,4,1],"123":[1,6,9],"124":[3,6,28],"125":[2,6,90],"126":[2,4,43],"127":[1,4,50],"128":[3,4,30],"129":[6,4,123],"130":[4,1,1],"131":[3,4,72],"132":[3,4,149],"133":[2,4,168],"134":[3,6,101],"135":[2,6,115],"136":[3,4,1],"137":[3,7,164],"138":[2,7,1],"139":[4,9,10],"140":[8,9,13],"141":[4,9,39],"142":[3,1,1],"143":[1,3,26],"144":[3,3,21],"145":[5,5,108],"146":[4,5,130],"147":[9,3,83],"148":[1,11,54],"149":[1,11,148],"150":[1,11,71],"151":[1,11,52],"152":[1,11,79],"153":[1,11,122],"154":[3,3,46],"155":[3,6,1],"156":[3,6,1],"157":[1,3,48],"158":[3,1,79],"159":[1,3,105],"160":[3,3,89],"161":[4,5,31],"162":[3,3,28],"163":[2,6,34],"164":[7,3,1],"165":[3,9,58],"166":[3,9,42],"167":[3,9,69],"168":[2,1,30],"169":[7,2,114],"170":[3,2,45],"171":[2,4,34],"172":[1,6,6],"173":[1,6,38],"174":[1,4,12],"175":[1,4,10],"176":[2,2,32],"177":[2,1,43],"178":[6,2,100],"179":[5,2,81],"180":[1,2,123],"181":[1,2,107],"182":[3,2,22],"183":[2,5,20],"184":[2,5,20],"185":[1,5,18],"186":[9,1,42],"187":[2,9,18],"188":[5,11,1],"189":[3,15,20],"190":[5,15,79],"191":[5,15,22],"192":[2,15,53],"193":[6,11,17],"194":[4,14,89],"195":[3,14,32],"196":[2,14,20],"197":[5,14,144],"198":[6,14,62],"199":[6,14,42],"200":[6,14,62],"201":[1,9,42],"202":[3,10,50],"203":[3,10,10],"204":[6,10,91],"205":[9,10,40],"206":[5,10,88],"207":[1,9,25],"208":[1,9,20],"209":[6,1,18],"210":[1,6,20],"211":[3,6,57],"212":[3,6,75],"213":[6,1,42],"214":[5,6,42],"215":[1,11,56],"216":[5,11,111],"217":[5,11,32],"218":[5,11,33],"219":[6,11,5],"220":[4,6,1],"221":[1,10,16],"222":[3,10,144],"223":[5,10,147],"224":[4,1,32],"225":[2,4,34],"226":[4,4,100],"227":[7,1,14],"228":[1,7,24],"229":[1,7,35],"230":[4,7,103],"231":[4,7,139],"232":[4,7,1],"233":[2,9,62],"234":[2,9,89],"235":[5,7,90],"236":[2,7,27],"237":[2,1,97],"238":[6,1,89],"239":[2,6,34],"240":[2,8,34],"241":[2,8,26],"242":[5,10,193],"243":[3,10,18],"244":[4,10,70],"245":[2,10,120],"246":[6,8,142],"247":[3,8,97],"248":[3,11,75],"249":[3,8,121],"250":[4,8,270],"251":[5,8,60],"252":[5,8,98],"253":[6,8,32],"254":[6,1,155],"255":[3,6,51],"256":[4,6,15],"257":[2,6,34],"258":[4,1,43],"259":[4,4,1],"260":[5,4,1],"261":[6,8,20],"262":[9,8,15],"263":[5,8,25],"264":[6,8,22],"265":[5,4,1],"266":[6,8,17],"267":[7,8,29],"268":[6,8,22],"269":[3,1,93],"270":[1,3,85],"271":[1,4,180],"272":[3,4,84],"273":[3,4,49],"274":[6,3,52],"275":[2,3,31],"276":[5,5,85],"277":[4,5,44],"278":[3,3,7],"279":[1,3,41],"280":[2,4,37],"281":[5,1,18],"282":[2,5,28],"283":[4,5,84],"284":[4,7,27],"285":[3,7,62],"286":[1,7,36],"287":[1,7,28],"288":[6,7,81],"289":[5,1,31],"290":[3,5,65],"291":[5,7,16],"292":[5,5,13],"293":[8,8,77],"294":[4,8,49],"295":[4,5,116],"296":[2,5,35],"297":[4,1,48],"298":[5,4,199],"299":[4,1,33],"300":[2,4,33],"301":[3,4,34],"302":[6,4,82],"303":[2,1,23],"304":[4,2,26],"305":[2,2,33],"306":[3,3,23],"307":[2,1,28],"308":[2,2,46],"309":[1,3,16],"310":[1,3,48],"311":[3,3,19],"312":[2,2,66],"313":[3,3,12],"314":[5,1,60],"315":[1,5,1],"316":[1,6,19],"317":[1,6,66],"318":[2,5,30],"319":[3,5,105],"320":[2,5,97],"321":[2,5,1],"322":[3,5,129],"323":[5,5,55],"324":[6,5,119],"325":[3,5,107],"326":[3,5,39],"327":[2,6,104],"328":[2,6,71],"329":[3,8,67],"330":[2,8,56],"331":[7,10,69],"332":[2,6,124],"333":[2,6,113],"334":[6,6,61],"335":[1,6,1],"336":[3,7,49],"337":[6,7,45],"338":[4,7,52],"339":[4,7,31],"340":[5,7,112],"341":[2,7,24],"342":[5,7,10],"343":[7,7,75],"344":[2,7,20],"345":[1,7,25],"346":[2,6,39],"347":[2,5,1],"348":[6,7,21],"349":[2,7,21],"350":[1,7,46],"351":[5,1,14],"352":[2,5,1],"353":[5,7,10],"354":[2,7,45],"355":[2,5,28],"356":[2,6,30],"357":[5,6,23],"358":[2,6,28],"359":[2,6,52],"360":[3,5,83],"361":[5,5,84],"362":[5,5,50],"363":[6,5,24],"364":[3,9,165],"365":[3,9,80],"366":[2,5,57],"367":[7,1,29],"368":[4,7,31],"369":[4,11,28],"370":[4,11,108],"371":[4,11,22],"372":[3,7,28],"373":[3,7,136],"374":[5,7,20],"375":[3,7,12],"376":[3,7,14],"377":[7,7,18],"378":[2,1,84],"379":[1,2,28],"380":[8,3,174],"381":[4,3,43],"382":[2,3,23],"383":[4,2,73],"384":[4,5,38],"385":[4,5,60],"386":[2,5,244],"387":[4,5,119],"388":[2,2,52],"389":[4,1,61],"390":[7,4,85],"391":[4,4,143],"392":[1,1,98],"393":[1,1,44],"394":[3,1,17],"395":[5,3,51],"396":[2,3,50],"397":[3,1,30],"398":[2,3,34],"399":[2,3,31],"400":[5,1,27],"401":[4,5,26],"402":[4,9,104],"403":[3,12,140],"404":[3,12,152],"405":[3,12,78],"406":[10,9,118],"407":[1,5,11],"408":[6,6,14],"409":[5,6,19],"410":[9,6,200],"411":[5,6,21],"412":[3,1,1],"413":[5,3,82],"414":[7,3,73],"415":[9,3,41],"416":[6,3,62],"417":[15,3,80],"418":[8,3,65],"419":[5,3,33],"420":[8,3,70],"421":[10,3,26],"422":[8,3,51],"423":[10,3,73],"424":[11,3,42],"425":[15,3,34],"426":[5,1,69],"427":[5,5,122],"428":[1,9,86],"429":[6,9,122],"430":[5,5,130],"431":[6,5,1],"432":[3,11,120],"433":[4,1,172],"434":[1,1,90],"435":[7,1,158],"436":[3,7,163],"437":[3,1,1],"438":[2,3,70],"439":[3,3,44],"440":[4,1,1],"441":[5,4,68],"442":[1,4,73],"443":[2,4,1],"444":[2,5,35],"445":[2,5,37],"446":[4,4,82],"447":[1,8,109],"448":[3,1,1],"449":[4,3,33],"450":[3,3,1],"451":[3,4,33],"452":[3,4,68],"453":[3,4,41],"454":[2,4,41],"455":[1,4,1],"456":[3,5,15],"457":[3,5,27],"458":[4,5,9],"459":[3,1,20],"460":[3,3,18],"461":[1,3,73],"462":[2,3,38],"463":[5,5,8],"464":[5,5,36],"465":[2,3,50],"466":[2,3,44],"467":[3,3,24],"468":[1,4,12],"469":[1,3,15],"470":[2,3,9],"471":[2,1,45],"472":[4,2,64],"473":[2,2,1],"474":[3,4,1],"475":[1,2,49],"476":[2,3,74],"477":[6,3,117],"478":[3,2,24],"479":[1,3,41],"480":[1,3,12],"481":[1,2,17],"482":[2,2,9],"483":[3,1,47],"484":[4,3,48],"485":[1,6,32],"486":[1,6,5],"487":[2,6,66],"488":[2,6,25],"489":[2,1,27],"490":[3,2,1],"491":[4,5,14],"492":[3,5,46],"493":[2,5,36],"494":[4,5,20],"495":[3,5,13],"496":[2,7,18],"497":[4,1,37],"498":[3,4,1],"499":[4,7,14],"500":[2,7,76],"501":[3,7,69],"502":[2,1,36],"503":[2,2,44],"504":[2,2,44],"505":[2,2,45],"506":[3,2,53],"507":[1,2,56],"508":[2,3,91],"509":[3,5,80],"510":[3,5,116],"511":[3,5,42],"512":[3,5,89],"513":[3,5,53],"514":[3,5,69],"515":[3,5,95],"516":[2,3,97],"517":[3,5,97],"518":[3,5,27],"519":[3,5,40],"520":[3,5,20],"521":[2,1,73],"522":[3,2,138],"523":[3,2,1],"524":[1,5,48],"525":[4,5,14],"526":[3,5,46],"527":[2,5,54],"528":[2,7,91],"529":[4,5,33],"530":[3,5,200],"531":[2,5,1],"532":[4,7,48],"533":[11,7,47],"534":[3,5,203],"535":[11,5,82],"536":[2,16,89],"537":[6,18,30],"538":[2,1,79],"539":[3,2,115],"540":[3,2,1],"541":[4,5,16],"542":[3,5,46],"543":[2,5,57],"544":[2,7,77],"545":[3,5,104],"546":[6,1,23],"547":[4,6,108],"548":[2,6,30],"549":[5,6,16],"550":[3,7,7],"551":[5,6,1],"552":[3,8,17],"553":[4,8,85],"554":[4,8,112],"555":[9,9,49],"556":[7,8,23],"557":[3,1,102],"558":[3,3,27],"559":[2,3,19],"560":[4,5,52],"561":[2,3,19],"562":[2,3,46],"563":[1,3,175],"564":[2,4,89],"565":[3,3,28],"566":[4,3,28],"567":[3,3,24],"568":[6,3,38],"569":[6,3,93],"570":[1,1,41],"571":[1,1,80],"572":[1,1,243],"573":[2,1,52],"574":[1,1,63],"575":[1,1,40],"576":[2,1,97],"577":[1,1,29],"578":[2,1,24],"579":[3,1,19],"580":[4,3,111],"581":[5,3,108],"582":[1,3,90],"583":[4,1,82],"584":[3,1,28],"585":[3,3,67],"586":[2,5,78],"587":[4,3,80],"588":[1,1,1],"589":[2,1,64],"590":[2,3,48],"591":[1,1,106],"592":[7,1,81],"593":[3,1,81],"594":[4,1,26],"595":[10,1,71],"596":[3,1,132],"597":[2,3,39],"598":[3,3,26],"599":[3,1,1],"600":[2,3,12],"601":[3,3,34],"602":[1,4,35],"603":[1,4,1],"604":[1,5,45],"605":[2,5,31],"606":[1,4,1],"607":[3,5,61],"608":[7,1,78],"609":[2,7,72],"610":[6,7,16],"611":[3,7,7],"612":[3,7,8],"613":[4,7,162],"614":[4,7,1],"615":[6,11,34],"616":[3,14,6],"617":[4,14,25],"618":[4,11,27],"619":[3,11,49],"620":[4,11,54],"621":[1,7,41],"622":[2,8,105],"623":[2,8,70],"624":[4,7,46],"625":[5,7,1],"626":[6,9,12],"627":[3,9,54],"628":[1,9,8],"629":[5,9,113],"630":[5,9,48],"631":[3,12,10],"632":[4,12,47],"633":[4,12,8],"634":[7,12,23],"635":[3,12,27],"636":[4,9,148],"637":[6,9,58],"638":[4,9,26],"639":[4,9,16],"640":[5,7,1],"641":[3,11,22],"642":[5,11,29],"643":[2,16,65],"644":[4,16,56],"645":[3,16,13],"646":[5,11,94],"647":[5,11,90],"648":[5,1,16],"649":[1,5,38],"650":[1,5,29],"651":[3,1,71],"652":[1,3,14],"653":[2,3,105],"654":[6,3,77],"655":[6,8,79],"656":[3,8,64],"657":[2,3,1],"658":[4,5,1],"659":[1,3,54],"660":[2,1,24],"661":[2,2,79],"662":[2,2,97],"663":[7,1,31],"664":[5,7,26],"665":[2,7,31],"666":[6,7,16],"667":[3,9,11],"668":[3,7,10],"669":[5,10,1],"670":[5,12,17],"671":[5,12,131],"672":[10,10,50],"673":[8,10,24],"674":[5,10,32],"675":[3,1,65],"676":[2,3,84],"677":[2,4,97],"678":[5,1,42],"679":[2,5,8],"680":[2,5,11],"681":[3,5,12],"682":[5,5,32],"683":[4,9,38],"684":[4,9,44],"685":[4,9,49],"686":[4,9,29],"687":[4,9,48],"688":[7,9,76],"689":[5,9,74],"690":[4,9,38],"691":[7,9,66],"692":[3,9,42],"693":[6,1,25],"694":[4,6,42],"695":[2,6,30],"696":[5,6,22],"697":[3,7,10],"698":[4,6,37],"699":[4,8,106],"700":[3,8,79],"701":[2,11,38],"702":[9,8,49],"703":[6,8,15],"704":[3,6,16],"705":[2,1,49],"706":[4,2,66],"707":[3,2,1],"708":[2,2,31],"709":[2,4,104],"710":[1,2,56],"711":[2,3,5],"712":[3,5,31],"713":[2,5,36],"714":[2,5,36],"715":[3,3,6],"716":[3,6,124],"717":[1,2,24],"718":[1,2,16],"719":[2,2,10],"720":[2,1,107],"721":[3,2,1],"722":[2,2,37],"723":[5,4,22],"724":[5,4,35],"725":[2,2,65],"726":[2,2,63],"727":[5,2,33],"728":[3,2,63],"729":[1,2,23],"730":[2,2,9],"731":[6,1,89],"732":[5,1,1],"733":[2,5,43],"734":[1,5,86],"735":[2,5,9],"736":[3,1,25],"737":[2,3,48],"738":[2,3,29],"739":[2,3,76],"740":[10,1,13],"741":[2,10,22],"742":[6,12,113],"743":[3,10,1],"744":[4,13,72],"745":[3,13,106],"746":[3,13,94],"747":[2,1,53],"748":[3,2,42],"749":[1,2,37]},"averageFieldLength":[3.458666666666667,5.521333333333342,53.672],"storedFields":{"0":{"title":"Celestia Documentation Site","titles":[]},"1":{"title":"Building the site","titles":["Celestia Documentation Site"]},"2":{"title":"Contribution Guidelines","titles":["Celestia Documentation Site"]},"3":{"title":"Directory Structure","titles":["Celestia Documentation Site"]},"4":{"title":"Feedback & Suggestions","titles":["Celestia Documentation Site"]},"5":{"title":"Community calendar","titles":[]},"6":{"title":"Celestia.org Code of Conduct","titles":[]},"7":{"title":"Our Pledge","titles":["Celestia.org Code of Conduct"]},"8":{"title":"Our Standards","titles":["Celestia.org Code of Conduct"]},"9":{"title":"Enforcement Responsibilities","titles":["Celestia.org Code of Conduct"]},"10":{"title":"Scope","titles":["Celestia.org Code of Conduct"]},"11":{"title":"Enforcement","titles":["Celestia.org Code of Conduct"]},"12":{"title":"Enforcement Guidelines","titles":["Celestia.org Code of Conduct"]},"13":{"title":"1. Correction","titles":["Celestia.org Code of Conduct","Enforcement Guidelines"]},"14":{"title":"2. Warning","titles":["Celestia.org Code of Conduct","Enforcement Guidelines"]},"15":{"title":"3. Temporary Ban","titles":["Celestia.org Code of Conduct","Enforcement Guidelines"]},"16":{"title":"4. Permanent Ban","titles":["Celestia.org Code of Conduct","Enforcement Guidelines"]},"17":{"title":"Attribution","titles":["Celestia.org Code of Conduct"]},"18":{"title":"Cohort one content & calendar","titles":[]},"19":{"title":"Month 1 - learning and exploring (start building whenever you’re ready)","titles":["Cohort one content & calendar"]},"20":{"title":"Week 1 - 26 September","titles":["Cohort one content & calendar","Month 1 - learning and exploring (start building whenever you’re ready)"]},"21":{"title":"Week 2 - 3 October","titles":["Cohort one content & calendar","Month 1 - learning and exploring (start building whenever you’re ready)"]},"22":{"title":"Week 3 - 10 October","titles":["Cohort one content & calendar","Month 1 - learning and exploring (start building whenever you’re ready)"]},"23":{"title":"Week 4 - 17 October","titles":["Cohort one content & calendar","Month 1 - learning and exploring (start building whenever you’re ready)"]},"24":{"title":"Month 2 - designing & implementing a basic prototype","titles":["Cohort one content & calendar"]},"25":{"title":"Week 5 - 24 October","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"26":{"title":"Week 6 - 31 October","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"27":{"title":"Week 7 - 7 November","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"28":{"title":"Week 8 - 14 November","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"29":{"title":"Week 9 - 21 November","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"30":{"title":"Month 3 - build out the prototype into a functional product","titles":["Cohort one content & calendar"]},"31":{"title":"Week 10 - 28 November","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"32":{"title":"Week 11 - 5 December","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"33":{"title":"Dec 12 - Week 12","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"34":{"title":"Dec 19 - Week 13 - no scheduled events, meet with mentors","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"35":{"title":"Dec 26 - Week 14 - no scheduled events, holiday break 🎉","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"36":{"title":"Jan 2 - Week 15 - no scheduled events, meet with mentors","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"37":{"title":"Jan 9 - Week 16 - submissions due","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"38":{"title":"Project repositories","titles":["Cohort one content & calendar"]},"39":{"title":"Individual fellows","titles":["Cohort one content & calendar","Project repositories"]},"40":{"title":"Team fellows","titles":["Cohort one content & calendar","Project repositories"]},"41":{"title":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS","titles":[]},"42":{"title":"1. General Terms","titles":["SUPPLEMENTAL INCENTIVIZED TESTNET TERMS"]},"43":{"title":"2. Taxes","titles":["SUPPLEMENTAL INCENTIVIZED TESTNET TERMS"]},"44":{"title":"3. Supplemental Privacy Information","titles":["SUPPLEMENTAL INCENTIVIZED TESTNET TERMS"]},"45":{"title":"4. Certain Additional Representations","titles":["SUPPLEMENTAL INCENTIVIZED TESTNET TERMS"]},"46":{"title":"Modular Fellows","titles":[]},"47":{"title":"Overview","titles":["Modular Fellows"]},"48":{"title":"Milestones","titles":["Modular Fellows","Overview"]},"49":{"title":"Project ideas","titles":["Modular Fellows"]},"50":{"title":"Support","titles":["Modular Fellows"]},"51":{"title":"Continuation","titles":["Modular Fellows"]},"52":{"title":"Modular Mentors","titles":["Modular Fellows","Continuation"]},"53":{"title":"Modular Meetup guide","titles":[]},"54":{"title":"Before the Meetup","titles":["Modular Meetup guide"]},"55":{"title":"During the Meetup","titles":["Modular Meetup guide"]},"56":{"title":"After the Meetup","titles":["Modular Meetup guide"]},"57":{"title":"Logistics and guidance","titles":["Modular Meetup guide"]},"58":{"title":"Venue","titles":["Modular Meetup guide","Logistics and guidance"]},"59":{"title":"Catering and refreshments","titles":["Modular Meetup guide","Logistics and guidance"]},"60":{"title":"Audience","titles":["Modular Meetup guide","Logistics and guidance"]},"61":{"title":"Speakers","titles":["Modular Meetup guide","Logistics and guidance"]},"62":{"title":"Sponsors","titles":["Modular Meetup guide","Logistics and guidance"]},"63":{"title":"Communications and marketing","titles":["Modular Meetup guide","Logistics and guidance"]},"64":{"title":"Recording","titles":["Modular Meetup guide","Logistics and guidance"]},"65":{"title":"Utilizing Meetup.com platform","titles":["Modular Meetup guide","Logistics and guidance"]},"66":{"title":"Onboarding questions for community members joining a Modular Meetup","titles":["Modular Meetup guide","Logistics and guidance"]},"67":{"title":"Celestia Modular Meetup program","titles":[]},"68":{"title":"Program description","titles":["Celestia Modular Meetup program"]},"69":{"title":"Important info","titles":["Celestia Modular Meetup program"]},"70":{"title":"Celestia.org Community Code of Conduct","titles":["Celestia Modular Meetup program","Important info"]},"71":{"title":"Signup form","titles":["Celestia Modular Meetup program","Important info"]},"72":{"title":"Emails","titles":["Celestia Modular Meetup program","Important info"]},"73":{"title":"Discord","titles":["Celestia Modular Meetup program","Important info"]},"74":{"title":"Materials","titles":["Celestia Modular Meetup program","Important info"]},"75":{"title":"Modular Meetup Toolkit","titles":[]},"76":{"title":"Celestia branding guidelines","titles":["Modular Meetup Toolkit"]},"77":{"title":"Sample “Introduction to Modularity” workshop presentation","titles":["Modular Meetup Toolkit"]},"78":{"title":"Sample “Run a Celestia light node” workshop presentation","titles":["Modular Meetup Toolkit"]},"79":{"title":"Sample “Deploy a Sovereign Rollup” workshop presentation","titles":["Modular Meetup Toolkit"]},"80":{"title":"Sample “Modular Meetup Introduction” workshop presentation","titles":["Modular Meetup Toolkit"]},"81":{"title":"Swag logistics","titles":["Modular Meetup Toolkit"]},"82":{"title":"Community overview","titles":[]},"83":{"title":"Speaker list","titles":[]},"84":{"title":"Deploy a dapp on your Arbitrum rollup devnet","titles":[]},"85":{"title":"Dependencies","titles":["Deploy a dapp on your Arbitrum rollup devnet"]},"86":{"title":"Setup and contract deployment","titles":["Deploy a dapp on your Arbitrum rollup devnet"]},"87":{"title":"Interact with the contract","titles":["Deploy a dapp on your Arbitrum rollup devnet","Setup and contract deployment"]},"88":{"title":"Update the frontend","titles":["Deploy a dapp on your Arbitrum rollup devnet"]},"89":{"title":"Interact with the frontend","titles":["Deploy a dapp on your Arbitrum rollup devnet"]},"90":{"title":"Deploy an Arbitrum rollup devnet","titles":[]},"91":{"title":"Dependencies","titles":["Deploy an Arbitrum rollup devnet"]},"92":{"title":"General","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"93":{"title":"Rust","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"94":{"title":"Golang","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"95":{"title":"Node","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"96":{"title":"Other Dependencies","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"97":{"title":"Clone the repository","titles":["Deploy an Arbitrum rollup devnet"]},"98":{"title":"Installing Nitro from Source","titles":["Deploy an Arbitrum rollup devnet"]},"99":{"title":"Validating with WASM","titles":["Deploy an Arbitrum rollup devnet","Installing Nitro from Source"]},"100":{"title":"Next steps","titles":["Deploy an Arbitrum rollup devnet"]},"101":{"title":"Introduction to Arbitrum rollups with Celestia as DA","titles":[]},"102":{"title":"Overview","titles":["Introduction to Arbitrum rollups with Celestia as DA"]},"103":{"title":"Blobstream","titles":["Introduction to Arbitrum rollups with Celestia as DA","Overview"]},"104":{"title":"Ethereum fallback mechanism in Nitro","titles":["Introduction to Arbitrum rollups with Celestia as DA","Overview"]},"105":{"title":"Next steps","titles":["Introduction to Arbitrum rollups with Celestia as DA"]},"106":{"title":"Deploy an Arbitrum rollup to Mocha testnet","titles":[]},"107":{"title":"Dependencies","titles":["Deploy an Arbitrum rollup to Mocha testnet"]},"108":{"title":"Setting up your light node","titles":["Deploy an Arbitrum rollup to Mocha testnet"]},"109":{"title":"Run your Nitro rollup on Mocha","titles":["Deploy an Arbitrum rollup to Mocha testnet"]},"110":{"title":"Deploy a smart contract to your Arbitrum rollup","titles":[]},"111":{"title":"Overview","titles":["Deploy a smart contract to your Arbitrum rollup"]},"112":{"title":"Prerequisites","titles":["Deploy a smart contract to your Arbitrum rollup"]},"113":{"title":"Setup","titles":["Deploy a smart contract to your Arbitrum rollup"]},"114":{"title":"Create your smart contract","titles":["Deploy a smart contract to your Arbitrum rollup"]},"115":{"title":"Test your smart contract","titles":["Deploy a smart contract to your Arbitrum rollup"]},"116":{"title":"Deploying your smart contract","titles":["Deploy a smart contract to your Arbitrum rollup"]},"117":{"title":"Funded accounts","titles":["Deploy a smart contract to your Arbitrum rollup","Deploying your smart contract"]},"118":{"title":"Using our Arbitrum devnet","titles":["Deploy a smart contract to your Arbitrum rollup","Deploying your smart contract"]},"119":{"title":"Interacting with your smart contract","titles":["Deploy a smart contract to your Arbitrum rollup"]},"120":{"title":"Next steps","titles":["Deploy a smart contract to your Arbitrum rollup"]},"121":{"title":"Integrate with Blobstream contracts","titles":[]},"122":{"title":"Getting started","titles":["Integrate with Blobstream contracts"]},"123":{"title":"Prerequisites","titles":["Integrate with Blobstream contracts","Getting started"]},"124":{"title":"Installing Blobstream contracts","titles":["Integrate with Blobstream contracts","Getting started"]},"125":{"title":"Example usage","titles":["Integrate with Blobstream contracts","Getting started"]},"126":{"title":"Data structures","titles":["Integrate with Blobstream contracts"]},"127":{"title":"Interface","titles":["Integrate with Blobstream contracts"]},"128":{"title":"Querying the proof","titles":["Integrate with Blobstream contracts"]},"129":{"title":"Verifying data inclusion for fraud proofs","titles":["Integrate with Blobstream contracts"]},"130":{"title":"Integrate with Blobstream client","titles":[]},"131":{"title":"Blobstream demo rollup","titles":["Integrate with Blobstream client"]},"132":{"title":"Defining a chain","titles":["Integrate with Blobstream client"]},"133":{"title":"Rollup sequencer","titles":["Integrate with Blobstream client"]},"134":{"title":"Committing to data","titles":["Integrate with Blobstream client","Rollup sequencer"]},"135":{"title":"Creating blocks","titles":["Integrate with Blobstream client","Rollup sequencer"]},"136":{"title":"Rollup full node","titles":["Integrate with Blobstream client"]},"137":{"title":"Downloading the block","titles":["Integrate with Blobstream client","Rollup full node"]},"138":{"title":"More documentation","titles":["Integrate with Blobstream client","Rollup full node"]},"139":{"title":"Proving inclusion via Blobstream","titles":["Integrate with Blobstream client","Rollup full node","More documentation"]},"140":{"title":"Submitting block data to Celestia via light node","titles":["Integrate with Blobstream client","Rollup full node","More documentation"]},"141":{"title":"Posting headers to Ethereum","titles":["Integrate with Blobstream client","Rollup full node","More documentation"]},"142":{"title":"Blobstream proofs queries","titles":[]},"143":{"title":"Prerequisites","titles":["Blobstream proofs queries"]},"144":{"title":"Querying the proofs","titles":["Blobstream proofs queries"]},"145":{"title":"1. Data root inclusion proof","titles":["Blobstream proofs queries","Querying the proofs"]},"146":{"title":"2. Transaction inclusion proof","titles":["Blobstream proofs queries","Querying the proofs"]},"147":{"title":"Converting the proofs to be usable in the DAVerifier contract","titles":["Blobstream proofs queries"]},"148":{"title":"data","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"149":{"title":"shareProofs","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"150":{"title":"namespace","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"151":{"title":"rowRoots","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"152":{"title":"rowProofs","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"153":{"title":"attestationProof","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"154":{"title":"High-level diagrams","titles":["Blobstream proofs queries"]},"155":{"title":"The Celestia square","titles":["Blobstream proofs queries","High-level diagrams"]},"156":{"title":"The commitment scheme","titles":["Blobstream proofs queries","High-level diagrams"]},"157":{"title":"Conclusion","titles":["Blobstream proofs queries"]},"158":{"title":"Integrate with Blobstream","titles":[]},"159":{"title":"Overview","titles":["Integrate with Blobstream"]},"160":{"title":"How Blobstream works","titles":["Integrate with Blobstream"]},"161":{"title":"Events and messages relayed","titles":["Integrate with Blobstream","How Blobstream works"]},"162":{"title":"How to integrate","titles":["Integrate with Blobstream"]},"163":{"title":"Deployed contracts","titles":["Integrate with Blobstream","How to integrate"]},"164":{"title":"Blobstream vs. data availability committees (DACs)","titles":["Integrate with Blobstream"]},"165":{"title":"Decentralization and security","titles":["Integrate with Blobstream","Blobstream vs. data availability committees (DACs)"]},"166":{"title":"Mechanism of verification","titles":["Integrate with Blobstream","Blobstream vs. data availability committees (DACs)"]},"167":{"title":"Flexibility and scalability","titles":["Integrate with Blobstream","Blobstream vs. data availability committees (DACs)"]},"168":{"title":"Bubs testnet","titles":[]},"169":{"title":"Built with the OP Stack and Celestia","titles":["Bubs testnet"]},"170":{"title":"Building on Bubs","titles":["Bubs testnet"]},"171":{"title":"RPC URLs","titles":["Bubs testnet","Building on Bubs"]},"172":{"title":"HTTPS","titles":["Bubs testnet","Building on Bubs","RPC URLs"]},"173":{"title":"WSS","titles":["Bubs testnet","Building on Bubs","RPC URLs"]},"174":{"title":"Faucet","titles":["Bubs testnet","Building on Bubs"]},"175":{"title":"Explorer","titles":["Bubs testnet","Building on Bubs"]},"176":{"title":"Next steps","titles":["Bubs testnet"]},"177":{"title":"Build modular","titles":[]},"178":{"title":"What is a modular blockchain?","titles":["Build modular"]},"179":{"title":"Ease of deploying a chain","titles":["Build modular"]},"180":{"title":"Scaling","titles":["Build modular"]},"181":{"title":"Customizability","titles":["Build modular"]},"182":{"title":"Building on Celestia","titles":["Build modular"]},"183":{"title":"Smart contracts","titles":["Build modular","Building on Celestia"]},"184":{"title":"Sovereign rollups","titles":["Build modular","Building on Celestia"]},"185":{"title":"Rollups","titles":["Build modular","Building on Celestia"]},"186":{"title":"How to create a vesting account with celestia-app","titles":[]},"187":{"title":"Local devnet","titles":["How to create a vesting account with celestia-app"]},"188":{"title":"Setting up the local devnet","titles":["How to create a vesting account with celestia-app","Local devnet"]},"189":{"title":"Run the devnet","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up the local devnet"]},"190":{"title":"Save the home directory path","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up the local devnet"]},"191":{"title":"Check the version of the devnet","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up the local devnet"]},"192":{"title":"Next steps","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up the local devnet"]},"193":{"title":"Setting up vesting account on devnet","titles":["How to create a vesting account with celestia-app","Local devnet"]},"194":{"title":"Create a new key","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"195":{"title":"List your keys","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"196":{"title":"Set variables","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"197":{"title":"Create your devnet vesting account","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"198":{"title":"Query the devnet vesting account details","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"199":{"title":"Query the devnet base account details","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"200":{"title":"Query the balances of the devnet accounts","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"201":{"title":"Mocha","titles":["How to create a vesting account with celestia-app"]},"202":{"title":"Create a wallet","titles":["How to create a vesting account with celestia-app","Mocha"]},"203":{"title":"Fund your account","titles":["How to create a vesting account with celestia-app","Mocha"]},"204":{"title":"Create a vesting account on Mocha","titles":["How to create a vesting account with celestia-app","Mocha"]},"205":{"title":"Optional: Set up a full consensus node or validator","titles":["How to create a vesting account with celestia-app","Mocha"]},"206":{"title":"Optional: Change your client.toml","titles":["How to create a vesting account with celestia-app","Mocha"]},"207":{"title":"Notes","titles":["How to create a vesting account with celestia-app"]},"208":{"title":"Conclusion","titles":["How to create a vesting account with celestia-app"]},"209":{"title":"Create a wallet with celestia-app","titles":[]},"210":{"title":"Prerequisites","titles":["Create a wallet with celestia-app"]},"211":{"title":"Create a wallet","titles":["Create a wallet with celestia-app"]},"212":{"title":"Fund a wallet","titles":["Create a wallet with celestia-app"]},"213":{"title":"Create a wallet with celestia-node","titles":[]},"214":{"title":"Using the cel-key utility","titles":["Create a wallet with celestia-node"]},"215":{"title":"Installation","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"216":{"title":"Steps for generating node keys","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"217":{"title":"Steps for exporting node keys","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"218":{"title":"Steps for importing node keys","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"219":{"title":"View all options for cel-key","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"220":{"title":"Docker and cel-key","titles":["Create a wallet with celestia-node"]},"221":{"title":"Prerequisites","titles":["Create a wallet with celestia-node","Docker and cel-key"]},"222":{"title":"Running your node","titles":["Create a wallet with celestia-node","Docker and cel-key"]},"223":{"title":"Mounting existing keys to container","titles":["Create a wallet with celestia-node","Docker and cel-key"]},"224":{"title":"Cosmostation integration with Celestia","titles":[]},"225":{"title":"Install Cosmostation","titles":["Cosmostation integration with Celestia"]},"226":{"title":"Add Celestia network parameters","titles":["Cosmostation integration with Celestia"]},"227":{"title":"Deploy a smart contract on Bubs testnet","titles":[]},"228":{"title":"Dependencies","titles":["Deploy a smart contract on Bubs testnet"]},"229":{"title":"Setup","titles":["Deploy a smart contract on Bubs testnet"]},"230":{"title":"Create your smart contract","titles":["Deploy a smart contract on Bubs testnet"]},"231":{"title":"Test your smart contract","titles":["Deploy a smart contract on Bubs testnet"]},"232":{"title":"Deploying your smart contract","titles":["Deploy a smart contract on Bubs testnet"]},"233":{"title":"Using Anvil","titles":["Deploy a smart contract on Bubs testnet","Deploying your smart contract"]},"234":{"title":"Using Bubs","titles":["Deploy a smart contract on Bubs testnet","Deploying your smart contract"]},"235":{"title":"Interacting with your smart contract","titles":["Deploy a smart contract on Bubs testnet"]},"236":{"title":"Next steps","titles":["Deploy a smart contract on Bubs testnet"]},"237":{"title":"Ethereum fallback","titles":[]},"238":{"title":"Full stack modular blockchain development guide","titles":[]},"239":{"title":"Getting started","titles":["Full stack modular blockchain development guide"]},"240":{"title":"Pre-requisites","titles":["Full stack modular blockchain development guide","Getting started"]},"241":{"title":"Project setup","titles":["Full stack modular blockchain development guide","Getting started"]},"242":{"title":"Updating the contract and tests","titles":["Full stack modular blockchain development guide","Getting started","Project setup"]},"243":{"title":"Running the test","titles":["Full stack modular blockchain development guide","Getting started","Project setup"]},"244":{"title":"Updating the deployment script","titles":["Full stack modular blockchain development guide","Getting started","Project setup"]},"245":{"title":"Deploying locally","titles":["Full stack modular blockchain development guide","Getting started","Project setup"]},"246":{"title":"Deploying to the Ethermint Sovereign Rollup","titles":["Full stack modular blockchain development guide","Getting started"]},"247":{"title":"Building the frontend","titles":["Full stack modular blockchain development guide","Getting started"]},"248":{"title":"Configuring environment variables","titles":["Full stack modular blockchain development guide","Getting started","Building the frontend"]},"249":{"title":"Configuring the entrypoint","titles":["Full stack modular blockchain development guide","Getting started"]},"250":{"title":"Creating and reading posts","titles":["Full stack modular blockchain development guide","Getting started"]},"251":{"title":"Adding Ethermint Chain to MetaMask","titles":["Full stack modular blockchain development guide","Getting started"]},"252":{"title":"Testing it out on Ethermint","titles":["Full stack modular blockchain development guide","Getting started"]},"253":{"title":"Now give it a spin 🌀","titles":["Full stack modular blockchain development guide","Getting started"]},"254":{"title":"Deploying a dapp on Bubs testnet","titles":[]},"255":{"title":"Update the frontend","titles":["Deploying a dapp on Bubs testnet"]},"256":{"title":"Interact with the frontend","titles":["Deploying a dapp on Bubs testnet"]},"257":{"title":"Next steps","titles":["Deploying a dapp on Bubs testnet"]},"258":{"title":"How to stake TIA","titles":[]},"259":{"title":"Select your preferred wallet","titles":["How to stake TIA"]},"260":{"title":"Stake TIA with Keplr wallet","titles":["How to stake TIA"]},"261":{"title":"1️⃣ Open your Keplr browser extension","titles":["How to stake TIA","Stake TIA with Keplr wallet"]},"262":{"title":"2️⃣ Select Celestia network and search for a validator","titles":["How to stake TIA","Stake TIA with Keplr wallet"]},"263":{"title":"3️⃣ Stake your TIA tokens","titles":["How to stake TIA","Stake TIA with Keplr wallet"]},"264":{"title":"4️⃣ Confirm and manage your TIA","titles":["How to stake TIA","Stake TIA with Keplr wallet"]},"265":{"title":"Stake TIA with Leap wallet","titles":["How to stake TIA"]},"266":{"title":"1️⃣ Open your Leap browser extension","titles":["How to stake TIA","Stake TIA with Leap wallet"]},"267":{"title":"2️⃣ Select a validator and stake TIA","titles":["How to stake TIA","Stake TIA with Leap wallet"]},"268":{"title":"3️⃣ Confirm and manage your TIA","titles":["How to stake TIA","Stake TIA with Leap wallet"]},"269":{"title":"IBC relaying guide","titles":[]},"270":{"title":"Hermes","titles":["IBC relaying guide"]},"271":{"title":"Configuration","titles":["IBC relaying guide","Hermes"]},"272":{"title":"Add relayer wallets","titles":["IBC relaying guide","Hermes"]},"273":{"title":"Verify configuration files","titles":["IBC relaying guide","Hermes"]},"274":{"title":"Create a connection between 2 chains","titles":["IBC relaying guide"]},"275":{"title":"Create clients","titles":["IBC relaying guide"]},"276":{"title":"Open connection over new clients","titles":["IBC relaying guide","Create clients"]},"277":{"title":"Configure channels in Hermes","titles":["IBC relaying guide","Create clients"]},"278":{"title":"Start the relayer","titles":["IBC relaying guide"]},"279":{"title":"Transfer","titles":["IBC relaying guide"]},"280":{"title":"Token filter","titles":["IBC relaying guide","Transfer"]},"281":{"title":"Integrate Celestia for service providers","titles":[]},"282":{"title":"Getting started","titles":["Integrate Celestia for service providers"]},"283":{"title":"Celestia service provider notes","titles":["Integrate Celestia for service providers"]},"284":{"title":"Custody and key management","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"285":{"title":"RPC and querying","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"286":{"title":"Compatibility","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"287":{"title":"Syncing","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"288":{"title":"Notable exceptions relative to other blockchains","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"289":{"title":"Introduction to OP Stack integration","titles":[]},"290":{"title":"About the integration","titles":["Introduction to OP Stack integration"]},"291":{"title":"Table of contents of the category","titles":["Introduction to OP Stack integration","About the integration"]},"292":{"title":"Celestia and OP Stack repository","titles":["Introduction to OP Stack integration"]},"293":{"title":"What are Optimism and the OP Stack?","titles":["Introduction to OP Stack integration","Celestia and OP Stack repository"]},"294":{"title":"What is Celestia?","titles":["Introduction to OP Stack integration","Celestia and OP Stack repository"]},"295":{"title":"OP Stack and Celestia","titles":["Introduction to OP Stack integration"]},"296":{"title":"Next steps","titles":["Introduction to OP Stack integration"]},"297":{"title":"Keplr integration with Celestia","titles":[]},"298":{"title":"Add Celestia network to Keplr","titles":["Keplr integration with Celestia"]},"299":{"title":"Leap integration with Celestia","titles":[]},"300":{"title":"Install Leap","titles":["Leap integration with Celestia"]},"301":{"title":"Add Mocha Testnet","titles":["Leap integration with Celestia"]},"302":{"title":"Adding a custom chain to Leap","titles":["Leap integration with Celestia"]},"303":{"title":"Nitrogen testnet","titles":[]},"304":{"title":"Getting Started with Nitrogen","titles":["Nitrogen testnet"]},"305":{"title":"Nitrogen tokens","titles":["Nitrogen testnet"]},"306":{"title":"Optional: Bridging tokens","titles":["Nitrogen testnet","Nitrogen tokens"]},"307":{"title":"Node API","titles":[]},"308":{"title":"RPC API","titles":["Node API"]},"309":{"title":"Library","titles":["Node API","RPC API"]},"310":{"title":"RPC","titles":["Node API","RPC API"]},"311":{"title":"RPC API tutorial","titles":["Node API","RPC API"]},"312":{"title":"Gateway API","titles":["Node API"]},"313":{"title":"Gateway API tutorial","titles":["Node API","Gateway API"]},"314":{"title":"Celestia-node RPC CLI tutorial","titles":[]},"315":{"title":"Introduction","titles":["Celestia-node RPC CLI tutorial"]},"316":{"title":"Blobs","titles":["Celestia-node RPC CLI tutorial","Introduction"]},"317":{"title":"Namespaces","titles":["Celestia-node RPC CLI tutorial","Introduction"]},"318":{"title":"Hardware requirements","titles":["Celestia-node RPC CLI tutorial"]},"319":{"title":"Setting up dependencies","titles":["Celestia-node RPC CLI tutorial"]},"320":{"title":"Install Golang","titles":["Celestia-node RPC CLI tutorial"]},"321":{"title":"Celestia-node","titles":["Celestia-node RPC CLI tutorial"]},"322":{"title":"Install celestia-node","titles":["Celestia-node RPC CLI tutorial","Celestia-node"]},"323":{"title":"Instantiate a Celestia light node","titles":["Celestia-node RPC CLI tutorial","Celestia-node"]},"324":{"title":"Connect to a public core endpoint","titles":["Celestia-node RPC CLI tutorial","Celestia-node"]},"325":{"title":"Keys and wallets","titles":["Celestia-node RPC CLI tutorial","Celestia-node"]},"326":{"title":"RPC CLI guide","titles":["Celestia-node RPC CLI tutorial"]},"327":{"title":"Command formatting","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"328":{"title":"Basic flags","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"329":{"title":"Auth token 🔐","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Basic flags"]},"330":{"title":"Node store","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Basic flags"]},"331":{"title":"Auth token on custom or private network","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Basic flags","Node store"]},"332":{"title":"Submitting data","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"333":{"title":"Retrieving data","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"334":{"title":"Setting the gas fee and limit","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"335":{"title":"Examples","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"336":{"title":"Check your balance","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"337":{"title":"Check the balance of another address","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"338":{"title":"Get your node ID","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"339":{"title":"Get your account address","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"340":{"title":"Get block header by height","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"341":{"title":"Combined commands","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"342":{"title":"Get data availability sampler stats","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"343":{"title":"Transfer balance of utia to another account","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"344":{"title":"API version","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"345":{"title":"Help","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"346":{"title":"Advanced example","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"347":{"title":"Additional resources","titles":["Celestia-node RPC CLI tutorial"]},"348":{"title":"Post an SVG as a PFB","titles":["Celestia-node RPC CLI tutorial","Additional resources"]},"349":{"title":"Golang guide","titles":["Celestia-node RPC CLI tutorial","Additional resources"]},"350":{"title":"Troubleshooting","titles":["Celestia-node RPC CLI tutorial","Additional resources"]},"351":{"title":"Deploy an OP Stack devnet","titles":[]},"352":{"title":"Dependency setup","titles":["Deploy an OP Stack devnet"]},"353":{"title":"Environment setup and Golang installation","titles":["Deploy an OP Stack devnet","Dependency setup"]},"354":{"title":"Clone repository","titles":["Deploy an OP Stack devnet","Dependency setup"]},"355":{"title":"Build devnet","titles":["Deploy an OP Stack devnet"]},"356":{"title":"Start devnet","titles":["Deploy an OP Stack devnet","Build devnet"]},"357":{"title":"View the logs of the devnet","titles":["Deploy an OP Stack devnet","Build devnet"]},"358":{"title":"Stop devnet","titles":["Deploy an OP Stack devnet","Build devnet"]},"359":{"title":"Viewing containers","titles":["Deploy an OP Stack devnet","Build devnet"]},"360":{"title":"Find a transaction","titles":["Deploy an OP Stack devnet"]},"361":{"title":"Read the transaction call data","titles":["Deploy an OP Stack devnet"]},"362":{"title":"Find the data on Celestia","titles":["Deploy an OP Stack devnet"]},"363":{"title":"Ethereum fallback mechanism in OP Stack","titles":["Deploy an OP Stack devnet"]},"364":{"title":"Implementation of fallback","titles":["Deploy an OP Stack devnet","Ethereum fallback mechanism in OP Stack"]},"365":{"title":"Testing the fallback","titles":["Deploy an OP Stack devnet","Ethereum fallback mechanism in OP Stack"]},"366":{"title":"Span batches","titles":["Deploy an OP Stack devnet"]},"367":{"title":"Deploy an OP Stack devnet to Celestia","titles":[]},"368":{"title":"Pick your deployment type","titles":["Deploy an OP Stack devnet to Celestia"]},"369":{"title":"Using a local devnet","titles":["Deploy an OP Stack devnet to Celestia","Pick your deployment type"]},"370":{"title":"Using a light node","titles":["Deploy an OP Stack devnet to Celestia","Pick your deployment type"]},"371":{"title":"Using a RaaS provider","titles":["Deploy an OP Stack devnet to Celestia","Pick your deployment type"]},"372":{"title":"Build the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"373":{"title":"Start the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"374":{"title":"View the logs of the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"375":{"title":"Stop the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"376":{"title":"Clean the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"377":{"title":"Deploying to an L1 (or L2)","titles":["Deploy an OP Stack devnet to Celestia"]},"378":{"title":"Prompt scavenger","titles":[]},"379":{"title":"Dependencies","titles":["Prompt scavenger"]},"380":{"title":"Install Celestia Node and run a light node","titles":["Prompt scavenger","Dependencies"]},"381":{"title":"Node API authentication key","titles":["Prompt scavenger","Dependencies"]},"382":{"title":"OpenAI key","titles":["Prompt scavenger","Dependencies"]},"383":{"title":"Building the Prompt Scavenger","titles":["Prompt scavenger"]},"384":{"title":"Copy over Go files","titles":["Prompt scavenger","Building the Prompt Scavenger"]},"385":{"title":"Build your import statements","titles":["Prompt scavenger","Building the Prompt Scavenger"]},"386":{"title":"Helpful functions","titles":["Prompt scavenger","Building the Prompt Scavenger"]},"387":{"title":"Wrapping up the functions","titles":["Prompt scavenger","Building the Prompt Scavenger"]},"388":{"title":"Next steps","titles":["Prompt scavenger"]},"389":{"title":"Data retrievability and pruning","titles":[]},"390":{"title":"Data retrievability and pruning in celestia-node","titles":["Data retrievability and pruning"]},"391":{"title":"Suggested practices for rollups","titles":["Data retrievability and pruning"]},"392":{"title":"Rollkit","titles":[]},"393":{"title":"Tutorials","titles":["Rollkit"]},"394":{"title":"Deploy a rollup","titles":[]},"395":{"title":"What is a rollup?","titles":["Deploy a rollup"]},"396":{"title":"Section contents","titles":["Deploy a rollup"]},"397":{"title":"Staking on Celestia","titles":[]},"398":{"title":"Mainnet Beta","titles":["Staking on Celestia"]},"399":{"title":"Mocha testnet","titles":["Staking on Celestia"]},"400":{"title":"Submitting data blobs to Celestia","titles":[]},"401":{"title":"Fee market and mempool","titles":["Submitting data blobs to Celestia"]},"402":{"title":"Fees and gas limits","titles":["Submitting data blobs to Celestia","Fee market and mempool"]},"403":{"title":"Estimating PFB gas","titles":["Submitting data blobs to Celestia","Fee market and mempool","Fees and gas limits"]},"404":{"title":"Gas fee calculation","titles":["Submitting data blobs to Celestia","Fee market and mempool","Fees and gas limits"]},"405":{"title":"Estimating gas programmatically","titles":["Submitting data blobs to Celestia","Fee market and mempool","Fees and gas limits"]},"406":{"title":"Submitting multiple transactions in one block from the same account","titles":["Submitting data blobs to Celestia","Fee market and mempool"]},"407":{"title":"API","titles":["Submitting data blobs to Celestia"]},"408":{"title":"The celestia-app consensus node CLI","titles":["Submitting data blobs to Celestia","API"]},"409":{"title":"The celestia-node light node CLI","titles":["Submitting data blobs to Celestia","API"]},"410":{"title":"GRPC to a consensus node via the user package","titles":["Submitting data blobs to Celestia","API"]},"411":{"title":"RPC to a celestia-node","titles":["Submitting data blobs to Celestia","API"]},"412":{"title":"Data availability FAQ","titles":[]},"413":{"title":"What is data availability?","titles":["Data availability FAQ"]},"414":{"title":"What is the data availability problem?","titles":["Data availability FAQ"]},"415":{"title":"How do nodes verify data availability in Celestia?","titles":["Data availability FAQ"]},"416":{"title":"What is data availability sampling?","titles":["Data availability FAQ"]},"417":{"title":"What are some of the security assumptions that Celestia makes for data availability sampling?","titles":["Data availability FAQ"]},"418":{"title":"Why is block reconstruction necessary for security?","titles":["Data availability FAQ"]},"419":{"title":"What is data storage?","titles":["Data availability FAQ"]},"420":{"title":"What is the problem around data storage?","titles":["Data availability FAQ"]},"421":{"title":"What is the difference between data availability and data storage?","titles":["Data availability FAQ"]},"422":{"title":"Where does blockchain state fit into this?","titles":["Data availability FAQ"]},"423":{"title":"Why doesn’t Celestia incentivize storage of historical data?","titles":["Data availability FAQ"]},"424":{"title":"Who may store historical data if there is no reward?","titles":["Data availability FAQ"]},"425":{"title":"What are some things blockchains can do to provide stronger assurances of data retrievability?","titles":["Data availability FAQ"]},"426":{"title":"Celestia\'s data availability layer","titles":[]},"427":{"title":"Data availability sampling (DAS)","titles":["Celestia\'s data availability layer"]},"428":{"title":"Scalability","titles":["Celestia\'s data availability layer","Data availability sampling (DAS)"]},"429":{"title":"Fraud proofs of incorrectly extended data","titles":["Celestia\'s data availability layer","Data availability sampling (DAS)"]},"430":{"title":"Namespaced Merkle trees (NMTs)","titles":["Celestia\'s data availability layer"]},"431":{"title":"Building a PoS blockchain for DA","titles":["Celestia\'s data availability layer"]},"432":{"title":"Providing data availability","titles":["Celestia\'s data availability layer","Building a PoS blockchain for DA"]},"433":{"title":"Monolithic vs. modular blockchains","titles":[]},"434":{"title":"Introduction","titles":[]},"435":{"title":"The lifecycle of a celestia-app transaction","titles":[]},"436":{"title":"Checking data availability","titles":["The lifecycle of a celestia-app transaction"]},"437":{"title":"Paying for blobspace","titles":[]},"438":{"title":"PayForBlobs transactions","titles":["Paying for blobspace"]},"439":{"title":"Fee market overview","titles":["Paying for blobspace"]},"440":{"title":"Staking, governance, & supply","titles":[]},"441":{"title":"Proof-of-stake on Celestia","titles":["Staking, governance, & supply"]},"442":{"title":"Inflation","titles":["Staking, governance, & supply"]},"443":{"title":"Decentralised governance","titles":["Staking, governance, & supply"]},"444":{"title":"Network parameters","titles":["Staking, governance, & supply","Decentralised governance"]},"445":{"title":"Community pool","titles":["Staking, governance, & supply","Decentralised governance"]},"446":{"title":"TIA allocation at genesis","titles":["Staking, governance, & supply"]},"447":{"title":"Unlocks","titles":["Staking, governance, & supply","TIA allocation at genesis"]},"448":{"title":"Overview of TIA","titles":[]},"449":{"title":"TIA at a glance","titles":["Overview of TIA"]},"450":{"title":"Role of TIA","titles":["Overview of TIA"]},"451":{"title":"Paying for blobspace","titles":["Overview of TIA","Role of TIA"]},"452":{"title":"Bootstrapping new rollups","titles":["Overview of TIA","Role of TIA"]},"453":{"title":"Proof-of-stake","titles":["Overview of TIA","Role of TIA"]},"454":{"title":"Decentralised governance","titles":["Overview of TIA","Role of TIA"]},"455":{"title":"Denominations","titles":["Overview of TIA","Role of TIA"]},"456":{"title":"TIA: display token","titles":["Overview of TIA","Role of TIA","Denominations"]},"457":{"title":"utia: staking denomination","titles":["Overview of TIA","Role of TIA","Denominations"]},"458":{"title":"microtia: staking denomination alias","titles":["Overview of TIA","Role of TIA","Denominations"]},"459":{"title":"Arabica-9 devnet","titles":[]},"460":{"title":"Software version numbers","titles":["Arabica-9 devnet"]},"461":{"title":"Integrations","titles":["Arabica-9 devnet"]},"462":{"title":"RPC endpoints","titles":["Arabica-9 devnet"]},"463":{"title":"Bridge, full, and light nodes","titles":["Arabica-9 devnet","RPC endpoints"]},"464":{"title":"Full and light nodes ONLY","titles":["Arabica-9 devnet","RPC endpoints"]},"465":{"title":"API endpoints","titles":["Arabica-9 devnet"]},"466":{"title":"gRPC endpoints","titles":["Arabica-9 devnet"]},"467":{"title":"Arabica devnet faucet","titles":["Arabica-9 devnet"]},"468":{"title":"Web","titles":["Arabica-9 devnet","Arabica devnet faucet"]},"469":{"title":"Explorers","titles":["Arabica-9 devnet"]},"470":{"title":"Network upgrades","titles":["Arabica-9 devnet"]},"471":{"title":"Arabica devnet","titles":[]},"472":{"title":"Network stability and upgrades","titles":["Arabica devnet"]},"473":{"title":"Network details","titles":["Arabica devnet"]},"474":{"title":"Software version numbers","titles":["Arabica devnet","Network details"]},"475":{"title":"Integrations","titles":["Arabica devnet"]},"476":{"title":"RPC endpoints","titles":["Arabica devnet","Integrations"]},"477":{"title":"Using consensus endpoints with DA nodes","titles":["Arabica devnet","Integrations"]},"478":{"title":"Arabica devnet faucet","titles":["Arabica devnet"]},"479":{"title":"Discord","titles":["Arabica devnet","Arabica devnet faucet"]},"480":{"title":"Web","titles":["Arabica devnet","Arabica devnet faucet"]},"481":{"title":"Explorers","titles":["Arabica devnet"]},"482":{"title":"Network upgrades","titles":["Arabica devnet"]},"483":{"title":"Blobstream for validators","titles":[]},"484":{"title":"Install the Blobstream binary","titles":["Blobstream for validators"]},"485":{"title":"Install","titles":["Blobstream for validators","Install the Blobstream binary"]},"486":{"title":"Usage","titles":["Blobstream for validators","Install the Blobstream binary"]},"487":{"title":"Next steps","titles":["Blobstream for validators","Install the Blobstream binary"]},"488":{"title":"Useful links","titles":["Blobstream for validators","Install the Blobstream binary"]},"489":{"title":"Blobstream bootstrapper","titles":[]},"490":{"title":"How to run","titles":["Blobstream bootstrapper"]},"491":{"title":"Install the Blobstream binary","titles":["Blobstream bootstrapper","How to run"]},"492":{"title":"Init the store","titles":["Blobstream bootstrapper","How to run"]},"493":{"title":"Add keys","titles":["Blobstream bootstrapper","How to run"]},"494":{"title":"Open the P2P port","titles":["Blobstream bootstrapper","How to run"]},"495":{"title":"Start the bootstrapper","titles":["Blobstream bootstrapper","How to run"]},"496":{"title":"Systemd service","titles":["Blobstream bootstrapper","How to run","Start the bootstrapper"]},"497":{"title":"Deploy the Blobstream contract","titles":[]},"498":{"title":"How to run","titles":["Deploy the Blobstream contract"]},"499":{"title":"Install the Blobstream binary","titles":["Deploy the Blobstream contract","How to run"]},"500":{"title":"Add keys","titles":["Deploy the Blobstream contract","How to run"]},"501":{"title":"Deploy the contract","titles":["Deploy the Blobstream contract","How to run"]},"502":{"title":"Key management","titles":[]},"503":{"title":"Orchestrator command","titles":["Key management"]},"504":{"title":"Relayer command","titles":["Key management"]},"505":{"title":"Deploy command","titles":["Key management"]},"506":{"title":"Store initialization (!)","titles":["Key management"]},"507":{"title":"Options","titles":["Key management"]},"508":{"title":"EVM keystore","titles":["Key management","Options"]},"509":{"title":"EVM: Add subcommand","titles":["Key management","Options","EVM keystore"]},"510":{"title":"EVM: Delete subcommand","titles":["Key management","Options","EVM keystore"]},"511":{"title":"EVM: List subcommand","titles":["Key management","Options","EVM keystore"]},"512":{"title":"EVM: Update subcommand","titles":["Key management","Options","EVM keystore"]},"513":{"title":"EVM: Import subcommand","titles":["Key management","Options","EVM keystore"]},"514":{"title":"EVM: Import ECDSA","titles":["Key management","Options","EVM keystore"]},"515":{"title":"EVM: Import file","titles":["Key management","Options","EVM keystore"]},"516":{"title":"P2P keystore","titles":["Key management","Options"]},"517":{"title":"P2P: Add subcommand","titles":["Key management","Options","P2P keystore"]},"518":{"title":"P2P: Delete subcommand","titles":["Key management","Options","P2P keystore"]},"519":{"title":"P2P: Import subcommand","titles":["Key management","Options","P2P keystore"]},"520":{"title":"P2P: List subcommand","titles":["Key management","Options","P2P keystore"]},"521":{"title":"Blobstream Orchestrator","titles":[]},"522":{"title":"How it works","titles":["Blobstream Orchestrator"]},"523":{"title":"How to run","titles":["Blobstream Orchestrator"]},"524":{"title":"Requirements","titles":["Blobstream Orchestrator","How to run"]},"525":{"title":"Install the Blobstream binary","titles":["Blobstream Orchestrator","How to run"]},"526":{"title":"Init the store","titles":["Blobstream Orchestrator","How to run"]},"527":{"title":"Add keys","titles":["Blobstream Orchestrator","How to run"]},"528":{"title":"EVM key","titles":["Blobstream Orchestrator","How to run","Add keys"]},"529":{"title":"Open the P2P port","titles":["Blobstream Orchestrator","How to run"]},"530":{"title":"Start the orchestrator","titles":["Blobstream Orchestrator","How to run"]},"531":{"title":"Known issues","titles":["Blobstream Orchestrator","How to run"]},"532":{"title":"transport: authentication handshake failed","titles":["Blobstream Orchestrator","How to run","Known issues"]},"533":{"title":"failed to query last valset before nonce (most likely pruned)","titles":["Blobstream Orchestrator","How to run","Known issues"]},"534":{"title":"Register EVM Address","titles":["Blobstream Orchestrator","How to run"]},"535":{"title":"Updating the EVM address if its corresponding private key is lost","titles":["Blobstream Orchestrator","How to run"]},"536":{"title":"Systemd service","titles":["Blobstream Orchestrator","How to run","Updating the EVM address if its corresponding private key is lost"]},"537":{"title":"Issue: Journald not outputting the logs","titles":["Blobstream Orchestrator","How to run","Updating the EVM address if its corresponding private key is lost","Systemd service"]},"538":{"title":"Blobstream Relayer","titles":[]},"539":{"title":"How it works","titles":["Blobstream Relayer"]},"540":{"title":"How to run","titles":["Blobstream Relayer"]},"541":{"title":"Install the Blobstream binary","titles":["Blobstream Relayer","How to run"]},"542":{"title":"Init the store","titles":["Blobstream Relayer","How to run"]},"543":{"title":"Add keys","titles":["Blobstream Relayer","How to run"]},"544":{"title":"EVM key","titles":["Blobstream Relayer","How to run","Add keys"]},"545":{"title":"Start the relayer","titles":["Blobstream Relayer","How to run"]},"546":{"title":"Setting up a Celestia bridge node","titles":[]},"547":{"title":"Overview of bridge nodes","titles":["Setting up a Celestia bridge node"]},"548":{"title":"Hardware requirements","titles":["Setting up a Celestia bridge node"]},"549":{"title":"Setting up your bridge node","titles":["Setting up a Celestia bridge node"]},"550":{"title":"Setup the dependencies","titles":["Setting up a Celestia bridge node","Setting up your bridge node"]},"551":{"title":"Deploy the Celestia bridge node","titles":["Setting up a Celestia bridge node"]},"552":{"title":"Install Celestia Node","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node"]},"553":{"title":"Initialize the bridge node","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node"]},"554":{"title":"Run the bridge node","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node"]},"555":{"title":"Optional: run the bridge node with a custom key","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node","Run the bridge node"]},"556":{"title":"Optional: start the bridge node with SystemD","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node"]},"557":{"title":"Helpful CLI commands","titles":[]},"558":{"title":"Creating a wallet","titles":["Helpful CLI commands"]},"559":{"title":"Key management","titles":["Helpful CLI commands"]},"560":{"title":"Importing and exporting keys","titles":["Helpful CLI commands","Key management"]},"561":{"title":"Querying subcommands","titles":["Helpful CLI commands"]},"562":{"title":"Token management","titles":["Helpful CLI commands"]},"563":{"title":"Governance","titles":["Helpful CLI commands"]},"564":{"title":"Community Pool","titles":["Helpful CLI commands","Governance"]},"565":{"title":"Claim validator rewards","titles":["Helpful CLI commands"]},"566":{"title":"Delegate & undelegate tokens","titles":["Helpful CLI commands"]},"567":{"title":"Unjailing the validator","titles":["Helpful CLI commands"]},"568":{"title":"How to export logs with SystemD","titles":["Helpful CLI commands"]},"569":{"title":"Signing genesis for a new network","titles":["Helpful CLI commands"]},"570":{"title":"Metrics","titles":[]},"571":{"title":"Setup","titles":["Metrics"]},"572":{"title":"Visualization","titles":["Metrics"]},"573":{"title":"Node exporter","titles":["Metrics"]},"574":{"title":"Alerts","titles":["Metrics"]},"575":{"title":"Multisig","titles":[]},"576":{"title":"Command line","titles":["Multisig"]},"577":{"title":"Resources","titles":["Multisig"]},"578":{"title":"Upgrade Monitor","titles":[]},"579":{"title":"Install celestia-app","titles":[]},"580":{"title":"Building binary from source","titles":["Install celestia-app"]},"581":{"title":"Installing a pre-built binary","titles":["Install celestia-app"]},"582":{"title":"Ports","titles":["Install celestia-app"]},"583":{"title":"Custom networks and values","titles":[]},"584":{"title":"celestia-node metrics","titles":[]},"585":{"title":"Running metrics flags","titles":["celestia-node metrics"]},"586":{"title":"TLS connections","titles":["celestia-node metrics","Running metrics flags"]},"587":{"title":"Metrics endpoint design considerations","titles":["celestia-node metrics"]},"588":{"title":"Troubleshooting","titles":[]},"589":{"title":"Network selection","titles":["Troubleshooting"]},"590":{"title":"Chain ID","titles":["Troubleshooting","Network selection"]},"591":{"title":"Ports","titles":["Troubleshooting"]},"592":{"title":"Changing the location of your node store","titles":["Troubleshooting"]},"593":{"title":"Resetting your config","titles":["Troubleshooting"]},"594":{"title":"Clearing the data store","titles":["Troubleshooting"]},"595":{"title":"FATAL headers given to the heightSub are in the wrong order","titles":["Troubleshooting"]},"596":{"title":"Install celestia-node","titles":[]},"597":{"title":"Next steps","titles":["Install celestia-node"]},"598":{"title":"Upgrading your binary","titles":["Install celestia-node"]},"599":{"title":"config.toml guide","titles":[]},"600":{"title":"Pre-requisites","titles":["config.toml guide"]},"601":{"title":"Understanding config.toml","titles":["config.toml guide"]},"602":{"title":"Core","titles":["config.toml guide","Understanding config.toml"]},"603":{"title":"P2P","titles":["config.toml guide","Understanding config.toml"]},"604":{"title":"Bootstrap","titles":["config.toml guide","Understanding config.toml","P2P"]},"605":{"title":"Mutual peers","titles":["config.toml guide","Understanding config.toml","P2P"]},"606":{"title":"Services","titles":["config.toml guide","Understanding config.toml"]},"607":{"title":"TrustedHash and TrustedPeer","titles":["config.toml guide","Understanding config.toml","Services"]},"608":{"title":"Setting up a Celestia full consensus node","titles":[]},"609":{"title":"Hardware requirements","titles":["Setting up a Celestia full consensus node"]},"610":{"title":"Setting up a full consensus node","titles":["Setting up a Celestia full consensus node"]},"611":{"title":"Setup the dependencies","titles":["Setting up a Celestia full consensus node","Setting up a full consensus node"]},"612":{"title":"Install celestia-app","titles":["Setting up a Celestia full consensus node","Setting up a full consensus node"]},"613":{"title":"Setup the P2P networks","titles":["Setting up a Celestia full consensus node","Setting up a full consensus node"]},"614":{"title":"Storage and pruning configurations","titles":["Setting up a Celestia full consensus node"]},"615":{"title":"Connecting a consensus node to a bridge node","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations"]},"616":{"title":"Enable transaction indexing","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations","Connecting a consensus node to a bridge node"]},"617":{"title":"Retain all block data","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations","Connecting a consensus node to a bridge node"]},"618":{"title":"Querying transactions by hash","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations"]},"619":{"title":"Accessing historical state","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations"]},"620":{"title":"Saving on storage requirements","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations"]},"621":{"title":"Syncing","titles":["Setting up a Celestia full consensus node"]},"622":{"title":"State sync","titles":["Setting up a Celestia full consensus node","Syncing"]},"623":{"title":"Quick sync","titles":["Setting up a Celestia full consensus node","Syncing"]},"624":{"title":"Start the consensus node","titles":["Setting up a Celestia full consensus node"]},"625":{"title":"Optional: Setting up a validator","titles":["Setting up a Celestia full consensus node"]},"626":{"title":"Setting up a Celestia validator node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"627":{"title":"Validator hardware requirements","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Setting up a Celestia validator node"]},"628":{"title":"Wallet","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Setting up a Celestia validator node"]},"629":{"title":"Delegate stake to a validator","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Setting up a Celestia validator node"]},"630":{"title":"Optional: Deploy the celestia-node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"631":{"title":"Install celestia-node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"632":{"title":"Initialize the bridge node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"633":{"title":"Run the bridge node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"634":{"title":"Optional: start the bridge node with SystemD","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"635":{"title":"Setup Blobstream keys","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"636":{"title":"Run the validator node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"637":{"title":"Register your validator\'s EVM address","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"638":{"title":"Run a Blobstream orchestrator","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"639":{"title":"Submit your validator information","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"640":{"title":"Extra resources for consensus nodes","titles":["Setting up a Celestia full consensus node"]},"641":{"title":"Optional: Reset network","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes"]},"642":{"title":"Optional: Configuring an RPC endpoint","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes"]},"643":{"title":"Expose RPC","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes","Optional: Configuring an RPC endpoint"]},"644":{"title":"Note on external-address","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes","Optional: Configuring an RPC endpoint"]},"645":{"title":"Restart the node","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes","Optional: Configuring an RPC endpoint"]},"646":{"title":"Optional: Transaction indexer configuration options","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes"]},"647":{"title":"Optional: Discard ABCI responses configuration","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes"]},"648":{"title":"Deciding which node to run","titles":[]},"649":{"title":"Beginner","titles":["Deciding which node to run"]},"650":{"title":"Advanced","titles":["Deciding which node to run"]},"651":{"title":"🐳 Docker setup","titles":[]},"652":{"title":"Prerequisites","titles":["🐳 Docker setup"]},"653":{"title":"Quick start","titles":["🐳 Docker setup"]},"654":{"title":"Light node setup with persistent storage","titles":["🐳 Docker setup"]},"655":{"title":"Initialize the node store and key","titles":["🐳 Docker setup","Light node setup with persistent storage"]},"656":{"title":"Start the node","titles":["🐳 Docker setup","Light node setup with persistent storage"]},"657":{"title":"Video walkthrough","titles":["🐳 Docker setup"]},"658":{"title":"2.5 minute version","titles":["🐳 Docker setup","Video walkthrough"]},"659":{"title":"Troubleshooting","titles":["🐳 Docker setup"]},"660":{"title":"Development environment","titles":[]},"661":{"title":"Install dependencies","titles":["Development environment"]},"662":{"title":"Install Golang","titles":["Development environment"]},"663":{"title":"Setting up a Celestia full storage Node","titles":[]},"664":{"title":"Overview of full storage nodes","titles":["Setting up a Celestia full storage Node"]},"665":{"title":"Hardware requirements","titles":["Setting up a Celestia full storage Node"]},"666":{"title":"Setting up your full storage node","titles":["Setting up a Celestia full storage Node"]},"667":{"title":"Setup the dependencies","titles":["Setting up a Celestia full storage Node","Setting up your full storage node"]},"668":{"title":"Install celestia-node","titles":["Setting up a Celestia full storage Node"]},"669":{"title":"Run the full storage node","titles":["Setting up a Celestia full storage Node","Install celestia-node"]},"670":{"title":"Initialize the full storage node","titles":["Setting up a Celestia full storage Node","Install celestia-node","Run the full storage node"]},"671":{"title":"Start the full storage node","titles":["Setting up a Celestia full storage Node","Install celestia-node","Run the full storage node"]},"672":{"title":"Optional: run the full storage node with a custom key","titles":["Setting up a Celestia full storage Node","Install celestia-node"]},"673":{"title":"Optional: start the full storage node with SystemD","titles":["Setting up a Celestia full storage Node","Install celestia-node"]},"674":{"title":"Stop the full storage node","titles":["Setting up a Celestia full storage Node","Install celestia-node"]},"675":{"title":"Celestia hardfork process","titles":[]},"676":{"title":"General process","titles":["Celestia hardfork process"]},"677":{"title":"Mocha hardfork","titles":["Celestia hardfork process","General process"]},"678":{"title":"Celestia App network instantiation guide","titles":[]},"679":{"title":"Hardware requirements","titles":["Celestia App network instantiation guide"]},"680":{"title":"Setup dependencies","titles":["Celestia App network instantiation guide"]},"681":{"title":"celestia-app installation","titles":["Celestia App network instantiation guide"]},"682":{"title":"Spin up a Celestia testnet","titles":["Celestia App network instantiation guide"]},"683":{"title":"Optional: Reset working directory","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"684":{"title":"Initialize a working directory","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"685":{"title":"Create a new key","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"686":{"title":"Add genesis account KeyName","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"687":{"title":"Optional: Adding other validators","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"688":{"title":"Create the genesis transaction for new chain","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"689":{"title":"Creating the genesis JSON file","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"690":{"title":"Modify your config file","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"691":{"title":"Add your node as a persistent peer","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"692":{"title":"Instantiate the network","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"693":{"title":"Setting up a Celestia light node","titles":[]},"694":{"title":"Overview of light nodes","titles":["Setting up a Celestia light node"]},"695":{"title":"Hardware requirements","titles":["Setting up a Celestia light node"]},"696":{"title":"Setting up your light node","titles":["Setting up a Celestia light node"]},"697":{"title":"Install celestia-node","titles":["Setting up a Celestia light node","Setting up your light node"]},"698":{"title":"Initialize the light node","titles":["Setting up a Celestia light node"]},"699":{"title":"Start the light node","titles":["Setting up a Celestia light node","Initialize the light node"]},"700":{"title":"Keys and wallets","titles":["Setting up a Celestia light node","Initialize the light node"]},"701":{"title":"Testnet tokens","titles":["Setting up a Celestia light node","Initialize the light node","Keys and wallets"]},"702":{"title":"Optional: run the light node with a custom key","titles":["Setting up a Celestia light node","Initialize the light node"]},"703":{"title":"Optional: start light node with SystemD","titles":["Setting up a Celestia light node","Initialize the light node"]},"704":{"title":"Data availability sampling","titles":["Setting up a Celestia light node"]},"705":{"title":"Mainnet Beta","titles":[]},"706":{"title":"Network stability and upgrades","titles":["Mainnet Beta"]},"707":{"title":"Software version numbers","titles":["Mainnet Beta"]},"708":{"title":"Network parameters","titles":["Mainnet Beta"]},"709":{"title":"Maximum bytes","titles":["Mainnet Beta","Network parameters"]},"710":{"title":"Integrations","titles":["Mainnet Beta"]},"711":{"title":"Consensus nodes","titles":["Mainnet Beta","Integrations"]},"712":{"title":"Consensus RPC endpoints","titles":["Mainnet Beta","Integrations","Consensus nodes"]},"713":{"title":"API endpoints","titles":["Mainnet Beta","Integrations","Consensus nodes"]},"714":{"title":"gRPC endpoints","titles":["Mainnet Beta","Integrations","Consensus nodes"]},"715":{"title":"Data availability nodes","titles":["Mainnet Beta","Integrations"]},"716":{"title":"DA RPC endpoints","titles":["Mainnet Beta","Integrations","Data availability nodes"]},"717":{"title":"Explorers","titles":["Mainnet Beta"]},"718":{"title":"Analytics","titles":["Mainnet Beta"]},"719":{"title":"Network upgrades","titles":["Mainnet Beta"]},"720":{"title":"Mocha testnet","titles":[]},"721":{"title":"Software version numbers","titles":["Mocha testnet"]},"722":{"title":"RPC endpoints","titles":["Mocha testnet"]},"723":{"title":"Bridge, full, and light nodes","titles":["Mocha testnet","RPC endpoints"]},"724":{"title":"Full and light nodes ONLY","titles":["Mocha testnet","RPC endpoints"]},"725":{"title":"API endpoints","titles":["Mocha testnet"]},"726":{"title":"gRPC endpoints","titles":["Mocha testnet"]},"727":{"title":"Bridge and full node endpoints","titles":["Mocha testnet"]},"728":{"title":"Mocha testnet faucet","titles":["Mocha testnet"]},"729":{"title":"Explorers","titles":["Mocha testnet"]},"730":{"title":"Network upgrades","titles":["Mocha testnet"]},"731":{"title":"Overview to running nodes on Celestia","titles":[]},"732":{"title":"Participate in the Celestia networks","titles":[]},"733":{"title":"Mainnet Beta","titles":["Participate in the Celestia networks"]},"734":{"title":"Testnets","titles":["Participate in the Celestia networks"]},"735":{"title":"Network upgrades","titles":["Participate in the Celestia networks"]},"736":{"title":"Quick start guide","titles":[]},"737":{"title":"Celestia Node","titles":["Quick start guide"]},"738":{"title":"Celestia App","titles":["Quick start guide"]},"739":{"title":"Getting started","titles":["Quick start guide"]},"740":{"title":"Setting up your node as a background process with SystemD","titles":[]},"741":{"title":"Consensus nodes","titles":["Setting up your node as a background process with SystemD"]},"742":{"title":"Start the celestia-app with SystemD","titles":["Setting up your node as a background process with SystemD","Consensus nodes"]},"743":{"title":"Data availability nodes","titles":["Setting up your node as a background process with SystemD"]},"744":{"title":"Celestia full storage node","titles":["Setting up your node as a background process with SystemD","Data availability nodes"]},"745":{"title":"Celestia bridge node","titles":["Setting up your node as a background process with SystemD","Data availability nodes"]},"746":{"title":"Celestia light node","titles":["Setting up your node as a background process with SystemD","Data availability nodes"]},"747":{"title":"Transaction resubmission","titles":[]},"748":{"title":"Monitoring and resubmission","titles":["Transaction resubmission"]},"749":{"title":"Notes","titles":["Transaction resubmission"]}},"dirtCount":0,"index":[["^external",{"2":{"644":2}}],["^persistent",{"2":{"613":6}}],["^seeds",{"2":{"613":4}}],["^0",{"2":{"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2}}],["∑i=1nssn",{"2":{"404":1}}],["×ss×gcpbb",{"2":{"404":1}}],["✨",{"2":{"250":2}}],["+qdel2aq==",{"2":{"362":2}}],["+stake",{"2":{"266":1}}],["+sgf6mfzmmtdkz5mllh+y7mpv9moo2x5rljle3gbfqo=",{"2":{"145":2}}],["+1",{"2":{"135":2,"137":4}}],["+",{"2":{"135":2,"137":2,"242":4,"250":6,"298":10,"305":1,"310":1,"369":1,"592":1,"674":1,"709":1}}],["`$home",{"2":{"613":2}}],["`job=",{"2":{"572":2}}],["`json",{"2":{"132":22}}],["```json",{"2":{"340":2}}],["`https",{"2":{"250":4}}],["`celestia",{"2":{"410":4}}],["`cel",{"2":{"215":2}}],["`availabledataroot`",{"2":{"153":2}}],["`",{"2":{"132":22,"215":2,"250":4,"298":12,"572":2}}],["~2",{"2":{"709":1}}],["~",{"2":{"115":2,"223":2,"231":2,"492":2,"503":2,"504":2,"505":2,"526":2,"542":2,"555":1,"595":4,"613":2,"623":18,"643":2,"672":1,"702":1}}],["μ",{"2":{"115":2,"231":2}}],["⠆",{"2":{"115":2,"118":2,"231":2,"234":2}}],["⠑",{"2":{"114":2,"230":2}}],["⠔",{"2":{"114":2,"230":2}}],["⠢",{"2":{"114":2,"230":2}}],["=1",{"2":{"709":1}}],["===",{"2":{"250":6}}],["==",{"2":{"149":6,"152":3,"242":2,"403":1,"655":2,"656":2}}],["=",{"2":{"114":2,"115":2,"125":2,"135":28,"137":14,"153":4,"206":10,"230":2,"231":2,"242":62,"249":10,"250":80,"252":2,"271":170,"277":8,"298":8,"350":4,"386":52,"387":20,"402":1,"404":4,"405":2,"410":44,"457":1,"508":2,"532":6,"571":8,"602":1,"604":2,"613":22,"616":2,"617":2,"618":2,"619":3,"620":6,"622":6,"644":4,"646":2,"647":2,"690":2}}],["=https",{"2":{"93":2}}],["🌀",{"0":{"253":1}}],["🏎️",{"2":{"109":1}}],["🏗️",{"2":{"106":1}}],["🎉",{"0":{"35":1}}],["0blockhash",{"2":{"361":1}}],["084",{"2":{"511":8}}],["08",{"2":{"343":1,"511":8,"522":2,"539":2}}],["06",{"2":{"340":4}}],["0mfhykqui2bu+u1jxpzg7qy2bvv1lb3kiu+zak7nuiy=",{"2":{"332":2}}],["02",{"2":{"298":2,"340":2}}],["025",{"2":{"271":2}}],["048091bc7ddc283f77bfbf91d73c44da58c3df8a9cbc867405d8b7f3daada22f",{"2":{"340":2}}],["04",{"2":{"286":1,"509":8,"510":12,"511":8,"512":12,"514":10,"515":14,"517":8,"522":12,"539":12,"549":1,"610":1,"627":1,"666":1,"696":1}}],["07",{"2":{"276":8}}],["0ns",{"2":{"276":4}}],["010",{"2":{"587":1}}],["01",{"2":{"271":6,"298":2,"510":12,"569":2,"636":2,"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["0+",{"2":{"270":1}}],["0px",{"2":{"250":2}}],["0x966e6f22781ef6a6a82bbb4db3df8e225dfd9488",{"2":{"530":1}}],["0x966e6f22781ef6a6a82bbb4db3df8e225dfd9488blobstream",{"2":{"530":1}}],["0x9f4dfae061b5ddd86f95a81be5daa0d7fe32e7f7f770f86dc375e0007d249bd2",{"2":{"361":2}}],["0x7dd8f9cafe6d25165249a454f2d0b72fd149bbba",{"2":{"511":2,"512":2}}],["0x79a0a7a1b4936aafe7a37dbfb07a6a9e55c145a4ed6fd54f962649b4b7db8de7",{"2":{"360":2}}],["0x27a1f8ce94187e4b043f4d57548ef2348ed556c7",{"2":{"510":2}}],["0xce",{"2":{"361":2,"364":3}}],["0xce3500000000000000769074a923011bdda721eacc34c8a77c69c10f2b6c8e659f987e82f217a5340f",{"2":{"361":2}}],["0xaf5c1505c7dfcebca94d9a6a8c0caf99b6c87a8ed6d6c0b3161c9026f270a84f",{"2":{"361":2}}],["0xaf8ff6af1180c8be9e4e8f3a5f882b3b227233f4abbefa479836d3721682a389",{"2":{"360":2}}],["0xadd3a5dc0b8c605aeac891098e87cbaff43bb642896ebbf74f964c0690e46df2",{"2":{"361":2}}],["0xd4b998a35d20d98ed3488221f0c161a0a9572d3de66399482553c8e3d2fae751",{"2":{"360":2}}],["0xd883010d04846765746888676f312e32312e33856c696e7578000000000000006b3afa42dce1f87f1f07a1ef569c4d43e41738ef93c865098bfa1458645f384e2e4498bcfe4ad9353ff1913a2e16162f496fafe5b0939a6c78fb5b503248d6da01",{"2":{"360":2}}],["0x664bf4bb4a57dd5768a0a98991d77c58fb7a4e164c2581c79fb33ce9c3d4c250",{"2":{"360":2}}],["0x676d",{"2":{"332":3}}],["0x67ea962864cdad3f2202118dc6f65ff510f7bb4d",{"2":{"163":1}}],["0x",{"2":{"332":2,"510":1,"512":1,"519":3,"677":1}}],["0x42690c204d39600fddd3",{"2":{"327":4,"332":5,"333":8,"334":6,"341":2,"346":2}}],["0x02",{"2":{"387":2}}],["0x01",{"2":{"387":2}}],["0x00",{"2":{"387":2}}],["0x0000000000000000",{"2":{"360":2}}],["0x0000000000000000000000000000000000000000",{"2":{"360":2}}],["0x0000000000000000000000000000000000000000000000000000000000000000",{"2":{"360":2}}],["0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",{"2":{"119":2,"235":2,"360":2}}],["0x000000000000000000000000000000000000000000000000000000000000000a",{"2":{"119":2,"235":2}}],["0x0",{"2":{"366":1}}],["0x040769edbca5218e616c8eb16e4faea49ced5e33",{"2":{"163":1}}],["0x383ed2debf9f9055920cd7340418dda7e2bca6b989eb6992d83d123d4e322f2a",{"2":{"361":2}}],["0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc",{"2":{"361":2}}],["0x3a5cbb6ef4756da0b3f6dae7ab6430fd8c46d247",{"2":{"163":1}}],["0x3f1eae7d46d88f08fc2f8ed27fcb2ab183eb2d0e",{"2":{"117":1}}],["0x8f15d6004598f0662dd673a9898dceef77be8cc28408cecc284b28d7be32307d",{"2":{"119":2,"235":2}}],["0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",{"2":{"360":2}}],["0x1cb54d2369752ef73511c202ff9cdfd0eadf3a77b7aef0092bea63f2b5d57659",{"2":{"360":2}}],["0x1",{"2":{"242":2}}],["0x131822bef6eb59656d7e1387c19b75be667e587006710365ec5cf58030786c42",{"2":{"119":2,"235":2}}],["0x1111222233334444555566667777888899990000",{"2":{"109":2}}],["0xff00000000000000000000000000000000000901",{"2":{"361":3}}],["0xf1a793a793cd9fc588f5132d99008565ea361eb3535d66499575e9e1908200b2",{"2":{"118":2,"234":2}}],["0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",{"2":{"118":2,"234":2}}],["0x5fbdb2315678afecb367f032d93f642f64180aa3",{"2":{"118":2,"234":2}}],["0xb6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659",{"2":{"117":1}}],["0",{"2":{"95":4,"114":4,"115":5,"119":2,"124":1,"125":2,"135":2,"145":2,"146":11,"149":1,"153":2,"197":10,"198":2,"199":2,"200":4,"226":3,"230":4,"231":5,"233":2,"235":2,"242":4,"248":6,"249":2,"250":4,"271":14,"276":14,"277":2,"298":6,"310":1,"333":8,"336":2,"337":2,"338":10,"339":2,"340":10,"343":3,"354":9,"361":7,"362":4,"364":2,"365":4,"373":6,"380":4,"386":2,"402":4,"403":1,"406":2,"410":8,"460":3,"522":2,"530":8,"534":6,"571":2,"572":4,"581":1,"582":4,"617":3,"620":4,"622":2,"629":8,"636":8,"643":20,"677":1}}],["008",{"2":{"343":1}}],["001hermes",{"2":{"275":2,"276":1}}],["001",{"2":{"271":3,"272":2,"274":1,"275":4,"276":7,"277":3}}],["00",{"2":{"50":1,"514":10,"515":2}}],["00pm",{"2":{"50":1}}],["00am",{"2":{"50":1}}],["00000000ce1e571a",{"2":{"383":2}}],["000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000121312324243243288993946154604701154f739f3d1b5475786ddd960f06d8708d4e870da6501c51750",{"2":{"146":2}}],["000008e5f679bf7116cb",{"2":{"108":2}}],["000",{"2":{"46":1,"50":1,"403":2,"404":1,"446":3,"449":3,"457":2}}],["z20=",{"2":{"333":2}}],["zshrcecho",{"2":{"320":1,"662":1}}],["zshrc",{"2":{"320":3,"613":1,"662":3}}],["zhsjrh",{"2":{"145":2}}],["zkp",{"2":{"125":2}}],["zk",{"2":{"125":7,"134":2,"395":1,"396":1}}],["z",{"2":{"95":2}}],["zaki",{"2":{"28":1,"52":1}}],["xf",{"2":{"623":6}}],["x64",{"2":{"549":1,"610":1,"627":1,"666":1,"696":1}}],["xxd",{"2":{"361":2}}],["xxxxxxxxxxxxx",{"2":{"190":4}}],["xv92a3qxexport",{"2":{"190":1}}],["xv92a3qx",{"2":{"190":3}}],["xthp6xws=",{"2":{"146":2}}],["xiijl+gqm0fqxiw0z0o",{"2":{"146":2}}],["x",{"2":{"115":9,"163":1,"231":9,"405":2,"410":2,"488":1,"563":1}}],["x86",{"2":{"98":2,"108":2,"581":1}}],["xdg",{"2":{"95":4}}],["xzf",{"2":{"94":2,"320":8,"662":8}}],["xyz",{"2":{"39":1,"172":1,"173":1,"234":2,"254":2,"271":6,"712":2,"713":2,"714":2,"716":2}}],["||",{"2":{"95":2,"214":2}}],["|",{"2":{"93":2,"95":2,"252":2,"332":4,"333":2,"341":2,"343":2,"346":2,"361":4,"366":1,"561":4,"613":20,"623":18,"742":4}}],["$ip",{"2":{"691":2}}],["$input",{"2":{"361":2}}],["$external",{"2":{"644":2}}],["$evm",{"2":{"637":2}}],["$encoded",{"2":{"362":2}}],["$seeds",{"2":{"613":8}}],["$staking",{"2":{"569":2,"688":3}}],["$broadcast",{"2":{"576":2}}],["$bubs",{"2":{"234":4,"235":6,"254":10}}],["$multisig",{"2":{"576":10}}],["$keyring",{"2":{"576":4}}],["$key",{"2":{"569":6,"685":3,"686":3,"688":3}}],["$keynamecelestia",{"2":{"380":1}}],["$keyname",{"2":{"380":3}}],["$validator",{"2":{"569":2,"576":6,"629":2,"637":6,"684":3}}],["$tia",{"2":{"686":2}}],["$tx",{"2":{"361":2}}],["$to",{"2":{"197":6,"198":2,"200":2,"204":2}}],["$networkdocker",{"2":{"653":3,"655":3}}],["$network",{"2":{"380":4,"653":3,"655":3}}],["$nodetype",{"2":{"380":2,"381":2}}],["$node",{"2":{"327":2,"330":3,"332":2,"333":8,"334":6,"336":2,"337":4,"338":2,"339":2,"340":4,"341":4,"342":2,"343":6,"344":2,"345":2,"346":4,"653":6,"655":2,"691":2,"745":2}}],["$nvm",{"2":{"95":4}}],["$peer",{"2":{"691":1}}],["$peerpeer=",{"2":{"691":1}}],["$persistent",{"2":{"613":12}}],["$port",{"2":{"691":2}}],["$path",{"2":{"320":1,"662":1}}],["$private",{"2":{"86":2,"87":4,"233":2,"245":4,"246":4,"252":2,"254":6}}],["$address",{"2":{"343":6}}],["$authtype",{"2":{"381":2}}],["$auth",{"2":{"327":2,"381":2}}],["$anvil",{"2":{"233":2}}],["$arb",{"2":{"86":2,"87":8,"118":2,"119":4}}],["$request",{"2":{"325":1,"479":1,"701":1,"728":1}}],["$receiver",{"2":{"87":2,"254":2}}],["$rpc",{"2":{"204":2,"653":6,"656":6}}],["$from",{"2":{"197":6,"199":2,"200":2,"204":2}}],["$celes",{"2":{"569":2}}],["$celestia",{"2":{"194":2,"195":2,"197":6,"198":2,"199":2,"200":4}}],["$chain",{"2":{"569":4,"576":10,"684":4,"688":2}}],["$core",{"2":{"380":2}}],["$contract",{"2":{"87":6,"119":4,"235":4,"245":4,"246":4,"254":6}}],["$l2",{"2":{"118":2,"119":2}}],["$",{"2":{"95":8,"119":2,"223":2,"235":2,"250":4,"319":2,"341":2,"346":2,"581":2,"583":12,"623":6,"661":2}}],["$home",{"2":{"86":4,"88":2,"93":2,"94":8,"108":3,"113":3,"114":1,"189":3,"190":1,"191":2,"194":2,"229":3,"230":1,"254":4,"255":2,"271":2,"320":20,"322":2,"331":4,"332":2,"354":2,"355":2,"362":2,"370":2,"372":2,"373":3,"572":3,"580":3,"581":1,"596":2,"601":3,"613":25,"622":1,"623":6,"641":2,"644":2,"654":4,"655":8,"656":8,"662":20,"683":2,"687":1,"688":1,"689":4,"690":1}}],["$3",{"2":{"46":1,"50":1}}],["qo",{"2":{"644":2}}],["qmaezrnbtgexcryc8pcvgrbs+umukniborae4qye7osgwcrwbvys",{"2":{"340":2}}],["qgb",{"2":{"153":1,"158":1,"534":6,"637":2}}],["q5",{"2":{"66":1}}],["q4",{"2":{"66":1}}],["q3",{"2":{"66":1}}],["q2",{"2":{"66":1}}],["q1",{"2":{"66":1}}],["q",{"2":{"62":1,"77":1,"78":1,"79":1,"83":1,"561":6,"562":4,"563":4,"564":2}}],["qubelabs",{"2":{"623":12}}],["quorum",{"2":{"563":1}}],["quot",{"2":{"41":18,"42":6,"45":6,"65":2,"71":2,"87":20,"93":4,"94":20,"95":24,"108":76,"114":6,"115":40,"119":8,"125":12,"132":44,"137":8,"145":64,"146":120,"149":24,"151":12,"152":52,"190":2,"194":16,"195":32,"197":66,"198":20,"199":8,"200":16,"206":20,"211":2,"222":4,"223":24,"226":4,"230":6,"231":40,"233":2,"235":8,"242":68,"244":12,"245":16,"246":16,"249":76,"250":232,"251":6,"252":4,"254":20,"271":188,"273":4,"276":64,"298":96,"301":2,"302":2,"305":2,"319":4,"320":68,"332":36,"333":128,"334":16,"336":32,"337":32,"338":52,"339":20,"340":364,"341":4,"346":4,"350":4,"361":4,"362":28,"363":2,"365":12,"366":4,"373":28,"380":20,"383":16,"385":48,"386":56,"387":4,"391":2,"392":2,"405":4,"410":64,"435":2,"457":2,"476":2,"477":2,"507":4,"508":4,"513":4,"516":4,"530":26,"532":4,"534":64,"563":156,"564":40,"569":4,"571":8,"572":36,"576":16,"581":4,"583":16,"595":2,"613":58,"616":4,"618":6,"619":6,"620":10,"622":8,"623":24,"629":28,"636":36,"637":4,"643":8,"644":12,"646":4,"661":4,"662":68,"686":4,"690":4,"691":4,"742":2}}],["quic",{"2":{"338":6}}],["quicker",{"2":{"621":1}}],["quick",{"0":{"623":1,"653":1,"736":1},"1":{"737":1,"738":1,"739":1},"2":{"210":1,"270":1,"287":1,"623":2,"655":1,"682":1,"739":1}}],["quickly",{"2":{"33":1,"452":1}}],["quite",{"2":{"252":1}}],["quests",{"2":{"388":1}}],["question",{"2":{"66":3,"274":1,"413":1,"629":1}}],["questions",{"0":{"66":1},"2":{"17":1,"50":1,"65":2}}],["queue",{"2":{"364":4}}],["queried",{"2":{"143":1,"147":1,"153":1,"337":1}}],["queries",{"0":{"142":1},"1":{"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1},"2":{"128":1,"145":1,"146":1,"159":1,"424":1,"427":1,"436":3,"466":1,"522":1,"539":2,"646":2,"647":3,"726":1}}],["queryable",{"2":{"153":2}}],["querying",{"0":{"128":1,"144":1,"285":1,"561":1,"618":1},"1":{"145":1,"146":1},"2":{"133":2,"145":1,"146":1,"162":1,"171":1,"198":1,"285":1,"462":1,"477":1,"557":2,"622":1,"716":1,"722":1}}],["query",{"0":{"198":1,"199":1,"200":1,"533":1},"2":{"87":1,"127":1,"128":1,"144":1,"145":1,"146":1,"148":1,"149":4,"150":1,"151":1,"152":5,"153":2,"198":2,"199":2,"200":4,"212":2,"254":1,"275":2,"336":1,"337":1,"344":1,"390":1,"410":2,"427":1,"529":1,"534":4,"557":6,"561":2,"563":1,"583":1,"618":1,"619":1,"646":1,"671":1,"699":1}}],["quad",{"2":{"609":1}}],["quadratic",{"2":{"428":1}}],["quality",{"2":{"64":1,"65":1,"83":1}}],["qualify",{"2":{"45":1}}],["qualification",{"2":{"45":3}}],["qualified",{"2":{"45":1}}],["quarterly",{"2":{"60":1}}],["quantum",{"2":{"29":3,"158":1}}],["kv",{"2":{"616":2,"618":3,"646":5}}],["k×k",{"2":{"427":3,"429":1,"435":1}}],["kr",{"2":{"410":6}}],["krenzke",{"2":{"52":1}}],["kjnodes",{"2":{"399":1}}],["kbps",{"2":{"318":2,"695":2}}],["known",{"0":{"531":1},"1":{"532":1,"533":1},"2":{"158":1,"534":1}}],["knowing",{"2":{"66":1}}],["know",{"2":{"62":1,"63":1,"65":2,"177":2,"178":1,"389":1,"619":1}}],["knowledgeable",{"2":{"60":1,"61":1}}],["knowledge",{"2":{"45":1,"61":1,"64":1,"83":1}}],["kept",{"2":{"414":1}}],["keplrbutton",{"2":{"298":2}}],["keplr",{"0":{"260":1,"261":1,"297":1,"298":1},"1":{"261":1,"262":1,"263":1,"264":1,"298":1},"2":{"258":1,"261":2,"262":1,"263":1,"297":3,"298":18,"398":1,"399":1,"575":1}}],["keeping",{"2":{"428":1}}],["keeps",{"2":{"160":1}}],["keep",{"2":{"51":1,"59":1,"60":1,"134":1,"216":2,"472":1,"530":1,"535":1,"573":1,"613":1,"620":3,"636":1,"690":2}}],["keyname",{"0":{"686":1}}],["keyname=",{"2":{"380":1}}],["keybase",{"2":{"560":1}}],["keyfile",{"2":{"515":1,"560":2}}],["keymake",{"2":{"322":1,"596":1}}],["key=ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",{"2":{"254":2}}],["key=",{"2":{"250":2,"383":2}}],["key=$",{"2":{"246":2,"252":2}}],["key=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",{"2":{"233":2,"234":2}}],["key=0xe887f7d17d07cc7b8004053fb8826f6657084e88904bb61590e498ca04704cf2",{"2":{"118":2}}],["key=0xb6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659",{"2":{"86":2}}],["key`",{"2":{"215":4}}],["keyring",{"2":{"202":3,"206":4,"211":2,"216":6,"217":7,"218":6,"222":2,"223":4,"246":2,"252":2,"308":1,"325":10,"380":4,"410":10,"554":2,"555":7,"558":4,"560":1,"576":6,"592":3,"629":2,"636":2,"671":2,"672":7,"685":2,"686":2,"688":2,"700":10,"702":7}}],["keycast",{"2":{"119":1,"235":1,"245":1,"246":1}}],["key",{"0":{"194":1,"214":1,"219":1,"220":1,"284":1,"381":1,"382":1,"502":1,"528":1,"535":1,"544":1,"555":1,"559":1,"655":1,"672":1,"685":1,"702":1},"1":{"215":1,"216":1,"217":1,"218":1,"219":1,"221":1,"222":1,"223":1,"503":1,"504":1,"505":1,"506":1,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"516":1,"517":1,"518":1,"519":1,"520":1,"536":1,"537":1,"560":1},"2":{"50":1,"56":2,"61":1,"73":1,"86":5,"87":9,"102":1,"103":2,"117":3,"118":5,"119":3,"135":2,"149":4,"152":5,"192":1,"193":1,"194":8,"195":6,"196":1,"198":2,"199":4,"200":4,"202":1,"213":2,"214":2,"215":5,"216":18,"217":13,"218":12,"219":2,"222":5,"223":11,"233":5,"234":5,"235":3,"245":7,"246":12,"248":4,"252":6,"254":14,"271":12,"284":1,"322":2,"325":15,"336":1,"340":4,"370":1,"379":1,"380":5,"382":2,"383":2,"386":2,"410":2,"426":1,"454":1,"487":1,"493":2,"500":5,"508":5,"509":3,"510":9,"512":2,"513":4,"514":2,"515":5,"516":5,"517":9,"518":3,"519":7,"521":1,"522":2,"524":1,"527":5,"528":4,"530":5,"534":7,"535":1,"536":1,"543":5,"544":3,"545":1,"554":5,"555":9,"559":8,"560":13,"563":4,"576":2,"592":3,"596":2,"635":1,"646":1,"651":2,"655":1,"671":5,"672":9,"677":2,"685":2,"686":1,"700":16,"702":9}}],["keystore",{"0":{"508":1,"516":1},"1":{"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"517":1,"518":1,"519":1,"520":1},"2":{"500":1,"503":1,"504":1,"505":1,"508":9,"509":1,"511":1,"513":3,"514":1,"515":1,"516":2,"528":4,"530":2,"534":2,"544":4}}],["keys`",{"2":{"410":4}}],["keys",{"0":{"195":1,"216":1,"217":1,"218":1,"223":1,"325":1,"493":1,"500":1,"527":1,"543":1,"560":1,"635":1,"700":1},"1":{"528":1,"544":1,"701":1},"2":{"42":1,"111":1,"194":2,"195":2,"196":1,"202":8,"206":2,"211":4,"214":2,"216":2,"222":1,"223":8,"245":2,"246":2,"252":2,"272":6,"273":1,"283":1,"323":1,"497":4,"500":9,"502":3,"503":3,"504":3,"505":3,"506":3,"507":17,"508":15,"509":6,"510":6,"511":4,"512":2,"513":9,"514":2,"515":6,"516":9,"517":6,"518":4,"519":4,"520":5,"522":1,"527":5,"528":8,"534":2,"543":5,"544":8,"555":1,"557":4,"558":1,"559":16,"560":6,"569":2,"576":10,"592":3,"629":2,"637":2,"659":1,"672":1,"677":5,"685":2,"687":1,"702":1}}],["k",{"2":{"42":1,"45":3,"429":3}}],["khoffi",{"2":{"29":2,"52":1}}],["kit",{"2":{"75":2,"76":1,"81":1}}],["kickstarting",{"2":{"57":1}}],["kickoff",{"2":{"20":2}}],["kindly",{"2":{"70":1}}],["kind",{"2":{"8":1,"45":1}}],["kindness",{"2":{"8":1}}],["✋",{"2":{"28":3,"29":1,"33":1}}],["87",{"2":{"595":2}}],["80000",{"2":{"343":4}}],["8000",{"2":{"343":4,"572":1}}],["800px",{"2":{"250":4}}],["8gb",{"2":{"290":1}}],["8dxemrbwrpwj6hi+3uesz+0p5vrf3v8ssaqeabelorfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=",{"2":{"146":2}}],["8548",{"2":{"117":1}}],["8545blobstream",{"2":{"501":1}}],["8545cast",{"2":{"246":1,"360":1,"361":1}}],["8545export",{"2":{"233":1}}],["8545",{"2":{"117":1,"233":2,"245":1,"246":5,"249":2,"251":1,"252":1,"360":1,"361":1,"501":1}}],["8547",{"2":{"86":1,"117":1,"118":2}}],["8547export",{"2":{"86":1,"118":1}}],["8",{"0":{"28":1},"2":{"45":1,"50":1,"91":1,"114":6,"115":4,"124":1,"125":2,"146":2,"190":4,"223":2,"230":6,"231":4,"242":4,"244":2,"248":4,"364":2,"386":2,"442":1,"446":1,"449":1,"609":1,"627":1}}],["9390",{"2":{"726":1}}],["973",{"2":{"709":2}}],["989",{"2":{"514":2}}],["9anbaxno1b4x5lr2qy5qwqwrmnozejkctxwzq9bexsg=",{"2":{"340":4}}],["91e04695cf9cf531bc0891e7b1d602b3e8022c86",{"2":{"340":8}}],["9099",{"2":{"726":1}}],["9090",{"2":{"324":1,"380":1,"466":3,"476":1,"477":1,"501":2,"530":2,"553":1,"554":1,"572":2,"582":2,"591":1,"671":1,"699":2,"714":2,"716":6,"726":3}}],["90",{"2":{"250":2}}],["90vw",{"2":{"250":2}}],["900px",{"2":{"249":2}}],["9000000utia",{"2":{"688":1}}],["9000",{"2":{"249":2,"251":1}}],["902",{"2":{"42":1,"45":5}}],["9545",{"2":{"245":4}}],["9545anvil",{"2":{"245":1}}],["990",{"2":{"514":2}}],["99",{"2":{"416":1}}],["999994999800000",{"2":{"200":2}}],["997edce",{"2":{"98":2}}],["966e6f22781ef6a6a82bbb4db3df8e225dfd9488",{"2":{"515":2}}],["96112",{"2":{"197":4}}],["96ms",{"2":{"115":2,"231":2}}],["9",{"0":{"29":1,"37":1,"459":1},"1":{"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1,"469":1,"470":1},"2":{"27":1,"37":1,"44":1,"45":1,"446":1,"459":1,"460":1,"461":3,"462":1,"463":3,"464":2,"465":2,"466":4,"468":1,"469":2}}],["jwttoken",{"2":{"386":4}}],["jwt",{"2":{"383":3,"386":3}}],["jemalloc",{"2":{"322":2,"596":2}}],["jemallocmake",{"2":{"322":1,"596":1}}],["javascriptyarn",{"2":{"247":1}}],["javascript",{"2":{"247":2}}],["january",{"2":{"36":1,"37":3}}],["jan",{"0":{"36":1,"37":1}}],["jsimport",{"2":{"298":3}}],["jsximport",{"2":{"249":1,"250":1,"298":1}}],["jsx",{"2":{"249":1,"250":1,"252":3}}],["jsxnpm",{"2":{"248":1}}],["jsxyarn",{"2":{"247":1}}],["js",{"2":{"112":2,"228":2,"240":1,"247":1}}],["json|plain",{"2":{"530":2}}],["jsonrpc",{"2":{"145":2,"146":2,"336":2,"337":2,"338":2,"339":2,"340":2}}],["json",{"0":{"689":1},"2":{"88":4,"132":2,"135":2,"145":1,"146":1,"149":1,"151":1,"152":1,"247":3,"250":2,"255":4,"285":1,"310":1,"332":2,"333":4,"334":1,"336":1,"337":1,"338":1,"339":1,"366":1,"411":1,"500":1,"513":1,"515":1,"528":1,"544":1,"557":6,"563":9,"564":5,"569":1,"576":18,"613":7,"687":3,"688":3,"689":6}}],["jq",{"2":{"92":2,"319":10,"341":2,"343":3,"346":3,"661":10,"742":4}}],["jcstein",{"2":{"86":2,"254":2}}],["jurisdiction",{"2":{"45":5}}],["justifycontent",{"2":{"250":6}}],["just",{"2":{"8":1,"133":1,"186":1,"214":1,"245":1,"298":1,"343":1,"373":1,"380":1,"386":1,"398":1,"399":1,"436":1,"444":1,"472":1,"517":1,"534":1,"572":1,"671":1,"734":1,"739":1}}],["journaldsudo",{"2":{"537":1}}],["journald",{"0":{"537":1},"2":{"537":2}}],["journalctl",{"2":{"536":2,"568":6,"742":2,"744":2,"745":2,"746":2}}],["journey",{"2":{"53":1,"68":1}}],["joho",{"2":{"385":2}}],["john",{"2":{"33":2,"52":1}}],["jotzla2v3g2q7y+18ih5j0uxk",{"2":{"146":2}}],["join",{"2":{"68":1,"470":1,"482":1,"719":1,"730":1,"735":1}}],["joining",{"0":{"66":1},"2":{"60":1,"65":1,"71":1,"83":1}}],["job",{"2":{"66":1,"395":1,"423":1,"572":8}}],["joshstein",{"2":{"530":2}}],["josh",{"2":{"27":3}}],["786bytes",{"2":{"709":1}}],["786",{"2":{"709":1}}],["75",{"2":{"447":1,"747":1,"748":1,"749":1}}],["767",{"2":{"360":2}}],["7a5fabb19713d732d967b1da84fa0df5e87a7b62302d783f78743e216c1a3550",{"2":{"340":2}}],["741743z",{"2":{"340":2}}],["71",{"2":{"338":4}}],["7pm",{"2":{"33":1}}],["7",{"0":{"27":2},"2":{"27":1,"32":1,"33":2,"42":1,"45":1,"108":2,"198":2,"270":1,"340":4,"360":2,"446":2}}],["66959",{"2":{"534":2}}],["617",{"2":{"514":6}}],["67",{"2":{"447":3}}],["6000000",{"2":{"387":2}}],["6093df76dba90f04ff63d197fc1569f04ed3dbe64081a0bba9bad4e69aa570d2",{"2":{"197":1}}],["6093df76dba90f04ff63d197fc1569f04ed3dbe64081a0bba9bad4e69aa570d2gas",{"2":{"197":1}}],["6363c68770c200fd794445668f9b18f5b1dd1125180d6e8d5ab004f7dd7a0f48",{"2":{"340":4}}],["65",{"2":{"338":4,"403":1,"404":1}}],["62562",{"2":{"334":2}}],["6962",{"2":{"126":1}}],["64x64",{"2":{"709":1}}],["64",{"2":{"98":2,"108":2,"581":1,"709":1}}],["6pm",{"2":{"31":1,"33":2}}],["6",{"0":{"26":1},"2":{"33":2,"42":1,"45":1,"50":1,"226":1,"298":6,"302":1,"446":2,"449":1,"548":1,"627":1,"665":1}}],["🤪",{"2":{"133":1}}],["🧠",{"2":{"25":1,"31":2}}],["🪧",{"2":{"23":1,"29":1,"37":2}}],["🧑‍🏫",{"2":{"21":1,"22":1,"25":1,"26":1,"27":1,"28":1,"31":1,"32":1,"34":1,"36":1,"37":1}}],["58",{"2":{"515":4}}],["54",{"2":{"515":2}}],["51",{"2":{"514":4}}],["53",{"2":{"515":6}}],["532",{"2":{"510":2}}],["534",{"2":{"509":2,"510":2}}],["533",{"2":{"509":2}}],["5iieerohbmff+ser3jpvroieejzjby+tre0ntadqll3",{"2":{"340":4}}],["56",{"2":{"318":2,"695":2}}],["50",{"2":{"318":1,"515":2,"695":1}}],["5000100000000utia",{"2":{"569":2}}],["500000000",{"2":{"340":4}}],["500ms",{"2":{"271":4}}],["500",{"2":{"271":2,"318":1,"609":1,"627":1,"695":1}}],["5001",{"2":{"250":2}}],["50px",{"2":{"250":2}}],["5s",{"2":{"108":2,"271":4,"373":2,"572":2}}],["59pm",{"2":{"37":1}}],["5",{"0":{"25":1,"32":1,"658":1},"2":{"21":1,"29":3,"42":1,"45":1,"108":2,"145":2,"226":1,"250":4,"271":4,"373":2,"378":2,"379":1,"386":1,"388":1,"406":2,"442":1,"449":1,"534":1,"572":2}}],["5pm",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"27":2,"28":3,"29":2,"31":3,"32":1,"33":2,"34":1,"36":1,"37":2}}],["😎",{"2":{"654":2}}],["🐳",{"0":{"651":1},"1":{"652":1,"653":1,"654":1,"655":1,"656":1,"657":1,"658":1,"659":1}}],["🔐",{"0":{"329":1}}],["🙂",{"2":{"131":1}}],["📗",{"2":{"21":1,"22":1,"25":1,"27":1,"29":1,"33":2}}],["🚀",{"2":{"20":1}}],["⛳",{"2":{"19":1,"24":1,"30":1}}],["478",{"2":{"709":1}}],["440",{"2":{"515":2}}],["443",{"2":{"204":1,"206":2,"271":2,"466":2,"476":1,"714":4,"726":3}}],["443export",{"2":{"204":1}}],["482",{"2":{"709":1}}],["48",{"2":{"514":6}}],["420",{"2":{"512":2}}],["45",{"2":{"510":4,"511":8}}],["437",{"2":{"515":2}}],["436",{"2":{"515":2}}],["43",{"2":{"510":2}}],["43494",{"2":{"119":4,"235":4}}],["4199ea959a2cfefcd4726d8d8f7b536458a46a27318d3483a4e9614f560606bc",{"2":{"534":1}}],["4199ea959a2cfefcd4726d8d8f7b536458a46a27318d3483a4e9614f560606bccode",{"2":{"534":1}}],["41",{"2":{"510":6}}],["4k",{"2":{"427":1,"428":1,"429":1,"435":1,"436":1}}],["4hermes",{"2":{"275":1}}],["4️⃣",{"0":{"264":1}}],["4094×482bytes",{"2":{"709":1}}],["4095",{"2":{"709":1}}],["4096",{"2":{"709":1}}],["403",{"2":{"512":2}}],["400000",{"2":{"271":4}}],["400px",{"2":{"250":2}}],["40px",{"2":{"250":2}}],["40",{"2":{"61":1,"340":2}}],["4pm",{"2":{"27":2,"28":4,"29":2,"31":2,"32":1,"33":1,"37":1}}],["4",{"0":{"16":1,"23":1,"45":1},"2":{"27":2,"29":1,"36":1,"42":1,"45":13,"223":4,"271":3,"272":2,"274":1,"275":5,"276":10,"277":3,"290":1,"332":2,"354":3,"361":2,"373":2,"399":1,"446":1,"447":1,"476":2,"501":2,"548":1,"665":1,"723":3,"725":1,"726":3,"727":8}}],["3s",{"2":{"539":1}}],["38",{"2":{"517":8}}],["387",{"2":{"509":4}}],["33",{"2":{"447":3,"583":2}}],["33554432",{"2":{"271":4}}],["3d96b7d238e7e0456f6af8e7cdf0a67bd6cf9c2089ecb559c659dcaa1f880353",{"2":{"340":2}}],["3dmfzfawzmtzvxhphf5txlcj+ct3evmmfopixfh+id4=",{"2":{"146":2}}],["3663",{"2":{"270":1}}],["3623",{"2":{"270":1}}],["34",{"2":{"270":1}}],["3️⃣",{"0":{"263":1,"268":1}}],["3+fuhlzufkjnzd8yg",{"2":{"146":2}}],["3767182372",{"2":{"119":2,"235":2}}],["32",{"2":{"103":6,"149":1,"364":2}}],["39",{"2":{"93":4,"95":2,"98":4,"108":4,"137":2,"194":4,"195":8,"197":8,"198":4,"199":8,"206":2,"223":4,"277":24,"298":62,"327":8,"332":8,"334":12,"340":2,"341":4,"346":4,"365":4,"410":8,"510":8,"534":4,"557":2,"572":2,"608":1,"613":40,"629":4,"636":4,"643":4,"654":2}}],["307",{"2":{"515":4}}],["302148204z",{"2":{"515":2}}],["309",{"2":{"510":4}}],["308",{"2":{"510":2,"515":2}}],["30t08",{"2":{"340":2}}],["3001",{"2":{"271":2}}],["30000utia",{"2":{"534":2,"637":2}}],["30000000",{"2":{"360":2}}],["30000",{"2":{"271":2,"494":1,"522":2,"529":1,"530":2}}],["3000",{"2":{"271":2,"572":1}}],["300xzo8tilwpnurey6ojcrkzthq4y6yy6qh0waummrc=",{"2":{"146":2}}],["30s",{"2":{"108":1,"271":4,"373":1}}],["30sda",{"2":{"108":1,"373":1}}],["30",{"2":{"31":1,"271":4,"390":1,"509":4}}],["30pm",{"2":{"29":2}}],["30am",{"2":{"29":1}}],["3152",{"2":{"276":2}}],["3108",{"2":{"271":2,"277":2}}],["31",{"0":{"26":1},"2":{"515":12}}],["3pm",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"28":1,"34":1,"36":1,"37":1}}],["3",{"0":{"15":1,"21":1,"22":1,"30":1,"44":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"21":1,"25":2,"26":1,"41":1,"42":1,"45":1,"48":1,"51":1,"61":1,"108":2,"119":2,"160":1,"223":2,"235":2,"271":4,"378":2,"379":1,"386":3,"388":1,"447":1,"476":2,"534":2,"563":1,"571":2,"576":4,"581":1}}],["2k",{"2":{"429":1}}],["2k×2k",{"2":{"427":2,"435":1}}],["27t13",{"2":{"340":2}}],["2727",{"2":{"276":6}}],["27709",{"2":{"115":2,"231":2}}],["2️⃣",{"0":{"262":1,"267":1}}],["250",{"2":{"609":2}}],["252614",{"2":{"332":3,"333":9,"346":2}}],["252607",{"2":{"332":2}}],["255",{"2":{"250":6}}],["25",{"2":{"226":1,"447":1}}],["25630",{"2":{"338":4}}],["256",{"2":{"115":2,"231":2}}],["291",{"2":{"517":4}}],["290",{"2":{"517":2}}],["299137127z",{"2":{"340":2}}],["29",{"2":{"149":3}}],["2blockhash",{"2":{"119":1,"235":1}}],["2019",{"2":{"705":1}}],["200",{"2":{"338":4}}],["20000",{"2":{"271":2}}],["20+",{"2":{"247":1}}],["2023",{"2":{"41":1,"340":4,"509":8,"510":12,"511":8,"512":12,"514":10,"515":14,"517":8,"522":6,"539":6}}],["20",{"2":{"34":1,"61":1,"94":2,"95":4,"145":1,"286":1,"446":1,"549":1,"610":1,"627":1,"666":1,"696":1}}],["23+",{"2":{"322":1,"596":1}}],["2382",{"2":{"276":4}}],["23",{"2":{"29":1}}],["2283",{"2":{"360":2}}],["22",{"2":{"29":1,"222":2,"223":2,"290":1,"331":4,"512":4}}],["2s",{"2":{"29":1,"178":1,"488":1}}],["210000",{"2":{"534":2}}],["21572",{"2":{"361":2}}],["21568",{"2":{"360":2}}],["2121",{"2":{"222":2,"223":2,"338":8,"476":4,"582":2,"583":4,"591":2,"745":2}}],["21",{"0":{"29":1},"2":{"29":1,"114":2,"222":2,"223":2,"230":2,"512":12}}],["289",{"2":{"517":2}}],["28409",{"2":{"115":2,"231":2}}],["28334",{"2":{"115":2,"231":2}}],["28",{"0":{"31":1},"2":{"25":1,"31":1,"149":1,"150":1,"522":2,"539":2}}],["24s",{"2":{"114":2,"230":2}}],["24",{"0":{"25":1},"2":{"25":1,"361":2}}],["26660",{"2":{"571":4,"572":2}}],["26656",{"2":{"476":1,"644":2,"691":1}}],["26650",{"2":{"362":2,"365":2,"373":7}}],["26659version",{"2":{"223":1}}],["26659",{"2":{"108":6,"222":4,"223":3,"373":6,"380":2,"591":1}}],["26658",{"2":{"108":4,"328":1,"373":4,"383":2,"591":1}}],["26657celestia",{"2":{"554":1}}],["26657",{"2":{"108":8,"271":4,"462":1,"476":1,"477":1,"501":2,"530":2,"554":1,"582":2,"591":1,"643":4,"716":6,"722":1,"742":2}}],["26|00",{"2":{"522":6,"539":6}}],["268",{"2":{"510":2}}],["26",{"0":{"20":1,"35":1},"2":{"20":1,"25":1,"446":1}}],["2",{"0":{"14":1,"21":1,"24":1,"36":1,"43":1,"146":1,"274":1,"658":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"17":2,"22":3,"25":1,"29":1,"31":1,"42":1,"43":1,"45":1,"48":1,"59":1,"61":1,"66":1,"93":2,"102":1,"115":4,"119":1,"125":2,"145":2,"146":3,"159":1,"160":1,"199":2,"231":4,"235":1,"250":2,"310":1,"336":2,"337":2,"338":2,"339":2,"340":4,"356":1,"360":2,"427":1,"429":3,"430":3,"432":1,"435":1,"445":1,"447":2,"454":1,"460":1,"464":1,"465":1,"466":1,"476":2,"477":2,"484":1,"522":1,"539":2,"569":2,"576":4,"630":1,"636":2,"677":2,"716":2,"724":1,"725":1,"726":1,"727":6}}],["1×478bytes",{"2":{"709":1}}],["1utia",{"2":{"410":2,"576":2}}],["1celestia",{"2":{"354":1}}],["1container",{"2":{"222":1,"223":1}}],["1️⃣",{"0":{"261":1,"266":1}}],["1px",{"2":{"250":2}}],["1pm",{"2":{"33":1}}],["1em",{"2":{"250":2}}],["1ether",{"2":{"87":2,"254":2}}],["1s",{"2":{"178":1,"395":1}}],["13t15",{"2":{"515":2}}],["134",{"2":{"512":2}}],["139",{"2":{"512":2}}],["13|17",{"2":{"514":10,"515":12,"517":8}}],["13|16",{"2":{"511":8,"512":12}}],["13|15",{"2":{"510":12}}],["13|14",{"2":{"509":8}}],["1317",{"2":{"465":1,"476":1,"725":1}}],["13",{"0":{"34":1},"2":{"33":1,"37":1,"114":2,"115":2,"230":2,"231":2,"242":4,"244":2,"708":1}}],["115",{"2":{"583":2}}],["11036",{"2":{"572":1}}],["1141",{"2":{"360":2}}],["118",{"2":{"226":1,"298":2,"302":1}}],["11",{"0":{"32":1},"2":{"29":1,"37":2,"45":1,"340":4,"460":1,"476":11,"477":2,"480":1,"481":1,"509":4}}],["11am",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"27":2,"28":3,"29":2,"31":2,"32":1,"33":2,"34":1,"36":1,"37":2}}],["180000",{"2":{"271":4}}],["18",{"2":{"28":1,"42":1,"249":2,"512":2,"522":2,"539":2}}],["1699638350",{"2":{"360":2}}],["16002",{"2":{"726":1}}],["160",{"2":{"290":1}}],["16px",{"2":{"250":2}}],["1687908352",{"2":{"198":2}}],["1686748051",{"2":{"197":8,"198":2,"204":2}}],["16",{"0":{"37":1},"2":{"28":1,"41":1,"95":4,"509":8}}],["15002",{"2":{"714":1}}],["151",{"2":{"583":2}}],["15s",{"2":{"572":2}}],["1559",{"2":{"402":1}}],["15",{"0":{"36":1},"2":{"28":1,"33":1,"145":1,"146":1,"153":1,"250":4,"288":1,"446":1,"572":2}}],["1443",{"2":{"726":1}}],["140",{"2":{"512":4}}],["147105",{"2":{"341":2}}],["14",{"0":{"28":1,"35":1},"2":{"28":1,"583":2}}],["19000000utia",{"2":{"562":2}}],["1933",{"2":{"42":2,"45":3}}],["19",{"0":{"34":1},"2":{"23":1,"114":4,"124":1,"125":2,"230":4,"340":2,"446":1}}],["175",{"2":{"522":6,"539":6}}],["171",{"2":{"338":4}}],["172118057",{"2":{"336":2}}],["17",{"0":{"23":1},"2":{"446":1,"512":6,"517":8}}],["12300a2e2f63656c65737469612e7167622e76312e4d7367526567697374657245564d41646472657373526573706f6e7365",{"2":{"534":2}}],["1234567890",{"2":{"410":2}}],["12345",{"2":{"242":14,"245":2,"246":2}}],["12d3koowd5wcbjxkqudjhxfjtfmrzoysgvltvht5hmovbslcbv22",{"2":{"745":1}}],["12d3koowd5wcbjxkqudjhxfjtfmrzoysgvltvht5hmovbslcbv22node",{"2":{"745":1}}],["12d3koowkeertzvmpudxyszo2edqps6ms67n6lt5mpdulskpsxbq",{"2":{"583":2}}],["12d3koowlrw6eqgdwvgqrqt8wlnjoqyn3sdazaaxjgyita2xowyf",{"2":{"522":2}}],["12d3koowlt1yssrd7xwsbjh7tu1hqanf5m64dhv6aum6cyejxmpk",{"2":{"476":1}}],["12d3koowewuqrjulanpukdfgvohw3roeuu53ec9t9v5cww3mkvdq",{"2":{"476":1}}],["12d3koowcmgm5ezwvfcn9zlavigfluwafxp5pcm78nfkb9jpbtua",{"2":{"476":1}}],["12d3koowgqwzdeqm54dce6lxzffr97bnhvm6rn7km7mfwdomfm4s",{"2":{"476":1}}],["12d3koowffhcaaqy56oeqy3plzudlsv4ryafvwkatzrepupdoslp",{"2":{"338":2}}],["127",{"2":{"233":1,"271":4,"362":2,"365":2,"380":2,"643":2}}],["12pm",{"2":{"31":1}}],["12",{"0":{"33":2},"2":{"22":1,"33":1,"108":4,"354":3,"373":4,"446":1}}],["1089",{"2":{"748":1}}],["103",{"2":{"563":2}}],["105",{"2":{"563":3}}],["1040676758",{"2":{"361":2}}],["106",{"2":{"338":4}}],["10px",{"2":{"250":6}}],["10001",{"2":{"654":4}}],["1000utia",{"2":{"576":4}}],["10000",{"2":{"334":8,"387":2}}],["10000000utia",{"2":{"686":2}}],["100000000000utia",{"2":{"564":2}}],["1000000000",{"2":{"563":2}}],["1000000000utia",{"2":{"563":2,"564":2}}],["1000000utia",{"2":{"629":2}}],["1000000",{"2":{"337":2,"568":2}}],["100000",{"2":{"197":4,"198":2,"200":2,"204":2,"271":4,"334":8,"343":4}}],["100000utia",{"2":{"197":12,"204":4,"576":2}}],["1000",{"2":{"271":2}}],["100",{"2":{"250":2,"271":2,"441":2}}],["100vh",{"2":{"250":2}}],["10bytenamespace",{"2":{"108":3}}],["10s",{"2":{"108":2,"271":4,"373":2}}],["10+",{"2":{"58":1}}],["10am",{"2":{"28":1}}],["10",{"0":{"22":1,"31":1},"2":{"22":1,"45":1,"108":1,"119":3,"145":3,"235":3,"248":2,"271":4,"290":1,"302":3,"324":2,"332":1,"338":4,"403":1,"442":1,"449":1,"460":1,"479":1,"484":1,"548":1,"554":2,"665":1,"699":2,"700":2,"728":1}}],["1",{"0":{"13":1,"19":1,"20":1,"42":1,"145":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"17":2,"21":3,"33":1,"37":1,"41":1,"42":8,"43":1,"45":2,"48":1,"59":1,"66":1,"94":2,"95":2,"108":4,"114":2,"115":3,"119":2,"135":4,"137":2,"145":2,"146":6,"153":2,"178":1,"222":1,"223":1,"226":1,"230":2,"231":3,"233":1,"235":2,"242":12,"271":14,"298":2,"336":2,"337":2,"338":6,"339":2,"340":13,"343":1,"354":2,"356":1,"359":1,"362":2,"365":2,"366":1,"373":4,"380":2,"395":2,"406":1,"410":2,"420":1,"429":1,"442":1,"446":1,"447":8,"449":3,"457":2,"460":1,"476":2,"477":2,"484":1,"517":1,"548":2,"563":1,"568":2,"569":2,"609":2,"613":10,"627":2,"636":2,"643":2,"665":2,"677":2,"709":1,"727":4}}],["udp",{"2":{"338":6,"582":1,"591":1}}],["uri",{"2":{"324":6,"325":6,"477":1,"553":8,"554":2,"555":6,"562":4,"585":6,"586":8,"589":2,"632":2,"671":2,"672":6,"699":2,"702":6,"745":2,"746":2}}],["urldocker",{"2":{"656":3}}],["url=this",{"2":{"653":2}}],["url=https",{"2":{"204":2,"234":2,"254":2}}],["url=http",{"2":{"86":2,"118":2,"233":2}}],["urlexport",{"2":{"87":1,"254":1}}],["urlcast",{"2":{"87":3,"119":1,"235":1,"254":3}}],["url",{"2":{"65":2,"86":5,"87":12,"118":4,"119":7,"173":1,"204":5,"206":1,"226":4,"228":1,"233":4,"234":5,"235":7,"245":2,"246":6,"251":1,"254":17,"271":4,"302":3,"327":1,"328":1,"360":2,"361":2,"373":3,"477":2,"572":2,"653":9,"656":3,"716":3}}],["urls",{"0":{"171":1},"1":{"172":1,"173":1},"2":{"65":2,"171":2}}],["uatom",{"2":{"271":2}}],["ugp0sv9ynei5poiyr7rdodswwlfbh2o3xirsmmnmbks=",{"2":{"146":2}}],["uhhb3u6dpayj1pjnefrwq5he=",{"2":{"145":2}}],["uint32",{"2":{"405":4,"410":4}}],["uint",{"2":{"242":18}}],["uint256",{"2":{"114":4,"115":4,"119":2,"125":2,"147":2,"149":4,"152":4,"153":4,"230":4,"231":4,"235":2}}],["uint64",{"2":{"103":12,"132":8,"133":4,"135":4,"137":4,"386":8,"387":2}}],["ubuntumac",{"2":{"322":1,"596":1}}],["ubuntu",{"2":{"90":1,"286":1,"290":1,"319":1,"320":2,"549":1,"610":1,"627":1,"651":1,"661":1,"662":2,"666":1,"696":1}}],["ultimately",{"2":{"165":1}}],["ultimate",{"2":{"67":1}}],["utility",{"0":{"214":1},"1":{"215":1,"216":1,"217":1,"218":1,"219":1},"2":{"213":1,"214":3,"216":1,"322":1,"596":1,"700":1}}],["utilizing",{"0":{"65":1}}],["utilize",{"2":{"61":1,"63":2,"64":1,"287":1}}],["utia=tia×10−6",{"2":{"449":1}}],["utia",{"0":{"343":1,"457":1},"2":{"197":4,"198":2,"200":4,"226":1,"271":2,"298":6,"302":1,"334":2,"336":2,"337":2,"343":6,"457":3,"458":1,"563":2}}],["utc",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"27":2,"28":4,"29":3,"31":3,"32":1,"33":3,"34":1,"36":1,"37":2,"515":2}}],["u",{"2":{"42":2,"45":5,"536":2,"568":6,"742":2,"744":2,"745":2,"746":2}}],["upper",{"2":{"709":1}}],["upgrading",{"0":{"598":1}}],["upgrades",{"0":{"470":1,"472":1,"482":1,"706":1,"719":1,"730":1,"735":1},"2":{"470":1,"471":1,"472":1,"482":1,"563":1,"578":1,"675":2,"676":1,"705":1,"706":1,"719":1,"730":1,"734":1,"735":1}}],["upgrade",{"0":{"578":1},"2":{"92":2,"283":1,"319":3,"578":1,"598":1,"661":3,"675":3,"676":4,"677":2}}],["upmake",{"2":{"356":1,"373":1}}],["upload",{"2":{"250":1,"272":1,"288":1,"318":1,"548":1,"609":1,"627":1,"665":1,"695":1}}],["uploaded",{"2":{"246":1}}],["uploading",{"2":{"240":1}}],["updocker",{"2":{"223":1}}],["updating",{"0":{"242":1,"244":1,"535":1},"1":{"536":1,"537":1},"2":{"160":1,"190":2,"512":2}}],["updatepost",{"2":{"242":6}}],["updatename",{"2":{"242":2}}],["updatevalidatorset",{"2":{"160":1,"161":1}}],["updateheaders",{"2":{"135":2}}],["updatesudo",{"2":{"319":1,"661":1}}],["updates",{"2":{"115":1,"231":1,"242":4,"459":1,"472":1,"706":1,"733":1,"734":1}}],["update",{"0":{"88":1,"255":1,"512":1},"2":{"88":2,"92":2,"97":4,"178":1,"242":2,"244":1,"249":1,"250":1,"252":1,"255":2,"319":4,"354":4,"387":1,"406":1,"414":1,"433":1,"506":1,"508":4,"512":9,"563":2,"593":4,"661":4,"689":1}}],["updatedpost",{"2":{"242":4}}],["updated",{"2":{"5":1,"135":1,"238":1,"378":1,"472":1,"512":2,"534":1,"734":1}}],["upcoming",{"2":{"71":1,"675":1}}],["upstream",{"2":{"354":1}}],["ups",{"2":{"57":1}}],["upon",{"2":{"45":3,"74":1,"135":1,"141":1,"333":1,"447":1,"555":1,"672":1,"702":1}}],["uptime",{"2":{"44":1,"585":1,"716":1}}],["up",{"0":{"108":1,"188":1,"193":1,"205":1,"319":1,"387":1,"546":1,"549":1,"608":1,"610":1,"625":1,"626":1,"663":1,"666":1,"682":1,"693":1,"696":1,"740":1},"1":{"189":1,"190":1,"191":1,"192":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"547":1,"548":1,"549":1,"550":2,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":2,"627":3,"628":3,"629":3,"630":2,"631":2,"632":2,"633":2,"634":2,"635":2,"636":2,"637":2,"638":2,"639":2,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"694":1,"695":1,"696":1,"697":2,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"30":1,"37":1,"48":3,"54":1,"55":1,"56":1,"65":3,"66":1,"72":1,"78":1,"79":1,"108":1,"113":1,"169":1,"178":1,"192":1,"201":2,"204":1,"205":1,"213":1,"216":1,"222":2,"223":3,"229":1,"250":1,"273":1,"290":1,"295":1,"314":1,"319":2,"323":1,"331":1,"356":2,"373":1,"379":1,"380":1,"382":1,"386":2,"392":1,"422":1,"423":1,"493":1,"500":1,"527":1,"543":1,"546":1,"556":2,"570":1,"572":1,"573":1,"580":1,"586":1,"596":1,"605":1,"608":4,"621":2,"627":1,"634":2,"636":1,"660":1,"663":1,"667":1,"682":1,"683":1,"693":1,"696":2,"703":1,"731":1,"741":1,"742":1,"747":1}}],["unexplored",{"2":{"706":1}}],["unexpectedly",{"2":{"472":1}}],["unjail",{"2":{"567":3}}],["unjailing",{"0":{"567":1}}],["unbond",{"2":{"566":3}}],["un",{"2":{"542":1}}],["undelegate",{"0":{"566":1},"2":{"566":1}}],["undergoes",{"2":{"472":1}}],["underlying",{"2":{"104":1,"364":1}}],["underwriter",{"2":{"45":1}}],["undertake",{"2":{"45":1}}],["undertaking",{"2":{"45":1}}],["understanding",{"0":{"601":1},"1":{"602":1,"603":1,"604":1,"605":1,"606":1,"607":1},"2":{"60":1,"83":1,"112":2,"176":1,"178":1,"221":1,"228":2,"442":1,"652":2}}],["understand",{"2":{"41":1,"44":1,"45":4,"65":1,"66":3,"83":1,"128":1,"204":1,"296":1,"439":1}}],["under",{"2":{"33":1,"41":1,"42":1,"45":10,"106":1,"127":1,"214":1,"216":1,"380":1,"402":1,"519":1,"526":1,"530":1,"536":1,"545":1,"571":2,"622":1}}],["undone",{"2":{"510":2}}],["unused",{"2":{"402":1,"404":1}}],["untested",{"2":{"286":1}}],["until",{"2":{"137":1,"270":1,"406":1,"410":2,"422":1,"442":1,"449":1,"472":1,"534":1,"742":1}}],["unordered",{"2":{"276":2}}],["unstable",{"2":{"734":1}}],["unstake",{"2":{"264":1,"268":1}}],["unsafe",{"2":{"246":2,"252":2,"594":4,"641":2,"683":2}}],["unsignedtx",{"2":{"576":8}}],["unsigned",{"2":{"114":1,"115":1,"230":1,"231":1}}],["unsolicited",{"2":{"14":1,"15":1}}],["unknowncargo",{"2":{"96":1}}],["unknown",{"2":{"96":3,"153":1}}],["unlocked",{"2":{"447":9}}],["unlock",{"2":{"298":2,"447":3}}],["unlocks",{"0":{"447":1},"2":{"294":1,"447":4}}],["unlocking",{"2":{"73":1}}],["unlimited",{"2":{"571":2}}],["unlike",{"2":{"134":1,"308":1}}],["unlicensed",{"2":{"114":2,"115":2,"230":2,"231":2}}],["unless",{"2":{"42":2,"45":4,"682":1}}],["unit",{"2":{"115":1,"231":1,"410":2,"536":2,"742":2,"744":2,"745":2,"746":2}}],["united",{"2":{"45":9}}],["university",{"2":{"58":1}}],["universities",{"2":{"58":2,"62":1}}],["unique",{"2":{"44":1,"65":1,"179":1,"190":1,"427":2,"429":1,"677":1}}],["unaffected",{"2":{"180":1}}],["unaffiliated",{"2":{"42":1}}],["unavailable",{"2":{"137":1,"532":2}}],["unavailability",{"2":{"104":1,"237":1}}],["unable",{"2":{"42":3,"406":1,"420":1}}],["unacceptable",{"2":{"8":1,"11":1}}],["unwelcome",{"2":{"13":1}}],["unprofessional",{"2":{"13":1}}],["usually",{"2":{"554":1,"605":1,"671":1,"699":2}}],["usable",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1},"2":{"128":1,"145":1,"146":1}}],["usage",{"0":{"125":1,"486":1},"2":{"322":1,"497":2,"507":2,"508":2,"509":2,"510":2,"512":2,"513":2,"515":2,"516":2,"517":2,"518":2,"519":2,"520":2,"530":2,"545":2,"557":2,"560":1,"561":1,"562":2,"573":1,"596":1}}],["usr",{"2":{"94":6,"320":21,"581":1,"662":21}}],["using",{"0":{"118":1,"214":1,"233":1,"234":1,"369":1,"370":1,"371":1,"477":1},"1":{"215":1,"216":1,"217":1,"218":1,"219":1},"2":{"10":1,"22":1,"31":1,"44":1,"54":1,"55":1,"66":1,"86":2,"104":1,"105":1,"106":1,"108":1,"111":1,"117":1,"119":1,"124":1,"129":3,"133":1,"134":2,"137":1,"145":1,"146":2,"148":1,"153":2,"158":1,"169":2,"181":1,"185":1,"186":1,"196":1,"204":1,"209":1,"213":1,"215":1,"222":1,"223":3,"235":1,"237":1,"242":1,"244":1,"245":1,"247":2,"248":1,"250":1,"252":3,"254":2,"269":1,"271":1,"283":1,"295":2,"298":3,"300":1,"316":1,"325":1,"326":1,"329":1,"330":1,"331":2,"334":1,"346":1,"368":1,"373":2,"378":3,"386":2,"391":2,"396":1,"405":2,"409":1,"410":4,"411":2,"429":1,"430":2,"432":3,"435":2,"438":1,"452":1,"459":1,"465":2,"466":1,"467":1,"477":1,"478":1,"483":1,"497":2,"500":1,"503":1,"504":1,"505":1,"508":1,"511":1,"514":1,"521":1,"522":2,"528":1,"532":1,"534":3,"535":5,"536":1,"538":1,"544":1,"545":2,"553":1,"555":1,"563":1,"564":1,"574":1,"575":1,"580":1,"583":1,"592":3,"593":1,"609":2,"618":1,"620":1,"621":1,"629":1,"651":3,"653":1,"655":2,"659":1,"671":1,"672":1,"699":1,"700":1,"701":1,"702":1,"725":2,"726":1,"728":1}}],["useaccount",{"2":{"250":4}}],["useeffect",{"2":{"250":6}}],["useful",{"0":{"488":1},"2":{"66":1,"75":1,"465":1,"472":1,"725":1,"740":1,"742":1}}],["useshareexchange",{"2":{"370":1}}],["usestate",{"2":{"250":10}}],["uses",{"2":{"58":1,"102":1,"104":1,"119":1,"133":4,"137":1,"165":1,"166":1,"169":1,"214":1,"235":1,"242":1,"269":1,"280":1,"290":1,"295":1,"311":1,"364":1,"402":1,"404":1,"405":1,"406":1,"418":1,"427":1,"439":1,"442":1,"453":1,"503":1,"504":1,"505":1,"508":2,"528":1,"544":1,"571":1,"622":1}}],["username",{"2":{"536":2}}],["user=$user",{"2":{"742":2,"744":2,"745":2,"746":2}}],["user=",{"2":{"536":2}}],["users",{"2":{"41":1,"104":1,"158":1,"180":1,"237":1,"250":3,"310":1,"312":1,"331":1,"388":1,"391":1,"397":1,"400":1,"402":3,"404":3,"405":1,"406":2,"407":1,"413":2,"420":2,"423":2,"424":1,"434":1,"435":1,"462":1,"465":1,"466":1,"530":2,"613":1,"651":1,"659":1,"706":1,"716":1,"722":1,"725":1,"726":1,"733":1}}],["user",{"0":{"410":1},"2":{"25":1,"60":1,"65":2,"66":1,"104":1,"108":3,"129":2,"131":1,"237":1,"242":2,"247":1,"249":1,"280":2,"283":1,"298":4,"307":1,"308":1,"328":2,"332":1,"395":1,"402":2,"404":3,"406":1,"410":8,"453":1,"456":1,"536":2,"572":1,"577":1,"592":8,"607":1,"654":1,"742":2,"744":2,"745":2,"746":2,"749":1}}],["use",{"2":{"8":1,"13":1,"29":1,"42":3,"44":3,"45":1,"63":1,"65":1,"66":2,"95":2,"108":2,"117":1,"118":1,"119":1,"131":1,"132":2,"134":2,"135":1,"140":1,"144":1,"149":2,"173":1,"180":1,"183":1,"187":1,"190":1,"191":1,"197":1,"202":1,"204":2,"205":1,"206":1,"215":1,"216":2,"218":1,"235":1,"242":2,"244":1,"245":4,"246":1,"252":1,"270":1,"272":1,"274":1,"275":2,"276":1,"277":1,"283":2,"285":1,"306":2,"312":1,"314":1,"317":1,"322":1,"324":1,"327":4,"328":1,"329":1,"330":2,"332":4,"333":5,"334":4,"343":1,"344":1,"345":2,"349":1,"358":1,"369":1,"370":1,"371":1,"373":2,"380":1,"383":1,"384":1,"385":2,"391":1,"401":1,"402":1,"403":1,"410":6,"432":1,"433":1,"451":1,"462":1,"469":1,"481":1,"489":1,"492":2,"493":1,"507":3,"508":2,"513":2,"514":1,"516":3,"517":3,"526":2,"528":1,"530":7,"532":1,"533":1,"536":1,"542":2,"545":1,"553":1,"563":2,"564":1,"572":2,"578":1,"580":1,"586":1,"591":1,"596":1,"602":1,"613":1,"635":1,"651":1,"671":1,"674":1,"684":2,"689":1,"717":1,"722":1,"729":1,"739":1}}],["used",{"2":{"3":1,"41":1,"102":1,"109":2,"132":2,"134":1,"135":2,"137":1,"148":1,"150":1,"159":1,"197":2,"211":1,"214":1,"224":1,"269":1,"272":1,"283":1,"286":1,"288":1,"299":1,"309":1,"319":1,"324":1,"328":2,"346":1,"364":1,"381":1,"402":1,"403":2,"404":1,"405":2,"427":1,"432":1,"435":1,"466":1,"471":1,"477":1,"496":1,"501":1,"508":1,"515":2,"516":1,"521":1,"530":2,"534":3,"552":1,"554":1,"563":1,"570":1,"580":1,"582":1,"591":1,"601":1,"629":2,"636":2,"644":1,"647":1,"654":1,"660":1,"671":2,"676":1,"726":1,"727":1}}],["us",{"2":{"8":1,"25":1,"27":1,"29":1,"41":1,"42":3,"44":2,"45":1,"50":1,"66":6,"180":1,"298":1,"346":1,"386":3,"709":2}}],["huzwottdmd36n1f75a9bshxnlrascnnpqiwqihdvhcu",{"2":{"340":4}}],["hub",{"2":{"269":1,"271":1,"272":1}}],["h2",{"2":{"250":8}}],["h3",{"2":{"250":8}}],["h1",{"2":{"250":8}}],["history",{"2":{"420":1,"424":1,"477":1,"608":1,"609":1,"716":1,"731":1}}],["historic",{"2":{"390":1,"391":3}}],["historical",{"0":{"423":1,"424":1,"619":1},"2":{"389":1,"390":1,"391":9,"420":2,"423":2,"424":2,"425":1,"608":1,"619":1}}],["hidden",{"2":{"133":1,"378":1}}],["hiring",{"2":{"62":1}}],["highly",{"2":{"554":1,"649":1,"671":1}}],["highlighted",{"2":{"154":1}}],["highlight",{"2":{"62":1,"82":1}}],["highlights",{"2":{"56":1,"102":1}}],["higher",{"2":{"180":1,"401":1,"406":1,"439":1,"442":1}}],["highest",{"2":{"25":1}}],["high",{"0":{"154":1},"1":{"155":1,"156":1},"2":{"21":1,"64":1,"83":1,"102":1,"129":1,"131":1,"158":1,"167":1,"298":2,"427":1,"466":1,"483":1,"726":1}}],["h",{"2":{"45":1,"507":2,"508":2,"513":2,"516":2,"530":2}}],["honesty",{"2":{"420":1}}],["honest",{"2":{"417":2,"427":1,"429":1,"436":2}}],["hooks",{"2":{"247":1}}],["hood",{"2":{"214":1,"402":1}}],["host",{"2":{"178":1,"206":2,"250":2,"271":4,"275":6,"383":1,"395":1,"654":3}}],["hosted",{"2":{"169":1,"303":1,"586":1}}],["hosting",{"2":{"61":1,"64":1,"66":2,"102":1}}],["hope",{"2":{"66":2}}],["hollow",{"2":{"194":2}}],["holders",{"2":{"444":1,"564":1}}],["holder",{"2":{"45":1}}],["hold",{"2":{"45":1,"60":1}}],["holdings",{"2":{"52":1}}],["holding",{"2":{"45":2}}],["holiday",{"0":{"35":1}}],["homebrew",{"2":{"319":4,"661":4}}],["homecd",{"2":{"194":1}}],["home=",{"2":{"190":2}}],["home",{"0":{"190":1},"2":{"31":1,"95":6,"108":6,"190":4,"194":3,"195":4,"197":12,"198":4,"199":4,"200":8,"328":1,"373":2,"492":3,"503":5,"504":5,"505":5,"506":1,"507":1,"509":4,"510":4,"511":7,"512":5,"514":4,"515":4,"516":1,"517":4,"522":1,"526":3,"530":7,"534":1,"535":2,"542":3,"545":3,"582":1,"591":1,"592":8,"641":2,"655":8,"656":8,"683":2}}],["however",{"2":{"62":1,"65":1,"133":1,"137":1,"390":1,"402":1,"403":1,"418":1,"428":1,"430":1,"432":1,"492":1,"503":1,"504":1,"505":1,"506":1,"507":1,"516":1,"517":1,"526":1,"532":1,"533":1,"542":1,"563":1,"586":1,"607":1,"647":1}}],["how",{"0":{"160":1,"162":1,"186":1,"258":1,"415":1,"490":1,"498":1,"522":1,"523":1,"539":1,"540":1,"568":1},"1":{"161":1,"163":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"499":1,"500":1,"501":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"541":1,"542":1,"543":1,"544":1,"545":1},"2":{"22":1,"33":1,"59":1,"60":1,"62":2,"65":1,"66":1,"78":1,"105":1,"111":1,"120":2,"128":1,"129":1,"131":1,"133":1,"134":1,"141":2,"154":1,"158":2,"159":1,"181":1,"186":1,"200":1,"201":2,"205":1,"208":2,"209":1,"221":1,"222":1,"224":1,"236":1,"238":2,"258":1,"269":2,"285":1,"290":1,"295":1,"297":1,"298":2,"299":1,"306":1,"314":1,"326":1,"327":2,"329":1,"351":1,"378":1,"386":1,"387":1,"403":2,"404":1,"405":2,"410":2,"416":1,"438":1,"439":1,"441":2,"442":1,"444":1,"445":1,"451":1,"453":1,"461":3,"475":2,"483":2,"487":2,"536":1,"570":2,"577":1,"578":1,"586":1,"608":1,"637":1,"646":1,"647":1,"710":2,"720":3,"731":1,"736":1}}],["hours",{"2":{"50":1}}],["hour",{"2":{"21":1,"22":1,"25":1,"26":1,"27":1,"28":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"66":1}}],["http2",{"2":{"465":1,"725":1}}],["httpexport",{"2":{"234":1,"254":1}}],["http",{"2":{"108":6,"117":2,"118":1,"172":1,"234":1,"245":2,"246":6,"248":2,"249":4,"250":2,"251":1,"254":1,"312":1,"328":1,"373":2,"383":2,"501":2,"582":1,"591":2,"653":1,"725":1}}],["https",{"0":{"172":1},"2":{"17":3,"86":2,"93":2,"94":2,"95":2,"97":2,"98":2,"149":2,"150":2,"153":2,"172":1,"174":1,"175":1,"206":2,"215":2,"226":4,"250":2,"251":1,"254":2,"271":8,"272":2,"292":1,"302":3,"304":1,"319":2,"320":8,"322":2,"354":2,"362":2,"384":2,"398":3,"399":3,"465":2,"468":1,"469":1,"476":2,"480":1,"481":2,"485":3,"562":4,"577":4,"580":2,"581":2,"596":2,"613":12,"623":12,"653":1,"661":2,"662":8,"717":6,"718":2,"725":9,"726":1,"729":5}}],["html",{"2":{"17":1,"149":2,"150":2}}],["halo",{"2":{"547":1}}],["halting",{"2":{"414":1}}],["hamburger",{"2":{"226":1}}],["happens",{"2":{"676":1}}],["happen",{"2":{"436":1,"676":1,"677":1}}],["happening",{"2":{"5":1}}],["happy",{"2":{"65":1,"81":1}}],["having",{"2":{"58":2,"59":1,"416":2,"506":1,"651":1}}],["haven",{"2":{"298":2,"597":1}}],["have",{"2":{"4":1,"9":1,"41":1,"42":5,"43":3,"45":8,"49":1,"58":4,"59":1,"60":1,"61":1,"63":1,"64":2,"65":1,"81":1,"87":1,"98":1,"117":1,"123":1,"133":1,"147":4,"176":1,"181":1,"192":1,"193":1,"201":1,"212":2,"216":1,"238":1,"247":1,"249":2,"253":1,"254":1,"271":2,"272":1,"274":1,"276":1,"277":1,"288":2,"297":1,"298":1,"312":1,"317":2,"320":1,"326":1,"328":1,"350":1,"367":1,"368":1,"370":2,"380":1,"387":1,"391":1,"406":1,"414":1,"415":2,"418":1,"424":1,"430":1,"436":2,"446":1,"461":1,"484":1,"491":1,"495":1,"499":1,"501":1,"515":1,"524":1,"525":1,"530":3,"534":1,"536":1,"541":1,"545":3,"547":1,"556":1,"581":1,"583":1,"584":1,"591":1,"600":1,"609":2,"634":1,"635":1,"636":1,"648":1,"653":1,"656":1,"662":1,"677":1,"683":1,"688":1,"689":1,"692":1,"694":1,"701":1,"709":1,"716":1,"720":1,"742":1}}],["handpicking",{"2":{"572":1}}],["handshake",{"0":{"532":1},"2":{"532":4}}],["handful",{"2":{"245":1}}],["handling",{"2":{"104":1,"169":2,"295":2,"516":1}}],["handled",{"2":{"402":1}}],["handles",{"2":{"169":1,"295":1,"328":1,"507":1}}],["handle",{"2":{"42":1,"364":1,"410":4,"434":1}}],["hand",{"2":{"52":1,"167":1}}],["hashaccessing",{"2":{"608":1}}],["hash=580b3dff8a7c716968161d91116a1e171f486298d582874e93714e489c9e6e88",{"2":{"583":2}}],["hash=",{"2":{"583":2}}],["hash=0x79a0a7a1b4936aafe7a37dbfb07a6a9e55c145a4ed6fd54f962649b4b7db8de7",{"2":{"360":1}}],["hash=0x79a0a7a1b4936aafe7a37dbfb07a6a9e55c145a4ed6fd54f962649b4b7db8de7export",{"2":{"360":1}}],["hashtopost",{"2":{"242":8}}],["hashtags",{"2":{"63":1}}],["hashes",{"2":{"125":4}}],["hash",{"0":{"618":1},"2":{"118":2,"125":10,"132":2,"135":2,"145":2,"146":2,"152":2,"153":1,"234":2,"242":30,"250":1,"322":1,"340":24,"343":1,"360":4,"361":4,"430":1,"501":1,"583":6,"596":1,"607":2,"618":1,"622":3,"629":3,"636":2,"646":2}}],["has",{"2":{"43":1,"45":2,"65":1,"68":1,"103":2,"104":2,"125":3,"198":1,"237":1,"241":1,"245":1,"246":1,"276":1,"295":1,"312":1,"350":1,"364":1,"365":1,"386":1,"391":1,"403":2,"413":1,"423":1,"428":1,"430":1,"472":1,"479":1,"510":2,"513":1,"516":1,"521":1,"533":1,"534":1,"535":1,"547":1,"572":1,"574":1,"623":1,"651":1,"671":1,"698":1,"708":1,"709":1,"728":1,"734":1,"742":1,"746":1}}],["had",{"2":{"43":1,"239":1}}],["hard",{"2":{"709":2}}],["hardforks",{"2":{"675":1,"676":1,"734":1}}],["hardfork",{"0":{"675":1,"677":1},"1":{"676":1,"677":1},"2":{"472":1,"675":2,"676":2,"677":3}}],["hardware",{"0":{"318":1,"548":1,"609":1,"627":1,"665":1,"679":1,"695":1},"2":{"78":1,"79":1,"318":1,"484":1,"508":1,"548":1,"608":1,"609":1,"627":1,"665":1,"679":1,"695":1}}],["harassing",{"2":{"11":1}}],["harassment",{"2":{"7":1,"8":1,"16":1}}],["harmful",{"2":{"9":1}}],["hello",{"2":{"332":1}}],["helpblobstream",{"2":{"493":1,"500":2,"527":1,"528":1,"543":1,"544":1}}],["helpful",{"0":{"386":1,"557":1},"1":{"558":1,"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1},"2":{"386":4,"580":1,"581":1}}],["helpcelestia",{"2":{"204":1,"279":1,"345":2,"561":1,"562":1,"580":1}}],["helper",{"2":{"139":1,"386":2,"497":1}}],["helped",{"2":{"52":1}}],["helping",{"2":{"65":1,"104":1,"237":1,"557":2,"678":1}}],["helps",{"2":{"2":1,"61":1,"64":1,"66":4}}],["help",{"0":{"345":1},"2":{"0":1,"25":1,"44":1,"46":1,"50":1,"52":1,"53":2,"54":1,"57":1,"58":1,"59":1,"60":3,"61":2,"62":1,"63":2,"64":2,"65":3,"66":2,"75":2,"129":1,"180":1,"204":2,"219":2,"279":2,"345":4,"388":1,"393":1,"453":1,"486":4,"493":2,"497":2,"500":3,"507":8,"508":8,"509":2,"510":2,"512":2,"513":8,"515":2,"516":6,"517":2,"518":2,"519":2,"520":2,"527":2,"528":2,"530":6,"543":2,"544":2,"545":2,"557":6,"561":1,"562":1,"580":2,"587":1,"604":1,"720":1,"736":1}}],["hence",{"2":{"169":1,"295":1,"403":1,"663":1}}],["heightsub",{"0":{"595":1},"2":{"595":4}}],["height=15",{"2":{"145":1,"146":1,"153":1}}],["height",{"0":{"340":1},"2":{"126":1,"132":8,"133":4,"135":2,"137":6,"145":3,"146":1,"153":13,"197":4,"250":4,"332":5,"333":6,"334":3,"340":10,"341":2,"346":3,"364":2,"386":20,"387":6,"430":1,"442":1,"534":2,"557":4,"619":1,"621":1,"622":3,"629":2,"636":2,"646":2}}],["hexadecimal",{"2":{"108":1,"119":1,"235":1,"332":1}}],["hex",{"2":{"87":1,"148":1,"149":1,"150":1,"151":1,"152":1,"254":1,"332":8,"333":2,"385":2,"386":5,"408":4,"409":4,"510":2,"512":2,"519":3}}],["hesitate",{"2":{"58":1,"63":1}}],["hea",{"2":{"386":2}}],["health",{"2":{"273":4,"570":1,"716":1}}],["healthcheck",{"2":{"108":2,"373":2}}],["healthy",{"2":{"7":1,"273":1}}],["heard",{"2":{"178":1}}],["hear",{"2":{"66":2}}],["head=ghead",{"2":{"613":1}}],["head=gheadalias",{"2":{"613":1}}],["headerparam",{"2":{"386":2}}],["headers",{"0":{"141":1,"595":1},"2":{"135":1,"137":5,"141":1,"160":1,"250":2,"427":1,"428":1,"429":1,"436":5,"547":2,"595":3,"664":2,"694":3,"745":1,"746":1}}],["header",{"0":{"340":1},"2":{"108":2,"125":2,"126":1,"127":1,"132":11,"133":9,"134":1,"135":18,"137":19,"153":2,"160":2,"340":8,"341":2,"346":4,"373":2,"385":2,"386":2,"427":1,"430":1,"435":1,"436":4,"438":1,"595":2,"622":1}}],["head",{"2":{"52":1,"129":1,"133":1,"178":1,"203":1,"319":2,"325":1,"369":1,"380":1,"574":1,"613":12,"621":1,"661":2}}],["hedging",{"2":{"45":1}}],["hermes",{"0":{"270":1,"277":1},"1":{"271":1,"272":1,"273":1},"2":{"269":2,"270":9,"271":4,"272":4,"273":2,"274":1,"278":1}}],["herbert",{"2":{"25":3}}],["hereby",{"2":{"43":1,"45":4}}],["herein",{"2":{"41":1}}],["here",{"2":{"0":1,"49":1,"70":1,"78":1,"79":1,"82":1,"115":1,"132":1,"133":1,"135":1,"137":1,"182":1,"204":1,"231":1,"242":3,"246":1,"249":1,"298":1,"329":1,"332":2,"333":3,"337":1,"340":2,"343":1,"380":1,"385":1,"386":4,"410":4,"553":1,"554":1,"563":1,"572":2,"585":1,"586":1,"587":1,"622":1,"636":1,"685":2,"686":1,"688":1,"710":1,"741":1}}],["v",{"2":{"282":1,"361":2,"386":14,"655":11,"656":10}}],["vv",{"2":{"243":1}}],["vvforge",{"2":{"243":1}}],["vs",{"0":{"164":1,"433":1},"1":{"165":1,"166":1,"167":1}}],["v1beta1",{"2":{"197":2,"198":2,"199":2,"563":4}}],["v1",{"2":{"153":1,"270":1,"322":1,"338":6,"354":6,"364":1,"402":2,"406":1,"460":1,"534":4,"581":1,"596":1}}],["vkrarg7fgtz",{"2":{"145":2}}],["v0",{"2":{"95":2,"108":4,"270":1,"354":3,"373":4,"460":2}}],["vote",{"2":{"258":1,"444":2,"445":1,"563":5,"564":1}}],["voting",{"2":{"160":1,"340":4,"454":1,"563":1,"731":1}}],["void",{"2":{"194":2}}],["voice",{"2":{"58":1}}],["vouch",{"2":{"165":1}}],["volume",{"2":{"373":1,"654":2,"655":6,"656":2,"659":1}}],["volumes",{"2":{"108":2,"223":2,"373":2}}],["volunteer",{"2":{"54":1}}],["volunteers",{"2":{"54":1,"56":1,"70":1}}],["vanilla",{"2":{"432":1}}],["vastly",{"2":{"180":1}}],["val",{"2":{"534":1,"629":2,"637":2}}],["valcelestia",{"2":{"534":1}}],["valconspub",{"2":{"298":2}}],["valcons",{"2":{"298":2}}],["valset",{"0":{"533":1},"2":{"501":2,"530":1}}],["valoperpub",{"2":{"298":2}}],["valoper",{"2":{"298":2,"534":8,"565":2,"566":4}}],["validiums",{"2":{"414":1}}],["validity",{"2":{"180":3,"392":1}}],["valid",{"2":{"129":2,"180":1,"273":2,"427":1,"433":2,"436":1}}],["validation",{"2":{"137":2}}],["validating",{"0":{"99":1},"2":{"143":1,"675":1}}],["validated",{"2":{"539":1}}],["validates",{"2":{"432":1,"557":2}}],["validatehermes",{"2":{"273":1}}],["validatebatchdata",{"2":{"103":1}}],["validate",{"2":{"99":5,"273":1,"428":1,"429":1,"547":1,"557":2,"621":1,"734":1}}],["validator1",{"2":{"684":1}}],["validatorsetting",{"2":{"608":1}}],["validators",{"0":{"483":1,"687":1},"1":{"484":1,"485":1,"486":1,"487":1,"488":1},"2":{"131":1,"132":1,"161":1,"165":1,"179":1,"288":1,"340":6,"401":1,"418":1,"439":1,"441":1,"472":1,"483":1,"534":1,"563":3,"638":2,"675":3,"676":2,"677":2,"687":3,"688":1,"691":1,"720":1,"734":3}}],["validator",{"0":{"205":1,"262":1,"267":1,"565":1,"567":1,"625":1,"626":1,"627":1,"629":1,"636":1,"637":1,"639":1},"1":{"626":1,"627":2,"628":2,"629":2,"630":1,"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1},"2":{"99":1,"135":1,"158":1,"159":2,"160":4,"161":1,"179":1,"192":2,"195":2,"196":1,"200":1,"204":1,"205":2,"211":4,"262":1,"267":1,"340":4,"392":1,"397":1,"422":1,"441":3,"453":2,"463":2,"466":2,"471":3,"476":4,"477":2,"484":1,"487":1,"501":1,"521":2,"522":2,"527":1,"528":1,"530":7,"534":13,"535":3,"538":3,"539":1,"547":1,"554":5,"557":2,"565":5,"566":6,"567":3,"569":2,"576":6,"582":1,"591":1,"608":5,"626":1,"627":1,"629":7,"630":2,"635":1,"636":16,"637":3,"650":1,"671":3,"685":1,"690":4,"691":2,"699":5,"700":2,"711":1,"720":1,"731":1,"734":1,"738":1,"739":1,"741":1}}],["valuable",{"2":{"58":1,"61":2,"66":1,"83":1}}],["values",{"0":{"583":1},"2":{"145":1,"146":1,"149":1,"151":1,"152":2,"216":1,"332":1,"444":1,"501":1,"583":2,"593":3}}],["value",{"2":{"4":1,"62":1,"87":3,"114":2,"119":1,"149":6,"150":1,"230":2,"235":1,"250":15,"254":3,"332":2,"338":1,"340":4,"361":2,"362":4,"365":2,"402":1,"403":1,"404":1,"492":1,"503":1,"504":1,"505":1,"522":1,"526":1,"534":4,"535":1,"542":1,"563":4,"586":1,"620":2,"646":2,"647":1,"684":2,"685":1}}],["vars",{"2":{"380":1,"386":3}}],["var",{"2":{"135":2,"190":4,"381":1,"386":2,"387":6}}],["variant",{"2":{"247":2}}],["variables",{"0":{"196":1,"248":1},"2":{"196":1,"202":1,"248":1,"355":1,"372":1,"386":2,"404":1,"655":1}}],["variable",{"2":{"86":2,"114":2,"115":2,"118":1,"119":1,"148":1,"190":1,"230":2,"231":2,"234":2,"235":1,"245":1,"246":1,"252":1,"254":2,"330":1,"343":1,"360":1,"361":1,"373":1,"404":1,"439":1,"492":2,"503":2,"504":2,"505":2,"526":2,"542":2,"629":1}}],["variety",{"2":{"59":1,"181":1}}],["various",{"2":{"45":1,"54":1,"65":1,"83":1,"394":1}}],["vary",{"2":{"59":1,"403":1,"442":1,"709":1}}],["veto",{"2":{"563":2}}],["vest",{"2":{"197":1}}],["vestingcelestia",{"2":{"202":1}}],["vesting",{"0":{"186":1,"193":1,"197":1,"198":1,"204":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":2,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1},"2":{"186":4,"192":1,"193":1,"194":5,"195":2,"196":1,"197":19,"198":8,"200":3,"201":2,"202":4,"204":10,"207":1,"208":2,"283":1,"403":1}}],["ve",{"2":{"63":1,"83":1,"87":1,"118":1,"120":1,"177":1,"178":1,"200":1,"208":1,"234":1,"236":1,"239":1,"244":1,"246":1,"254":1,"378":1,"597":1}}],["venue",{"0":{"58":1},"2":{"54":2,"55":1,"58":4,"62":2,"63":2}}],["venture",{"2":{"52":1}}],["vendors",{"2":{"42":1}}],["ver=",{"2":{"320":3,"662":3}}],["very",{"2":{"131":1,"288":1}}],["verifymultirowrootstodataroottupleroot",{"2":{"129":1}}],["verifyrowroottodataroottupleroot",{"2":{"129":2}}],["verifysharestodataroottupleroot",{"2":{"129":2}}],["verifying",{"0":{"129":1},"2":{"126":2,"133":2,"134":1,"157":1,"283":1,"284":1,"415":1,"421":1,"429":1}}],["verifyzkp",{"2":{"125":4}}],["verify",{"0":{"273":1,"415":1},"2":{"125":4,"129":4,"134":1,"147":2,"149":6,"152":4,"153":3,"157":1,"159":2,"180":2,"194":2,"197":1,"270":1,"274":1,"320":1,"322":1,"413":5,"415":2,"416":1,"417":1,"418":1,"423":1,"426":1,"427":1,"429":1,"430":1,"433":1,"434":2,"510":1,"530":1,"534":1,"596":1,"622":1,"662":1}}],["verifyattestation",{"2":{"104":1,"125":2,"127":1}}],["verified",{"2":{"413":1,"414":1,"415":1,"423":1}}],["verifier",{"2":{"128":1,"129":1,"139":1}}],["verifies",{"2":{"115":2,"127":2,"129":3,"231":2}}],["verification",{"0":{"166":1},"2":{"42":1,"129":1,"153":1,"403":1,"622":1}}],["versatility",{"2":{"102":1}}],["versed",{"2":{"83":1}}],["versioned",{"2":{"709":1}}],["versiongo",{"2":{"320":1,"662":1}}],["versioncelestia",{"2":{"322":1,"596":1}}],["versioncd",{"2":{"191":1}}],["versioncurl",{"2":{"95":1}}],["versionver=",{"2":{"94":1}}],["versions",{"2":{"49":1,"675":1,"733":1,"734":2}}],["version",{"0":{"191":1,"344":1,"460":1,"474":1,"658":1,"707":1,"721":1},"2":{"17":2,"94":1,"95":3,"98":1,"103":1,"124":1,"146":2,"149":7,"150":7,"169":1,"187":1,"191":2,"201":1,"204":1,"269":1,"270":1,"276":12,"283":1,"295":1,"320":4,"322":8,"332":1,"333":8,"340":2,"344":1,"354":3,"364":1,"367":2,"380":1,"387":1,"391":1,"402":2,"432":1,"557":6,"580":1,"596":7,"598":1,"662":4}}],["vpn",{"2":{"42":1}}],["vms",{"2":{"181":1}}],["vm",{"2":{"31":1,"180":1,"181":4,"242":4,"244":4}}],["visualize",{"2":{"572":1}}],["visualizer",{"2":{"572":1}}],["visualization",{"0":{"572":1}}],["vistara",{"2":{"396":1}}],["vision",{"2":{"452":1}}],["visited",{"2":{"298":2}}],["visit",{"2":{"174":1,"175":1,"305":1,"370":2,"651":1}}],["visibility",{"2":{"63":1}}],["visible",{"2":{"7":1}}],["vite",{"2":{"238":1,"247":4,"248":2,"250":4}}],["vitepress",{"2":{"1":1}}],["virtual",{"2":{"170":1}}],["virtually",{"2":{"83":1}}],["vibrant",{"2":{"73":1}}],["video",{"0":{"657":1},"1":{"658":1},"2":{"58":1,"64":1,"78":1,"79":1}}],["videos",{"2":{"55":1,"64":1}}],["violate",{"2":{"45":1}}],["violating",{"2":{"14":1,"15":1}}],["violation",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"42":1}}],["viewed",{"2":{"587":1}}],["viewing",{"0":{"359":1},"2":{"563":1}}],["viewstate",{"2":{"250":6}}],["view",{"0":{"219":1,"357":1,"374":1},"2":{"45":2,"119":1,"160":2,"204":1,"226":1,"235":1,"242":5,"250":15,"302":1,"307":1,"345":2,"357":1,"359":1,"374":1,"483":1,"557":1,"564":1,"581":1}}],["viewpoints",{"2":{"8":1}}],["via",{"0":{"139":1,"140":1,"410":1},"2":{"10":1,"63":2,"98":1,"131":1,"132":1,"134":1,"137":1,"146":1,"149":1,"150":1,"212":1,"215":4,"216":1,"258":1,"272":1,"278":1,"279":1,"393":1,"410":2,"435":1,"500":1,"510":1,"522":2,"528":1,"539":1,"544":1,"563":1,"589":1,"734":1}}],["eofsudo",{"2":{"742":1,"744":1,"745":1,"746":1}}],["eof",{"2":{"742":3,"744":3,"745":3,"746":3}}],["egrep",{"2":{"623":6}}],["egg",{"2":{"194":2}}],["eye",{"2":{"573":1}}],["e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"2":{"340":8}}],["ephemeral",{"2":{"180":1}}],["era",{"2":{"452":1}}],["erasure",{"2":{"154":1,"286":1,"417":1,"418":3,"432":1,"435":1,"438":1,"547":2}}],["err",{"2":{"135":18,"137":12,"386":40,"410":50}}],["errors",{"2":{"272":1,"363":1,"370":2}}],["errorf",{"2":{"137":4}}],["error",{"2":{"133":10,"135":4,"137":4,"237":3,"350":3,"364":2,"365":1,"386":16,"410":2,"532":5,"593":3,"688":1}}],["eric",{"2":{"52":1}}],["equally",{"2":{"434":1}}],["equality",{"2":{"242":1}}],["equal",{"2":{"115":1,"231":1}}],["equipments",{"2":{"58":1}}],["equipment",{"2":{"54":2,"55":1,"58":2,"64":1}}],["equivalent",{"2":{"45":2}}],["eight",{"2":{"430":1}}],["eighteen",{"2":{"42":1}}],["eip",{"2":{"402":1}}],["either",{"2":{"83":1,"212":1,"215":1,"244":1,"248":1,"325":1,"328":1,"354":1,"368":1,"373":1,"402":1,"436":1,"447":1,"500":1,"503":1,"504":1,"505":1,"528":1,"534":1,"544":1,"572":3,"581":1,"653":1}}],["es",{"2":{"712":1,"713":1,"714":1}}],["especially",{"2":{"58":1,"68":1,"747":1}}],["essentially",{"2":{"587":1}}],["essential",{"2":{"58":1,"63":1,"65":1,"71":1,"92":2,"171":1,"319":5,"397":1,"451":1,"582":1,"591":1,"661":5}}],["estimates",{"2":{"404":1}}],["estimategas",{"2":{"404":2}}],["estimated",{"2":{"404":1,"410":2}}],["estimate",{"2":{"60":1,"197":2,"404":1,"405":1}}],["estimating",{"0":{"403":1,"405":1},"2":{"60":2,"404":1,"410":2}}],["established",{"2":{"276":1,"390":1}}],["establish",{"2":{"60":1,"269":1}}],["est",{"2":{"27":2,"28":4,"29":3,"31":3,"32":1,"33":3,"37":2}}],["efficiently",{"2":{"413":1}}],["efficient",{"2":{"180":1,"405":1,"434":1}}],["effect",{"2":{"428":1}}],["effectivegasprice",{"2":{"119":2,"235":2}}],["effectively",{"2":{"63":1,"75":1,"623":1}}],["effective",{"2":{"62":1,"66":1,"709":1}}],["effected",{"2":{"45":1}}],["efforts",{"2":{"45":2,"65":1}}],["eu",{"2":{"45":2}}],["etc",{"2":{"44":1,"54":2,"56":1,"66":1,"154":1,"247":1,"327":2,"477":1,"534":1,"536":1,"613":1,"716":1,"742":4,"744":4,"745":4,"746":4}}],["eth0",{"2":{"644":2}}],["eth",{"2":{"87":2,"228":1,"246":2,"252":2,"254":2,"356":1,"364":2,"452":1,"515":1}}],["ethers",{"2":{"248":2,"250":12}}],["etheruem",{"2":{"137":2}}],["ethereumclient",{"2":{"133":6,"135":4,"137":2}}],["ethereum",{"0":{"104":1,"141":1,"237":1,"363":1},"1":{"364":1,"365":1},"2":{"29":1,"57":1,"87":1,"102":6,"103":2,"104":6,"112":1,"119":1,"127":1,"131":2,"132":4,"133":12,"135":3,"137":2,"141":3,"158":3,"159":1,"163":1,"166":1,"167":2,"169":3,"170":1,"228":1,"234":1,"235":1,"237":6,"238":1,"250":8,"251":1,"254":1,"289":1,"290":3,"293":1,"295":3,"363":2,"364":6,"365":3,"402":1,"452":1,"483":1,"515":1,"534":1}}],["ethermintd",{"2":{"246":2,"252":2}}],["ethermint",{"0":{"246":1,"251":1,"252":1},"2":{"27":1,"239":1,"245":1,"246":4,"249":15,"250":4,"251":1,"252":7,"253":1}}],["ethnicity",{"2":{"7":1}}],["else",{"2":{"272":1,"298":2}}],["elastic",{"2":{"57":1}}],["eli",{"2":{"52":1}}],["eligibility",{"2":{"42":1,"44":1,"45":2}}],["eligible",{"2":{"41":1,"42":1}}],["electronic",{"2":{"45":1}}],["element",{"2":{"41":1}}],["earliest",{"2":{"501":1}}],["earlier",{"2":{"383":1}}],["early",{"2":{"194":2,"446":4,"447":2}}],["earn",{"2":{"41":1,"42":1,"441":1}}],["eager",{"2":{"66":1}}],["ease",{"0":{"179":1}}],["easiest",{"2":{"305":1,"651":2}}],["easier",{"2":{"66":1}}],["easily",{"2":{"33":1,"289":1,"294":1}}],["easy2stake",{"2":{"712":1,"713":1}}],["easy",{"2":{"65":1,"169":1,"179":1,"247":1,"295":1,"434":1,"452":1,"537":1}}],["each",{"2":{"48":1,"50":1,"60":1,"70":1,"83":1,"114":1,"126":1,"132":1,"134":1,"137":1,"153":2,"160":2,"206":1,"230":1,"272":2,"283":1,"391":1,"402":1,"403":3,"404":2,"405":2,"406":2,"427":1,"428":1,"434":1,"435":2,"436":1,"438":1,"439":1,"442":1,"461":2,"475":1,"592":1,"709":1,"710":1,"720":2,"731":2}}],["ecdsa",{"0":{"514":1},"2":{"500":1,"508":1,"513":5,"514":2,"528":1,"544":1}}],["ecfg",{"2":{"410":4}}],["echo",{"2":{"94":2,"119":1,"235":1,"252":2,"361":2,"613":10,"691":2}}],["eclipse",{"2":{"31":3,"40":1,"417":1}}],["ecosystem",{"2":{"8":1,"33":1,"52":1,"61":3,"66":1,"68":1,"71":1,"78":1,"79":1,"83":3,"102":2,"238":1,"293":3,"445":1,"446":2,"447":2,"572":1,"705":1}}],["economic",{"2":{"7":1}}],["evolution",{"2":{"432":1,"705":1}}],["evolves",{"2":{"293":1}}],["evolved",{"2":{"238":1}}],["evidence",{"2":{"283":1,"340":2}}],["evaluate",{"2":{"45":1,"56":1}}],["evan",{"2":{"28":2,"29":3,"52":1}}],["evmks",{"2":{"508":1}}],["evmkeystorepath",{"2":{"508":2}}],["evm+",{"2":{"102":1}}],["evm",{"0":{"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"528":1,"534":1,"535":1,"544":1,"637":1},"1":{"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"536":1,"537":1},"2":{"27":1,"159":4,"160":2,"163":1,"168":2,"170":2,"181":1,"183":1,"239":1,"240":2,"246":3,"363":1,"377":1,"393":1,"484":1,"487":1,"497":1,"500":6,"501":5,"502":1,"507":4,"508":23,"509":9,"510":10,"511":2,"512":10,"513":12,"514":3,"515":8,"516":1,"521":1,"522":2,"524":2,"527":4,"528":8,"530":18,"534":13,"535":4,"536":9,"538":1,"543":4,"544":6,"545":7,"569":6,"608":1,"635":2,"637":8,"677":3}}],["ever",{"2":{"45":1,"194":2}}],["everything",{"2":{"81":1,"125":2,"273":1,"536":1,"620":5}}],["everyone",{"2":{"7":1,"59":1,"70":2,"682":1,"684":1,"687":1,"689":1,"720":1}}],["every",{"2":{"2":1,"180":2,"190":1,"202":1,"206":1,"317":1,"427":3,"428":1,"430":3,"433":1,"435":5,"436":1,"442":1,"538":2,"572":4,"621":1,"682":1}}],["even",{"2":{"42":1,"45":1,"58":2,"364":1,"429":1,"433":1,"522":1,"534":1,"539":1,"654":1,"676":1,"747":1}}],["eventually",{"2":{"406":1,"436":1,"521":1}}],["event",{"2":{"10":1,"42":1,"54":5,"55":2,"56":3,"58":2,"59":2,"60":1,"61":5,"62":11,"63":9,"64":5,"70":2,"74":1,"104":1,"160":2,"237":2,"242":4,"271":4,"647":1}}],["events",{"0":{"34":1,"35":1,"36":1,"161":1},"2":{"5":2,"60":6,"70":1,"72":1,"74":1,"83":1,"160":1,"197":2,"242":4,"534":6,"647":2,"675":1}}],["e",{"2":{"10":1,"42":1,"44":1,"49":4,"56":1,"66":2,"126":1,"153":1,"159":1,"160":1,"222":4,"242":2,"250":8,"295":1,"327":1,"392":1,"406":1,"416":1,"427":3,"428":1,"429":4,"430":4,"432":2,"433":6,"435":4,"436":9,"535":1,"572":1,"590":1,"613":10,"644":2,"653":12,"655":12,"656":12,"694":1}}],["ed25519",{"2":{"283":1,"516":5,"517":4,"518":2,"519":1}}],["edt",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"34":1,"36":1,"37":1}}],["edited",{"2":{"534":1}}],["editing",{"2":{"273":1,"643":1}}],["edits",{"2":{"9":1}}],["edit",{"2":{"9":1,"206":1,"271":2,"277":1,"370":1,"512":1,"530":2,"534":2}}],["education",{"2":{"7":1,"68":1}}],["embedded",{"2":{"547":1}}],["embark",{"2":{"378":1}}],["emerged",{"2":{"395":1}}],["emit",{"2":{"242":4}}],["emily",{"2":{"25":3}}],["employ",{"2":{"413":1}}],["employees",{"2":{"65":1}}],["empty",{"2":{"149":1,"604":1}}],["emphasizing",{"2":{"58":1}}],["empowering",{"2":{"70":1}}],["empower",{"2":{"46":1,"68":1}}],["empathy",{"2":{"8":1}}],["emails",{"0":{"72":1},"2":{"72":2}}],["email",{"2":{"8":1,"54":1,"63":2,"65":2,"71":1,"72":1,"81":1}}],["encrypt",{"2":{"515":1,"560":2}}],["encrypting",{"2":{"514":1}}],["encryption",{"2":{"509":1}}],["encrypted",{"2":{"217":1,"500":1,"510":1,"528":1,"544":1,"560":5}}],["encounter",{"2":{"350":1,"593":1,"688":1,"706":1}}],["encouraging",{"2":{"68":1}}],["encouraged",{"2":{"324":1,"593":1,"720":1}}],["encourages",{"2":{"59":1,"62":1,"65":1}}],["encourage",{"2":{"55":1,"61":1,"62":1,"63":1}}],["encodetostring",{"2":{"386":2}}],["encode",{"2":{"148":1,"361":1,"386":3,"410":2,"427":1}}],["encoded",{"2":{"132":1,"134":1,"145":1,"146":1,"148":1,"154":1,"332":9,"333":2,"361":2,"364":1,"408":4,"409":4,"563":1}}],["encoding",{"2":{"132":1,"385":4,"410":6,"418":2,"427":2,"429":8,"432":1,"435":1}}],["encompasses",{"2":{"547":1}}],["encompass",{"2":{"65":1}}],["enough",{"2":{"143":1,"427":1}}],["enhancing",{"2":{"102":2}}],["enhanced",{"2":{"471":1}}],["enhances",{"2":{"59":1,"62":1}}],["enhance",{"2":{"56":1,"436":1}}],["enabling",{"2":{"102":2,"298":2,"434":1,"586":1,"734":1}}],["enabled",{"2":{"271":12,"279":1,"366":1,"571":1,"582":1,"591":1}}],["enable",{"0":{"616":1},"2":{"269":1,"289":1,"294":1,"298":2,"312":1,"366":1,"392":1,"426":1,"429":1,"432":1,"585":1,"586":2,"615":1,"742":3,"744":3,"745":3,"746":3}}],["enables",{"2":{"102":1,"104":1,"158":1,"180":1,"181":1,"237":1,"322":1,"426":1,"428":1,"432":2,"433":1,"434":1,"441":1,"585":1,"586":1,"596":1,"630":1,"638":1}}],["enablement",{"2":{"42":1}}],["env",{"2":{"93":2,"248":1,"250":4,"380":1,"381":1,"383":1,"386":11}}],["environments",{"2":{"102":1}}],["environment",{"0":{"248":1,"353":1,"660":1},"1":{"661":1,"662":1},"2":{"8":1,"41":1,"70":1,"108":2,"170":1,"173":1,"213":1,"223":2,"239":1,"245":1,"248":1,"296":1,"319":2,"355":1,"367":1,"372":1,"373":2,"379":1,"386":2,"433":1,"492":1,"503":1,"504":1,"505":1,"526":1,"542":1,"580":1,"586":1,"596":1,"629":1,"651":1,"660":2,"696":1,"705":1}}],["enjoyed",{"2":{"253":1}}],["enjoy",{"2":{"70":1,"83":1}}],["enjoyable",{"2":{"59":1}}],["enlightening",{"2":{"68":1}}],["entails",{"2":{"429":1,"433":4,"434":1}}],["entering",{"2":{"629":1}}],["enter",{"2":{"194":2,"218":1,"251":1,"263":1,"267":1,"509":1,"510":3,"530":1,"545":1,"560":2,"572":1}}],["entrypoint",{"0":{"249":1},"2":{"222":2,"223":2,"249":1}}],["entry",{"2":{"173":1}}],["enthusiastic",{"2":{"67":1}}],["enthusiasts",{"2":{"61":1,"68":1}}],["entire",{"2":{"53":1,"223":1,"364":1,"417":1,"426":1,"436":1,"609":1,"623":1}}],["entirely",{"2":{"45":1,"141":1}}],["entitle",{"2":{"467":1,"478":1,"728":1}}],["entitles",{"2":{"42":1}}],["entities",{"2":{"165":1,"423":1}}],["entity",{"2":{"42":5,"44":1,"45":2,"538":1,"586":1}}],["ensuring",{"2":{"63":1,"83":1,"165":1}}],["ensures",{"2":{"104":1,"237":1,"413":1,"417":1,"433":1,"647":1}}],["ensure",{"2":{"2":1,"55":1,"60":1,"61":1,"63":1,"64":2,"65":1,"104":1,"167":1,"237":1,"273":1,"350":1,"364":1,"389":2,"433":1,"609":2,"676":1,"689":1,"694":1,"706":1}}],["ens",{"2":{"49":1,"247":1}}],["endian",{"2":{"364":1}}],["ending",{"2":{"149":2,"433":1}}],["endkey",{"2":{"149":3}}],["endshare=1",{"2":{"146":1}}],["end=20",{"2":{"145":1}}],["endpointoptional",{"2":{"608":1}}],["endpointkeys",{"2":{"314":1}}],["endpoint",{"0":{"324":1,"587":1,"642":1},"1":{"643":1,"644":1,"645":1},"2":{"118":1,"143":1,"145":1,"146":1,"153":2,"233":1,"245":1,"250":4,"324":3,"332":1,"462":1,"465":1,"466":1,"475":1,"476":2,"477":1,"532":1,"547":1,"554":1,"572":4,"585":8,"586":4,"587":1,"622":1,"642":1,"644":1,"653":1,"671":2,"699":3,"710":1,"716":1,"722":1,"725":1,"726":1}}],["endpoints",{"0":{"462":1,"465":1,"466":1,"476":1,"477":1,"712":1,"713":1,"714":1,"716":1,"722":1,"725":1,"726":1,"727":1},"1":{"463":1,"464":1,"723":1,"724":1},"2":{"44":1,"171":1,"204":1,"285":1,"312":1,"317":1,"323":1,"380":3,"462":1,"464":1,"465":2,"476":6,"477":3,"591":1,"622":2,"632":1,"716":3,"722":1,"724":1,"725":2,"727":1,"738":1}}],["end",{"2":{"49":1,"62":1,"132":2,"145":1,"146":5,"149":3,"177":1,"197":2,"198":2,"271":4,"430":1,"435":1}}],["engine",{"2":{"652":1,"654":1}}],["engineer",{"2":{"52":1}}],["engineering",{"2":{"46":1,"52":1}}],["engaging",{"2":{"59":1,"61":1,"65":1,"73":1,"81":1,"83":1}}],["engaged",{"2":{"60":1}}],["engagement",{"2":{"56":1,"61":1}}],["engage",{"2":{"45":1,"62":1,"63":1,"64":1,"68":1,"397":1}}],["enforced",{"2":{"402":1,"521":1,"659":1}}],["enforce",{"2":{"70":1}}],["enforcement",{"0":{"9":1,"11":1,"12":1},"1":{"13":1,"14":1,"15":1,"16":1},"2":{"11":1,"17":1}}],["enforcing",{"2":{"9":1,"14":1,"15":1}}],["extra",{"0":{"640":1},"1":{"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1},"2":{"404":1}}],["extradata",{"2":{"360":2}}],["extends",{"2":{"435":1}}],["extendedheaders",{"2":{"694":1}}],["extended",{"0":{"429":1},"2":{"346":1,"427":4,"429":6,"435":4,"436":2,"438":1}}],["extension",{"0":{"261":1,"266":1},"2":{"197":4,"225":1,"298":2}}],["extent",{"2":{"45":1}}],["external",{"0":{"644":1},"2":{"14":1,"87":1,"102":1,"179":1,"254":1,"312":1,"572":4,"644":3}}],["exact",{"2":{"405":1,"442":1,"521":1,"709":1}}],["exactly",{"2":{"283":1,"572":2}}],["exampleadditional",{"2":{"314":1}}],["example",{"0":{"125":1,"346":1},"2":{"125":1,"145":2,"146":2,"148":1,"149":2,"150":1,"152":1,"153":3,"178":1,"197":1,"204":1,"211":1,"222":1,"223":1,"224":1,"241":1,"242":1,"253":1,"274":1,"297":1,"298":1,"299":1,"324":2,"327":1,"329":1,"331":2,"332":4,"333":3,"337":1,"340":1,"343":1,"346":1,"373":3,"391":1,"403":1,"430":2,"433":1,"436":1,"477":2,"496":1,"500":1,"512":1,"514":1,"515":1,"517":1,"528":1,"534":1,"544":1,"553":1,"554":1,"560":1,"562":2,"582":1,"585":1,"591":1,"592":1,"619":1,"629":1,"646":1,"647":1,"654":1,"655":1,"699":1,"745":1}}],["examples",{"0":{"335":1},"1":{"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1},"2":{"8":2,"10":1,"141":1,"334":1,"507":1,"583":1,"586":1}}],["exciting",{"2":{"677":1}}],["exceptions",{"0":{"288":1}}],["exceptional",{"2":{"61":1}}],["except",{"2":{"151":1,"747":1}}],["exclusively",{"2":{"471":1}}],["exclusive",{"2":{"71":1,"83":1}}],["exchange",{"2":{"45":3}}],["existent",{"2":{"134":1}}],["existing",{"0":{"223":1},"2":{"60":1,"65":1,"78":1,"79":1,"169":1,"181":2,"222":1,"223":2,"242":2,"274":1,"276":1,"277":1,"284":1,"290":1,"295":1,"322":1,"370":1,"406":1,"511":1,"513":1,"516":4,"519":3,"520":3,"530":2,"572":1,"580":1,"593":1,"595":1,"596":1,"677":1,"689":1,"734":1}}],["exist",{"2":{"45":1,"390":1,"391":1,"398":1,"399":1,"555":1,"672":1,"702":1}}],["exists",{"2":{"45":1,"275":1,"390":1}}],["execstart=$",{"2":{"742":2,"744":2,"745":2,"746":2}}],["execstart=",{"2":{"536":2}}],["exec",{"2":{"222":2,"223":2}}],["executable",{"2":{"435":4,"438":2}}],["executing",{"2":{"433":1,"647":1}}],["execution",{"2":{"25":1,"49":1,"102":1,"137":1,"161":2,"168":1,"169":1,"170":1,"178":2,"180":3,"181":3,"239":1,"288":1,"294":1,"295":1,"426":2,"432":1,"433":7,"434":1,"452":1,"517":1}}],["executed",{"2":{"433":1,"435":1}}],["execute",{"2":{"75":1,"81":1,"178":1,"180":1,"197":1,"294":1,"319":1,"392":1,"432":1,"592":1,"621":1,"661":1}}],["exercises",{"2":{"133":1}}],["exemptions",{"2":{"45":1}}],["exemption",{"2":{"45":8}}],["expose",{"0":{"643":1},"2":{"494":1,"529":1}}],["exposes",{"2":{"465":1,"725":1}}],["exposed",{"2":{"133":1,"285":1,"310":1,"323":1,"554":1,"671":1,"699":2}}],["exporter",{"0":{"573":1},"2":{"573":1}}],["exported",{"2":{"560":2}}],["exporting",{"0":{"217":1,"560":1}}],["export",{"0":{"568":1},"2":{"86":3,"94":2,"95":2,"118":2,"196":2,"202":2,"217":7,"222":1,"233":2,"234":2,"245":1,"246":4,"250":2,"252":2,"254":3,"298":10,"320":4,"329":2,"330":1,"331":2,"355":2,"361":3,"372":2,"381":1,"557":4,"560":3,"568":1,"572":1,"583":15,"662":4}}],["expenses",{"2":{"62":1}}],["experiment",{"2":{"678":1}}],["experimental",{"2":{"322":2,"390":1,"596":2,"706":1,"733":1}}],["experimentalsuggestchain",{"2":{"298":4}}],["experimentation",{"2":{"102":1,"181":1}}],["experimenting",{"2":{"182":1}}],["experiences",{"2":{"8":1,"25":1}}],["experience",{"2":{"7":2,"8":1,"45":1,"56":1,"59":1,"62":1,"70":1,"308":1,"378":1,"733":1}}],["experts",{"2":{"61":2,"83":1}}],["expertise",{"2":{"61":1,"66":1,"83":1}}],["expectrevert",{"2":{"242":2}}],["expects",{"2":{"216":1,"585":1,"659":1}}],["expect",{"2":{"72":1,"83":1,"131":1,"223":1}}],["expectations",{"2":{"60":1}}],["expected",{"2":{"54":1,"137":2,"198":1,"390":1,"391":2,"537":1}}],["expand",{"2":{"48":1,"64":1,"70":1}}],["expiration",{"2":{"45":1}}],["express",{"2":{"62":1}}],["expressed",{"2":{"45":1}}],["expression",{"2":{"7":1}}],["explained",{"2":{"488":1}}],["explains",{"2":{"269":1}}],["explaining",{"2":{"50":1}}],["explain",{"2":{"48":1,"238":1}}],["explanation",{"2":{"13":1,"416":1,"492":1,"503":1,"504":1,"505":1,"526":1,"542":1}}],["exploring",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"48":1,"176":1,"648":1}}],["explorers",{"0":{"469":1,"481":1,"717":1,"729":1},"2":{"281":1,"424":1,"481":1,"636":1,"717":2,"729":1}}],["explorer",{"0":{"175":1},"2":{"175":2,"226":1,"302":2,"380":2,"399":1,"469":2,"481":1,"629":1,"637":1,"717":2,"729":1}}],["explore",{"2":{"5":1,"58":1,"74":1,"75":1,"296":1,"359":1,"396":1}}],["explicit",{"2":{"8":1}}],["pfb",{"0":{"348":1,"403":1},"2":{"333":3,"388":1,"403":4,"439":1,"709":2}}],["pfbgolang",{"2":{"314":1}}],["pfbs",{"2":{"144":1,"240":1,"405":1}}],["pbcopy",{"2":{"252":1}}],["pbcopyprivate",{"2":{"252":1}}],["pnpm",{"2":{"248":1}}],["pwd",{"2":{"223":2}}],["psql",{"2":{"646":2}}],["ps",{"2":{"222":1,"223":1,"359":1}}],["psdocker",{"2":{"222":1,"223":1,"359":1}}],["p",{"2":{"222":2,"250":12,"361":2,"623":6}}],["p2p",{"0":{"494":1,"516":1,"517":1,"518":1,"519":1,"520":1,"529":1,"603":1,"613":1},"1":{"517":1,"518":1,"519":1,"520":1,"604":1,"605":1},"2":{"108":4,"133":1,"159":2,"216":9,"217":6,"218":6,"222":4,"223":3,"323":4,"324":8,"325":8,"327":2,"329":4,"331":4,"338":2,"373":5,"380":6,"432":1,"476":5,"477":2,"487":1,"489":1,"493":4,"494":1,"502":1,"507":4,"516":21,"517":11,"518":7,"519":6,"520":7,"522":5,"524":1,"527":2,"529":1,"530":15,"533":1,"535":1,"539":2,"543":2,"545":1,"553":4,"554":4,"555":4,"557":2,"582":2,"583":4,"585":2,"586":4,"589":4,"590":5,"591":2,"592":6,"593":4,"594":4,"595":4,"608":1,"613":1,"653":12,"655":12,"656":6,"670":4,"671":2,"672":4,"698":4,"699":6,"700":8,"702":4,"727":1,"745":2}}],["pkg",{"2":{"92":2,"319":4,"410":6,"661":4}}],["phase",{"2":{"607":1}}],["phone",{"2":{"225":1,"300":1}}],["photos",{"2":{"55":1,"56":1}}],["phrase",{"2":{"194":2,"272":1}}],["physical",{"2":{"8":1}}],["pinnacle",{"2":{"705":1}}],["pinning",{"2":{"391":1}}],["pin",{"2":{"391":1}}],["pink",{"2":{"154":1}}],["pick",{"0":{"368":1},"1":{"369":1,"370":1,"371":1},"2":{"108":2,"211":1,"216":1,"262":1,"300":1,"597":1,"613":1,"636":1}}],["picked",{"2":{"52":1}}],["pitches",{"2":{"62":1}}],["pitch",{"2":{"62":2}}],["pizza",{"2":{"59":1}}],["pieces",{"2":{"33":1}}],["plugin",{"2":{"574":1}}],["plus",{"2":{"385":1}}],["plain",{"2":{"332":1,"333":1,"398":1,"509":1,"530":2}}],["plaintext",{"2":{"332":1,"362":2,"365":2,"500":1,"513":1,"514":1,"528":1,"544":1}}],["play",{"2":{"454":1,"649":1,"692":1}}],["playbook",{"2":{"68":1}}],["playlist",{"2":{"64":1}}],["placeholder=",{"2":{"250":4}}],["place",{"2":{"62":1,"177":1,"194":2,"274":1,"380":1,"572":1}}],["plastic",{"2":{"59":1}}],["planned",{"2":{"60":1,"63":1}}],["planning",{"2":{"56":1,"66":1,"597":1,"677":1,"739":1}}],["plans",{"2":{"59":1}}],["plan",{"2":{"54":1,"59":1,"60":1,"63":1,"64":1,"65":1,"75":1,"81":1,"739":1}}],["platforms",{"2":{"49":1,"54":1,"63":1,"64":1,"238":2,"286":1}}],["platform",{"0":{"65":1},"2":{"33":1,"73":1,"98":3,"108":2,"170":1,"651":1,"705":1}}],["plethora",{"2":{"573":1}}],["pledge",{"0":{"7":1},"2":{"7":2,"45":1}}],["please",{"2":{"2":1,"4":1,"41":3,"54":1,"71":2,"81":1,"131":1,"141":1,"216":1,"270":2,"272":1,"298":2,"509":2,"510":4,"512":4,"514":2,"515":4,"595":2,"600":1,"609":1,"639":1,"650":1,"651":1,"709":1,"731":1}}],["point",{"2":{"173":1,"194":2,"216":1,"383":1,"406":1,"433":2,"572":2}}],["pointer",{"2":{"104":1,"132":2,"134":1}}],["portid",{"2":{"276":4}}],["portions",{"2":{"416":1,"417":1,"418":1}}],["portion",{"2":{"154":1,"201":1,"205":1,"319":1,"428":1,"447":1,"453":1}}],["port",{"0":{"494":1,"529":1},"2":{"206":2,"245":3,"250":2,"251":1,"271":4,"276":8,"324":5,"373":1,"380":7,"462":1,"465":1,"466":1,"477":8,"494":1,"529":1,"553":5,"554":1,"572":3,"573":1,"582":2,"591":4,"671":1,"690":4,"691":3,"699":2,"716":18,"722":1,"725":1,"726":1}}],["ports",{"0":{"582":1,"591":1},"2":{"108":2,"212":2,"222":4,"223":4,"324":2,"373":2,"380":2,"476":3,"477":4,"524":1,"535":2,"553":2,"582":7,"589":2,"591":7,"624":2,"632":2,"653":2,"671":2,"692":2,"699":2,"716":2}}],["portal",{"2":{"86":8,"88":8,"89":1,"176":1,"236":1,"254":8,"255":8,"256":1,"291":1}}],["populating",{"2":{"644":1}}],["populate",{"2":{"522":6,"539":6}}],["populates",{"2":{"477":1,"716":1}}],["popularity",{"2":{"60":1}}],["popular",{"2":{"49":1,"60":1,"63":1,"225":1,"297":1,"300":1}}],["popup",{"2":{"263":1}}],["pops",{"2":{"108":4,"204":2,"206":2,"222":2,"223":2,"226":2,"271":2,"324":2,"554":2,"562":4,"592":2,"699":2,"700":2,"713":1,"714":1,"716":1,"723":1,"725":1,"726":1}}],["poolcelestia",{"2":{"564":1}}],["pool",{"0":{"445":1,"564":1},"2":{"60":1,"445":2,"454":1,"564":9}}],["potentially",{"2":{"60":1,"64":1,"286":1,"403":1,"404":1,"521":1}}],["potential",{"2":{"54":1,"60":1,"61":2,"62":2,"73":1,"167":1}}],["polaris",{"2":{"393":1}}],["polypore",{"2":{"271":6}}],["polyfills",{"2":{"249":2}}],["polychain",{"2":{"52":1}}],["policies",{"2":{"42":1,"44":1}}],["policy",{"2":{"41":2,"44":3,"271":4,"277":4}}],["political",{"2":{"8":1}}],["powerful",{"2":{"570":1}}],["powered",{"2":{"293":1}}],["power",{"2":{"25":1,"160":1,"161":1,"340":4,"378":1,"435":1,"534":1}}],["pos",{"0":{"431":1},"1":{"432":1},"2":{"432":2}}],["possibly",{"2":{"749":1}}],["possible",{"2":{"63":1,"137":2,"180":1,"283":1,"350":1,"389":1,"391":1,"427":1,"429":1,"436":1,"595":1}}],["possibilities",{"2":{"257":1,"294":1,"296":1,"433":1}}],["position",{"2":{"45":3}}],["positiveerror",{"2":{"593":1}}],["positives",{"2":{"436":1}}],["positive",{"2":{"8":1,"70":1,"293":1,"436":1,"593":3}}],["postgresql",{"2":{"646":1}}],["postdataandgetheight",{"2":{"386":5,"387":2}}],["poster",{"2":{"304":1}}],["posted",{"2":{"29":1,"87":1,"104":1,"125":1,"129":1,"131":1,"132":2,"133":1,"137":3,"141":1,"147":4,"169":1,"254":1,"295":1,"316":1}}],["postcontainerstyle",{"2":{"250":4}}],["postcontent",{"2":{"250":4}}],["postcreated",{"2":{"242":4}}],["postupdated",{"2":{"242":4}}],["postid",{"2":{"242":20}}],["posting",{"0":{"141":1},"2":{"10":1,"104":2,"109":1,"131":1,"135":1,"169":3,"237":2,"295":3,"365":1,"649":1}}],["post",{"0":{"348":1},"2":{"58":1,"61":1,"63":1,"89":1,"131":1,"135":2,"159":1,"240":1,"242":72,"245":2,"246":3,"250":28,"253":1,"256":1,"348":1,"370":1,"387":1,"487":1,"488":1}}],["posts",{"0":{"250":1},"2":{"54":1,"56":1,"169":1,"242":24,"250":25,"290":1,"295":1,"392":1}}],["pessimistic",{"2":{"392":1}}],["peerexchange",{"2":{"605":1}}],["peers=$",{"2":{"613":6}}],["peers",{"0":{"605":1},"2":{"530":2,"604":2,"607":3,"613":33,"622":1,"644":1,"690":3,"727":1}}],["peer",{"0":{"691":1},"2":{"391":6,"489":1,"530":2,"607":3,"639":1,"691":3,"747":1}}],["peerid",{"2":{"338":1}}],["penalized",{"2":{"165":1}}],["percentage",{"2":{"441":1,"564":1}}],["persist",{"2":{"654":1}}],["persisted",{"2":{"647":1,"659":1}}],["persistent",{"0":{"654":1,"691":1},"1":{"655":1,"656":1},"2":{"613":9,"656":1,"690":5,"691":1}}],["perspective",{"2":{"436":1,"547":1}}],["persons",{"2":{"45":1}}],["person",{"2":{"42":3,"45":7,"64":2,"83":1}}],["personal",{"2":{"5":1,"7":1,"8":1,"61":1,"62":1,"102":1}}],["perfect",{"2":{"58":1}}],["perform",{"2":{"137":2,"245":1,"246":1,"390":1,"433":2,"436":1,"693":1,"694":1}}],["performing",{"2":{"119":1,"171":1,"235":1,"428":1,"436":2}}],["performs",{"2":{"115":1,"231":1,"327":1,"435":1}}],["performance",{"2":{"44":1,"56":1,"181":1,"322":1,"466":1,"471":1,"570":1,"596":1,"706":1,"726":1,"733":1}}],["performed",{"2":{"44":1,"273":2,"287":1,"428":1,"696":1}}],["per",{"2":{"50":1,"61":1,"403":2,"404":2,"405":1,"410":2,"439":1,"442":1,"449":1,"479":2,"728":2}}],["pertain",{"2":{"45":1}}],["permit",{"2":{"45":1}}],["permissionless",{"2":{"426":1,"433":1,"453":1}}],["permissioned",{"2":{"166":1}}],["permissions",{"2":{"108":1,"310":1,"654":1,"659":2}}],["permission",{"2":{"8":1}}],["permanently",{"2":{"42":1,"389":1}}],["permanent",{"0":{"16":1},"2":{"14":1,"15":1,"16":1,"510":2}}],["periods",{"2":{"364":1}}],["period",{"2":{"14":1,"15":2,"45":5,"108":2,"276":2,"373":2}}],["people",{"2":{"8":1,"14":1,"15":1,"58":1,"60":1,"65":1,"66":1}}],["paired",{"2":{"572":1}}],["paid",{"2":{"50":1,"391":1}}],["padded",{"2":{"435":1}}],["padding",{"2":{"250":6}}],["package",{"0":{"410":1},"2":{"385":1,"410":2,"558":1,"572":1,"613":1}}],["packages",{"2":{"319":1,"661":1,"736":1}}],["packaged",{"2":{"33":1}}],["packet",{"2":{"271":8,"277":4}}],["packets",{"2":{"269":3,"270":1,"271":2}}],["pagination",{"2":{"200":4}}],["page",{"2":{"100":1,"105":1,"177":1,"204":1,"212":1,"216":1,"222":2,"228":1,"238":1,"254":1,"261":1,"304":1,"306":1,"324":3,"325":1,"369":1,"380":2,"435":1,"459":2,"461":2,"483":1,"487":3,"491":1,"499":1,"525":1,"541":1,"553":3,"554":1,"572":2,"574":1,"580":1,"581":1,"589":1,"624":1,"632":3,"635":1,"651":2,"653":2,"660":1,"671":4,"677":1,"692":1,"696":1,"699":4,"720":2}}],["pages",{"2":{"84":1,"370":1}}],["paying",{"0":{"437":1,"451":1},"1":{"438":1,"439":1},"2":{"452":1}}],["payforblob",{"2":{"387":1,"554":1,"671":2,"700":1,"704":1}}],["payforblobs",{"0":{"438":1},"2":{"237":1,"325":1,"350":1,"370":1,"404":1,"408":2,"435":3,"436":1,"438":3,"451":1,"699":1}}],["payload",{"2":{"386":4}}],["pay",{"2":{"325":1,"386":2,"402":1,"404":1,"554":1,"671":1,"700":1}}],["payee",{"2":{"271":2}}],["payer",{"2":{"197":2}}],["payment",{"2":{"43":1,"283":1,"438":2}}],["parity",{"2":{"427":1,"429":1}}],["parenthash",{"2":{"360":2}}],["parse",{"2":{"346":1}}],["paradigm",{"2":{"433":2}}],["param",{"2":{"563":2}}],["paramfilter",{"2":{"563":1}}],["params=",{"2":{"298":6}}],["params",{"2":{"283":1,"298":30,"563":3,"607":1}}],["parameterchangeproposal",{"2":{"563":2}}],["parameters",{"0":{"226":1,"444":1,"708":1},"1":{"709":1},"2":{"147":4,"153":2,"224":1,"226":1,"297":1,"298":2,"299":1,"302":1,"327":1,"403":2,"404":1,"436":1,"444":2,"454":1,"530":1,"545":1,"563":1,"708":2}}],["parameter",{"2":{"129":1,"403":1,"404":1,"405":1,"563":3,"636":1,"709":2}}],["parallel",{"2":{"181":1,"508":1}}],["parts",{"2":{"340":4,"438":1,"454":1}}],["partnering",{"2":{"58":1,"62":1}}],["partner",{"2":{"52":3}}],["part",{"2":{"45":1,"71":1,"103":1,"146":1,"159":1,"179":1,"270":1,"364":1,"430":2,"433":1,"447":1,"451":1,"452":1,"530":2,"630":1,"708":1,"739":1}}],["partitioned",{"2":{"430":1,"435":1}}],["partitions",{"2":{"317":1,"430":1}}],["particular",{"2":{"386":1}}],["particularly",{"2":{"286":1,"413":1}}],["participant",{"2":{"72":1}}],["participants",{"2":{"42":1,"50":1,"64":1,"66":3,"70":1,"83":1,"687":1,"689":4,"690":2,"691":1}}],["participating",{"2":{"41":1,"42":1,"45":1,"66":1,"70":1,"83":1,"461":1,"475":1,"569":1,"684":1,"710":1,"720":1,"737":1}}],["participations",{"2":{"45":1}}],["participation",{"2":{"7":1,"41":2,"42":2,"43":4,"45":4,"56":1,"73":1}}],["participates",{"2":{"731":1}}],["participate",{"0":{"732":1},"1":{"733":1,"734":1,"735":1},"2":{"41":3,"42":5,"44":1,"45":2,"62":1,"71":1,"83":1,"392":1,"434":1,"461":1,"476":1,"626":1,"636":1,"682":1,"710":1,"720":1,"731":1,"734":2}}],["parties",{"2":{"44":1,"423":1}}],["party",{"2":{"42":10,"44":4,"159":1,"281":1,"423":1,"534":1,"623":1}}],["path",{"0":{"190":1},"2":{"190":1,"215":2,"216":1,"250":2,"328":1,"364":2,"373":1,"508":2,"515":2,"536":2,"555":1,"563":4,"564":2,"601":1,"655":6,"656":4,"659":1,"672":1,"702":1}}],["path=",{"2":{"108":4,"509":4,"510":4,"511":4,"512":4,"514":4,"515":4,"517":4}}],["path=$path",{"2":{"94":2,"320":4,"662":4}}],["pattern",{"2":{"16":1}}],["paper",{"2":{"45":1,"427":1,"430":1,"436":1}}],["passphrases",{"2":{"512":1}}],["passphrase",{"2":{"500":1,"508":2,"509":3,"510":3,"512":9,"513":1,"514":5,"515":8,"516":1,"528":2,"530":5,"536":4,"544":2,"545":1,"560":2,"629":3}}],["passport",{"2":{"44":1}}],["passes",{"2":{"328":1,"435":1}}],["passed",{"2":{"115":2,"231":2,"386":1,"509":1,"510":1,"514":1,"545":1,"555":1,"557":2,"671":1,"672":1,"699":1,"702":1}}],["passing",{"2":{"298":1}}],["passionate",{"2":{"83":1}}],["password",{"2":{"194":2,"508":1,"560":3,"572":1}}],["pass",{"2":{"115":4,"129":1,"231":4,"298":2,"328":1,"509":1,"512":1,"563":1}}],["pasted",{"2":{"383":1}}],["paste",{"2":{"131":1,"380":1}}],["past",{"2":{"5":1,"51":1,"62":1,"197":1,"419":1,"420":3,"421":1,"423":1,"424":2,"619":1,"683":1}}],["put",{"2":{"438":1,"536":1}}],["pub",{"2":{"198":2,"199":2,"298":2,"340":4}}],["pubkey=$",{"2":{"569":2,"636":2}}],["pubkeyed25519",{"2":{"340":4}}],["pubkey",{"2":{"194":4,"195":8,"199":2,"223":4}}],["pubs",{"2":{"60":1}}],["publish",{"2":{"425":1,"438":1,"571":1}}],["publishes",{"2":{"294":1}}],["published",{"2":{"33":1,"128":1,"157":1,"159":2,"166":1,"178":1,"242":14,"250":4,"364":2,"389":2,"391":1,"395":1,"413":2}}],["publishing",{"2":{"8":1,"572":3}}],["publicprovider",{"2":{"249":4}}],["publicly",{"2":{"45":1,"83":1,"643":1}}],["public",{"0":{"324":1},"2":{"3":1,"8":1,"10":1,"13":1,"15":2,"16":1,"44":1,"45":4,"52":1,"61":1,"102":1,"111":1,"114":8,"115":9,"117":2,"125":6,"212":2,"230":8,"231":9,"242":26,"244":4,"249":2,"293":1,"304":1,"312":1,"314":1,"324":1,"380":1,"390":1,"391":2,"421":1,"446":1,"447":1,"467":1,"478":1,"636":1,"642":1,"643":1,"644":1,"687":1,"712":1,"713":1,"714":1,"716":1,"728":1}}],["pure",{"2":{"125":2}}],["purchasers",{"2":{"45":1}}],["purchased",{"2":{"8":1}}],["purposes",{"2":{"102":1,"111":1,"133":1,"324":1,"419":1,"659":1,"720":1}}],["purpose",{"2":{"45":1,"70":1,"169":1,"215":1,"295":1,"389":1,"423":1,"605":1}}],["pursuant",{"2":{"41":1,"42":2,"45":3}}],["pursue",{"2":{"19":1,"48":1}}],["pulled",{"2":{"387":1}}],["pull",{"2":{"2":2,"215":1,"593":1,"689":1,"731":1}}],["pushes",{"2":{"522":1}}],["push",{"2":{"2":2,"125":2,"271":4}}],["prune",{"2":{"390":1,"620":2}}],["pruned",{"0":{"533":1},"2":{"390":4,"533":1,"749":1}}],["pruning",{"0":{"389":1,"390":1,"614":1},"1":{"390":1,"391":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1},"2":{"389":1,"390":1,"477":1,"608":1,"609":2,"619":2,"620":1,"716":1}}],["pragma",{"2":{"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2}}],["practices",{"0":{"391":1},"2":{"42":1,"44":1,"78":1}}],["precise",{"2":{"709":1}}],["precedence",{"2":{"530":1,"545":1}}],["precompiles",{"2":{"181":1}}],["presence",{"2":{"747":1}}],["presenters",{"2":{"61":1}}],["presented",{"2":{"45":1}}],["presenting",{"2":{"61":1}}],["presentation",{"0":{"77":1,"78":1,"79":1,"80":1},"2":{"48":1,"54":1,"61":1,"62":1,"77":3,"78":3,"79":3,"80":2}}],["presentations",{"2":{"29":1,"50":2,"54":1,"55":1,"61":1,"78":1,"79":1,"83":1}}],["presently",{"2":{"45":1}}],["present",{"2":{"19":1,"23":1,"24":1,"29":1,"45":1,"48":2,"166":1,"589":1,"593":1}}],["preserved",{"2":{"593":1}}],["presumes",{"2":{"580":1}}],["presume",{"2":{"484":1}}],["predetermined",{"2":{"416":1}}],["preferences",{"2":{"581":1}}],["prefer",{"2":{"324":1,"380":1,"553":1}}],["preferred",{"0":{"259":1}}],["prefixed",{"2":{"332":1,"435":1,"510":1,"512":1}}],["prefix",{"2":{"226":1,"271":12,"302":1,"361":2,"364":4}}],["pre",{"0":{"240":1,"581":1,"600":1},"2":{"246":1,"579":1,"581":3}}],["prerequisites",{"0":{"112":1,"123":1,"143":1,"210":1,"221":1,"652":1},"2":{"213":1}}],["prerequisite",{"2":{"71":1,"213":1,"576":2}}],["preparing",{"2":{"55":1}}],["prepare",{"2":{"54":2,"63":1,"635":1}}],["previoushash",{"2":{"132":2,"135":2}}],["previous",{"2":{"56":1,"104":1,"115":1,"132":2,"197":1,"201":1,"205":1,"231":1,"266":1,"369":1,"419":1,"595":1,"627":1,"688":1,"739":1}}],["previously",{"2":{"42":1,"169":1,"212":1,"295":1,"535":1,"636":1}}],["prev",{"2":{"52":1}}],["prevents",{"2":{"293":1}}],["preventing",{"2":{"104":1,"237":1}}],["prevent",{"2":{"44":1,"205":1,"206":1,"280":1}}],["propagation",{"2":{"529":1}}],["proposal",{"2":{"445":1,"563":14,"564":5}}],["proposalscelestia",{"2":{"563":1}}],["proposals",{"2":{"258":1,"444":2,"454":1,"563":6,"564":3}}],["proposing",{"2":{"435":1}}],["propose",{"2":{"444":1}}],["proposer",{"2":{"169":1,"295":1,"340":8,"356":1,"563":4}}],["proposed",{"2":{"45":1,"293":1,"390":1,"414":1}}],["property",{"2":{"436":1,"449":1}}],["properties",{"2":{"180":1,"547":1}}],["properly",{"2":{"243":1,"607":1}}],["probabilistically",{"2":{"436":1}}],["probability",{"2":{"427":1}}],["probably",{"2":{"178":1,"530":1}}],["problem",{"0":{"414":1,"420":1},"2":{"414":2,"423":2,"426":1,"433":1,"434":1,"533":1}}],["problematic",{"2":{"413":1}}],["problems",{"2":{"52":1,"420":1,"422":1}}],["proceed",{"2":{"213":1,"534":1,"649":1,"687":1,"739":1}}],["proceeding",{"2":{"137":1,"270":1}}],["procedure",{"2":{"171":1,"326":1}}],["processed",{"2":{"395":1,"747":1}}],["processes",{"2":{"42":1,"269":1,"386":2,"424":1,"547":1,"740":1,"742":1,"748":1}}],["processing",{"2":{"181":1}}],["process",{"0":{"675":1,"676":1,"740":1},"1":{"676":1,"677":2,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"42":1,"54":1,"65":1,"104":1,"134":1,"137":3,"169":1,"213":1,"295":1,"378":1,"395":1,"418":1,"433":1,"535":1,"547":3,"556":1,"587":1,"592":1,"624":1,"634":1,"673":1,"675":1,"676":1,"703":1,"708":1,"741":1,"746":1}}],["producers",{"2":{"429":2,"436":1}}],["producer",{"2":{"414":2,"435":4}}],["produceblock",{"2":{"135":2}}],["producing",{"2":{"133":2,"574":1,"731":1}}],["production",{"2":{"108":1,"179":1,"547":1,"705":1,"733":1}}],["products",{"2":{"42":2,"472":1}}],["product",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"30":1,"48":3,"403":1,"404":2}}],["profileecho",{"2":{"320":1,"662":1}}],["profile",{"2":{"94":4,"320":3,"662":3}}],["professionals",{"2":{"64":1}}],["professional",{"2":{"8":1,"45":1,"391":2}}],["prospectus",{"2":{"45":1}}],["proofs",{"0":{"129":1,"142":1,"144":1,"147":1,"429":1},"1":{"143":1,"144":1,"145":2,"146":2,"147":1,"148":2,"149":2,"150":2,"151":2,"152":2,"153":2,"154":1,"155":1,"156":1,"157":1},"2":{"128":1,"129":2,"134":1,"143":1,"144":1,"146":9,"147":4,"149":3,"152":3,"157":1,"162":1,"180":1,"269":1,"392":1,"417":1,"418":1,"427":1,"429":2,"430":1,"433":1,"436":1,"664":2}}],["proof",{"0":{"128":1,"145":1,"146":1,"441":1,"453":1},"2":{"44":1,"125":10,"126":2,"127":1,"128":1,"129":5,"134":5,"137":2,"139":1,"145":8,"146":10,"147":10,"148":1,"149":2,"151":2,"152":4,"153":7,"157":2,"165":1,"180":3,"258":1,"397":1,"418":2,"427":1,"430":1,"436":1,"441":3,"453":2,"547":1}}],["protected",{"2":{"528":1,"544":1}}],["protection",{"2":{"310":1}}],["protect",{"2":{"42":1,"310":1}}],["proto",{"2":{"93":2,"362":7,"365":5,"410":2}}],["protocols",{"2":{"48":1,"49":1}}],["protocol",{"2":{"25":3,"40":1,"41":2,"49":1,"61":1,"102":1,"133":1,"250":2,"269":1,"402":1,"441":1,"446":1,"521":1,"582":1,"586":1,"591":1}}],["prototype",{"0":{"24":1,"30":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"24":1,"29":1,"48":5}}],["prohibited",{"2":{"42":1}}],["prompted",{"2":{"509":1,"510":2,"530":1,"545":1,"560":2,"636":1}}],["prompts",{"2":{"514":1}}],["promptstring",{"2":{"387":4}}],["promptscavenger",{"2":{"384":6}}],["prompt",{"0":{"378":1,"383":1},"1":{"379":1,"380":1,"381":1,"382":1,"383":1,"384":2,"385":2,"386":2,"387":2,"388":1},"2":{"313":1,"378":1,"386":1,"387":13}}],["promptly",{"2":{"11":1}}],["prometheuslistenaddr",{"2":{"571":2}}],["prometheus",{"2":{"270":1,"571":9,"572":17,"573":1,"587":1}}],["promise",{"2":{"250":2}}],["promised",{"2":{"42":1}}],["prominent",{"2":{"83":1}}],["promote",{"2":{"60":1,"63":2,"64":3,"83":1,"181":1}}],["promotions",{"2":{"55":1}}],["promotional",{"2":{"54":1,"55":1}}],["programs",{"2":{"446":1}}],["programmatic",{"2":{"309":1}}],["programmatically",{"0":{"405":1},"2":{"141":1,"410":2}}],["programming",{"2":{"114":1,"157":1,"230":1}}],["program",{"0":{"67":1,"68":1},"1":{"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"41":11,"42":9,"43":2,"44":4,"45":10,"46":3,"48":1,"49":1,"51":1,"57":1,"60":1,"61":1,"68":1,"71":2,"72":1,"74":1,"80":3,"83":3}}],["proxy",{"2":{"39":1}}],["projector",{"2":{"58":1}}],["projectors",{"2":{"54":1,"58":1}}],["projects",{"2":{"33":1,"62":1,"247":1,"257":1,"308":1}}],["project",{"0":{"38":1,"49":1,"241":1},"1":{"39":1,"40":1,"242":1,"243":1,"244":1,"245":1},"2":{"29":1,"37":1,"46":1,"48":1,"49":1,"51":1,"113":7,"114":2,"229":7,"230":2,"241":1,"247":5,"248":7,"564":2}}],["provably",{"2":{"389":1}}],["proved",{"2":{"134":1}}],["prove",{"2":{"128":1,"132":3,"135":1,"137":1,"144":1,"145":1,"146":2,"147":2,"150":1,"151":1,"152":1,"157":1,"178":1,"430":1,"435":1}}],["proveshares",{"2":{"146":1}}],["proves",{"2":{"29":1,"149":2}}],["proving",{"0":{"139":1},"2":{"131":1,"146":1,"413":1}}],["provisions",{"2":{"45":2,"442":1}}],["provider",{"0":{"283":1,"371":1},"1":{"284":1,"285":1,"286":1,"287":1,"288":1},"2":{"42":1,"58":1,"249":4,"250":8,"371":1,"623":1}}],["providers",{"0":{"281":1},"1":{"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1},"2":{"42":1,"58":1,"179":1,"249":3,"250":4,"281":1,"312":1,"391":2}}],["provided",{"2":{"41":1,"43":1,"44":1,"45":2,"57":1,"61":1,"68":1,"111":1,"214":1,"283":1,"386":3,"430":3,"493":1,"497":2,"500":1,"501":1,"510":1,"512":1,"517":2,"522":2,"527":2,"528":1,"530":4,"543":1,"544":1,"604":1,"607":1,"622":2,"676":1}}],["provides",{"2":{"41":1,"65":1,"129":1,"170":1,"308":1,"310":1,"391":1,"394":1,"426":1,"430":1,"432":1,"433":1,"434":1,"570":1,"709":1}}],["provide",{"0":{"425":1},"2":{"29":1,"41":2,"42":1,"43":1,"44":1,"51":1,"52":1,"55":1,"59":1,"64":1,"65":1,"102":1,"103":1,"145":1,"146":1,"184":1,"197":1,"242":1,"332":1,"373":1,"391":1,"418":1,"423":2,"424":2,"426":1,"430":2,"477":2,"501":1,"509":2,"510":2,"512":4,"514":2,"515":4,"517":1,"528":1,"534":1,"539":1,"544":1,"570":1,"604":1,"636":1,"688":1,"716":2,"718":1,"731":1,"738":1}}],["providing",{"0":{"432":1},"2":{"13":1,"59":1,"68":1,"73":1,"104":1,"168":1,"181":1,"310":1,"471":1,"510":1}}],["pride",{"2":{"723":1,"725":1,"726":1}}],["primitive",{"2":{"415":1,"434":1}}],["primitives",{"2":{"413":1}}],["primarily",{"2":{"308":1}}],["primary",{"2":{"73":1,"104":1,"395":1}}],["principle",{"2":{"293":1}}],["printed",{"2":{"509":1}}],["println",{"2":{"386":2,"410":6}}],["prints",{"2":{"386":2}}],["printf",{"2":{"95":4,"386":6}}],["print",{"2":{"54":1,"486":2,"557":2}}],["priced",{"2":{"401":1}}],["price",{"2":{"271":8,"364":1,"402":4,"404":3,"410":2,"439":1}}],["prices",{"2":{"8":1,"102":1,"401":1}}],["pricing",{"2":{"167":1}}],["prioritised",{"2":{"439":2}}],["prioritized",{"2":{"401":2}}],["priority",{"2":{"340":4}}],["prior",{"2":{"45":3,"54":1,"63":1,"576":2,"675":1,"676":1}}],["privacy",{"0":{"44":1},"2":{"11":1,"41":2,"42":1,"44":3,"83":1,"102":1}}],["privatecelestia",{"2":{"331":1}}],["private",{"0":{"331":1,"535":1},"1":{"536":1,"537":1},"2":{"8":2,"13":1,"15":1,"58":1,"86":5,"87":5,"111":1,"117":2,"118":7,"119":4,"125":4,"181":1,"192":1,"197":6,"217":1,"233":5,"234":7,"235":4,"242":6,"245":6,"246":6,"252":2,"254":10,"331":7,"493":1,"500":3,"502":1,"509":1,"510":7,"512":2,"513":5,"514":1,"515":2,"516":5,"517":4,"518":3,"519":7,"520":1,"521":1,"522":2,"524":1,"527":6,"528":4,"530":4,"534":3,"535":1,"536":1,"543":6,"544":3,"557":2,"560":4,"576":2,"595":4,"635":1}}],["pr",{"2":{"2":1}}],["ntfs",{"2":{"659":1}}],["nw",{"2":{"577":1}}],["n11",{"2":{"430":2}}],["n12",{"2":{"430":2}}],["n14",{"2":{"430":1}}],["n7",{"2":{"430":1}}],["n8",{"2":{"430":1}}],["n2",{"2":{"428":1,"429":1,"430":1}}],["ns",{"2":{"410":6}}],["nsoy0rgl7hqt4vwlg441gqkjsz2fbunzxipgns8ov",{"2":{"223":2}}],["n",{"2":{"197":2,"386":2,"420":1,"428":1,"429":2,"568":2,"582":1,"591":1,"613":10,"636":2}}],["nmts",{"0":{"430":1},"2":{"317":1,"426":2,"430":2,"435":1}}],["nmt",{"2":{"146":2,"147":2,"385":2,"430":2}}],["nmbwwwhpiphwagai7maqm",{"2":{"145":2}}],["nyzlbfjjnskofrzur8xvjijla+wbptwm0kbyglilxlg=",{"2":{"145":2}}],["nvm",{"2":{"95":20}}],["ncdu",{"2":{"92":2,"319":4,"661":4}}],["nickname=1",{"2":{"517":4}}],["nickname",{"2":{"517":8,"518":3,"519":3,"530":4}}],["nice",{"2":{"58":1,"249":1}}],["nidstring",{"2":{"386":4}}],["nil",{"2":{"135":10,"137":6,"386":14,"410":16}}],["nitrogen",{"0":{"303":1,"304":1,"305":1},"1":{"304":1,"305":1,"306":2},"2":{"303":1,"304":2,"305":2,"306":4}}],["nitrovroom",{"2":{"109":1}}],["nitro",{"0":{"98":1,"104":1,"109":1},"1":{"99":1},"2":{"90":1,"97":4,"98":5,"99":1,"102":1,"104":2,"106":1,"108":3,"109":1,"111":1,"112":1,"117":2,"237":1,"303":1}}],["null",{"2":{"197":4,"198":2,"200":4,"250":4,"534":2,"629":2,"636":2,"646":1,"742":2,"744":2,"745":2,"746":2}}],["numia",{"2":{"712":1,"713":1,"714":1,"716":1}}],["numerous",{"2":{"414":1}}],["numerator",{"2":{"271":4}}],["num",{"2":{"271":4}}],["numleaves",{"2":{"103":2,"152":3}}],["number=26656",{"2":{"691":1}}],["number=26656ip",{"2":{"691":1}}],["numbers",{"0":{"460":1,"474":1,"707":1,"721":1},"2":{"613":1}}],["number++",{"2":{"114":2,"230":2}}],["number",{"2":{"54":1,"60":1,"87":1,"114":7,"115":9,"119":3,"152":2,"158":1,"180":1,"198":2,"199":2,"230":7,"231":9,"235":3,"254":1,"360":2,"403":3,"404":1,"406":1,"410":2,"417":1,"428":1,"434":2,"436":2,"571":4,"573":1,"676":2,"691":2}}],["nurturing",{"2":{"71":1}}],["nfx",{"2":{"52":1}}],["nfts",{"2":{"61":1}}],["nft",{"2":{"49":1,"257":1,"419":1}}],["npm",{"2":{"33":1,"95":2,"113":3,"229":3,"248":1}}],["necessitate",{"2":{"587":1}}],["necessity",{"2":{"586":1}}],["necessary",{"0":{"418":1},"2":{"44":1,"54":1,"58":3,"90":1,"147":4,"153":2,"166":1,"180":1,"271":1,"319":1,"386":1,"417":1,"432":1,"436":1,"530":2,"545":2,"636":2,"644":1,"661":1,"747":1}}],["netowrk",{"2":{"477":2}}],["netcelestia",{"2":{"324":1,"700":1}}],["net",{"2":{"194":2,"324":1,"700":1,"712":1,"713":1,"714":1,"716":1}}],["networkoptional",{"2":{"608":1}}],["network=$network",{"2":{"653":6,"655":6,"656":6}}],["network=arabica",{"2":{"653":1}}],["network=arabicaexport",{"2":{"653":1}}],["network=celestia",{"2":{"653":1}}],["network=celestiaexport",{"2":{"653":1}}],["network=custom",{"2":{"583":2}}],["network=",{"2":{"373":4,"380":2,"583":2}}],["network=mochaexport",{"2":{"653":1}}],["network=mocha",{"2":{"108":2,"222":2,"653":1}}],["networking",{"2":{"55":1,"59":1,"66":2}}],["networksstorage",{"2":{"608":1}}],["networks",{"0":{"583":1,"613":1,"732":1},"1":{"733":1,"734":1,"735":1},"2":{"46":1,"133":1,"238":1,"269":1,"274":1,"276":1,"426":1,"453":1,"461":1,"522":1,"569":1,"589":1,"590":1,"613":23,"622":1,"636":1,"639":1,"675":1,"691":1,"694":1,"701":1,"716":1,"720":1,"731":1,"739":1}}],["network",{"0":{"226":1,"262":1,"298":1,"331":1,"444":1,"470":1,"472":1,"473":1,"482":1,"569":1,"589":1,"641":1,"678":1,"692":1,"706":1,"708":1,"719":1,"730":1,"735":1},"1":{"474":1,"590":1,"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"709":1},"2":{"42":1,"51":2,"61":1,"62":1,"108":2,"133":1,"137":2,"147":2,"159":2,"163":1,"178":1,"180":1,"187":1,"192":1,"206":2,"207":1,"216":20,"217":12,"218":12,"222":3,"223":3,"224":2,"244":1,"249":4,"250":2,"251":3,"258":1,"262":1,"266":1,"281":1,"289":1,"294":1,"297":1,"298":3,"299":2,"312":1,"316":1,"320":1,"322":2,"323":4,"324":8,"325":13,"329":8,"331":8,"332":2,"355":1,"356":1,"358":1,"370":1,"372":1,"373":12,"380":7,"390":1,"391":3,"392":1,"397":3,"413":1,"422":1,"427":1,"428":1,"432":1,"433":3,"434":2,"436":4,"441":1,"444":1,"451":2,"453":2,"454":1,"461":1,"462":1,"470":1,"475":1,"477":1,"482":1,"487":2,"489":1,"517":1,"522":4,"524":2,"529":1,"530":1,"533":1,"534":2,"539":4,"545":1,"547":5,"553":4,"554":7,"555":4,"556":1,"569":1,"577":1,"578":1,"580":2,"583":8,"585":4,"586":8,"589":10,"590":6,"592":6,"593":8,"594":6,"595":10,"596":1,"604":1,"613":1,"622":1,"626":1,"630":2,"634":1,"636":1,"643":2,"653":7,"655":6,"662":1,"670":4,"671":5,"672":4,"675":4,"676":3,"677":1,"678":1,"684":1,"688":1,"693":1,"698":4,"699":9,"700":12,"702":4,"705":2,"706":2,"708":1,"710":1,"716":2,"719":1,"720":2,"722":1,"727":1,"730":1,"731":4,"733":2,"734":1,"735":1,"747":2}}],["nearby",{"2":{"63":1}}],["neatly",{"2":{"33":1}}],["negative",{"2":{"613":1}}],["negatives",{"2":{"436":1}}],["negatively",{"2":{"62":1}}],["negotiate",{"2":{"58":1}}],["nextheight",{"2":{"137":4}}],["next",{"0":{"100":1,"105":1,"120":1,"176":1,"192":1,"236":1,"257":1,"296":1,"388":1,"487":1,"597":1},"2":{"56":1,"87":2,"88":1,"100":1,"105":1,"113":1,"120":2,"129":1,"137":2,"145":1,"146":1,"162":1,"189":1,"200":6,"222":1,"229":1,"236":1,"242":1,"245":2,"247":1,"248":1,"249":1,"252":2,"254":3,"255":1,"325":1,"332":1,"340":2,"354":1,"380":2,"386":2,"388":1,"434":1,"435":2,"527":1,"543":1,"569":1,"572":1,"592":1,"685":1,"739":1}}],["neither",{"2":{"42":2,"432":1}}],["needing",{"2":{"197":1,"205":1,"206":1,"245":1,"391":1,"415":1,"426":1}}],["needs",{"2":{"62":1,"65":1,"66":1,"159":2,"180":1,"238":1,"378":1,"420":1,"430":1,"517":1,"527":1,"534":2,"538":2,"543":1}}],["needed",{"2":{"54":1,"55":1,"58":1,"61":1,"90":1,"132":1,"147":2,"151":1,"153":2,"319":1,"379":1,"382":1,"386":2,"403":1,"404":1,"417":1,"418":1,"419":1,"432":1,"517":1,"533":1,"572":1,"575":1,"602":1,"607":1,"677":2,"736":1,"745":1}}],["need",{"2":{"33":1,"45":1,"49":2,"65":1,"81":1,"87":2,"88":1,"98":2,"99":1,"108":1,"133":5,"134":1,"143":1,"145":2,"146":2,"147":1,"179":2,"180":1,"193":1,"202":1,"204":2,"207":1,"210":1,"215":1,"216":1,"222":1,"245":1,"246":2,"248":1,"250":4,"251":1,"252":2,"254":3,"255":1,"272":2,"276":1,"277":1,"298":2,"325":2,"326":1,"327":1,"328":1,"329":1,"331":1,"367":1,"370":1,"373":2,"383":1,"385":1,"386":3,"388":1,"391":1,"392":1,"418":1,"428":1,"429":1,"452":1,"477":1,"487":3,"492":1,"494":1,"500":1,"516":1,"524":2,"526":1,"527":1,"528":1,"529":1,"534":1,"538":1,"542":1,"543":1,"554":2,"572":4,"576":2,"582":2,"585":1,"586":1,"590":1,"591":2,"592":1,"604":1,"605":1,"615":1,"629":1,"632":1,"643":1,"644":1,"646":1,"654":2,"655":1,"671":2,"675":2,"677":3,"679":1,"680":1,"681":1,"685":1,"687":1,"688":1,"699":1,"700":1,"716":1,"734":1,"739":1}}],["newmetric",{"2":{"712":1,"713":1,"714":1,"716":1}}],["newkeystore",{"2":{"508":2}}],["newblob",{"2":{"410":2}}],["newcredentials",{"2":{"410":2}}],["newclient",{"2":{"386":4}}],["newint",{"2":{"387":2}}],["newly",{"2":{"277":1,"414":1,"517":1,"530":2}}],["newowner",{"2":{"242":4}}],["newer",{"2":{"238":1,"563":1}}],["newnumber",{"2":{"114":4,"230":4}}],["newsletters",{"2":{"56":1}}],["newspaper",{"2":{"45":1}}],["new",{"0":{"194":1,"276":1,"452":1,"569":1,"685":1,"688":1},"2":{"2":2,"33":1,"49":1,"60":1,"61":1,"65":3,"66":1,"86":1,"113":1,"114":1,"115":3,"132":1,"160":1,"161":1,"179":2,"180":2,"181":1,"192":1,"202":1,"226":1,"229":1,"230":1,"231":3,"238":1,"241":1,"242":7,"244":2,"246":2,"247":1,"248":1,"249":1,"250":8,"251":1,"253":1,"254":1,"261":1,"269":1,"274":3,"275":1,"276":3,"277":1,"293":1,"294":1,"302":3,"359":1,"370":1,"378":1,"384":1,"386":4,"389":1,"391":2,"406":1,"413":2,"414":1,"415":2,"421":1,"434":1,"487":2,"493":1,"497":1,"501":1,"506":2,"508":2,"509":4,"512":3,"515":4,"516":2,"517":5,"522":2,"527":1,"530":1,"534":3,"535":5,"539":1,"543":1,"559":2,"572":1,"592":1,"593":2,"604":1,"613":1,"645":1,"646":1,"647":1,"675":1,"676":2,"677":5,"678":2,"683":1,"685":1,"688":1,"689":1,"692":1,"694":1,"734":1,"737":1,"747":1}}],["navigate",{"2":{"261":1,"266":1}}],["name=$",{"2":{"623":6}}],["name=",{"2":{"576":2}}],["name=validator",{"2":{"569":2,"685":2}}],["name=validator1",{"2":{"569":2,"684":2}}],["namekey",{"2":{"569":1}}],["namevalidator",{"2":{"569":1}}],["namepace",{"2":{"410":2}}],["names",{"2":{"222":2,"223":2}}],["namespa",{"2":{"386":2}}],["namespaceid",{"2":{"386":10,"387":6}}],["namespace=000008e5f679bf7116cb",{"2":{"373":2}}],["namespaced",{"0":{"430":1},"2":{"317":1,"426":1,"430":1,"432":1,"435":3}}],["namespaces",{"0":{"317":1},"2":{"317":1,"390":1,"391":1,"430":3,"435":1}}],["namespacenode",{"2":{"147":2,"149":6,"151":1}}],["namespacemerklemultiproof",{"2":{"147":2,"149":4}}],["namespace",{"0":{"150":1},"2":{"108":5,"109":2,"132":8,"135":2,"146":6,"147":6,"149":23,"150":12,"314":1,"332":7,"333":12,"341":2,"346":3,"383":3,"385":2,"386":11,"387":3,"391":1,"408":2,"409":2,"410":4,"430":6,"435":5,"438":3,"571":4}}],["namespce",{"2":{"135":2}}],["named",{"2":{"114":1,"230":1,"242":1,"247":1,"248":1,"370":1,"580":1,"581":1}}],["name",{"2":{"39":1,"54":1,"98":2,"108":2,"180":1,"194":2,"195":4,"211":2,"216":7,"217":6,"218":6,"222":2,"223":2,"226":1,"242":18,"246":2,"247":2,"249":4,"251":1,"271":4,"302":1,"325":8,"517":1,"555":7,"559":8,"560":4,"569":8,"572":6,"583":2,"613":7,"623":6,"629":2,"636":2,"654":2,"672":7,"684":4,"685":4,"686":4,"688":3,"700":2,"702":7}}],["naming",{"2":{"2":1,"49":1,"65":3}}],["nader",{"2":{"21":2}}],["natural",{"2":{"423":1}}],["nature",{"2":{"13":1,"45":1,"167":1,"422":1,"426":1,"564":1}}],["native",{"2":{"258":1,"272":1,"279":1,"280":1,"302":1,"451":1,"457":1}}],["nativecurrency",{"2":{"249":2}}],["nationality",{"2":{"7":1}}],["natnet",{"2":{"81":1}}],["nat",{"2":{"54":1,"644":1}}],["novel",{"2":{"426":1}}],["november",{"0":{"27":1,"28":1,"29":1,"31":1},"2":{"26":1,"27":2,"28":4,"29":3,"31":2}}],["nova",{"2":{"102":1}}],["novi",{"2":{"52":1}}],["none",{"2":{"276":4,"493":1,"527":1,"543":1}}],["nonce",{"0":{"533":1},"2":{"125":4,"127":1,"147":4,"153":5,"237":1,"360":2,"361":2,"406":2,"410":2,"501":6,"539":1}}],["non",{"2":{"45":1,"134":1,"160":1,"197":2,"280":1,"444":1}}],["now",{"0":{"253":1},"2":{"45":1,"87":1,"89":1,"98":1,"109":1,"115":2,"118":2,"119":1,"169":1,"176":1,"192":2,"200":1,"222":1,"223":1,"226":1,"231":2,"233":2,"234":1,"235":1,"236":1,"239":1,"243":1,"244":2,"245":1,"246":2,"247":1,"248":1,"250":1,"252":4,"253":1,"254":2,"256":1,"271":1,"272":1,"276":1,"277":1,"295":1,"296":1,"301":1,"302":1,"323":1,"324":1,"340":1,"360":1,"361":2,"362":1,"373":1,"380":1,"381":1,"383":1,"386":2,"387":2,"422":1,"495":1,"501":2,"530":1,"534":2,"545":1,"572":1,"597":1,"613":1,"636":2,"637":1,"648":1,"653":1,"654":1,"656":1,"673":1,"689":1,"691":1,"692":1,"716":1,"745":1,"746":1}}],["nominee",{"2":{"45":1}}],["normal",{"2":{"137":3,"403":1,"413":1,"622":1}}],["normally",{"2":{"58":1}}],["nor",{"2":{"42":2,"45":1,"432":1}}],["no",{"0":{"34":1,"35":1,"36":1,"424":1},"2":{"14":1,"15":1,"41":1,"42":5,"45":8,"49":1,"58":1,"115":2,"118":2,"124":2,"151":1,"169":1,"179":1,"231":2,"234":2,"250":2,"312":1,"402":1,"413":1,"429":1,"436":1,"452":1,"457":1,"467":1,"477":1,"478":1,"510":3,"516":1,"530":1,"563":5,"574":1,"590":2,"607":1,"716":1,"728":1}}],["notify",{"2":{"694":1}}],["notice",{"2":{"147":4,"149":6,"150":2,"152":2,"153":4,"198":1,"199":1,"332":1,"432":1,"731":1}}],["notably",{"2":{"403":1}}],["notable",{"0":{"288":1},"2":{"417":1}}],["notfound",{"2":{"350":2}}],["nothing",{"2":{"45":1,"506":1,"619":3}}],["noted",{"2":{"288":1,"682":1}}],["note",{"0":{"644":1},"2":{"41":1,"71":1,"103":1,"124":1,"131":1,"132":1,"133":3,"135":1,"137":2,"145":1,"146":2,"149":1,"157":1,"159":1,"186":1,"190":1,"197":1,"205":1,"210":1,"216":1,"238":1,"245":2,"246":2,"272":1,"298":1,"322":1,"324":1,"366":1,"378":1,"380":1,"403":2,"410":2,"430":1,"433":1,"435":2,"436":1,"479":1,"521":1,"530":4,"534":2,"545":2,"554":1,"563":1,"572":1,"576":2,"585":1,"589":2,"596":1,"619":1,"650":1,"671":1,"677":1,"688":1,"691":1,"709":1,"728":1,"739":1,"745":1}}],["notes",{"0":{"207":1,"283":1,"749":1},"1":{"284":1,"285":1,"286":1,"287":1,"288":1},"2":{"5":1,"72":1}}],["not",{"0":{"537":1},"2":{"8":1,"9":1,"41":6,"42":11,"43":3,"44":3,"45":24,"49":1,"58":1,"59":2,"83":1,"104":2,"108":1,"131":2,"134":1,"135":1,"149":1,"159":1,"160":1,"165":1,"190":1,"207":1,"210":1,"216":2,"222":1,"237":1,"238":1,"246":1,"272":1,"285":1,"286":1,"288":1,"294":1,"317":1,"320":1,"324":1,"325":1,"326":1,"329":3,"350":2,"364":1,"370":1,"373":1,"380":1,"389":1,"390":2,"391":2,"392":1,"402":3,"403":1,"404":1,"406":3,"410":2,"417":1,"418":1,"423":1,"429":2,"435":1,"436":2,"444":1,"464":1,"465":1,"467":1,"471":1,"477":2,"478":1,"501":1,"506":2,"509":1,"510":1,"512":1,"514":1,"516":1,"517":2,"521":2,"522":1,"524":1,"529":3,"530":10,"532":3,"533":2,"534":2,"538":1,"539":1,"553":1,"554":1,"563":1,"572":1,"583":1,"589":1,"590":1,"593":1,"607":2,"609":1,"613":1,"620":1,"630":2,"644":1,"647":2,"659":1,"662":1,"663":1,"671":1,"674":1,"675":1,"676":1,"677":1,"699":1,"716":2,"724":1,"725":1,"728":1,"731":1,"734":1,"747":3,"748":1,"749":1}}],["noderegister",{"2":{"608":1}}],["noderun",{"2":{"608":1}}],["noderpcip",{"2":{"386":4}}],["nodeoptional",{"2":{"608":2}}],["nodequerying",{"2":{"608":1}}],["nodebuilder",{"2":{"593":6}}],["nodeheader",{"2":{"385":2}}],["nodetype=",{"2":{"380":2}}],["nodeconnect",{"2":{"314":1}}],["nodeinstantiate",{"2":{"314":1}}],["nodeinstall",{"2":{"314":1}}],["node",{"0":{"78":1,"95":1,"108":1,"136":1,"140":1,"205":1,"213":1,"216":1,"217":1,"218":1,"222":1,"307":1,"314":1,"321":1,"322":1,"323":1,"330":1,"338":1,"370":1,"380":2,"381":1,"390":1,"408":1,"409":2,"410":1,"411":1,"546":1,"549":1,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"573":1,"584":1,"592":1,"596":1,"608":1,"610":1,"615":2,"624":1,"626":1,"630":1,"631":1,"632":1,"633":1,"634":1,"636":1,"645":1,"648":1,"654":1,"655":1,"656":1,"663":1,"666":1,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"691":1,"693":1,"696":1,"697":1,"698":1,"699":1,"702":1,"703":1,"727":1,"737":1,"740":1,"744":1,"745":1,"746":1},"1":{"137":1,"138":1,"139":1,"140":1,"141":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":2,"323":2,"324":2,"325":2,"326":1,"327":1,"328":1,"329":1,"330":1,"331":2,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"547":1,"548":1,"549":1,"550":2,"551":1,"552":2,"553":2,"554":2,"555":3,"556":2,"585":1,"586":1,"587":1,"597":1,"598":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":3,"617":3,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":2,"628":2,"629":2,"630":1,"631":2,"632":2,"633":2,"634":2,"635":2,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"649":1,"650":1,"655":1,"656":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":2,"670":3,"671":3,"672":2,"673":2,"674":2,"694":1,"695":1,"696":1,"697":2,"698":1,"699":2,"700":2,"701":2,"702":2,"703":2,"704":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"3":1,"66":1,"78":6,"95":2,"98":4,"99":2,"104":1,"107":1,"108":13,"109":4,"112":2,"133":13,"137":1,"140":1,"143":5,"144":1,"149":4,"169":2,"180":1,"189":3,"190":2,"201":1,"202":1,"204":3,"205":2,"206":3,"210":1,"212":1,"213":1,"214":2,"215":5,"216":14,"217":6,"218":6,"221":1,"222":15,"223":9,"228":2,"240":2,"247":1,"271":4,"285":2,"288":1,"295":2,"307":2,"308":1,"309":1,"310":1,"311":2,"314":1,"317":1,"318":1,"319":2,"320":2,"322":17,"323":4,"324":2,"325":9,"326":2,"327":7,"328":6,"329":6,"330":9,"331":7,"332":11,"333":11,"334":6,"336":4,"337":5,"338":4,"339":3,"340":4,"341":4,"342":2,"343":6,"344":5,"345":2,"346":4,"349":1,"354":3,"356":1,"364":2,"368":1,"370":7,"373":4,"378":2,"379":1,"380":10,"381":2,"383":6,"384":1,"385":4,"386":12,"390":1,"391":3,"392":1,"396":1,"402":3,"405":1,"409":1,"410":6,"411":1,"413":3,"416":2,"417":4,"419":1,"427":1,"428":2,"430":1,"436":8,"446":1,"460":1,"461":7,"462":1,"464":2,"465":1,"466":1,"475":3,"476":2,"477":7,"484":1,"487":1,"489":1,"494":1,"522":4,"524":1,"530":1,"533":1,"539":3,"545":1,"546":1,"547":4,"548":1,"552":3,"553":3,"554":8,"555":2,"556":2,"557":4,"562":12,"568":6,"571":1,"572":1,"573":1,"574":1,"576":4,"577":1,"580":1,"581":1,"582":5,"583":6,"584":4,"585":8,"586":4,"587":3,"589":5,"590":1,"591":5,"592":26,"593":6,"594":2,"595":6,"596":17,"597":6,"598":1,"600":1,"601":4,"602":1,"604":1,"607":7,"608":3,"609":5,"613":9,"615":3,"619":1,"621":1,"622":1,"623":2,"624":2,"627":2,"630":5,"631":1,"632":1,"634":2,"636":1,"639":2,"642":1,"644":1,"646":1,"649":3,"650":3,"651":7,"653":30,"654":5,"655":27,"656":30,"659":1,"661":1,"662":2,"663":3,"665":1,"668":1,"671":11,"672":2,"673":2,"674":2,"684":1,"688":1,"691":7,"692":2,"693":1,"695":1,"697":1,"698":2,"699":8,"700":9,"702":2,"703":1,"704":1,"706":1,"710":3,"711":2,"715":3,"716":5,"720":10,"722":1,"724":2,"725":1,"726":1,"727":4,"731":11,"736":1,"737":3,"738":2,"739":4,"741":1,"742":1,"744":2,"745":4,"746":6,"747":1}}],["nodestake",{"2":{"712":1,"713":1,"714":1,"717":1,"729":1}}],["nodesoptional",{"2":{"608":1}}],["nodesetup",{"2":{"608":1}}],["nodes",{"0":{"415":1,"463":1,"464":1,"477":1,"547":1,"640":1,"664":1,"694":1,"711":1,"715":1,"723":1,"724":1,"731":1,"741":1,"743":1},"1":{"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"712":1,"713":1,"714":1,"716":1,"742":1,"744":1,"745":1,"746":1},"2":{"3":2,"78":1,"128":1,"132":2,"133":1,"146":2,"149":6,"152":2,"180":2,"282":1,"308":1,"312":1,"319":1,"323":1,"389":1,"390":10,"391":12,"392":2,"406":1,"413":1,"414":1,"415":2,"416":2,"417":5,"418":5,"420":1,"425":1,"426":1,"427":6,"428":6,"429":3,"430":3,"432":1,"433":3,"434":2,"436":5,"461":1,"462":1,"476":3,"477":2,"546":1,"547":4,"572":2,"582":3,"587":1,"591":3,"594":1,"604":1,"605":1,"607":2,"608":1,"613":2,"626":1,"630":1,"642":1,"648":1,"660":1,"664":5,"676":1,"677":1,"690":2,"694":3,"710":1,"712":1,"713":1,"714":1,"716":4,"720":1,"722":1,"727":1,"734":1,"737":4,"738":1,"745":1}}],["ignore",{"2":{"430":1}}],["ignite",{"2":{"22":3}}],["ixg+08hv5rspf3lle8ph+b2tugsgusbiseflxh6wb5e=",{"2":{"332":2,"333":12,"334":2}}],["ibctransfer",{"2":{"283":1}}],["ibchost",{"2":{"283":1}}],["ibc",{"0":{"269":1},"1":{"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1},"2":{"269":3,"270":2,"271":4,"276":1,"279":4}}],["icon",{"2":{"226":1}}],["icons",{"2":{"76":1}}],["i++",{"2":{"135":2,"242":2}}],["illustrate",{"2":{"131":1}}],["illustrations",{"2":{"76":1}}],["i",{"2":{"109":1,"126":1,"135":6,"153":1,"159":1,"160":1,"177":2,"242":10,"295":1,"392":1,"406":1,"427":3,"428":1,"429":4,"430":3,"432":2,"433":6,"435":3,"436":8,"509":8,"510":12,"511":8,"512":12,"514":10,"515":12,"517":8,"522":4,"535":1,"539":4,"590":1,"613":10,"643":2,"644":2,"694":1}}],["idvalidator",{"2":{"684":1}}],["id=$",{"2":{"691":2}}],["id=testnet",{"2":{"569":2,"684":2}}],["id=",{"2":{"383":2,"576":2,"629":2,"636":2}}],["id=your",{"2":{"248":2}}],["ids",{"2":{"362":2,"583":1,"590":1}}],["idtopost",{"2":{"242":10}}],["idaoracle",{"2":{"125":6,"127":1,"129":1}}],["id",{"0":{"338":1,"590":1},"2":{"108":4,"132":1,"145":2,"146":4,"149":7,"150":7,"197":6,"204":3,"206":5,"216":1,"222":9,"223":10,"242":12,"248":1,"249":2,"250":8,"251":1,"271":4,"276":40,"302":1,"325":1,"333":1,"336":2,"337":2,"338":6,"339":2,"340":10,"359":6,"383":1,"386":9,"387":3,"435":1,"460":1,"479":1,"501":2,"554":1,"562":6,"563":14,"565":4,"566":8,"567":4,"569":8,"572":1,"576":20,"583":5,"590":2,"613":6,"629":1,"671":1,"677":1,"684":5,"688":4,"691":4,"699":1,"728":1}}],["identities",{"2":{"502":1}}],["identity",{"2":{"7":2,"42":1,"435":1,"438":1,"516":1}}],["identically",{"2":{"131":1}}],["identify",{"2":{"59":1,"66":1,"132":2,"430":1}}],["identifying",{"2":{"42":1,"56":1}}],["identification",{"2":{"44":2}}],["identifiers",{"2":{"430":1}}],["identifier",{"2":{"44":1,"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2,"364":3}}],["ideally",{"2":{"61":1}}],["ideal",{"2":{"58":1,"170":1}}],["ideas",{"0":{"49":1},"2":{"48":1,"49":1,"59":1}}],["idea",{"2":{"19":1,"23":1,"48":2,"49":1,"178":1}}],["ip=",{"2":{"380":2,"383":2,"745":2}}],["ip6",{"2":{"338":4}}],["ip4",{"2":{"338":8,"530":2,"583":4,"745":2}}],["ipfs",{"2":{"240":1,"242":2,"246":1,"248":3,"250":22}}],["ip",{"2":{"108":2,"222":2,"223":2,"251":1,"324":14,"325":6,"373":3,"380":7,"383":1,"386":3,"476":1,"477":6,"553":10,"554":6,"555":6,"583":2,"585":4,"586":4,"589":2,"592":2,"593":2,"632":2,"643":2,"653":6,"656":6,"671":2,"672":6,"690":4,"699":6,"700":6,"702":6,"716":4,"745":2,"746":2}}],["io",{"2":{"108":4,"149":2,"150":2,"222":2,"226":1,"250":6,"304":1,"359":1,"373":4,"385":2,"398":1,"577":1,"623":12,"653":6,"655":6,"656":6,"712":1,"713":1,"714":1,"717":3,"718":1,"723":1,"725":1,"726":1,"729":3}}],["iqlusion",{"2":{"52":1}}],["irrevocably",{"2":{"42":1}}],["ifconfig",{"2":{"691":2}}],["if",{"0":{"424":1,"535":1},"1":{"536":1,"537":1},"2":{"4":1,"41":1,"42":4,"44":1,"45":3,"54":2,"55":1,"58":3,"59":1,"60":2,"61":1,"62":2,"63":1,"64":2,"65":3,"66":3,"87":1,"88":1,"98":1,"99":1,"104":2,"108":1,"115":2,"132":1,"133":1,"134":1,"135":8,"137":10,"146":1,"147":4,"148":1,"149":3,"153":1,"159":1,"166":1,"177":1,"178":1,"180":2,"186":1,"191":1,"194":2,"197":2,"206":1,"212":2,"216":2,"231":2,"238":1,"250":2,"251":1,"252":1,"253":1,"254":1,"255":1,"273":1,"274":2,"275":1,"280":1,"295":1,"298":8,"302":1,"312":1,"317":2,"319":1,"320":1,"322":1,"324":2,"325":1,"326":1,"328":2,"329":2,"331":1,"332":2,"343":1,"348":1,"349":1,"350":1,"357":1,"358":1,"364":4,"369":1,"370":3,"371":1,"374":1,"377":1,"378":1,"380":2,"386":15,"402":1,"403":2,"405":1,"406":4,"410":26,"413":1,"415":1,"417":1,"418":1,"427":1,"429":2,"430":1,"436":3,"457":1,"464":1,"465":1,"471":1,"472":1,"483":1,"487":2,"492":1,"493":2,"501":1,"506":2,"510":2,"512":1,"515":1,"517":2,"522":2,"524":1,"526":1,"527":1,"529":1,"530":10,"533":1,"534":3,"535":2,"536":2,"538":2,"539":4,"542":1,"543":1,"553":2,"554":1,"563":1,"568":1,"571":3,"572":3,"574":1,"580":1,"582":2,"583":1,"586":1,"589":1,"591":3,"592":1,"593":1,"595":1,"596":1,"597":2,"598":1,"604":2,"607":2,"609":2,"613":2,"615":1,"618":1,"619":1,"620":2,"624":1,"629":3,"630":1,"632":1,"636":1,"646":1,"649":1,"650":1,"651":2,"653":1,"654":1,"661":1,"662":1,"671":1,"673":1,"676":1,"677":1,"678":2,"682":1,"683":1,"687":1,"688":2,"724":1,"725":1,"731":1,"737":1,"739":3,"741":1,"742":3,"744":1,"745":1,"746":2,"748":1,"749":1}}],["inability",{"2":{"420":1}}],["inappropriate",{"2":{"8":1,"9":1,"13":2,"15":1,"16":1}}],["inherently",{"2":{"389":1}}],["inherits",{"2":{"575":1}}],["inherit",{"2":{"179":1}}],["inbox",{"2":{"355":2,"364":2,"372":2}}],["innercontainerstyle",{"2":{"250":4}}],["innovative",{"2":{"180":1}}],["injectedwallet",{"2":{"249":4}}],["inputting",{"2":{"629":1,"636":1}}],["input=$",{"2":{"361":2}}],["input=ce3500000000000000769074a923011bdda721eacc34c8a77c69c10f2b6c8e659f987e82f217a5340f",{"2":{"361":2}}],["inputstyle",{"2":{"250":6}}],["inputs",{"2":{"125":2}}],["input",{"2":{"125":2,"250":2,"361":4,"362":2,"585":1}}],["initblobstream",{"2":{"492":1,"526":1,"542":1}}],["initcelestia",{"2":{"323":1,"331":1,"670":1,"698":1}}],["initiatives",{"2":{"445":1,"446":2,"447":1}}],["initiated",{"2":{"44":1}}],["initially",{"2":{"737":1}}],["initialisation",{"2":{"589":1,"604":1}}],["initialise",{"2":{"477":1,"716":1}}],["initialization",{"0":{"506":1},"2":{"601":1,"607":1}}],["initializing",{"2":{"323":1,"553":1}}],["initialized",{"2":{"279":1,"495":1,"506":2,"530":1,"536":1,"545":1,"600":1,"683":1,"698":1}}],["initializes",{"2":{"115":1,"231":1,"386":2,"497":2}}],["initialize",{"0":{"553":1,"632":1,"655":1,"670":1,"684":1,"698":1},"1":{"699":1,"700":1,"701":1,"702":1,"703":1},"2":{"113":1,"179":1,"229":1,"331":2,"370":1,"380":1,"506":1,"535":1,"557":2,"593":1,"595":1,"607":1,"613":1,"655":1}}],["initial",{"2":{"433":2,"441":1,"446":1,"447":1,"563":2}}],["init",{"0":{"492":1,"526":1,"542":1},"2":{"97":4,"98":2,"99":2,"109":2,"113":5,"229":5,"241":2,"246":3,"323":5,"331":5,"354":4,"380":2,"492":2,"526":2,"542":2,"553":8,"557":2,"569":2,"589":3,"592":3,"595":4,"613":6,"632":2,"655":9,"670":5,"684":2,"698":5}}],["indeed",{"2":{"426":1,"435":1,"436":1}}],["indexer",{"0":{"646":1},"2":{"608":1,"616":1,"618":2,"646":3}}],["indexers",{"2":{"424":1}}],["indexed",{"2":{"127":1,"646":2}}],["indexing",{"0":{"616":1},"2":{"419":1,"615":1,"618":1,"646":1}}],["index",{"2":{"132":2,"145":2,"146":4,"152":3,"194":2,"249":2,"250":4,"534":4,"646":2}}],["independently",{"2":{"167":1,"433":1}}],["independent",{"2":{"102":1}}],["induced",{"2":{"137":1}}],["inducted",{"2":{"51":1}}],["industry",{"2":{"62":1}}],["indicates",{"2":{"364":1}}],["indicators",{"2":{"56":1}}],["individual",{"0":{"39":1},"2":{"10":1,"16":1,"83":1,"129":1,"242":2}}],["individuals",{"2":{"8":1,"16":1,"165":1,"293":1}}],["inflation",{"0":{"442":1},"2":{"442":3,"449":2}}],["infra",{"2":{"312":1}}],["infrastructure",{"2":{"25":1,"49":1,"66":1,"293":2,"391":1,"446":1,"587":1,"720":1,"734":1}}],["infura",{"2":{"240":1,"248":6,"250":12}}],["infocurl",{"2":{"742":1}}],["infos",{"2":{"197":2}}],["informs",{"2":{"161":2}}],["informative",{"2":{"66":1,"81":1,"83":1}}],["informationextra",{"2":{"608":1}}],["information$",{"2":{"557":1}}],["information",{"0":{"44":1,"639":1},"2":{"8":1,"41":4,"42":1,"43":1,"44":18,"45":1,"60":1,"66":2,"132":2,"133":2,"134":2,"145":1,"146":1,"206":2,"212":1,"216":1,"222":2,"279":1,"304":2,"324":1,"325":1,"338":1,"340":1,"380":1,"405":1,"410":2,"419":2,"420":1,"422":1,"500":1,"507":2,"508":2,"513":2,"516":2,"528":1,"530":1,"544":1,"553":1,"554":1,"557":1,"563":1,"572":2,"574":1,"589":1,"624":1,"632":1,"653":1,"671":3,"692":1,"699":3}}],["informalsystems",{"2":{"577":1}}],["informal",{"2":{"55":1}}],["info",{"0":{"69":1},"1":{"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"88":1,"197":4,"255":1,"271":2,"304":1,"327":1,"338":2,"344":2,"422":1,"530":2,"534":2,"629":2,"636":2,"742":1}}],["int",{"2":{"386":2}}],["intake",{"2":{"65":2}}],["introducing",{"2":{"434":1}}],["introduced",{"2":{"748":1}}],["introduce",{"2":{"55":1,"238":1}}],["introductionblobsnamespaceshardware",{"2":{"314":1}}],["introduction",{"0":{"77":1,"80":1,"101":1,"289":1,"315":1,"434":1},"1":{"102":1,"103":1,"104":1,"105":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"316":1,"317":1},"2":{"21":2,"25":2,"27":2,"61":1,"77":2,"79":1,"80":3,"107":1,"282":1,"396":2}}],["intel",{"2":{"320":1,"662":1}}],["integrating",{"2":{"162":1,"281":1}}],["integrations",{"0":{"461":1,"475":1,"710":1},"1":{"476":1,"477":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":1},"2":{"42":1,"237":1,"574":1}}],["integration",{"0":{"224":1,"289":1,"290":1,"297":1,"299":1},"1":{"225":1,"226":1,"290":1,"291":2,"292":1,"293":1,"294":1,"295":1,"296":1,"298":1,"300":1,"301":1,"302":1},"2":{"42":1,"84":1,"102":2,"103":2,"104":3,"158":1,"169":1,"176":1,"290":1,"292":1,"296":2,"297":1,"303":1,"370":1,"396":1,"574":1,"706":1}}],["integrate",{"0":{"121":1,"130":1,"158":1,"162":1,"281":1},"1":{"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"159":1,"160":1,"161":1,"162":1,"163":2,"164":1,"165":1,"166":1,"167":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1},"2":{"158":1,"162":2,"181":1,"290":1,"378":1,"574":1}}],["integer",{"2":{"114":1,"115":1,"230":1,"231":1}}],["interruptions",{"2":{"706":1}}],["interchangeably",{"2":{"508":1}}],["interchain",{"2":{"380":1}}],["intermediate",{"2":{"428":1,"429":1,"435":1,"436":1}}],["internet",{"2":{"389":1}}],["internally",{"2":{"547":1}}],["internal",{"2":{"308":1}}],["interpreted",{"2":{"364":1}}],["inter",{"2":{"269":1}}],["interfaces",{"2":{"133":2,"242":2,"247":1,"398":1,"399":1,"456":1,"643":2}}],["interface",{"0":{"127":1},"2":{"127":3,"129":1,"133":4,"206":2,"326":1,"392":1,"432":1,"575":1}}],["interval",{"2":{"108":2,"271":2,"373":2,"572":4,"593":4}}],["interestingly",{"2":{"434":1}}],["interested",{"2":{"62":2,"63":3,"66":3,"238":1,"349":1}}],["interest",{"2":{"60":2,"61":1,"71":1}}],["interests",{"2":{"60":1,"65":1,"66":1}}],["interoperability",{"2":{"49":1,"102":1}}],["interactively",{"2":{"509":1,"512":1,"530":2}}],["interactivecelestia",{"2":{"211":1}}],["interactive",{"2":{"83":1,"211":1}}],["interactions",{"2":{"14":1,"133":1,"171":1}}],["interaction",{"2":{"14":2,"15":3,"16":1,"42":1,"55":1,"547":1}}],["interacting",{"0":{"119":1,"235":1},"2":{"3":1,"141":1,"307":1,"311":1,"327":2,"349":1,"582":1,"590":1,"591":1}}],["interact",{"0":{"87":1,"89":1,"256":1},"2":{"7":1,"33":1,"87":2,"88":1,"118":1,"129":1,"163":1,"171":1,"173":1,"222":2,"223":2,"234":1,"254":2,"255":1,"285":1,"307":1,"326":1,"327":2,"328":1,"329":1,"330":2,"462":1,"465":1,"466":1,"659":1,"694":1,"722":1,"725":1,"726":1}}],["intensive",{"2":{"619":1}}],["intend",{"2":{"45":1}}],["intent",{"2":{"45":1}}],["intention",{"2":{"45":1}}],["into",{"0":{"30":1,"422":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"33":2,"48":1,"51":1,"77":1,"86":1,"103":1,"158":1,"177":1,"189":1,"216":1,"247":3,"250":2,"254":1,"272":1,"317":1,"322":1,"370":1,"392":1,"402":1,"427":2,"429":1,"430":2,"433":1,"435":5,"438":3,"513":1,"560":1,"570":1,"574":1,"580":1,"585":1,"590":1,"593":1,"596":1,"598":1,"676":1,"706":1}}],["inception",{"2":{"705":1}}],["incentive",{"2":{"436":1}}],["incentives",{"2":{"61":1,"423":1}}],["incentivizes",{"2":{"425":1}}],["incentivize",{"0":{"423":1},"2":{"423":1}}],["incentivized",{"0":{"41":1},"1":{"42":1,"43":1,"44":1,"45":1},"2":{"41":1,"446":1}}],["incredibly",{"2":{"521":1,"638":1}}],["incredible",{"2":{"68":1}}],["incremental",{"2":{"517":1}}],["increment",{"2":{"114":3,"115":4,"230":3,"231":4}}],["increases",{"2":{"63":1,"114":1,"115":1,"230":1,"231":1,"416":1,"434":1}}],["increase",{"2":{"62":1,"63":1,"433":1,"434":1,"571":2}}],["increasing",{"2":{"60":1,"428":1,"434":1}}],["incubators",{"2":{"58":1}}],["incomplete",{"2":{"430":1}}],["income",{"2":{"45":1}}],["incorrectly",{"0":{"429":1},"2":{"417":1,"418":1,"429":2}}],["incorrect",{"2":{"165":1,"237":1,"365":1,"418":1}}],["incorporated",{"2":{"103":1}}],["incorporate",{"2":{"41":1}}],["incident",{"2":{"11":1,"14":1}}],["inclusion",{"0":{"129":1,"139":1,"145":1,"146":1},"2":{"64":1,"126":2,"127":1,"129":4,"132":1,"134":3,"139":1,"145":2,"148":1,"149":1,"157":1,"748":1}}],["inclusive",{"2":{"7":1,"70":1}}],["including",{"2":{"14":1,"15":2,"16":1,"42":1,"44":2,"45":4,"52":1,"54":3,"55":1,"65":1,"70":1,"83":1,"404":1,"446":1,"629":1}}],["included",{"2":{"127":2,"134":2,"135":3,"153":2,"242":1,"332":1,"333":1,"334":1,"406":3,"438":1,"521":1,"677":1,"709":1,"747":1,"748":1,"749":1}}],["includes",{"2":{"14":1,"75":1,"76":1,"103":1,"115":1,"231":1,"270":1,"287":1,"422":1,"430":1,"438":1,"447":1,"689":1}}],["include",{"2":{"8":2,"10":1,"41":3,"62":1,"102":1,"169":1,"181":1,"242":1,"293":1,"328":1,"366":1,"387":1,"424":1,"438":1,"573":1,"690":1}}],["invoke",{"2":{"242":2}}],["involves",{"2":{"403":1,"421":1}}],["involve",{"2":{"133":2,"134":1}}],["involvement",{"2":{"61":1}}],["involved",{"2":{"14":1,"15":1,"169":1,"295":1,"403":1,"404":1}}],["involving",{"2":{"45":1}}],["invalid",{"2":{"134":2,"137":2,"429":2,"436":1,"593":2}}],["investigate",{"2":{"60":1,"62":1}}],["investigated",{"2":{"11":1}}],["invites",{"2":{"72":1}}],["invite",{"2":{"61":2,"63":2}}],["invitations",{"2":{"54":1}}],["invitation",{"2":{"45":2,"71":1}}],["invisible",{"2":{"7":1}}],["inspect",{"2":{"413":1}}],["inspired",{"2":{"17":1}}],["insecure",{"2":{"410":4,"530":4,"532":1}}],["inside",{"2":{"151":1,"214":1,"216":1,"385":1,"522":1,"539":1,"555":1,"580":1,"672":1,"688":1,"689":1,"690":1,"702":1}}],["insight",{"2":{"570":1}}],["insightful",{"2":{"68":1}}],["insights",{"2":{"5":1,"25":2,"31":4,"56":1,"61":1,"83":1,"577":1}}],["instrumentation",{"2":{"571":6}}],["instructions",{"2":{"186":1,"197":1,"300":1,"319":2,"461":2,"554":1,"578":1,"581":1,"598":1,"611":1,"627":1,"636":1,"651":3,"659":1,"661":2,"671":1,"720":2}}],["instead",{"2":{"104":1,"133":1,"137":3,"237":1,"333":1,"373":1,"402":3,"406":1,"452":1,"509":1}}],["instability",{"2":{"706":1,"733":1}}],["instantaneous",{"2":{"674":1}}],["instantiation",{"0":{"678":1},"1":{"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1}}],["instantiating",{"2":{"246":1,"323":1}}],["instantiate",{"0":{"323":1,"692":1},"2":{"323":1,"386":1,"387":1,"433":1,"678":1}}],["instance",{"2":{"86":1,"90":1,"115":1,"231":1,"254":1,"386":1,"549":1,"572":1,"584":1,"595":1,"610":1,"627":1,"666":1,"696":1}}],["instances",{"2":{"11":1,"535":1}}],["installer",{"2":{"651":1}}],["installed",{"2":{"90":1,"112":1,"123":1,"190":1,"201":1,"210":1,"221":1,"228":1,"270":1,"271":1,"298":2,"320":2,"379":1,"491":1,"499":1,"525":1,"541":1,"580":1,"597":1,"600":1,"648":1,"662":2}}],["installmake",{"2":{"322":2,"485":1,"580":1,"596":2}}],["installs",{"2":{"98":1,"215":2,"322":1,"596":1}}],["installing",{"0":{"98":1,"124":1,"581":1},"1":{"99":1},"2":{"98":1,"319":2,"322":2,"550":1,"552":1,"579":1,"581":1,"596":1,"611":1,"612":1,"631":1,"651":1,"659":1,"661":2,"668":1,"697":1,"736":1,"739":1}}],["install",{"0":{"225":1,"300":1,"320":1,"322":1,"380":1,"484":1,"485":1,"491":1,"499":1,"525":1,"541":1,"552":1,"579":1,"596":1,"612":1,"631":1,"661":1,"662":1,"668":1,"697":1},"1":{"485":1,"486":1,"487":1,"488":1,"580":1,"581":1,"582":1,"597":1,"598":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1},"2":{"92":2,"95":6,"96":2,"98":1,"124":3,"187":1,"210":1,"215":2,"225":1,"247":1,"248":3,"252":1,"270":1,"298":2,"300":1,"319":16,"320":2,"322":4,"326":1,"353":1,"367":1,"380":1,"485":3,"536":2,"541":1,"552":1,"572":1,"574":1,"578":1,"580":3,"581":1,"596":4,"598":1,"613":3,"651":1,"661":15,"662":2,"681":1,"697":1,"737":1,"738":1,"739":1,"742":2,"744":2,"745":2,"746":2}}],["installation",{"0":{"215":1,"353":1,"681":1},"2":{"90":1,"213":1,"246":1,"581":2}}],["insulting",{"2":{"8":1}}],["in",{"0":{"104":1,"147":1,"277":1,"363":1,"390":1,"406":1,"415":1,"595":1,"732":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"364":1,"365":1,"733":1,"734":1,"735":1},"2":{"3":1,"4":2,"5":1,"7":2,"8":1,"9":1,"10":1,"12":2,"13":1,"14":1,"25":1,"27":1,"29":1,"33":3,"41":10,"42":17,"43":3,"44":3,"45":41,"46":1,"48":5,"51":4,"53":1,"55":1,"56":1,"57":1,"58":2,"59":4,"60":3,"61":2,"62":6,"63":7,"64":4,"66":7,"68":2,"70":2,"71":2,"72":1,"74":1,"78":1,"79":1,"83":4,"86":3,"87":4,"88":1,"98":1,"99":1,"100":1,"103":2,"104":5,"105":1,"108":5,"109":2,"111":1,"113":1,"114":4,"115":8,"120":1,"126":2,"127":2,"128":1,"129":2,"132":13,"133":3,"134":12,"135":4,"137":1,"143":1,"145":1,"146":1,"148":4,"149":14,"150":1,"151":1,"152":10,"153":9,"154":3,"157":2,"158":1,"159":3,"160":2,"161":2,"165":3,"167":1,"169":5,"170":1,"173":1,"178":1,"179":1,"180":2,"181":2,"186":1,"190":1,"192":1,"194":3,"197":1,"198":1,"199":1,"201":2,"204":1,"206":1,"207":1,"211":1,"214":1,"215":4,"216":2,"217":1,"222":3,"223":3,"224":1,"226":2,"227":1,"229":1,"230":4,"231":8,"237":4,"238":2,"242":6,"245":2,"246":3,"247":2,"248":1,"253":1,"254":7,"255":1,"258":1,"261":1,"262":1,"266":1,"269":2,"270":1,"273":2,"274":5,"283":1,"284":1,"285":4,"288":2,"290":1,"295":3,"296":1,"297":2,"298":2,"299":1,"301":1,"302":2,"303":1,"305":1,"307":1,"312":1,"314":1,"317":1,"319":1,"320":1,"323":1,"324":2,"325":2,"327":1,"328":1,"329":1,"330":1,"331":1,"332":4,"333":4,"334":1,"338":2,"339":1,"343":6,"346":1,"349":2,"359":1,"363":1,"364":4,"365":1,"366":2,"367":1,"369":1,"370":4,"371":1,"378":1,"380":4,"381":1,"382":1,"383":1,"386":5,"389":3,"390":3,"391":4,"392":5,"401":1,"402":3,"403":4,"404":4,"405":2,"406":2,"407":1,"409":1,"411":1,"415":2,"418":1,"420":1,"421":1,"422":1,"423":1,"426":1,"427":4,"428":3,"430":1,"433":9,"434":1,"435":3,"436":3,"438":1,"439":2,"441":1,"442":2,"445":1,"446":1,"447":2,"449":1,"451":1,"452":3,"453":2,"454":1,"456":1,"457":1,"461":5,"464":1,"465":1,"466":1,"472":2,"475":2,"476":2,"477":2,"484":1,"488":4,"492":1,"494":1,"496":1,"500":2,"501":1,"507":2,"508":2,"509":1,"510":4,"511":4,"512":3,"513":1,"514":1,"515":3,"517":3,"519":3,"520":1,"521":2,"522":1,"524":1,"527":1,"528":2,"529":1,"530":7,"534":1,"535":4,"538":2,"543":2,"544":1,"545":3,"547":3,"553":1,"555":1,"560":1,"563":4,"564":2,"569":2,"572":3,"573":1,"580":1,"581":2,"583":1,"584":1,"585":1,"586":2,"587":3,"591":1,"592":2,"593":1,"595":2,"596":1,"601":1,"604":1,"605":1,"607":1,"608":1,"613":7,"615":1,"617":1,"618":1,"619":2,"620":2,"622":3,"624":1,"626":2,"627":1,"629":2,"635":1,"636":4,"644":1,"646":2,"647":6,"649":2,"650":1,"651":2,"655":3,"659":1,"662":1,"671":1,"672":1,"674":2,"675":2,"676":3,"677":3,"682":1,"683":1,"684":1,"687":3,"688":2,"689":2,"691":1,"698":1,"699":1,"700":2,"701":1,"702":1,"705":2,"708":1,"709":5,"710":4,"720":6,"724":1,"725":1,"726":1,"727":1,"731":2,"734":2,"736":2,"737":2,"739":4,"742":3,"746":2,"747":2,"748":1,"749":1}}],["imagine",{"2":{"181":1}}],["image",{"2":{"98":2,"108":4,"222":3,"223":6,"226":1,"373":4,"653":1}}],["imagery",{"2":{"8":1}}],["images",{"2":{"3":1,"226":1}}],["immutable",{"2":{"125":2}}],["immerse",{"2":{"48":1}}],["improperly",{"2":{"417":1}}],["improved",{"2":{"570":1}}],["improve",{"2":{"65":1,"508":1}}],["improvement",{"2":{"56":1,"428":1}}],["improvements",{"2":{"4":1,"706":1}}],["improving",{"2":{"2":1}}],["impractical",{"2":{"413":1}}],["imports",{"2":{"515":1}}],["imported",{"2":{"252":1,"514":2,"515":2,"536":1}}],["importing",{"0":{"218":1,"560":1},"2":{"513":3,"514":2,"515":2,"583":1}}],["import",{"0":{"385":1,"513":1,"514":1,"515":1,"519":1},"2":{"115":4,"125":6,"218":1,"231":4,"242":4,"244":4,"249":19,"250":17,"252":2,"272":1,"298":6,"384":1,"385":3,"405":1,"410":1,"500":6,"506":1,"508":4,"513":15,"514":2,"515":8,"516":4,"519":8,"528":6,"544":6,"547":1,"560":5,"572":2,"583":1}}],["importance",{"2":{"83":1}}],["important",{"0":{"69":1},"1":{"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"41":1,"132":2,"194":2,"404":1,"432":1,"516":1,"521":1,"527":1,"528":1,"543":1,"544":1,"572":1,"573":1,"590":1,"638":1,"675":1,"747":1}}],["impose",{"2":{"45":1}}],["implement",{"2":{"48":1,"386":2,"391":2,"433":1}}],["implementations",{"2":{"133":2,"269":1}}],["implementation",{"0":{"364":1},"2":{"44":1,"129":1,"131":1,"167":1,"270":1,"392":1,"488":2,"508":2,"547":1,"676":1}}],["implemented",{"2":{"42":1,"157":1,"165":1,"364":1,"465":1,"533":1,"725":1}}],["implementing",{"0":{"24":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"48":1}}],["impact=profit",{"2":{"293":1}}],["impactful",{"2":{"61":1,"83":1}}],["impact",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"62":1}}],["ith",{"2":{"404":2}}],["itemcount",{"2":{"242":6}}],["itself",{"2":{"41":1,"521":1,"572":2}}],["its",{"0":{"535":1},"1":{"536":1,"537":1},"2":{"41":3,"45":1,"149":2,"150":2,"160":1,"166":1,"167":1,"176":2,"336":1,"388":1,"397":1,"402":1,"403":1,"415":1,"416":1,"430":2,"433":1,"453":1,"487":1,"489":1,"500":1,"508":1,"509":1,"510":1,"518":1,"521":1,"522":2,"534":3,"539":1,"572":1,"705":1,"742":1,"744":1,"745":1,"746":1}}],["itn",{"2":{"41":7,"42":11,"43":3,"44":1,"45":38}}],["it",{"0":{"252":1,"253":1,"522":1,"539":1},"2":{"2":2,"41":1,"45":1,"53":1,"59":1,"60":1,"65":2,"66":1,"71":1,"86":1,"87":1,"104":1,"108":1,"114":1,"115":5,"118":2,"126":1,"127":1,"129":6,"131":1,"133":2,"137":2,"145":2,"146":1,"147":1,"148":1,"149":2,"150":2,"153":1,"159":4,"160":2,"167":1,"169":2,"170":2,"173":1,"179":1,"190":1,"194":2,"197":1,"208":1,"211":1,"213":1,"215":1,"230":1,"231":5,"234":2,"242":3,"244":1,"245":3,"246":2,"247":2,"250":4,"252":1,"254":2,"269":1,"270":2,"272":1,"273":1,"280":1,"288":1,"295":2,"298":6,"310":1,"312":1,"324":2,"327":1,"332":1,"340":2,"348":2,"350":1,"360":1,"361":1,"364":5,"370":1,"373":1,"378":1,"380":4,"383":2,"386":9,"387":3,"388":2,"391":2,"392":3,"395":1,"403":2,"404":4,"406":4,"410":2,"413":5,"416":2,"417":1,"422":1,"423":1,"429":1,"430":1,"433":1,"434":1,"435":5,"436":1,"442":1,"464":1,"472":5,"483":1,"487":1,"497":2,"500":2,"501":1,"502":2,"503":1,"504":1,"505":1,"506":4,"509":4,"510":1,"512":2,"513":1,"514":4,"515":3,"516":2,"517":2,"519":1,"522":6,"527":2,"528":3,"530":4,"533":2,"534":2,"535":4,"537":1,"538":1,"539":3,"543":3,"544":2,"545":2,"553":2,"554":1,"570":1,"571":2,"572":6,"573":1,"574":1,"581":1,"582":1,"585":1,"586":2,"589":1,"590":1,"591":1,"593":2,"595":2,"597":1,"609":2,"613":1,"620":1,"623":1,"629":1,"630":2,"635":1,"642":1,"643":2,"647":1,"649":1,"654":2,"671":2,"675":1,"677":1,"687":1,"689":2,"690":1,"698":1,"705":1,"706":1,"709":1,"720":1,"724":1,"733":1,"734":2,"739":1,"742":2,"748":1,"749":1}}],["issuing",{"2":{"452":1}}],["issuance",{"2":{"442":2}}],["issued",{"2":{"45":1}}],["issues",{"0":{"531":1},"1":{"532":1,"533":1},"2":{"9":1,"78":1,"290":1,"370":1,"598":1}}],["issue",{"0":{"537":1},"2":{"4":1,"270":1,"406":1,"420":1,"442":1,"452":1,"533":1,"731":2}}],["isn",{"2":{"137":1,"709":1}}],["isvalid",{"2":{"137":2}}],["isolated",{"2":{"651":1}}],["isolates",{"2":{"180":1}}],["isolate",{"2":{"133":1}}],["ismail",{"2":{"29":2,"52":1}}],["is",{"0":{"178":1,"294":1,"395":1,"413":1,"414":1,"416":1,"418":1,"419":1,"420":1,"421":1,"424":1,"535":1},"1":{"536":1,"537":1},"2":{"1":1,"5":1,"8":1,"10":1,"15":1,"17":1,"21":1,"25":1,"27":1,"31":1,"33":1,"41":5,"42":3,"44":1,"45":7,"46":1,"53":1,"55":1,"58":1,"61":1,"62":1,"63":2,"65":3,"66":1,"67":1,"70":1,"71":2,"73":2,"74":1,"75":1,"77":1,"78":2,"79":2,"83":3,"102":1,"103":3,"104":4,"106":1,"108":3,"109":1,"115":7,"124":1,"125":2,"126":3,"127":2,"129":6,"131":2,"132":29,"133":5,"134":6,"135":6,"137":6,"141":1,"143":1,"145":2,"146":1,"148":2,"149":6,"150":1,"151":2,"152":1,"153":11,"154":2,"157":1,"158":1,"159":3,"160":1,"165":1,"166":2,"167":2,"168":2,"169":8,"173":1,"178":1,"179":2,"180":1,"183":1,"192":3,"194":2,"197":1,"198":1,"199":1,"206":2,"211":1,"213":1,"214":1,"224":1,"225":1,"231":7,"237":3,"239":2,"242":4,"243":1,"244":2,"245":1,"246":3,"248":1,"250":3,"252":1,"258":1,"264":1,"268":1,"269":1,"270":4,"273":3,"279":1,"280":1,"281":1,"283":2,"285":1,"286":1,"287":1,"288":3,"289":2,"290":1,"293":2,"294":2,"295":7,"296":1,"297":1,"298":6,"299":1,"300":1,"303":1,"305":1,"307":1,"310":1,"311":1,"312":2,"316":1,"320":1,"322":2,"323":1,"324":1,"325":1,"327":5,"328":2,"329":2,"331":3,"332":3,"333":3,"336":1,"337":1,"338":2,"339":1,"340":1,"343":2,"350":1,"364":5,"369":1,"370":4,"373":3,"380":1,"381":1,"383":4,"386":3,"389":5,"390":3,"391":4,"392":4,"395":1,"402":4,"403":4,"404":14,"405":2,"406":2,"410":8,"413":2,"414":3,"415":1,"416":3,"417":6,"418":3,"419":2,"420":2,"421":2,"422":3,"423":3,"425":1,"426":2,"427":6,"429":7,"430":8,"432":7,"433":3,"434":3,"435":5,"436":9,"438":2,"441":1,"447":3,"451":1,"452":1,"456":1,"457":4,"458":1,"459":1,"461":1,"462":3,"465":3,"466":3,"468":1,"469":1,"471":4,"472":1,"475":1,"479":1,"480":1,"484":2,"487":2,"488":2,"493":2,"494":1,"497":1,"500":1,"501":1,"502":2,"506":1,"507":1,"508":1,"509":1,"512":1,"516":2,"521":2,"522":4,"524":1,"527":3,"528":1,"529":1,"530":4,"532":2,"533":2,"534":4,"536":1,"538":1,"539":3,"543":4,"544":1,"545":1,"547":5,"549":1,"553":1,"554":4,"556":1,"563":3,"570":1,"572":5,"574":2,"575":1,"578":1,"581":2,"582":2,"583":1,"584":1,"585":1,"586":2,"589":2,"590":4,"591":2,"592":1,"593":3,"595":2,"596":2,"602":1,"604":1,"605":2,"607":4,"609":2,"610":1,"613":3,"615":1,"617":2,"619":1,"620":2,"621":2,"627":1,"630":3,"634":1,"636":1,"637":1,"638":1,"644":3,"646":7,"647":1,"649":1,"650":1,"651":3,"653":2,"654":1,"659":2,"662":1,"663":1,"666":1,"671":3,"674":1,"675":3,"677":3,"678":1,"684":2,"686":1,"687":1,"691":2,"694":1,"699":2,"701":1,"705":2,"706":2,"709":7,"710":2,"720":4,"722":3,"725":3,"726":3,"728":1,"733":2,"734":1,"738":1,"739":2,"740":1,"742":3,"745":1,"746":1,"747":2,"748":1,"749":1}}],["lcd",{"2":{"713":2}}],["luckily",{"2":{"420":1,"423":1}}],["luck",{"2":{"369":1}}],["lunaroasis",{"2":{"324":2,"700":2,"712":1,"713":1,"714":1,"716":1}}],["l",{"2":{"364":2}}],["l3",{"2":{"303":1,"306":2}}],["l3s",{"2":{"104":1,"237":1}}],["l5dhzjldczo",{"2":{"194":2,"195":2}}],["ljj6hspn0kn09qf9fy8kdyh40000gn",{"2":{"190":4}}],["l1",{"0":{"377":1},"2":{"117":3,"306":1,"360":1,"361":1,"365":1,"377":1,"414":1}}],["l2genesisdeltatimeoffset",{"2":{"366":1}}],["l2oo",{"2":{"355":2,"372":2}}],["l2s",{"2":{"104":2,"158":1,"167":1,"169":1,"237":2,"295":1,"483":1}}],["l2",{"0":{"377":1},"2":{"88":1,"103":1,"104":1,"109":2,"111":1,"117":4,"118":2,"127":1,"129":1,"158":1,"159":2,"162":1,"166":2,"237":1,"255":1,"289":1,"293":3,"306":2,"377":1,"414":2}}],["lts",{"2":{"286":1,"549":1,"610":1,"627":1,"666":1,"696":1}}],["lt",{"2":{"86":2,"87":2,"108":3,"135":2,"206":4,"216":13,"217":12,"218":12,"222":5,"223":8,"242":2,"245":2,"246":2,"249":14,"250":100,"254":4,"272":4,"298":14,"324":6,"325":21,"327":6,"329":6,"330":4,"332":8,"333":8,"337":2,"340":4,"343":6,"345":4,"359":4,"360":1,"373":11,"408":4,"409":4,"477":8,"479":3,"497":2,"510":2,"512":2,"515":2,"517":3,"518":2,"519":4,"522":1,"530":3,"534":10,"535":1,"536":8,"545":3,"553":8,"554":4,"555":12,"559":8,"560":6,"561":8,"562":18,"563":20,"564":4,"565":6,"566":16,"567":4,"568":6,"569":2,"572":2,"583":10,"585":14,"586":16,"589":10,"592":10,"593":8,"594":4,"595":8,"629":4,"632":2,"636":2,"656":2,"671":4,"672":12,"699":4,"700":6,"701":3,"702":12,"716":8,"728":3,"742":4,"744":4,"745":6,"746":6}}],["living",{"2":{"708":1}}],["lives",{"2":{"66":1,"192":1}}],["live",{"2":{"64":4,"192":1,"244":1,"245":1,"296":1,"706":1}}],["life",{"2":{"438":1,"705":1}}],["lifecycle",{"0":{"435":1},"1":{"436":1}}],["libp2p",{"2":{"436":1,"547":1}}],["library",{"0":{"309":1},"2":{"129":3,"242":1,"247":2,"309":1,"310":1,"384":1}}],["libraries",{"2":{"58":2,"247":1,"284":1,"286":1,"287":1,"385":1,"736":1}}],["lib",{"2":{"125":2,"129":1}}],["libssl",{"2":{"92":2,"319":4,"661":4}}],["lightdsudo",{"2":{"746":2}}],["lightd",{"2":{"746":13}}],["lightbridgefull",{"2":{"653":1}}],["light$home",{"2":{"370":1}}],["light",{"0":{"78":1,"108":1,"140":1,"323":1,"370":1,"380":1,"409":1,"463":1,"464":1,"654":1,"693":1,"694":1,"696":1,"698":1,"699":1,"702":1,"703":1,"723":1,"724":1,"746":1},"1":{"655":1,"656":1,"694":1,"695":1,"696":1,"697":2,"698":1,"699":2,"700":2,"701":2,"702":2,"703":2,"704":1},"2":{"78":7,"103":1,"107":1,"108":10,"131":1,"133":9,"140":1,"141":1,"158":1,"180":1,"214":1,"216":2,"217":2,"218":2,"222":5,"223":10,"240":1,"288":1,"312":1,"314":1,"318":1,"323":8,"324":13,"325":12,"329":3,"330":3,"331":12,"332":3,"368":1,"370":13,"373":9,"379":1,"380":9,"381":1,"383":1,"390":2,"405":1,"415":1,"416":4,"417":6,"418":2,"426":1,"427":5,"428":8,"429":3,"434":2,"436":9,"461":1,"476":1,"477":3,"547":1,"584":2,"587":1,"594":3,"597":1,"601":2,"607":6,"622":2,"649":3,"655":6,"656":6,"664":2,"693":1,"694":2,"695":1,"698":6,"699":8,"700":12,"702":9,"703":1,"704":1,"715":1,"716":1,"720":1,"731":2,"737":2,"739":2,"745":1,"746":7}}],["lightning",{"2":{"66":1,"289":1}}],["lisbon",{"2":{"68":1}}],["lists",{"2":{"520":1}}],["listing",{"2":{"511":3,"559":2}}],["listblobstream",{"2":{"500":1,"528":1,"544":1}}],["listens",{"2":{"643":1}}],["listening",{"2":{"535":1,"643":1}}],["listen",{"2":{"436":1,"522":1,"530":4,"535":1,"539":1,"571":4,"572":1,"643":1,"694":1}}],["listen=0",{"2":{"373":2}}],["listeners",{"2":{"242":2}}],["listcelestia",{"2":{"202":1,"211":1}}],["list",{"0":{"83":1,"195":1,"511":1,"520":1},"2":{"42":1,"54":1,"60":1,"61":2,"74":2,"83":6,"125":2,"149":2,"152":2,"195":2,"202":2,"211":1,"222":3,"223":3,"271":4,"277":4,"325":2,"380":1,"427":1,"444":1,"461":1,"462":1,"500":1,"506":1,"508":4,"511":4,"516":4,"520":7,"522":1,"524":1,"528":1,"539":1,"544":1,"553":2,"554":2,"559":2,"563":1,"571":2,"592":2,"613":2,"632":3,"636":1,"671":4,"690":2,"699":2,"700":2,"710":1,"720":1,"722":1}}],["lines",{"2":{"568":2}}],["linear",{"2":{"404":1}}],["line",{"0":{"576":1},"2":{"108":2,"206":1,"324":1,"326":1,"380":1,"553":1,"575":1,"595":1,"602":1,"647":1,"653":1,"690":1}}],["lineup",{"2":{"61":1}}],["linuxdocker",{"2":{"654":1}}],["linux",{"2":{"94":6,"98":2,"108":2,"286":1,"320":12,"549":1,"581":1,"610":1,"627":1,"652":1,"659":1,"662":12,"666":1,"696":1}}],["linked",{"2":{"140":1}}],["links",{"0":{"488":1},"2":{"72":1,"82":1}}],["link",{"2":{"44":1,"461":1,"475":1,"572":2,"573":1,"710":1,"720":1}}],["little",{"2":{"58":1,"288":1,"364":1,"688":1}}],["liechtenstein",{"2":{"45":3}}],["license",{"2":{"44":1,"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2}}],["limitnofile=65536",{"2":{"744":2,"745":2}}],["limitnofile=4096",{"2":{"742":2,"746":2}}],["limitnofile=infinity",{"2":{"536":2}}],["limitcore=infinity",{"2":{"536":2}}],["limit=fc+∑i=1nssn",{"2":{"404":1}}],["limit×gas",{"2":{"404":1}}],["limits",{"0":{"402":1},"1":{"403":1,"404":1,"405":1},"2":{"334":1,"433":1,"571":2}}],["limitexamplesadvanced",{"2":{"314":1}}],["limited",{"2":{"44":1,"45":2,"283":1,"428":2,"434":1,"563":1}}],["limit",{"0":{"334":1},"2":{"197":2,"332":1,"334":10,"343":1,"387":1,"402":2,"404":4,"405":1,"410":2,"479":1,"709":1,"728":1}}],["limitation",{"2":{"42":1}}],["liable",{"2":{"42":2,"44":1}}],["liability",{"2":{"41":1,"42":2}}],["likely",{"0":{"533":1},"2":{"133":5,"288":2,"424":1,"538":1,"593":1}}],["likelihood",{"2":{"63":1,"436":1}}],["like",{"2":{"14":1,"49":2,"54":1,"58":2,"59":1,"64":1,"65":2,"66":1,"102":1,"131":1,"132":1,"137":1,"177":1,"178":2,"180":2,"186":1,"187":1,"191":1,"197":3,"222":1,"223":1,"238":3,"273":1,"290":1,"293":1,"295":1,"312":2,"317":1,"319":1,"324":1,"325":1,"331":1,"333":1,"340":2,"343":3,"348":1,"350":1,"357":1,"358":1,"360":1,"369":1,"370":1,"371":1,"374":1,"377":1,"395":1,"413":1,"414":1,"416":1,"422":1,"425":1,"441":1,"453":1,"461":2,"475":1,"500":1,"528":1,"532":2,"544":1,"555":1,"572":1,"583":2,"586":1,"591":1,"592":1,"595":1,"624":1,"651":1,"653":2,"661":1,"672":1,"673":1,"699":1,"702":1,"706":1,"710":1,"720":2,"737":1}}],["laddr",{"2":{"582":1}}],["ladder",{"2":{"17":1}}],["lag",{"2":{"472":1}}],["latter",{"2":{"434":1}}],["latency",{"2":{"271":4}}],["latestrollupheight",{"2":{"133":2,"135":6}}],["latest",{"2":{"133":2,"201":1,"222":2,"269":1,"283":1,"322":6,"360":2,"391":2,"414":1,"459":1,"471":1,"472":2,"501":4,"580":12,"581":1,"596":6,"598":1,"609":1,"653":6,"655":6,"656":6,"671":1,"734":1}}],["later",{"2":{"58":1,"245":1,"247":1,"364":1,"381":1,"386":1,"420":1,"435":1,"436":1,"580":1,"635":1,"685":1,"737":1,"739":1}}],["land",{"2":{"390":1}}],["lang",{"2":{"206":2}}],["languages",{"2":{"157":1}}],["language",{"2":{"8":1,"13":1}}],["large",{"2":{"252":1,"288":2}}],["larger",{"2":{"58":1,"60":1,"288":1,"428":1,"571":2}}],["launch",{"2":{"169":1,"434":1,"447":2,"452":1,"677":1}}],["launching",{"2":{"52":1,"60":1}}],["layout",{"2":{"134":1,"154":2}}],["layers",{"2":{"27":1,"49":2,"294":1,"389":2,"426":2,"432":1,"433":7}}],["layer",{"0":{"426":1},"1":{"427":1,"428":1,"429":1,"430":1,"431":1,"432":1},"2":{"25":1,"27":1,"29":1,"102":3,"103":1,"104":1,"158":1,"159":1,"168":1,"169":5,"170":1,"178":3,"237":1,"282":1,"285":1,"290":1,"295":5,"314":1,"316":1,"356":3,"388":1,"392":2,"393":1,"395":3,"426":3,"428":2,"430":4,"432":4,"433":6,"435":1,"436":1,"438":1,"452":1,"483":1,"488":1,"546":2,"547":1,"608":1,"738":2}}],["labels",{"2":{"572":4}}],["label",{"2":{"279":1,"572":2}}],["labeled",{"2":{"71":1}}],["labs",{"2":{"40":2,"41":1,"50":1,"52":5,"61":2,"62":2,"63":2,"64":5,"65":10,"83":1,"168":1,"446":1,"471":1,"675":1}}],["law",{"2":{"45":1}}],["laws",{"2":{"45":11}}],["lastly",{"2":{"572":1}}],["lastblock",{"2":{"135":6}}],["lasts",{"2":{"51":1}}],["last",{"0":{"533":1},"2":{"41":1,"59":1,"61":1,"340":6,"568":2}}],["ledger",{"2":{"413":1}}],["less",{"2":{"178":1,"391":1,"709":1}}],["lessons",{"2":{"50":1,"56":1}}],["lesson",{"2":{"21":3,"22":3,"25":3,"27":3,"29":3,"33":4}}],["left",{"2":{"133":1,"423":1}}],["lets",{"2":{"180":1}}],["let",{"2":{"65":3,"118":1,"129":1,"233":1,"239":1,"242":2,"244":1,"248":1,"250":2,"252":1,"323":1,"324":1,"327":1,"336":1,"337":1,"340":1,"378":1,"380":3,"383":1,"386":2,"601":1}}],["leveraging",{"2":{"239":1,"276":1}}],["leverages",{"2":{"125":1}}],["leverage",{"2":{"61":1,"62":1,"63":1}}],["leveldb",{"2":{"646":1}}],["levels",{"2":{"310":1}}],["level",{"0":{"154":1},"1":{"155":1,"156":1},"2":{"7":1,"21":1,"108":2,"129":1,"131":1,"159":1,"271":2,"310":1,"397":1,"416":1,"471":1,"530":4,"573":1}}],["lemonade",{"2":{"59":1}}],["len",{"2":{"135":8,"137":6,"410":4}}],["length",{"2":{"132":2,"242":6}}],["lens",{"2":{"49":1}}],["lending",{"2":{"49":1}}],["legacy",{"2":{"563":3,"564":2}}],["legal",{"2":{"41":1,"44":1,"45":1}}],["legended",{"2":{"45":1}}],["legend",{"2":{"45":3}}],["legends",{"2":{"45":2}}],["leave",{"2":{"742":1}}],["leaves",{"2":{"125":2,"149":6,"152":2,"435":1}}],["leaving",{"2":{"709":1}}],["leapwallet",{"2":{"398":1}}],["leap",{"0":{"265":1,"266":1,"299":1,"300":1,"302":1},"1":{"266":1,"267":1,"268":1,"300":1,"301":1,"302":1},"2":{"258":1,"299":1,"300":3,"301":1,"302":3}}],["leafs",{"2":{"430":1}}],["leaf",{"2":{"145":2,"146":2,"152":4}}],["least",{"2":{"59":1,"63":1,"91":1,"417":1,"427":1,"429":1,"436":2,"576":2,"609":1,"622":1,"688":1}}],["lead",{"2":{"14":1,"15":1,"52":1,"61":1}}],["leaders",{"2":{"7":1,"9":2,"11":2,"12":1,"13":1}}],["learned",{"2":{"56":1,"120":1,"201":1,"208":1,"236":1}}],["learning",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"3":1,"8":1,"48":1,"64":1,"66":2,"238":1,"296":1}}],["learn",{"2":{"3":1,"33":3,"64":1,"70":1,"74":1,"105":1,"111":1,"114":1,"132":1,"170":1,"178":1,"186":1,"200":1,"207":1,"222":1,"225":1,"230":1,"258":1,"275":1,"282":1,"284":1,"285":1,"293":1,"294":1,"300":1,"303":1,"322":1,"334":1,"378":2,"396":1,"409":1,"411":1,"438":1,"441":2,"444":2,"445":1,"453":1,"454":1,"475":1,"483":1,"487":2,"521":1,"538":1,"558":1,"580":1,"581":2,"596":1,"651":1,"710":1,"731":1}}],["lower",{"2":{"539":1}}],["low",{"2":{"226":1,"237":1,"289":1,"298":2,"747":1}}],["loading",{"2":{"386":2}}],["loadenv",{"2":{"386":7,"387":2}}],["load",{"2":{"216":1,"386":6,"410":2,"537":1,"645":1,"646":1,"647":1}}],["loads",{"2":{"95":2,"250":2,"386":2}}],["lost",{"0":{"535":1},"1":{"536":1,"537":1},"2":{"535":1,"593":1,"654":1}}],["lose",{"2":{"211":1}}],["loss",{"2":{"42":2,"510":2}}],["locked",{"2":{"298":2,"447":1}}],["lock",{"2":{"181":1}}],["located",{"2":{"134":1,"241":1}}],["locate",{"2":{"132":1}}],["location",{"0":{"592":1},"2":{"59":2,"83":1,"132":2,"134":1,"135":1,"190":1,"331":1,"370":1,"492":1,"526":1,"542":1,"557":4,"592":10,"601":1,"689":1,"698":1}}],["localroot",{"2":{"223":1}}],["locally",{"0":{"245":1},"2":{"192":1,"239":1,"244":1,"245":2,"246":1,"402":1,"586":1}}],["localised",{"2":{"151":1}}],["localhost",{"2":{"86":2,"108":2,"117":3,"118":3,"233":2,"245":2,"246":6,"249":6,"251":1,"252":1,"328":1,"360":2,"361":2,"373":2,"380":1,"383":2,"501":6,"530":4,"571":2,"572":4,"582":3,"591":3,"643":2,"742":2}}],["local",{"0":{"187":1,"188":1,"369":1},"1":{"188":1,"189":2,"190":2,"191":2,"192":2,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1},"2":{"2":1,"58":1,"60":1,"61":2,"62":2,"63":3,"64":2,"71":1,"94":6,"98":8,"108":2,"118":1,"186":1,"191":1,"194":2,"195":4,"200":1,"201":1,"208":1,"217":1,"223":1,"233":3,"245":4,"248":1,"320":21,"359":1,"365":1,"368":2,"369":1,"373":2,"383":1,"464":1,"560":2,"581":1,"586":1,"629":1,"655":2,"656":2,"662":21,"724":1}}],["looks",{"2":{"333":1}}],["lookups",{"2":{"242":2}}],["looking",{"2":{"66":1,"170":1,"361":1,"483":1,"650":1,"651":1}}],["look",{"2":{"64":1,"114":2,"119":2,"129":1,"131":1,"197":1,"222":1,"223":1,"230":2,"235":2,"324":1,"331":1,"333":1,"336":1,"343":1,"360":1,"361":1,"362":1,"380":1,"427":1,"432":1,"436":1,"532":2,"583":2,"655":1,"656":1,"689":1,"699":1}}],["loop",{"2":{"41":1}}],["logger",{"2":{"364":2}}],["logging",{"2":{"242":1,"530":4}}],["logsmake",{"2":{"357":1,"374":1}}],["logsbloom",{"2":{"119":2,"235":2,"360":2}}],["logs",{"0":{"357":1,"374":1,"537":1,"568":1},"2":{"119":2,"197":2,"235":2,"357":2,"359":6,"365":1,"366":1,"374":2,"501":1,"522":1,"534":2,"536":1,"537":2,"539":1,"568":7,"622":1,"629":2,"636":2,"677":1,"742":1,"744":1,"745":1,"746":1}}],["log",{"2":{"108":2,"197":2,"245":1,"271":2,"364":4,"385":2,"386":12,"530":4,"534":4,"572":1,"595":1,"629":2,"636":2}}],["logos",{"2":{"65":1}}],["logo",{"2":{"62":1,"65":1,"76":1,"301":1,"302":1}}],["logic",{"2":{"104":1,"133":1,"162":2,"181":1,"387":1,"432":1,"547":1}}],["logical",{"2":{"61":1}}],["login",{"2":{"89":1,"256":1,"572":1}}],["logistics",{"0":{"57":1,"81":1},"1":{"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1},"2":{"54":1,"57":1,"61":1}}],["lot",{"2":{"57":1,"58":1,"75":1,"433":1}}],["longer",{"2":{"288":1,"413":1,"429":1,"452":1,"510":1,"530":1,"574":1}}],["long",{"2":{"39":1,"45":1,"390":1,"391":1,"427":1,"442":1}}],["love",{"2":{"2":1,"66":1}}],["ll",{"2":{"0":1,"59":1,"74":1,"81":1,"83":1,"87":1,"98":2,"118":1,"119":1,"201":1,"222":1,"223":1,"226":1,"233":2,"234":1,"235":1,"239":1,"245":2,"247":1,"249":1,"250":2,"251":1,"252":2,"254":1,"301":1,"302":1,"327":1,"360":1,"373":1,"378":4,"387":1,"413":1,"592":1,"655":1,"685":1}}],["wsl",{"2":{"659":2}}],["wss",{"0":{"173":1},"2":{"173":1}}],["ws",{"2":{"117":1,"173":1,"271":4}}],["wget",{"2":{"92":2,"94":2,"319":10,"320":8,"623":6,"644":2,"661":10,"662":8}}],["won",{"2":{"158":1,"734":1}}],["wonderful",{"2":{"57":1}}],["wouldn",{"2":{"418":1,"537":1}}],["would",{"2":{"58":1,"63":1,"66":5,"129":1,"131":1,"133":9,"134":1,"137":3,"159":1,"166":1,"167":1,"187":1,"197":1,"257":1,"312":1,"317":1,"325":1,"331":1,"343":1,"392":1,"461":2,"475":1,"516":1,"517":1,"530":1,"535":2,"537":1,"563":1,"583":1,"591":1,"624":1,"651":1,"653":2,"673":1,"710":1,"720":2}}],["worry",{"2":{"651":1}}],["words",{"2":{"127":1,"420":1,"433":1}}],["word",{"2":{"60":1,"63":1}}],["wordle",{"2":{"22":1,"393":1}}],["workflow",{"2":{"224":1,"299":1,"386":1}}],["workshop",{"0":{"77":1,"78":1,"79":1,"80":1}}],["workshops",{"2":{"58":1,"61":1}}],["works",{"0":{"160":1,"522":1,"539":1},"1":{"161":1},"2":{"52":1,"59":2,"159":1,"160":1,"198":1,"403":1,"405":1,"406":1,"416":1,"441":1,"453":1,"483":1,"539":1,"587":1}}],["work",{"2":{"52":1,"59":1,"129":1,"141":1,"286":1,"364":1,"370":1,"373":1,"395":1,"430":1,"477":1,"494":1,"516":1,"522":1,"533":1,"539":1,"675":1}}],["working",{"0":{"683":1,"684":1},"2":{"50":1,"54":1,"58":2,"215":2,"243":1,"247":1,"290":1,"322":1,"370":1,"571":1,"596":1,"683":1}}],["world",{"2":{"25":1,"67":1,"378":1,"393":2,"705":1}}],["wrapped",{"2":{"694":1}}],["wrapping",{"0":{"387":1},"2":{"133":1}}],["wrap",{"2":{"386":1}}],["wraps",{"2":{"133":2}}],["wrong",{"0":{"595":1},"2":{"49":1,"595":2}}],["writing",{"2":{"133":2,"141":1}}],["write",{"2":{"30":1,"37":1,"48":2,"57":1,"119":1,"194":2,"223":1,"235":1,"364":1,"378":1,"731":1}}],["written",{"2":{"13":1,"42":2,"169":2,"295":2,"320":1,"662":1}}],["www",{"2":{"17":3}}],["walkthrough",{"0":{"657":1},"1":{"658":1}}],["wall",{"2":{"52":1}}],["wallet=",{"2":{"629":2,"636":2}}],["walletcelestia",{"2":{"534":1}}],["wallet",{"0":{"202":1,"209":1,"211":1,"212":1,"213":1,"259":1,"260":1,"265":1,"558":1,"628":1},"1":{"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"261":1,"262":1,"263":1,"264":1,"266":1,"267":1,"268":1},"2":{"42":2,"44":4,"87":1,"89":1,"209":1,"211":3,"212":2,"213":1,"224":1,"225":1,"226":2,"234":1,"240":1,"247":1,"249":1,"250":4,"251":1,"254":1,"256":1,"273":1,"297":1,"298":5,"299":1,"300":1,"301":1,"302":2,"308":1,"310":1,"312":1,"325":5,"380":1,"398":2,"399":1,"534":1,"554":1,"562":1,"563":6,"564":2,"565":2,"566":4,"567":2,"569":1,"619":1,"628":1,"629":8,"636":4,"637":4,"671":1,"700":1,"701":2}}],["walletsrpc",{"2":{"314":1}}],["wallets",{"0":{"272":1,"325":1,"700":1},"1":{"701":1},"2":{"33":1,"211":1,"247":1,"249":4,"258":1,"272":3,"456":1}}],["wagmiclient",{"2":{"249":4}}],["wagmiconfig",{"2":{"249":6}}],["wagmi",{"2":{"247":1,"248":2,"249":4,"250":2}}],["wait",{"2":{"137":1,"212":1,"250":2,"267":1,"406":1,"410":2,"522":1,"534":1,"539":1}}],["waiting",{"2":{"133":1,"135":1,"137":3,"410":2,"522":6,"539":6}}],["waive",{"2":{"42":1}}],["watch",{"2":{"64":1}}],["watchlist",{"2":{"42":1}}],["water",{"2":{"59":2}}],["way",{"2":{"45":1,"62":1,"194":2,"211":1,"249":1,"288":1,"296":1,"305":1,"311":1,"378":1,"423":1,"426":1,"472":1,"507":1,"521":1,"563":1,"572":1,"581":1,"651":2,"694":1}}],["ways",{"2":{"7":1,"51":1,"169":1,"179":1,"295":1,"307":1,"407":1,"731":1}}],["warn",{"2":{"574":1}}],["warning",{"0":{"14":1},"2":{"13":1,"14":1,"106":1,"108":1,"312":1,"317":1,"459":1,"467":1,"472":1,"478":1,"530":1,"533":2,"591":1,"728":1}}],["warm",{"2":{"63":1}}],["warranties",{"2":{"45":1}}],["wants",{"2":{"534":1,"535":1,"682":1}}],["wanting",{"2":{"310":1}}],["wantedby=multi",{"2":{"536":2,"742":2,"744":2,"745":2,"746":2}}],["wanted",{"2":{"197":2,"534":2,"629":2,"636":2}}],["want",{"2":{"19":1,"48":1,"99":1,"177":1,"178":1,"180":1,"211":1,"216":1,"246":1,"249":2,"271":1,"302":1,"312":1,"327":2,"406":1,"410":4,"416":1,"424":1,"461":1,"487":1,"492":1,"493":1,"501":1,"510":3,"512":1,"526":1,"536":1,"538":1,"542":1,"563":1,"571":2,"587":1,"604":2,"618":1,"619":2,"620":2,"629":2,"636":1,"678":2,"682":1,"687":1,"720":1,"734":1,"739":1}}],["wasm",{"0":{"99":1},"2":{"99":2}}],["wasm32",{"2":{"96":2}}],["was",{"2":{"13":1,"29":1,"45":1,"128":1,"129":5,"131":1,"135":1,"137":1,"147":6,"148":1,"153":6,"157":1,"159":2,"169":1,"178":1,"190":1,"192":1,"222":1,"247":1,"273":1,"295":1,"320":1,"332":1,"333":2,"334":1,"364":1,"386":3,"410":4,"413":1,"430":1,"435":1,"436":1,"517":1,"530":1,"535":2,"580":1,"623":1,"629":1,"662":1,"696":1,"742":1,"744":1,"745":1,"746":1}}],["wise",{"2":{"435":1}}],["wish",{"2":{"391":1,"402":1,"406":1,"519":1}}],["wisdom",{"2":{"74":1}}],["width",{"2":{"249":2,"250":8}}],["windows",{"2":{"652":1,"659":2}}],["window",{"2":{"222":1,"223":1,"250":6,"298":8,"390":4,"674":1,"747":1,"748":1,"749":1}}],["wiki",{"2":{"9":1}}],["willingness",{"2":{"406":1}}],["willing",{"2":{"308":1,"404":1}}],["will",{"2":{"9":2,"11":1,"12":1,"22":2,"25":1,"27":1,"29":1,"33":1,"42":6,"44":1,"45":8,"46":2,"48":5,"49":1,"50":2,"51":3,"52":2,"58":1,"59":1,"60":2,"61":1,"62":1,"65":1,"66":3,"68":1,"70":1,"71":2,"82":2,"87":1,"88":1,"90":1,"99":1,"100":1,"108":3,"111":1,"117":3,"118":2,"119":2,"120":2,"131":1,"132":1,"133":3,"137":1,"145":1,"146":1,"147":5,"149":3,"151":1,"159":3,"165":1,"177":1,"179":2,"186":1,"190":3,"193":1,"194":1,"197":2,"198":1,"199":1,"200":2,"204":3,"205":1,"206":1,"209":1,"213":2,"215":1,"216":4,"222":1,"223":2,"224":1,"226":1,"227":1,"234":2,"235":2,"236":1,"238":2,"239":1,"245":3,"246":3,"250":4,"252":1,"254":2,"255":1,"258":1,"261":1,"263":1,"264":1,"268":1,"271":1,"272":1,"280":1,"288":3,"293":1,"295":1,"297":1,"298":5,"299":1,"302":1,"312":1,"314":1,"317":1,"319":1,"320":1,"322":2,"323":1,"324":1,"325":2,"326":2,"327":1,"328":1,"329":3,"330":1,"331":1,"332":5,"333":6,"334":1,"336":1,"337":1,"340":3,"343":1,"351":1,"360":1,"361":1,"362":1,"365":1,"366":1,"367":1,"368":1,"370":3,"373":3,"380":5,"381":1,"382":1,"383":1,"384":2,"385":1,"386":3,"387":1,"388":2,"389":1,"390":5,"391":2,"393":1,"401":1,"406":3,"410":4,"413":2,"414":1,"416":1,"417":1,"423":1,"424":1,"436":1,"439":1,"441":1,"446":1,"447":2,"456":1,"461":1,"472":2,"475":1,"477":2,"483":1,"487":2,"492":2,"493":2,"494":1,"500":2,"501":2,"506":3,"507":1,"509":1,"510":2,"515":1,"516":1,"517":4,"518":1,"519":1,"521":1,"522":2,"524":1,"526":2,"527":3,"528":2,"529":2,"530":7,"533":2,"534":4,"539":3,"542":2,"543":3,"544":1,"545":1,"546":1,"552":1,"553":1,"554":2,"560":3,"563":1,"572":6,"576":2,"579":1,"580":4,"581":3,"583":3,"584":1,"585":3,"587":3,"589":2,"591":1,"592":1,"593":1,"596":2,"601":1,"607":1,"613":1,"615":1,"619":1,"620":3,"621":1,"629":1,"635":1,"636":2,"637":1,"641":1,"646":2,"647":2,"654":4,"655":1,"656":1,"660":1,"662":1,"663":1,"671":2,"674":1,"675":1,"676":1,"677":7,"679":1,"680":1,"681":1,"684":2,"685":1,"688":3,"689":3,"693":2,"698":2,"700":2,"706":2,"710":1,"716":1,"720":1,"734":2,"737":1,"739":2,"742":1,"744":1,"745":2,"746":3,"747":1}}],["withdraw",{"2":{"565":2}}],["withdrawalsroot",{"2":{"360":2}}],["withheld",{"2":{"414":1}}],["withhold",{"2":{"414":1,"436":1}}],["withholding",{"2":{"414":1}}],["withtransportcredentials",{"2":{"410":2}}],["withcancel",{"2":{"386":2,"387":2}}],["within",{"2":{"10":1,"16":1,"44":2,"45":1,"58":1,"61":1,"68":1,"83":1,"293":1,"327":1,"390":1,"438":1,"521":1,"538":1,"659":1,"747":1,"748":1}}],["without",{"2":{"8":1,"42":1,"45":1,"179":1,"197":1,"250":2,"330":1,"364":1,"370":1,"391":1,"415":1,"416":1,"426":1,"434":1,"447":1,"506":1,"519":3,"651":1,"653":1}}],["with",{"0":{"34":1,"36":1,"87":1,"89":1,"99":1,"101":1,"119":1,"121":1,"130":1,"158":1,"169":1,"186":1,"209":1,"213":1,"224":1,"235":1,"256":1,"260":1,"265":1,"297":1,"299":1,"304":1,"477":1,"555":1,"556":1,"568":1,"634":1,"654":1,"672":1,"673":1,"702":1,"703":1,"740":1,"742":1},"1":{"102":1,"103":1,"104":1,"105":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"225":1,"226":1,"261":1,"262":1,"263":1,"264":1,"266":1,"267":1,"268":1,"298":1,"300":1,"301":1,"302":1,"655":1,"656":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"1":1,"2":1,"3":2,"5":1,"14":3,"15":3,"21":1,"22":5,"25":3,"27":3,"28":4,"29":4,"31":4,"33":5,"41":1,"42":5,"43":6,"44":4,"45":18,"46":1,"48":2,"50":1,"51":2,"52":1,"54":2,"55":1,"56":2,"58":5,"60":5,"61":7,"62":2,"63":2,"64":5,"65":3,"66":1,"67":1,"68":1,"71":1,"72":2,"73":1,"79":1,"81":1,"83":1,"87":4,"88":3,"89":1,"98":1,"99":2,"102":5,"104":1,"107":1,"108":1,"113":2,"114":2,"115":1,"118":2,"119":1,"129":3,"133":3,"137":1,"141":1,"145":1,"146":1,"149":1,"153":4,"158":2,"160":3,"162":3,"163":1,"166":1,"168":3,"169":1,"171":2,"173":1,"176":1,"178":1,"180":1,"181":2,"190":1,"197":2,"207":1,"212":1,"213":1,"216":1,"221":1,"222":3,"223":5,"229":2,"230":2,"231":1,"233":1,"234":2,"235":1,"237":2,"238":1,"242":2,"244":1,"245":3,"246":1,"247":1,"248":1,"249":1,"250":1,"252":2,"254":4,"255":3,"256":1,"257":1,"261":1,"270":1,"272":1,"279":1,"283":1,"285":1,"286":1,"289":2,"290":2,"294":1,"295":1,"296":1,"303":1,"305":1,"307":2,"310":2,"311":1,"322":3,"324":2,"325":4,"326":1,"327":5,"328":1,"329":3,"330":2,"331":1,"332":2,"333":1,"336":1,"343":1,"349":1,"350":1,"360":1,"364":4,"365":2,"368":1,"370":2,"373":1,"378":2,"380":1,"382":1,"383":1,"386":3,"387":1,"388":2,"392":2,"393":1,"396":2,"397":1,"401":1,"404":1,"406":2,"414":1,"418":1,"419":1,"420":1,"425":1,"427":2,"428":1,"429":6,"430":2,"432":1,"433":1,"434":1,"435":4,"436":3,"438":1,"439":1,"441":1,"453":1,"457":1,"462":1,"465":2,"466":1,"471":1,"472":1,"476":2,"477":5,"479":1,"483":1,"489":1,"500":1,"501":1,"502":1,"508":1,"513":1,"515":1,"516":1,"522":1,"528":1,"530":1,"534":4,"539":1,"544":1,"547":3,"554":2,"556":2,"557":2,"563":6,"565":1,"566":2,"567":1,"568":1,"572":5,"574":1,"575":1,"576":2,"579":1,"580":1,"581":2,"582":1,"583":2,"585":1,"590":1,"591":1,"592":3,"593":1,"594":1,"596":2,"607":1,"613":1,"615":1,"619":1,"630":1,"634":2,"635":1,"637":1,"643":1,"649":3,"653":1,"656":1,"659":1,"671":2,"673":1,"675":3,"676":1,"678":2,"682":1,"685":1,"687":3,"688":2,"689":2,"691":4,"692":1,"694":1,"699":2,"700":3,"703":1,"704":1,"706":2,"709":1,"716":2,"722":1,"725":2,"726":1,"728":1,"734":1,"736":1,"737":1,"747":1}}],["while",{"2":{"59":1,"114":1,"149":1,"169":1,"213":1,"230":1,"283":1,"288":1,"295":2,"343":1,"391":1,"392":1,"428":1,"433":1,"436":1,"513":1,"538":1,"677":1,"706":1,"733":1,"738":1}}],["whiteboard",{"2":{"58":1}}],["whiteboards",{"2":{"54":1,"58":1}}],["white",{"2":{"45":1}}],["which",{"0":{"648":1},"1":{"649":1,"650":1},"2":{"8":1,"41":3,"42":1,"45":3,"48":1,"59":1,"65":1,"66":1,"87":1,"102":1,"103":1,"104":1,"129":1,"132":1,"133":2,"135":1,"145":2,"146":2,"147":2,"148":1,"149":2,"150":1,"151":1,"153":4,"158":1,"165":1,"166":1,"169":2,"212":1,"216":1,"222":1,"249":2,"254":1,"269":1,"270":1,"280":1,"283":1,"293":1,"295":1,"307":1,"311":1,"312":1,"324":1,"332":4,"333":4,"334":1,"336":1,"364":1,"365":1,"366":1,"368":1,"373":1,"380":1,"386":3,"390":1,"391":1,"392":1,"403":1,"414":1,"422":1,"423":1,"433":1,"438":2,"441":1,"454":1,"461":1,"465":3,"475":1,"494":1,"517":1,"529":1,"530":1,"534":1,"552":1,"553":1,"554":1,"563":1,"572":2,"580":1,"583":1,"587":1,"589":1,"624":1,"632":1,"643":2,"646":2,"648":1,"650":1,"653":1,"663":1,"671":2,"675":2,"689":2,"691":1,"692":1,"693":1,"699":3,"709":4,"710":1,"720":1,"725":3,"737":1,"739":1,"742":2,"744":2,"745":2,"746":2}}],["whose",{"2":{"534":1}}],["whole",{"2":{"427":1}}],["who",{"0":{"424":1},"2":{"42":1,"45":1,"52":1,"61":1,"63":2,"64":3,"83":1,"161":1,"169":1,"308":1,"312":1,"331":1,"682":1,"689":1,"734":1}}],["why",{"0":{"418":1,"423":1},"2":{"13":1,"66":5,"83":1,"675":1}}],["whenever",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"48":1,"63":1,"237":1,"461":1,"720":1}}],["when",{"2":{"9":1,"10":1,"60":1,"66":1,"68":1,"83":1,"99":1,"103":1,"150":1,"169":1,"222":1,"242":2,"245":1,"250":3,"252":1,"282":1,"295":1,"325":1,"327":1,"328":1,"334":1,"370":1,"386":2,"387":2,"390":1,"404":1,"405":1,"413":2,"414":1,"430":1,"447":1,"506":1,"509":1,"514":1,"522":2,"527":1,"530":1,"534":2,"563":1,"571":2,"572":2,"582":1,"586":1,"590":1,"591":1,"592":1,"638":1,"644":1,"646":2,"655":1,"676":1,"688":1,"701":1}}],["where",{"0":{"422":1},"2":{"8":1,"51":1,"134":1,"147":2,"151":1,"206":2,"264":1,"268":1,"323":1,"325":1,"327":1,"378":1,"380":1,"381":1,"387":1,"388":1,"391":3,"392":1,"402":1,"403":1,"404":1,"418":1,"429":1,"435":1,"479":1,"501":1,"502":1,"539":1,"547":1,"558":1,"674":1,"701":1,"705":1,"728":1,"747":1}}],["whether",{"2":{"2":1,"45":1,"60":1,"298":3,"414":1,"420":1,"426":1,"647":1,"747":1}}],["whatever",{"2":{"211":1}}],["what",{"0":{"178":1,"293":1,"294":1,"395":1,"413":1,"414":1,"416":1,"417":1,"419":1,"420":1,"421":1,"425":1},"2":{"8":1,"21":1,"50":1,"66":4,"77":1,"78":1,"79":1,"108":1,"115":1,"120":1,"131":1,"134":1,"137":1,"177":1,"231":1,"236":1,"239":1,"257":1,"331":1,"333":1,"343":1,"387":2,"389":1,"471":1,"521":1,"538":1,"581":1,"585":1,"675":1}}],["went",{"2":{"629":1}}],["weak",{"2":{"420":1,"622":1}}],["we+s5gft6g944xbkvvygqb9oy+u",{"2":{"194":2,"195":2}}],["webhook",{"2":{"574":1}}],["websocket",{"2":{"271":4}}],["websites",{"2":{"718":1}}],["website",{"2":{"64":1,"297":1,"298":2}}],["web",{"0":{"468":1,"480":1},"2":{"247":1,"468":1,"480":1,"572":1}}],["web3provider",{"2":{"250":4}}],["web3",{"2":{"66":1,"68":1,"238":1}}],["wei",{"2":{"52":1}}],["wednesdays",{"2":{"50":1}}],["wednesday",{"2":{"21":1,"22":1,"23":1,"25":1,"27":1,"28":1,"29":1,"31":1,"32":1,"36":1,"37":1}}],["weeks",{"2":{"63":1}}],["weekly",{"2":{"50":1}}],["week",{"0":{"20":1,"21":1,"22":1,"23":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"479":1,"728":1}}],["were",{"2":{"17":1,"42":1,"45":2,"129":5,"147":6,"148":1,"388":1,"447":1,"676":1}}],["well",{"2":{"14":1,"41":1,"58":1,"59":2,"83":2,"181":1,"245":1,"270":1,"286":1,"308":1,"389":1,"507":1,"671":1}}],["welcoming",{"2":{"7":1,"58":1,"70":1}}],["welcome",{"2":{"0":1,"21":1,"41":1,"55":1,"65":2,"66":1,"67":1,"72":1,"75":1,"111":1,"378":1,"705":1}}],["we",{"2":{"2":1,"4":1,"7":2,"41":2,"42":5,"44":9,"51":2,"58":1,"66":8,"70":2,"83":2,"90":1,"100":1,"115":1,"118":2,"119":2,"120":1,"129":1,"132":4,"133":3,"134":1,"137":4,"144":1,"145":1,"146":1,"147":6,"148":2,"149":6,"151":1,"152":4,"157":1,"159":1,"180":1,"186":1,"190":1,"200":1,"201":2,"204":4,"209":1,"211":1,"215":1,"222":1,"223":2,"227":1,"231":1,"233":1,"234":3,"235":2,"238":1,"239":1,"242":5,"243":1,"244":2,"245":7,"246":7,"247":2,"248":1,"249":4,"250":8,"251":3,"252":2,"271":1,"272":2,"274":1,"276":1,"277":2,"282":1,"283":2,"284":1,"285":1,"287":1,"288":1,"290":1,"297":1,"298":6,"314":1,"320":1,"327":1,"332":6,"333":2,"336":1,"340":1,"360":1,"370":1,"378":1,"380":2,"381":1,"383":2,"384":1,"385":3,"386":12,"387":3,"388":1,"389":1,"393":1,"406":1,"410":12,"464":1,"471":1,"489":1,"492":1,"495":2,"501":1,"512":1,"515":2,"517":2,"519":1,"526":1,"528":1,"530":2,"532":1,"533":1,"538":1,"539":1,"542":1,"544":1,"545":3,"563":2,"572":1,"574":2,"585":1,"587":1,"592":1,"597":2,"602":1,"613":1,"635":1,"641":1,"655":2,"662":1,"684":2,"685":1,"706":1,"720":1,"724":1,"736":1,"739":1,"745":1}}],["dbbackend",{"2":{"646":1}}],["dns",{"2":{"522":2}}],["dns4",{"2":{"476":4}}],["dht",{"2":{"522":1}}],["d6",{"2":{"430":1}}],["d5",{"2":{"430":2}}],["d4",{"2":{"430":2}}],["d3",{"2":{"430":1}}],["ddc4gfalv4klkv5zh4e16mmo5fpnos1f5wzpds8yk3s0rvs4ulljj13euw+ovdv6q23zuv1shroevk5aptit7bgmzunvc1oikwjtxvbn0bigm6k2znwq78cnst2ez3+nzqq84ds28or",{"2":{"362":2}}],["d85c907ce660878a8203ac74baa147ccc1f87114b45b568b72ad207b62afe45e",{"2":{"340":2}}],["dynamic",{"2":{"180":1,"403":1,"404":1}}],["dymension",{"2":{"31":3,"40":1,"185":1,"396":1}}],["dl",{"2":{"94":2,"320":8,"662":8}}],["d",{"2":{"42":1,"45":1,"65":2,"137":4,"186":1,"191":1,"197":2,"250":18,"295":1,"343":1,"348":1,"357":1,"358":1,"362":2,"365":2,"369":1,"370":1,"371":1,"374":1,"377":1,"446":1,"447":2,"623":6}}],["double",{"2":{"593":1}}],["dos",{"2":{"310":1}}],["dom",{"2":{"249":2}}],["downside",{"2":{"429":1}}],["downmake",{"2":{"358":1,"375":1}}],["down",{"2":{"215":1,"226":1,"302":1,"358":2,"375":1,"405":1,"601":1,"676":1}}],["downloaded",{"2":{"391":1,"414":1}}],["downloads",{"2":{"322":1,"572":1,"596":1,"623":1}}],["downloading",{"0":{"137":1},"2":{"137":1,"319":1,"415":1,"429":2,"661":1}}],["download",{"2":{"133":1,"137":10,"187":1,"225":2,"288":1,"300":1,"317":1,"318":1,"320":1,"391":1,"413":3,"415":2,"416":1,"426":2,"427":1,"428":3,"429":1,"430":1,"432":1,"464":2,"548":1,"581":1,"609":1,"627":1,"662":1,"665":1,"695":1,"724":2}}],["downtime",{"2":{"104":2,"237":2,"363":1,"364":1}}],["doing",{"2":{"115":1,"137":1,"149":1,"178":1,"231":1,"249":1,"581":1}}],["docs",{"2":{"139":1,"158":2,"411":1,"487":1,"488":1,"574":1,"577":1,"581":2,"587":1,"622":1}}],["docker",{"0":{"220":1,"651":1},"1":{"221":1,"222":1,"223":1,"652":1,"653":1,"654":1,"655":1,"656":1,"657":1,"658":1,"659":1},"2":{"91":2,"98":4,"108":2,"221":2,"222":3,"223":4,"357":1,"359":2,"366":2,"370":1,"373":1,"651":7,"652":4,"654":1,"655":2,"656":2}}],["document",{"2":{"56":1,"249":2,"281":1,"389":1,"576":6,"708":1}}],["documentation",{"0":{"0":1,"138":1},"1":{"1":1,"2":1,"3":1,"4":1,"139":1,"140":1,"141":1},"2":{"0":1,"1":1,"3":1,"4":1,"42":3,"55":1,"128":1,"129":1,"133":2,"134":3,"159":1,"207":1,"284":1,"303":1,"305":1,"307":1,"396":1,"475":1,"496":1,"500":1,"528":1,"538":1,"544":1,"558":2,"563":1,"571":2,"638":1,"710":1}}],["done",{"2":{"88":1,"131":1,"134":1,"146":1,"148":1,"255":1,"365":1,"406":1,"530":1,"549":1,"563":1,"610":1,"627":1,"666":1,"682":1,"734":1,"748":1}}],["don",{"2":{"58":1,"63":1,"64":1,"179":1,"180":1,"181":1,"202":1,"274":1,"312":1,"410":2,"418":1,"423":1,"534":1,"646":1,"739":1}}],["doesn",{"0":{"423":1},"2":{"143":1,"181":1,"270":1,"328":1,"350":1,"516":1,"522":1,"524":1,"533":1,"539":1,"663":1}}],["does",{"0":{"422":1},"2":{"41":1,"45":3,"160":1,"190":1,"294":1,"364":1,"390":1,"392":1,"402":1,"404":1,"406":1,"429":1,"435":1,"465":1,"467":1,"471":1,"478":1,"522":1,"532":2,"613":1,"659":1,"676":1,"725":1,"728":1,"731":1}}],["do",{"0":{"415":1,"425":1},"2":{"41":3,"42":1,"43":1,"45":2,"49":1,"66":1,"98":1,"104":1,"131":1,"152":1,"178":1,"210":1,"216":2,"222":1,"237":1,"244":1,"246":1,"249":1,"252":1,"272":1,"274":1,"285":1,"302":1,"324":1,"325":1,"359":1,"371":1,"380":1,"386":1,"387":1,"389":1,"390":1,"391":1,"402":1,"415":1,"418":1,"464":1,"472":1,"477":1,"487":1,"534":1,"536":1,"553":1,"554":1,"572":2,"587":1,"589":1,"620":1,"643":1,"659":1,"671":1,"674":1,"675":1,"678":1,"683":1,"699":1,"716":1,"724":1,"737":1,"746":1}}],["daemon",{"2":{"630":1,"740":1,"742":6,"744":3,"745":3,"746":4}}],["da6ed55cb2894ac2c9c10209c09de8e8b9d109b910338d5bf3d747a7e1fc9eb7",{"2":{"514":2}}],["dah",{"2":{"340":2,"341":2,"346":2,"386":2}}],["darwin",{"2":{"320":12,"581":1,"662":12}}],["daring",{"2":{"194":2}}],["dacd",{"2":{"362":1}}],["dac",{"2":{"166":1,"167":1}}],["dacs",{"0":{"164":1},"1":{"165":1,"166":1,"167":1},"2":{"165":1,"167":2}}],["daservice",{"2":{"362":2,"365":2}}],["das",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"158":1,"342":2,"416":1,"426":2,"427":2,"428":4,"429":1,"436":4,"693":1,"694":1,"746":1}}],["dashboards",{"2":{"441":1,"572":1,"636":1}}],["dashboard",{"2":{"44":1,"261":2,"262":1,"264":1,"268":1,"477":1,"572":5,"587":1,"716":2}}],["daverifier",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1},"2":{"129":3,"147":1}}],["da",{"0":{"101":1,"431":1,"477":1,"716":1},"1":{"102":1,"103":1,"104":1,"105":1,"432":1},"2":{"98":4,"104":2,"105":1,"106":1,"107":1,"108":4,"131":1,"133":4,"134":1,"137":1,"158":1,"169":5,"214":1,"237":1,"282":1,"290":2,"295":5,"308":2,"310":2,"312":1,"316":1,"349":1,"362":12,"365":6,"373":11,"426":3,"428":2,"430":4,"432":3,"433":6,"436":5,"476":5,"477":5,"547":1,"601":1,"693":1,"694":1,"716":7,"727":8,"737":2,"738":1}}],["dappforge",{"2":{"241":1}}],["dappsys",{"2":{"242":1}}],["dapps",{"2":{"102":1,"238":1}}],["dapp",{"0":{"84":1,"254":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"255":1,"256":1,"257":1},"2":{"102":1,"120":1,"176":1,"238":1,"241":3,"246":1,"251":1,"253":1,"291":1,"396":2}}],["dai",{"2":{"52":1}}],["date",{"2":{"45":3,"54":1,"322":1,"596":1}}],["datafromevmtransactions",{"2":{"364":3}}],["datastring",{"2":{"386":6}}],["datasetting",{"2":{"314":1}}],["datasharelen",{"2":{"132":4}}],["datasharestart",{"2":{"132":4}}],["dataretrieving",{"2":{"314":1}}],["dataroottupleroot",{"2":{"145":1}}],["dataroottuples",{"2":{"126":5,"127":1,"160":1}}],["dataroottuple",{"2":{"125":4,"126":2,"127":1,"129":1,"145":1,"147":2,"153":5}}],["dataroot",{"2":{"103":2,"125":4,"153":5}}],["data",{"0":{"126":1,"129":1,"134":1,"140":1,"145":1,"148":1,"164":1,"332":1,"333":1,"342":1,"361":1,"362":1,"389":1,"390":1,"400":1,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"419":1,"420":1,"421":2,"423":1,"424":1,"425":1,"426":1,"427":1,"429":1,"432":1,"436":1,"594":1,"617":1,"704":1,"715":1,"743":1},"1":{"165":1,"166":1,"167":1,"390":1,"391":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"427":1,"428":2,"429":2,"430":1,"431":1,"432":1,"716":1,"744":1,"745":1,"746":1},"2":{"29":3,"42":2,"61":1,"66":1,"77":1,"102":2,"103":5,"104":7,"109":1,"125":5,"126":1,"127":1,"128":1,"129":8,"131":2,"132":31,"133":7,"134":7,"135":16,"137":10,"140":1,"145":8,"146":6,"147":14,"148":1,"150":1,"151":1,"152":1,"153":26,"154":3,"157":3,"158":3,"159":4,"160":2,"161":1,"163":1,"165":3,"166":4,"167":2,"169":13,"171":1,"178":3,"180":2,"197":2,"216":1,"237":2,"250":16,"285":3,"286":1,"289":1,"290":1,"294":1,"295":13,"314":2,"316":1,"317":3,"323":1,"332":9,"333":10,"334":1,"340":2,"356":1,"361":1,"363":1,"364":6,"365":1,"370":2,"376":1,"378":3,"386":11,"387":1,"388":1,"389":7,"390":9,"391":12,"392":2,"393":1,"400":2,"408":2,"409":2,"410":8,"411":1,"413":11,"414":7,"415":7,"416":9,"417":2,"418":6,"419":4,"420":6,"421":4,"422":3,"423":9,"424":4,"425":6,"426":5,"427":11,"428":3,"429":11,"430":14,"432":5,"433":2,"434":6,"435":15,"436":9,"438":9,"451":1,"452":1,"461":1,"476":1,"483":2,"487":1,"521":1,"522":1,"534":2,"539":1,"546":1,"547":3,"572":4,"584":1,"585":1,"587":2,"594":1,"595":1,"615":1,"617":2,"620":3,"623":19,"629":2,"630":2,"636":2,"641":1,"642":2,"649":3,"654":3,"663":1,"664":1,"693":2,"694":1,"706":1,"720":1,"731":5,"737":2,"746":1}}],["damage",{"2":{"42":1}}],["days",{"2":{"59":1,"390":1,"621":1}}],["day",{"2":{"37":2,"48":1,"63":1}}],["dubbing",{"2":{"432":1}}],["dusknet",{"2":{"396":1}}],["dumps",{"2":{"215":2}}],["duty",{"2":{"194":2}}],["duality",{"2":{"40":1}}],["dues",{"2":{"65":4}}],["due",{"0":{"37":1},"2":{"37":1,"42":1,"83":1,"237":1,"403":1,"406":1,"426":1,"433":1,"436":1,"589":1}}],["during",{"0":{"55":1},"2":{"15":1,"45":1,"48":2,"55":1,"59":1,"62":1,"153":1,"364":1,"390":1,"417":1,"581":1,"604":1,"607":1,"747":1}}],["drafted",{"2":{"708":1}}],["drawing",{"2":{"74":1}}],["dropped",{"2":{"406":1}}],["drop",{"2":{"392":1,"406":1,"446":1}}],["dropdown",{"2":{"251":1}}],["drift",{"2":{"271":4}}],["drinks",{"2":{"59":4}}],["driver",{"2":{"44":1,"364":2}}],["dr",{"2":{"28":1}}],["dimensional",{"2":{"427":1,"429":4,"432":1,"435":1}}],["dial",{"2":{"410":2,"644":1}}],["diagram",{"2":{"159":1,"442":1}}],["diagrams",{"0":{"154":1},"1":{"155":1,"156":1},"2":{"3":1,"154":1}}],["dividing",{"2":{"402":1}}],["div",{"2":{"249":4,"250":36,"298":4}}],["dives",{"2":{"66":1,"77":1}}],["diverse",{"2":{"7":1}}],["digest",{"2":{"149":3}}],["digital",{"2":{"8":1,"52":1,"283":1}}],["dir",{"2":{"95":4,"592":3}}],["dir=",{"2":{"95":2}}],["direct",{"2":{"476":2,"477":1,"574":1}}],["directories",{"2":{"391":1}}],["directory",{"0":{"3":1,"190":1,"683":1,"684":1},"2":{"86":1,"113":1,"114":2,"189":1,"190":4,"192":1,"215":2,"216":6,"223":5,"229":1,"230":2,"242":1,"246":1,"247":3,"248":1,"254":1,"320":1,"322":1,"325":2,"328":1,"357":1,"365":1,"370":1,"374":1,"384":1,"385":1,"492":1,"502":1,"503":3,"504":3,"505":3,"506":1,"507":1,"511":1,"512":1,"515":1,"516":1,"526":1,"530":4,"534":1,"535":1,"542":1,"545":2,"555":1,"569":1,"580":1,"595":1,"596":1,"623":1,"654":4,"662":1,"672":1,"683":2,"689":3,"700":2,"702":1}}],["direction",{"2":{"160":1}}],["directly",{"2":{"133":1,"137":2,"159":1,"160":1,"166":1,"225":1,"285":1,"298":1,"330":1,"392":1,"402":1,"404":1,"410":2}}],["directed",{"2":{"45":1,"671":1,"699":1}}],["didn",{"2":{"517":1}}],["did",{"2":{"66":2}}],["difficulty",{"2":{"58":1,"60":1,"360":2}}],["difference",{"0":{"421":1},"2":{"137":1,"502":1,"507":1,"516":1}}],["different",{"2":{"5":1,"57":1,"82":1,"87":1,"129":1,"137":1,"157":1,"204":1,"216":1,"254":1,"310":1,"394":1,"406":1,"422":2,"433":1,"447":1,"475":1,"503":1,"504":1,"505":1,"511":1,"535":2,"563":1,"572":1,"590":2,"592":2,"622":1,"644":1,"710":1,"731":1,"739":1}}],["differing",{"2":{"8":1}}],["disables",{"2":{"586":1,"646":1}}],["disable",{"2":{"340":2,"586":2}}],["disability",{"2":{"7":1}}],["disk",{"2":{"318":1,"484":1,"548":1,"573":1,"609":1,"627":1,"647":2,"665":1,"695":1}}],["disruptions",{"2":{"104":1,"237":1}}],["distributed",{"2":{"433":1}}],["distributor",{"2":{"45":1}}],["distributors",{"2":{"45":1}}],["distributing",{"2":{"45":1}}],["distribution",{"2":{"45":2,"283":1,"467":1,"478":1,"564":2,"565":2,"728":1}}],["disputes",{"2":{"433":1}}],["dispute",{"2":{"178":1}}],["displayed",{"2":{"560":1}}],["displaydenom",{"2":{"456":1}}],["displaying",{"2":{"55":1}}],["display",{"0":{"456":1},"2":{"44":1,"250":8,"333":1}}],["disparagement",{"2":{"16":1}}],["disqualify",{"2":{"42":1}}],["discard",{"0":{"647":1},"2":{"608":1,"647":1}}],["discussion",{"2":{"61":2}}],["discussions",{"2":{"55":1,"68":1}}],["discuss",{"2":{"61":1,"64":1,"75":1,"389":1}}],["discover",{"2":{"66":1,"290":1}}],["discovering",{"2":{"61":1,"622":1}}],["discounts",{"2":{"58":1}}],["discord",{"0":{"73":1,"479":1},"2":{"11":1,"63":2,"71":3,"72":1,"73":2,"212":1,"253":1,"272":3,"324":1,"325":2,"380":1,"479":2,"701":1,"728":2}}],["disclosure",{"2":{"45":1}}],["discretion",{"2":{"41":1,"42":1,"45":1}}],["discretionary",{"2":{"41":1}}],["discrepancies",{"2":{"4":1}}],["denoted",{"2":{"435":2}}],["denomination",{"0":{"457":1,"458":1},"2":{"457":2}}],["denominations",{"0":{"455":1},"1":{"456":1,"457":1,"458":1}}],["denominated",{"2":{"451":1}}],["denominator",{"2":{"271":4}}],["denom",{"2":{"197":4,"198":2,"200":4,"271":4,"302":1,"336":2,"337":2,"563":2}}],["deal",{"2":{"436":1}}],["dealing",{"2":{"429":1}}],["dealer",{"2":{"45":1}}],["deducting",{"2":{"402":1}}],["deducted",{"2":{"402":1}}],["dedicated",{"2":{"55":1,"71":1,"102":2,"168":1,"183":1}}],["debugging",{"2":{"557":2}}],["debug",{"2":{"108":2,"557":2}}],["defer",{"2":{"386":2,"387":2,"410":2}}],["defaultestimategas",{"2":{"404":1,"405":2,"410":2}}],["defaults",{"2":{"324":1,"380":1,"404":1,"553":1,"563":1,"646":1}}],["default",{"2":{"104":2,"108":1,"180":1,"216":2,"249":2,"250":2,"271":4,"283":1,"298":2,"324":1,"328":1,"336":1,"369":1,"370":2,"380":1,"390":1,"401":1,"403":1,"406":1,"462":1,"465":1,"466":1,"477":1,"492":2,"494":1,"503":4,"504":4,"505":4,"507":1,"512":1,"516":1,"526":2,"529":1,"530":13,"534":2,"542":2,"545":1,"553":1,"555":1,"557":2,"571":2,"572":6,"582":1,"583":1,"589":1,"590":1,"591":1,"601":1,"602":1,"604":2,"607":1,"617":3,"620":4,"621":1,"643":1,"646":1,"647":1,"672":1,"691":1,"702":1,"722":1,"725":1,"726":1}}],["definitions",{"2":{"355":1,"372":1,"447":2}}],["defining",{"0":{"132":1},"2":{"133":1}}],["defines",{"2":{"364":1,"636":1}}],["define",{"2":{"61":1,"132":2,"146":1,"180":1,"466":1,"726":1}}],["defined",{"2":{"41":3,"42":1,"45":6,"133":1,"145":1,"149":1,"447":2,"502":1,"515":1,"516":1,"636":1,"676":1}}],["defi",{"2":{"49":1,"61":1}}],["demand",{"2":{"102":1}}],["demon",{"2":{"226":1}}],["demonstration",{"2":{"109":1,"324":1,"685":1}}],["demonstrating",{"2":{"8":1,"16":1}}],["demonstrate",{"2":{"22":1,"62":1,"298":1}}],["demosubmitdata",{"2":{"410":2}}],["demos",{"2":{"50":1}}],["demo",{"0":{"131":1},"2":{"30":1,"37":2,"48":3,"129":1,"131":1,"132":1,"133":4,"410":2}}],["deeper",{"2":{"397":1}}],["deepen",{"2":{"83":1}}],["deep",{"2":{"66":1,"77":1}}],["deemed",{"2":{"13":1,"45":3}}],["deem",{"2":{"9":1,"12":1,"43":1}}],["delta",{"2":{"366":1}}],["delay",{"2":{"271":4,"276":4}}],["delayedcelestia",{"2":{"204":1}}],["delayed",{"2":{"186":2,"197":7,"204":1}}],["deleting",{"2":{"510":4,"559":2}}],["deleted",{"2":{"510":3,"654":1}}],["delete",{"0":{"510":1,"518":1},"2":{"214":1,"506":1,"508":4,"510":12,"516":4,"518":8,"559":2,"595":1,"641":1,"654":1}}],["delegate",{"0":{"566":1,"629":1},"2":{"566":3,"629":5}}],["delegated",{"2":{"179":1,"198":4,"636":1}}],["delegation=1000000",{"2":{"636":3}}],["delegation=1",{"2":{"569":2}}],["delegation",{"2":{"441":2,"557":2}}],["delegating",{"2":{"397":1,"453":1}}],["delegators",{"2":{"441":1}}],["delegator",{"2":{"258":1,"441":1}}],["delivering",{"2":{"83":1}}],["delivery",{"2":{"59":1}}],["delivers",{"2":{"25":1}}],["delphi",{"2":{"52":1}}],["derparam",{"2":{"386":2}}],["derive",{"2":{"364":1,"528":1}}],["derivation",{"2":{"271":4,"364":2,"508":1}}],["derivative",{"2":{"45":2}}],["derogatory",{"2":{"8":1}}],["deposit",{"2":{"563":5,"564":2}}],["depth",{"2":{"442":1}}],["deprecated",{"2":{"312":1,"317":1,"380":2,"591":1}}],["deps",{"2":{"98":2}}],["depend",{"2":{"167":1,"414":1,"417":1}}],["dependent",{"2":{"141":1,"404":1}}],["dependency",{"0":{"352":1},"1":{"353":1,"354":1},"2":{"124":1,"246":1}}],["dependenciesinstall",{"2":{"314":1,"608":1}}],["dependencies",{"0":{"85":1,"91":1,"96":1,"107":1,"228":1,"319":1,"379":1,"550":1,"611":1,"661":1,"667":1,"680":1},"1":{"92":1,"93":1,"94":1,"95":1,"96":1,"380":1,"381":1,"382":1},"2":{"90":1,"248":1,"319":1,"326":1,"353":1,"355":1,"367":1,"372":1,"379":1,"550":1,"611":1,"648":1,"651":1,"667":1,"680":1,"696":1}}],["depending",{"2":{"58":1,"59":1,"83":1,"205":1,"249":2,"403":1,"461":1,"475":1,"581":1,"621":1,"622":1,"646":1,"710":1,"720":1}}],["depends",{"2":{"45":1,"709":1}}],["deploys",{"2":{"497":2}}],["deployer",{"2":{"118":2,"234":2,"505":5}}],["deployed",{"0":{"163":1},"2":{"66":1,"118":3,"159":2,"163":1,"234":3,"242":2,"245":2,"246":2,"252":1,"312":1,"472":1,"487":1,"538":1,"613":1,"676":1}}],["deploy",{"0":{"79":1,"84":1,"90":1,"106":1,"110":1,"227":1,"351":1,"367":1,"394":1,"497":1,"501":1,"505":1,"551":1,"630":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"107":1,"108":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"395":1,"396":1,"498":1,"499":1,"500":1,"501":1,"552":1,"553":1,"554":1,"555":1,"556":1,"631":1,"632":1,"633":1,"634":1,"635":1},"2":{"49":1,"79":1,"84":2,"85":1,"86":1,"102":1,"105":1,"107":1,"111":1,"118":2,"120":2,"168":1,"173":1,"176":3,"179":2,"183":1,"227":1,"233":2,"234":1,"236":1,"244":1,"245":1,"246":1,"254":3,"289":1,"291":4,"294":1,"367":1,"377":1,"392":2,"396":6,"472":1,"487":2,"497":7,"500":7,"501":6,"505":2,"538":2,"608":1,"720":1,"734":2}}],["deployment",{"0":{"86":1,"244":1,"368":1},"1":{"87":1,"369":1,"370":1,"371":1},"2":{"41":2,"86":1,"118":1,"159":1,"234":1,"244":1,"254":1,"377":1,"487":1}}],["deploying",{"0":{"116":1,"179":1,"232":1,"245":1,"246":1,"254":1,"377":1},"1":{"117":1,"118":1,"233":1,"234":1,"255":1,"256":1,"257":1},"2":{"3":1,"79":1,"90":1,"100":1,"106":1,"111":1,"179":2,"184":1,"240":1,"244":1,"246":1,"251":1,"394":1,"452":2,"497":1,"705":1,"733":1}}],["decreasing",{"2":{"449":1}}],["decreases",{"2":{"442":1}}],["deciding",{"0":{"648":1},"1":{"649":1,"650":1}}],["decide",{"2":{"646":1}}],["decision",{"2":{"510":2}}],["decisions",{"2":{"9":1}}],["decimals",{"2":{"226":1,"249":2,"302":1,"449":1}}],["declare",{"2":{"204":1,"216":1,"222":1,"325":1,"554":1,"590":1,"671":1,"699":1}}],["decline",{"2":{"194":2}}],["decouple",{"2":{"433":1}}],["decoupling",{"2":{"180":1,"181":1,"294":1,"434":1}}],["decodestring",{"2":{"386":4}}],["decode",{"2":{"378":1,"386":2,"388":1,"410":2}}],["decoded",{"2":{"149":4,"333":1,"364":1}}],["decoding",{"2":{"150":1,"271":4,"386":4}}],["decentralised",{"0":{"443":1,"454":1},"1":{"444":1,"445":1},"2":{"454":2}}],["decentralization",{"0":{"165":1}}],["decentralized",{"2":{"102":2,"167":1,"257":1,"294":1}}],["december",{"0":{"32":1},"2":{"31":1,"32":1,"33":3,"34":1}}],["deck",{"2":{"62":2}}],["dec",{"0":{"33":1,"34":1,"35":1}}],["desktop",{"2":{"651":1,"652":1,"654":1}}],["descendants",{"2":{"430":2}}],["desc",{"2":{"350":2,"532":4}}],["describing",{"2":{"432":1}}],["describes",{"2":{"132":2,"269":1,"613":1,"630":1}}],["described",{"2":{"41":1,"42":1,"45":1,"148":1,"150":1,"435":3,"446":1,"447":1}}],["description=celestia",{"2":{"742":2,"744":2,"745":2,"746":2}}],["description=blobstream",{"2":{"536":2}}],["description",{"0":{"68":1},"2":{"21":1,"60":1,"62":1,"65":3,"403":1,"446":1,"563":6,"564":2,"582":1,"591":1,"676":1}}],["destination",{"2":{"212":1,"269":1}}],["desired",{"2":{"267":1,"320":1,"322":1,"580":1,"596":1,"662":1}}],["desire",{"2":{"62":1}}],["designs",{"2":{"395":1}}],["designate",{"2":{"55":1}}],["designated",{"2":{"41":2}}],["design",{"0":{"587":1},"2":{"48":1,"167":1,"181":1,"392":1,"488":1,"572":1,"585":1,"587":1,"607":1}}],["designed",{"2":{"46":1,"67":1,"68":1,"75":1,"103":1,"167":1,"309":1,"429":1,"720":2,"734":1}}],["designing",{"0":{"24":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"48":1}}],["details",{"0":{"198":1,"199":1,"473":1},"1":{"474":1},"2":{"46":1,"65":1,"154":1,"159":1,"194":1,"198":1,"199":1,"251":1,"267":1,"305":1,"306":1,"312":1,"313":1,"317":1,"404":1,"427":1,"430":1,"432":2,"436":1,"449":1,"487":1,"491":1,"499":1,"525":1,"538":1,"541":1,"591":1}}],["detailed",{"2":{"2":1,"65":1,"438":1,"563":1}}],["detecting",{"2":{"622":1}}],["detects",{"2":{"298":1}}],["detected",{"2":{"137":1}}],["detect",{"2":{"44":1,"133":1}}],["deterministic",{"2":{"433":1}}],["determining",{"2":{"12":1,"403":1}}],["determined",{"2":{"135":1,"404":1,"709":3}}],["determine",{"2":{"44":1,"54":1,"59":2,"61":1,"66":1,"447":1,"461":1,"475":1,"710":1,"720":1}}],["devops",{"2":{"586":1}}],["devs",{"2":{"446":1}}],["device",{"2":{"300":1}}],["devnpm",{"2":{"252":1}}],["devnetl1",{"2":{"366":1}}],["devnet",{"0":{"84":1,"90":1,"118":1,"187":1,"188":1,"189":1,"191":1,"193":1,"197":1,"198":1,"199":1,"200":1,"351":1,"355":1,"356":1,"357":1,"358":1,"367":1,"369":1,"372":1,"373":1,"374":1,"375":1,"376":1,"459":1,"467":1,"471":1,"478":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"188":1,"189":2,"190":2,"191":2,"192":2,"193":1,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":2,"352":1,"353":1,"354":1,"355":1,"356":2,"357":2,"358":2,"359":2,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":2,"469":1,"470":1,"472":1,"473":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":2,"480":2,"481":1,"482":1},"2":{"84":1,"85":1,"98":7,"100":1,"105":1,"107":1,"108":2,"111":1,"112":1,"117":3,"120":1,"169":1,"186":1,"189":1,"190":1,"191":1,"192":4,"200":1,"201":1,"204":1,"208":1,"233":1,"291":2,"295":1,"298":2,"302":2,"322":1,"324":1,"325":1,"351":1,"356":2,"357":3,"358":4,"359":1,"365":2,"366":1,"367":1,"368":2,"369":1,"373":5,"374":3,"375":3,"376":3,"396":2,"459":3,"462":1,"471":1,"472":1,"475":1,"476":1,"477":1,"479":1,"553":1,"576":2,"602":1,"632":1,"671":2,"676":1,"699":1,"701":1,"720":1,"734":2,"739":1}}],["devmake",{"2":{"98":1}}],["devcd",{"2":{"86":1,"254":1}}],["developing",{"2":{"293":1,"671":1}}],["development",{"0":{"238":1,"660":1},"1":{"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"661":1,"662":1},"2":{"102":2,"179":1,"247":1,"293":1,"319":2,"446":2,"596":1,"660":2,"720":1,"733":1}}],["developer",{"2":{"63":1,"177":1,"307":1,"587":1,"678":1,"749":1}}],["developers",{"2":{"3":1,"102":2,"158":4,"168":1,"170":2,"171":1,"177":1,"180":1,"181":3,"182":1,"183":1,"184":1,"185":1,"308":1,"389":1,"391":1,"438":1,"446":1,"451":2,"452":3,"459":1,"471":1,"472":1,"477":1,"483":1,"720":1,"734":2}}],["develop",{"2":{"62":1,"97":2,"98":2,"354":3}}],["devrel",{"2":{"59":1,"61":1}}],["dev",{"2":{"1":1,"86":1,"88":4,"92":2,"98":1,"99":2,"109":2,"153":2,"252":1,"254":1,"255":4,"319":4,"536":2,"661":4,"742":2,"744":2,"745":2,"746":2}}],["devyarn",{"2":{"1":1}}],["yconfirm",{"2":{"636":1}}],["ycelestia",{"2":{"565":1,"567":1}}],["ycd",{"2":{"113":1,"229":1}}],["yparity",{"2":{"361":2}}],["yum",{"2":{"319":4,"661":4}}],["y33zld2luvedelzzr9cf92+2etaimiwhn9pcaqaszwpqckykhy9jb3ntb3muy3j5chrvlnnly3ayntzrms5qdwjlzxksiwoha36hewmw",{"2":{"146":2}}],["yhcdb4cz7z4lrxmvrq5f8=",{"2":{"145":2}}],["ymlglobal",{"2":{"572":1}}],["yml",{"2":{"98":1,"223":2,"366":1,"370":1,"373":1,"572":3,"573":1}}],["ysudo",{"2":{"92":1,"319":3,"661":3}}],["y",{"2":{"92":3,"113":1,"197":9,"229":1,"319":3,"565":1,"567":1,"636":4,"637":2,"661":3}}],["yet",{"2":{"135":1,"350":1,"392":1,"524":1,"597":1,"621":1,"677":1}}],["yesterday",{"2":{"568":2}}],["yes",{"2":{"66":1,"197":1,"441":1,"510":4,"534":2,"563":1,"576":2}}],["year",{"2":{"45":4,"442":2,"447":11,"449":2}}],["years",{"2":{"42":1,"733":1}}],["yamlda",{"2":{"373":1}}],["yamlversion",{"2":{"223":1}}],["yaml",{"2":{"98":1,"108":1}}],["yaz",{"2":{"21":2,"22":3}}],["yarncd",{"2":{"247":1}}],["yarn",{"2":{"1":2,"86":4,"95":4,"247":1,"248":1,"254":4}}],["youth",{"2":{"194":2}}],["youtube",{"2":{"58":1,"64":2}}],["yours",{"2":{"190":1,"524":1}}],["yourself",{"2":{"45":1,"48":1,"108":1,"298":1,"572":2}}],["your",{"0":{"84":1,"108":1,"109":1,"110":1,"114":1,"115":1,"116":1,"119":1,"195":1,"197":1,"203":1,"206":1,"222":1,"230":1,"231":1,"232":1,"235":1,"259":1,"261":1,"263":1,"264":1,"266":1,"268":1,"336":1,"338":1,"339":1,"368":1,"385":1,"549":1,"592":1,"593":1,"598":1,"637":1,"639":1,"666":1,"690":1,"691":1,"696":1,"740":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":2,"118":2,"119":1,"120":1,"233":1,"234":1,"369":1,"370":1,"371":1,"550":1,"667":1,"697":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"2":5,"5":1,"23":1,"29":1,"33":1,"41":5,"42":5,"43":7,"44":9,"45":15,"48":1,"51":1,"53":1,"58":4,"59":7,"60":6,"61":11,"62":14,"63":15,"64":7,"65":8,"66":1,"68":1,"71":1,"73":1,"74":2,"75":1,"81":1,"83":3,"84":1,"85":1,"86":3,"87":2,"88":2,"89":2,"91":1,"98":1,"100":1,"108":3,"109":2,"111":1,"112":1,"113":1,"114":2,"115":2,"117":1,"119":1,"120":2,"162":3,"173":1,"178":1,"186":1,"191":1,"192":2,"194":5,"197":1,"200":1,"202":1,"203":1,"204":1,"206":1,"211":2,"212":2,"213":1,"216":4,"218":1,"221":1,"222":2,"223":3,"226":1,"228":1,"229":1,"230":2,"231":2,"234":2,"235":1,"240":4,"246":2,"248":1,"250":6,"251":2,"252":3,"253":3,"254":6,"255":2,"256":2,"262":1,"263":1,"267":1,"272":1,"295":1,"296":1,"298":1,"301":1,"302":1,"311":1,"319":3,"320":3,"323":2,"324":2,"325":6,"327":3,"328":1,"329":3,"330":4,"331":1,"333":3,"338":1,"339":1,"343":1,"344":1,"348":1,"350":1,"351":1,"362":1,"366":2,"367":1,"368":1,"370":4,"373":3,"380":5,"381":1,"383":1,"398":1,"399":1,"441":1,"461":1,"471":1,"475":1,"477":3,"500":1,"509":2,"510":6,"515":1,"524":2,"528":2,"530":6,"534":8,"544":1,"545":2,"546":1,"553":3,"554":3,"557":4,"560":1,"565":1,"566":1,"567":1,"568":7,"569":2,"570":1,"571":3,"572":3,"574":2,"580":1,"581":3,"582":3,"583":2,"584":2,"585":4,"587":1,"589":2,"591":3,"592":6,"593":5,"596":1,"597":2,"598":2,"604":2,"608":2,"609":1,"613":2,"615":2,"617":1,"618":1,"619":1,"620":2,"624":2,"627":1,"629":2,"632":1,"635":1,"636":8,"637":7,"639":2,"642":1,"644":1,"646":1,"647":1,"651":2,"653":2,"654":2,"655":1,"659":1,"660":1,"661":1,"662":3,"667":1,"671":7,"678":1,"682":1,"684":1,"685":1,"687":2,"688":3,"691":3,"692":2,"698":2,"699":4,"700":3,"701":1,"704":1,"710":1,"716":3,"720":1,"739":2,"742":1,"748":1}}],["you",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"0":2,"2":1,"4":1,"19":1,"33":2,"41":6,"42":23,"43":9,"44":4,"45":29,"48":7,"49":2,"51":5,"53":4,"54":1,"57":1,"58":4,"59":7,"60":4,"61":3,"63":1,"64":3,"65":11,"66":8,"71":2,"72":1,"74":2,"75":2,"78":1,"79":1,"81":2,"82":1,"83":4,"86":1,"87":8,"88":3,"89":1,"98":6,"99":2,"108":2,"109":1,"111":1,"114":1,"117":1,"118":2,"120":2,"132":1,"133":2,"159":1,"163":1,"171":1,"173":2,"176":2,"177":4,"178":3,"182":1,"186":1,"187":1,"190":1,"191":2,"192":2,"193":2,"194":3,"197":4,"198":1,"199":1,"200":3,"201":1,"202":1,"204":2,"205":3,"206":4,"207":1,"208":1,"209":1,"210":1,"211":4,"212":2,"213":3,"215":1,"216":7,"217":1,"222":4,"223":2,"224":1,"225":2,"226":4,"230":1,"233":1,"234":2,"236":3,"238":4,"239":2,"242":1,"245":2,"246":3,"249":2,"250":2,"252":6,"253":2,"254":10,"255":3,"256":1,"258":3,"264":2,"268":2,"271":3,"272":1,"273":1,"274":2,"275":1,"276":3,"285":1,"295":2,"296":2,"297":1,"298":3,"299":1,"300":1,"301":3,"302":6,"305":1,"306":1,"312":2,"317":4,"319":1,"320":1,"322":3,"324":4,"325":11,"326":3,"327":6,"328":1,"329":3,"330":3,"331":2,"332":1,"333":3,"334":2,"337":1,"343":3,"344":1,"348":2,"349":2,"350":2,"351":1,"357":1,"358":1,"359":2,"361":1,"365":1,"366":1,"367":1,"368":2,"369":2,"370":9,"371":2,"373":4,"374":1,"377":1,"378":5,"380":7,"381":1,"383":4,"386":6,"387":6,"388":1,"392":2,"393":2,"405":1,"413":1,"441":1,"456":1,"461":8,"462":1,"464":3,"467":1,"469":1,"471":1,"475":3,"476":2,"478":1,"479":1,"481":1,"483":2,"484":1,"485":1,"487":5,"492":3,"493":2,"494":1,"500":5,"501":3,"506":1,"509":1,"510":8,"511":1,"521":1,"524":1,"526":3,"527":1,"528":4,"529":1,"530":10,"534":7,"536":4,"537":1,"538":3,"542":3,"543":1,"544":3,"545":4,"553":3,"554":8,"556":1,"558":1,"560":3,"563":2,"565":1,"566":2,"567":1,"568":2,"569":3,"571":6,"572":10,"574":3,"579":1,"580":4,"581":3,"582":3,"583":3,"584":1,"585":1,"586":1,"587":2,"589":1,"591":5,"592":5,"593":2,"595":2,"596":4,"597":3,"598":2,"600":1,"601":1,"604":3,"605":1,"608":1,"609":3,"613":5,"615":1,"618":1,"619":3,"620":3,"622":2,"624":2,"626":1,"629":8,"630":2,"631":1,"632":2,"634":1,"635":1,"636":5,"637":1,"642":1,"643":2,"644":1,"646":3,"647":2,"648":2,"649":3,"650":2,"651":5,"653":4,"654":10,"655":3,"656":1,"659":1,"661":1,"662":1,"663":1,"667":1,"668":1,"671":9,"673":2,"677":2,"678":3,"679":1,"680":1,"681":1,"682":2,"683":3,"684":1,"685":1,"687":2,"688":5,"689":4,"691":6,"692":2,"693":2,"699":1,"700":6,"701":3,"704":1,"710":4,"716":2,"717":1,"720":8,"722":1,"724":3,"728":2,"729":1,"731":3,"734":1,"736":2,"737":3,"738":2,"739":5,"741":1,"742":2,"744":2,"745":2,"746":1}}],["akz",{"2":{"362":2}}],["akuumhj8fnuyvrbs38fdkeiaaaaaazb42trhw",{"2":{"362":2}}],["aka",{"2":{"131":1,"406":1}}],["away",{"2":{"452":1,"676":1}}],["await",{"2":{"250":14,"298":4}}],["awareness",{"2":{"54":1}}],["awards",{"2":{"41":1,"45":1}}],["award",{"2":{"41":4}}],["a1",{"2":{"223":2}}],["ahzu6yr9xmpixlquhgbhj9xl3wiaoz6pe3cvml",{"2":{"195":2,"199":2}}],["ahead",{"2":{"59":1,"137":1,"253":1}}],["a5jf",{"2":{"194":2,"195":2}}],["aaaaaaaaaaaaaaaaaaaaaaaaaejpdcbnowap3dm=",{"2":{"333":8}}],["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaba==",{"2":{"146":2}}],["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqbaaabxaaaacbaagroagqgaqqdaqogl2nlbgvzdglhlmjsb2iudjeutxnnugf5rm9yqmxvynmseqovy2vszxn0awexdwc1zwt0mmnjn250dzrkdg1zzdlsn3n0ctbzn3z5ztd5btjyzhishqaaaaaaaaaaaaaaaaaaaaaaaaasexiyqkmkmoizggkxaiigrflow1m",{"2":{"146":2}}],["aaaaaaaaaaaaaaaaaaaaaaaaabitejjcqyqyijkaaaaaaaaaaaaaaaaaaaaaaaaaehmsmkjdjdkimbiwnpodwizbfr0uifhpkwgy",{"2":{"146":2}}],["axtrw6s+qsnuzfgfeg37da6igop2zqck+04egqkaggbgaisewoncgr1dglheguymtawmbdq6awaqclylqpnrfod6h8mgmwxjfenhwhru39ecrvkmfknq8+hhuodhdoqig",{"2":{"146":2}}],["airdrop",{"2":{"467":1,"478":1,"728":1}}],["ai",{"2":{"378":1,"383":1,"398":1,"399":1,"712":1,"713":1,"714":1,"716":1,"718":1}}],["aiming",{"2":{"167":1}}],["aimed",{"2":{"158":1}}],["aims",{"2":{"68":1,"283":1,"293":1}}],["aim",{"2":{"61":1,"167":1}}],["aid",{"2":{"53":1,"418":1}}],["aura",{"2":{"577":2}}],["augments",{"2":{"436":1,"547":1}}],["automated",{"2":{"748":1}}],["automatically",{"2":{"405":1,"410":2,"493":1,"506":1,"527":1,"534":1,"543":1}}],["autoconnect",{"2":{"249":2}}],["autogenerated",{"2":{"222":1}}],["auto",{"2":{"197":6,"249":2,"250":4,"271":2,"565":2,"567":2}}],["authtype=",{"2":{"380":2}}],["authentication",{"0":{"381":1,"532":1},"2":{"310":1,"328":1,"329":5,"330":1,"386":2,"532":2}}],["authenticate",{"2":{"103":1}}],["authorize",{"2":{"575":1}}],["authorization",{"2":{"250":4,"328":1}}],["authority",{"2":{"250":2}}],["authorities",{"2":{"45":1}}],["auth",{"0":{"329":1,"331":1},"2":{"197":2,"199":2,"250":4,"283":1,"327":2,"328":5,"329":9,"330":2,"331":7,"332":4,"333":2,"336":1,"381":5,"383":1,"563":2}}],["aunts",{"2":{"145":2,"146":2,"152":3}}],["audible",{"2":{"58":1}}],["audience",{"0":{"60":1},"2":{"58":1,"60":3,"61":1,"62":1,"63":1,"64":1}}],["after=network",{"2":{"536":2,"742":2,"744":2,"745":2,"746":2}}],["after",{"0":{"56":1},"2":{"45":1,"46":1,"58":1,"63":1,"64":1,"98":1,"115":1,"157":1,"231":1,"264":1,"268":1,"271":1,"273":1,"319":2,"324":1,"333":1,"380":1,"386":2,"387":1,"390":1,"500":1,"509":1,"510":1,"522":1,"528":1,"539":1,"544":1,"553":1,"560":1,"581":1,"593":1,"601":1,"629":1,"636":1,"639":1,"645":1,"646":1,"647":1,"654":1,"661":2,"675":1,"677":1,"689":1,"746":1,"747":1}}],["affect",{"2":{"748":1}}],["affected",{"2":{"8":1}}],["affordable",{"2":{"64":1}}],["affiliated",{"2":{"62":1}}],["affirm",{"2":{"45":1}}],["amd64",{"2":{"94":6,"320":12,"581":1,"662":12}}],["amd",{"2":{"90":1,"290":1,"320":1,"662":1}}],["amms",{"2":{"49":1}}],["amountceles",{"2":{"569":1}}],["amount=9000000utia",{"2":{"688":2}}],["amount=1000000utia",{"2":{"636":2}}],["amount=5000000000000utia",{"2":{"569":2}}],["amount=",{"2":{"569":2,"686":2}}],["amount",{"2":{"59":1,"197":8,"198":2,"200":4,"263":1,"267":1,"336":2,"337":2,"343":3,"403":1,"404":1,"417":1,"425":1,"434":1,"447":2,"562":2,"563":2,"564":2,"566":4,"569":3,"636":1,"647":2,"686":2,"687":1,"688":3,"709":1}}],["amounts",{"2":{"45":1}}],["among",{"2":{"45":1,"55":1,"59":1,"432":1,"433":1,"547":1,"675":1}}],["amended",{"2":{"42":1}}],["amanda",{"2":{"560":2}}],["ama",{"2":{"28":4,"29":2,"33":2}}],["ample",{"2":{"63":1}}],["amp",{"0":{"4":1,"18":1,"24":1,"440":1,"566":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":2,"26":2,"27":2,"28":2,"29":2,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1},"2":{"1":4,"2":2,"22":1,"48":1,"49":1,"50":2,"51":1,"62":1,"77":1,"78":1,"79":1,"83":1,"86":12,"92":4,"95":8,"97":4,"98":4,"113":8,"145":2,"146":2,"202":4,"229":8,"240":1,"250":12,"252":4,"254":4,"319":10,"446":3,"447":5,"547":1,"572":1,"637":2,"661":10,"744":4,"745":4}}],["agnostic",{"2":{"432":1}}],["ago",{"2":{"222":2,"223":2}}],["again",{"2":{"87":1,"254":1,"277":1,"350":1,"406":1,"436":1,"592":1,"593":1}}],["against",{"2":{"42":3,"126":1,"129":2,"595":1}}],["agreement",{"2":{"42":2,"45":3,"178":1}}],["agree",{"2":{"41":1,"42":5,"43":1,"44":1,"45":1,"433":1}}],["agreeing",{"2":{"41":1,"44":1,"45":2,"433":1}}],["ag",{"2":{"41":1}}],["aggression",{"2":{"16":1}}],["agenda",{"2":{"54":1}}],["agendas",{"2":{"5":1,"54":1}}],["agent",{"2":{"45":1}}],["age",{"2":{"7":1,"42":1}}],["avril14th",{"2":{"712":1,"713":1,"714":1}}],["average",{"2":{"226":1,"298":2}}],["avoid",{"2":{"59":1,"62":1,"63":1,"272":1,"404":1,"572":1,"654":1}}],["avoiding",{"2":{"14":1}}],["availability",{"0":{"164":1,"342":1,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"421":1,"426":1,"427":1,"432":1,"436":1,"704":1,"715":1,"743":1},"1":{"165":1,"166":1,"167":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"427":1,"428":2,"429":2,"430":1,"431":1,"432":1,"716":1,"744":1,"745":1,"746":1},"2":{"29":1,"45":1,"54":1,"60":1,"61":1,"77":1,"102":2,"103":1,"104":3,"109":1,"127":1,"129":1,"158":2,"165":3,"166":1,"167":2,"169":2,"178":1,"180":2,"237":2,"285":2,"290":1,"295":2,"314":1,"356":1,"388":1,"389":2,"390":1,"392":2,"393":1,"413":7,"414":3,"415":5,"416":4,"417":1,"418":1,"421":1,"422":1,"423":1,"426":4,"429":1,"433":1,"434":5,"435":1,"438":1,"451":1,"452":1,"461":1,"476":1,"483":2,"487":1,"522":1,"539":1,"546":1,"547":2,"584":1,"587":1,"630":2,"642":2,"649":2,"693":2,"694":1,"706":1,"720":1,"731":4,"737":2,"746":1}}],["available",{"2":{"5":1,"17":2,"41":2,"44":1,"45":6,"46":1,"53":1,"55":1,"64":2,"74":1,"104":1,"129":1,"182":1,"242":1,"380":1,"391":2,"395":1,"416":2,"421":1,"423":1,"426":1,"427":2,"432":1,"433":1,"435":3,"436":4,"438":2,"447":2,"468":1,"480":1,"497":2,"507":2,"508":2,"511":2,"513":2,"516":2,"529":1,"557":2,"563":1,"571":2,"581":3,"643":3,"646":1,"647":2,"709":1}}],["arise",{"2":{"422":1}}],["arises",{"2":{"414":1}}],["archive",{"2":{"477":1,"533":1,"609":1,"619":1,"716":1}}],["archival",{"2":{"390":4,"391":5}}],["architecture",{"2":{"587":1}}],["architectures",{"2":{"238":1,"434":1,"581":1}}],["architectnodes",{"2":{"271":2,"723":1,"725":1,"726":1}}],["arg",{"2":{"557":2}}],["args",{"2":{"327":3,"330":2,"655":4,"656":4}}],["arguments",{"2":{"327":1}}],["argument",{"2":{"115":1,"231":1,"512":1,"514":1,"517":1,"519":1}}],["argus",{"2":{"40":1}}],["arm64",{"2":{"320":12,"581":1,"662":12}}],["arm",{"2":{"320":1,"662":1}}],["armored",{"2":{"217":1,"560":2}}],["array",{"2":{"249":1,"386":3,"607":1}}],["arranging",{"2":{"55":1}}],["arranges",{"2":{"435":1}}],["arranged",{"2":{"427":1,"433":1}}],["arrange",{"2":{"54":2,"60":1,"61":1}}],["arrangement",{"2":{"45":1,"433":1}}],["arrived",{"2":{"212":1}}],["arabicacelestia",{"2":{"323":1,"324":2,"325":1,"553":1,"554":1,"555":1,"670":1,"672":1,"698":1,"699":1,"700":1,"702":1}}],["arabicachainid",{"2":{"298":2,"302":1,"333":1,"370":4,"590":1,"613":6,"623":2}}],["arabicaversions",{"2":{"322":2,"580":4,"596":2,"653":2,"655":2,"656":2}}],["arabicaresturl",{"2":{"298":2}}],["arabicarpcurl",{"2":{"298":2}}],["arabica",{"0":{"459":1,"467":1,"471":1,"478":1},"1":{"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":2,"469":1,"470":1,"472":1,"473":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":2,"480":2,"481":1,"482":1},"2":{"169":1,"212":1,"216":1,"298":6,"302":6,"322":1,"323":1,"324":5,"325":3,"329":3,"340":2,"370":1,"373":1,"459":3,"460":1,"461":4,"462":1,"463":6,"464":4,"465":4,"466":8,"468":2,"469":4,"471":2,"472":3,"475":1,"476":12,"477":5,"479":2,"480":1,"481":2,"553":2,"554":5,"555":1,"590":2,"613":2,"632":1,"653":1,"670":1,"671":4,"672":1,"676":1,"698":1,"699":5,"700":3,"701":1,"702":1,"720":1,"734":4,"739":2}}],["arbitrary",{"2":{"133":2,"564":1}}],["arbitrum",{"0":{"84":1,"90":1,"101":1,"106":1,"110":1,"118":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"102":1,"103":1,"104":1,"105":1,"107":1,"108":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1},"2":{"84":3,"85":1,"86":2,"90":1,"98":1,"102":9,"103":2,"104":3,"105":1,"106":1,"107":2,"109":1,"111":1,"120":2,"163":1,"237":1,"303":1,"305":1,"306":3}}],["arb",{"2":{"86":2,"118":2}}],["around",{"0":{"420":1},"2":{"13":1,"67":1,"238":1,"288":1,"414":1,"420":1,"422":1,"587":1,"649":1,"692":1}}],["areas",{"2":{"56":1,"61":1,"66":1}}],["area",{"2":{"55":1,"60":1,"61":1,"62":1,"63":1,"66":1}}],["aren",{"2":{"53":1,"204":1,"516":1}}],["are",{"0":{"293":1,"417":1,"425":1,"595":1},"2":{"9":2,"11":1,"17":1,"21":1,"41":2,"42":7,"43":2,"44":2,"45":8,"46":1,"49":2,"50":1,"52":1,"53":1,"54":1,"57":2,"59":1,"60":2,"66":3,"68":1,"70":1,"77":1,"83":1,"87":1,"114":1,"115":1,"125":2,"126":2,"131":1,"132":2,"133":3,"134":1,"135":1,"137":3,"141":1,"145":1,"146":2,"149":1,"151":3,"152":2,"154":1,"157":1,"158":1,"160":1,"161":1,"163":1,"165":1,"166":1,"171":2,"177":1,"178":1,"179":1,"180":1,"181":1,"182":2,"186":1,"192":1,"197":1,"204":1,"206":2,"212":1,"216":3,"222":2,"230":1,"231":1,"238":2,"242":1,"254":1,"257":1,"269":1,"274":1,"283":1,"285":1,"286":2,"288":2,"290":2,"295":1,"297":1,"298":2,"300":1,"307":1,"308":1,"318":1,"319":4,"323":1,"324":3,"327":1,"329":1,"331":2,"350":1,"361":1,"364":2,"370":1,"373":1,"379":1,"380":1,"386":3,"387":4,"391":2,"395":2,"402":2,"403":3,"404":1,"406":1,"415":1,"417":4,"420":1,"422":1,"423":1,"424":1,"426":3,"427":3,"428":1,"429":2,"432":1,"433":3,"435":4,"436":1,"438":1,"439":2,"442":1,"447":4,"461":2,"464":1,"467":1,"471":1,"475":1,"477":1,"478":1,"481":1,"487":1,"488":1,"500":1,"502":1,"508":1,"510":2,"521":2,"528":2,"538":2,"544":2,"548":1,"553":1,"554":1,"558":2,"563":5,"564":2,"568":1,"569":1,"570":1,"571":2,"572":3,"581":1,"582":3,"586":1,"589":1,"591":3,"593":2,"595":3,"602":1,"604":1,"609":4,"613":1,"621":1,"622":2,"624":1,"627":1,"630":1,"632":1,"636":4,"646":1,"647":6,"649":1,"650":1,"651":1,"653":1,"661":4,"664":1,"665":1,"671":2,"673":1,"675":1,"676":2,"677":1,"687":1,"692":1,"695":1,"699":1,"710":1,"716":1,"717":1,"720":3,"724":1,"727":1,"728":1,"729":1,"731":1,"734":1,"737":2,"739":1,"741":2,"747":1,"749":2}}],["abstain",{"2":{"563":1}}],["absolute",{"2":{"536":2}}],["abbreviation",{"2":{"449":1}}],["abci++",{"2":{"432":1,"435":1}}],["abci",{"0":{"647":1},"2":{"392":1,"432":1,"608":1,"647":8}}],["abi",{"2":{"88":1,"148":1,"247":1,"250":4,"255":1}}],["ability",{"2":{"41":1,"414":1,"418":1,"419":1,"671":2,"699":2}}],["able",{"2":{"45":3,"58":2,"59":1,"83":1,"132":2,"159":1,"179":1,"226":1,"302":1,"370":1,"388":1,"390":1,"406":1,"415":1,"418":1,"430":2,"487":1,"529":1,"530":1,"537":1,"543":1,"545":1,"574":1,"587":1,"637":1,"734":1,"742":1,"744":1,"745":1,"746":1}}],["abusive",{"2":{"11":1}}],["about",{"0":{"290":1},"1":{"291":1},"2":{"3":1,"8":1,"17":1,"25":1,"27":1,"29":1,"41":2,"44":1,"46":1,"50":1,"54":1,"60":1,"61":1,"66":5,"67":1,"83":1,"114":1,"132":2,"178":1,"194":1,"230":1,"238":1,"293":1,"296":1,"316":1,"317":1,"322":1,"333":1,"334":1,"396":1,"405":1,"420":1,"421":1,"422":2,"454":1,"475":1,"483":1,"487":1,"500":1,"507":2,"508":2,"513":2,"516":2,"521":1,"522":1,"528":1,"538":1,"544":1,"557":2,"581":1,"596":1,"651":2,"710":1,"731":1}}],["above",{"2":{"2":1,"42":1,"45":1,"86":2,"103":1,"118":1,"137":1,"140":1,"147":1,"148":1,"150":1,"157":1,"197":1,"254":2,"331":1,"332":1,"333":3,"336":1,"403":1,"410":2,"432":1,"435":2,"476":1,"477":1,"507":1,"516":1,"517":1,"530":1,"535":2,"536":1,"545":1,"547":1,"564":1,"598":1,"654":1,"687":1,"688":1,"700":1}}],["atomic",{"2":{"434":1}}],["atmosphere",{"2":{"58":1,"59":1}}],["at",{"0":{"446":1,"449":1},"1":{"447":1},"2":{"10":1,"11":1,"17":3,"29":1,"41":2,"44":1,"45":2,"49":1,"50":1,"52":4,"58":2,"59":2,"60":2,"61":1,"62":3,"63":1,"64":1,"66":1,"91":1,"114":1,"117":1,"129":2,"131":1,"147":2,"153":3,"158":1,"170":1,"190":1,"207":1,"230":1,"241":1,"244":1,"249":1,"270":1,"272":1,"292":1,"294":1,"333":1,"386":3,"395":1,"397":1,"406":1,"417":1,"420":1,"427":3,"429":1,"432":1,"435":1,"436":3,"441":1,"442":2,"445":1,"446":1,"447":6,"449":1,"468":1,"477":1,"480":1,"555":1,"557":4,"572":2,"574":1,"576":2,"581":1,"582":1,"587":1,"591":1,"609":1,"619":1,"622":1,"672":1,"676":1,"687":1,"688":1,"702":1,"706":1,"716":1,"734":1,"745":1}}],["attach",{"2":{"572":2}}],["attack",{"2":{"414":3,"417":1}}],["attacks",{"2":{"8":1,"508":1}}],["attempt",{"2":{"413":1}}],["attempting",{"2":{"274":1}}],["attest",{"2":{"160":1}}],["attestations",{"2":{"159":1,"166":2,"237":1,"484":1,"521":3,"522":2,"530":3,"534":1,"538":3,"539":2,"545":2,"638":1}}],["attestation",{"2":{"147":2,"153":2,"159":2,"165":1,"501":1,"522":2,"533":2,"539":3}}],["attestationproof",{"0":{"153":1},"2":{"147":6,"153":2}}],["attested",{"2":{"125":2,"159":1,"163":1}}],["attended",{"2":{"63":1}}],["attendees",{"2":{"54":3,"55":4,"56":3,"58":2,"59":2,"60":2,"61":2,"63":1,"64":1,"66":1,"70":1,"83":2}}],["attending",{"2":{"63":2}}],["attend",{"2":{"60":1,"64":3}}],["attendance",{"2":{"54":1,"56":1,"60":3,"63":2}}],["attention",{"2":{"8":1}}],["attributes",{"2":{"534":4}}],["attribution",{"0":{"17":1}}],["attracting",{"2":{"63":1}}],["attract",{"2":{"60":1,"61":1}}],["adr",{"2":{"587":2}}],["adr019",{"2":{"442":1}}],["adrs",{"2":{"432":1,"488":1,"547":1}}],["admin",{"2":{"329":4,"331":2,"380":2,"572":1}}],["administrative",{"2":{"308":1}}],["adapt",{"2":{"293":1}}],["adapted",{"2":{"17":1,"447":1}}],["adoption",{"2":{"238":1}}],["adopted",{"2":{"45":1}}],["adjusted",{"2":{"403":1,"404":1}}],["adjust",{"2":{"181":1}}],["adhere",{"2":{"70":1}}],["adventure",{"2":{"378":1}}],["advertise",{"2":{"644":1}}],["advertising",{"2":{"45":1}}],["adverse",{"2":{"43":1}}],["advanced",{"0":{"346":1,"650":1}}],["advance",{"2":{"59":1,"63":1}}],["advances",{"2":{"8":1}}],["advice",{"2":{"43":3}}],["advise",{"2":{"464":1,"724":1}}],["advised",{"2":{"108":1,"509":1,"514":1,"589":1,"613":1}}],["adviser",{"2":{"43":1}}],["advisable",{"2":{"43":1,"609":1}}],["adler",{"2":{"33":2,"52":1}}],["adds",{"2":{"403":1,"435":1}}],["addnetworkkeplr",{"2":{"298":15}}],["addrs",{"2":{"338":2}}],["addr",{"2":{"271":8,"380":2,"410":4,"530":2,"535":1,"571":2,"593":2}}],["addressrun",{"2":{"608":1}}],["addressed",{"2":{"238":1}}],["addresses",{"2":{"102":1,"117":1,"293":1,"304":1,"508":4,"510":2,"516":2,"520":2,"534":1}}],["address=$",{"2":{"637":2,"644":2,"691":2}}],["address=$evm",{"2":{"569":2}}],["address=0x966e6f22781ef6a6a82bbb4db3df8e225dfd9488",{"2":{"515":2}}],["address=0x6b452da14195b0adc3c960e56a078cf8f50448f8",{"2":{"514":2}}],["address=0x7dd8f9cafe6d25165249a454f2d0b72fd149bbba",{"2":{"512":4}}],["address=0x70997970c51812dc3a010c7d01b50e0d17dc79c8",{"2":{"355":1,"372":1}}],["address=0x70997970c51812dc3a010c7d01b50e0d17dc79c8export",{"2":{"355":1,"372":1}}],["address=0x27a1f8ce94187e4b043f4d57548ef2348ed556c7",{"2":{"510":4}}],["address=0xaf319b70de80232539ad576f88739afd2df44187",{"2":{"509":2}}],["address=0xff00000000000000000000000000000000000000",{"2":{"355":2,"372":2}}],["address=0x5fbdb2315678afecb367f032d93f642f64180aa3",{"2":{"118":1,"234":1}}],["address=0x5fbdb2315678afecb367f032d93f642f64180aa3export",{"2":{"118":1,"234":1}}],["address=address",{"2":{"202":4}}],["address=celestia1c425ckmve2489atttx022qpc02gxspa29wmh0d",{"2":{"343":1}}],["address=celestia1c425ckmve2489atttx022qpc02gxspa29wmh0dexport",{"2":{"343":1}}],["address=celestia127fpaygehlsgjdknwvlr2mux7h5uvhkxktgkc5",{"2":{"196":1}}],["address=celestia127fpaygehlsgjdknwvlr2mux7h5uvhkxktgkc5export",{"2":{"196":1}}],["address=celestia1adgkqcmzuxvg7x5avx8a8rjwpmxgzex3ztef6j",{"2":{"196":2}}],["address=",{"2":{"86":2,"245":2,"246":2,"254":2,"569":2,"572":1,"637":2}}],["address",{"0":{"337":1,"339":1,"534":1,"535":1,"637":1,"644":1},"1":{"536":1,"537":1},"2":{"8":1,"10":1,"44":2,"62":1,"86":3,"87":8,"88":2,"109":2,"119":4,"132":1,"163":1,"194":3,"195":4,"196":3,"197":16,"198":5,"199":5,"200":4,"203":1,"204":4,"212":2,"223":4,"226":1,"235":4,"242":10,"245":10,"246":8,"250":10,"251":1,"252":4,"254":11,"255":2,"271":4,"302":1,"304":1,"324":1,"325":7,"328":1,"337":9,"339":3,"340":8,"343":2,"361":1,"364":5,"380":3,"410":2,"479":5,"500":1,"501":1,"508":2,"509":3,"510":7,"512":7,"513":4,"514":2,"515":6,"516":2,"517":2,"522":1,"524":3,"527":1,"528":2,"530":13,"534":19,"535":3,"536":1,"545":2,"553":1,"554":2,"562":10,"564":1,"569":5,"571":2,"582":2,"583":2,"591":1,"629":2,"635":2,"637":10,"643":1,"644":8,"671":2,"677":2,"685":1,"690":8,"691":4,"700":2,"701":5,"728":5}}],["addblock",{"2":{"135":2,"137":4}}],["added",{"2":{"104":1,"250":4,"388":1,"413":1,"500":1,"517":1,"528":1,"544":1,"572":2,"575":1,"677":1,"687":1,"689":1}}],["addition",{"2":{"45":1,"58":1,"423":1,"436":1,"452":1,"605":1}}],["additionally",{"2":{"44":1,"63":1,"104":1,"133":1,"427":1,"444":1}}],["additional",{"0":{"45":1,"347":1},"1":{"348":1,"349":1,"350":1},"2":{"43":1,"45":1,"56":1,"62":1,"64":1,"102":1,"131":1,"132":1,"248":1,"264":1,"268":1,"310":1,"327":1,"403":1,"429":1}}],["adding",{"0":{"251":1,"302":1,"687":1},"2":{"2":1,"181":1,"272":1,"273":1,"500":1,"522":1,"528":1,"544":1,"559":2,"573":1}}],["add",{"0":{"226":1,"272":1,"298":1,"301":1,"493":1,"500":1,"509":1,"517":1,"527":1,"543":1,"686":1,"691":1},"1":{"528":1,"544":1},"2":{"5":1,"63":1,"65":1,"96":2,"99":1,"108":1,"133":2,"137":4,"186":1,"194":2,"202":5,"211":2,"214":1,"216":6,"218":6,"224":1,"226":3,"248":1,"250":4,"251":2,"271":1,"272":6,"277":3,"285":1,"297":1,"298":7,"299":1,"302":4,"320":1,"324":1,"325":2,"380":3,"391":1,"447":1,"506":2,"508":2,"509":7,"516":2,"517":7,"527":1,"534":1,"543":1,"553":1,"557":4,"559":2,"569":5,"572":1,"576":8,"585":1,"592":1,"604":1,"662":1,"676":1,"685":2,"686":2,"689":1,"690":1,"700":2}}],["apache",{"2":{"125":2}}],["aptyummac",{"2":{"319":1,"661":1}}],["aptyum",{"2":{"319":1,"661":1}}],["apt",{"2":{"92":6,"319":6,"661":6}}],["api",{"0":{"307":1,"308":1,"311":1,"312":1,"313":1,"344":1,"381":1,"407":1,"465":1,"713":1,"725":1},"1":{"308":1,"309":2,"310":2,"311":2,"312":1,"313":2,"408":1,"409":1,"410":1,"411":1},"2":{"66":1,"226":1,"248":4,"270":1,"285":2,"302":1,"307":5,"308":4,"309":1,"310":1,"312":2,"313":1,"314":1,"324":1,"326":1,"328":1,"329":1,"330":2,"344":1,"349":1,"378":3,"379":1,"382":1,"383":1,"384":1,"385":2,"386":1,"391":2,"411":2,"424":1,"465":4,"476":3,"563":1,"584":1,"642":1,"649":1,"713":11,"725":11}}],["apology",{"2":{"13":1}}],["apologizing",{"2":{"8":1}}],["appcelestia",{"2":{"641":1,"683":1}}],["appcd",{"2":{"580":1}}],["appconsts",{"2":{"410":4}}],["appdsudo",{"2":{"742":2}}],["appd",{"2":{"190":2,"191":2,"194":2,"195":2,"197":6,"198":2,"199":2,"200":4,"202":8,"204":4,"211":6,"212":4,"279":3,"408":2,"410":2,"534":8,"557":4,"558":2,"559":8,"560":6,"561":6,"562":10,"563":10,"564":4,"565":2,"566":4,"567":2,"569":10,"576":18,"580":5,"581":5,"613":6,"624":2,"629":4,"636":6,"637":4,"641":2,"645":1,"646":1,"647":1,"683":3,"684":2,"685":2,"686":2,"688":2,"689":3,"691":2,"692":2,"741":1,"742":15}}],["append",{"2":{"125":2,"137":2,"387":2}}],["appear",{"2":{"263":1,"572":1}}],["appearance",{"2":{"7":1}}],["appeal",{"2":{"60":1}}],["app",{"0":{"186":1,"209":1,"408":1,"435":1,"579":1,"612":1,"678":1,"681":1,"738":1,"742":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"436":1,"580":1,"581":1,"582":1,"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1},"2":{"88":1,"149":4,"150":4,"153":1,"159":1,"186":1,"187":1,"189":3,"190":8,"191":2,"194":4,"195":2,"197":6,"198":2,"199":2,"200":4,"201":1,"209":1,"210":1,"249":6,"250":5,"252":5,"255":1,"269":1,"285":1,"297":1,"340":4,"393":1,"398":1,"399":1,"402":2,"405":2,"406":1,"410":20,"432":6,"435":1,"436":2,"460":1,"484":1,"521":1,"522":1,"530":5,"538":1,"539":1,"545":1,"547":3,"557":2,"572":4,"579":1,"580":18,"581":3,"582":1,"612":1,"613":19,"617":1,"619":1,"620":2,"622":1,"623":18,"624":1,"630":1,"641":1,"643":2,"644":2,"646":1,"647":1,"663":1,"677":2,"678":1,"681":1,"683":1,"687":1,"688":1,"689":3,"690":1,"708":1,"731":1,"738":3,"739":2,"742":1,"745":1,"747":1}}],["appreciate",{"2":{"66":1,"70":1}}],["appreciation",{"2":{"61":2}}],["approximation",{"2":{"403":1,"709":1}}],["approve",{"2":{"263":1}}],["approval",{"2":{"71":1,"263":1}}],["approaches",{"2":{"157":1}}],["approach",{"2":{"60":1,"61":1,"62":1,"461":1,"475":1,"710":1,"720":1}}],["appropriate",{"2":{"9":2,"133":2,"271":1,"438":1}}],["apple",{"2":{"320":1,"581":1,"662":1}}],["applying",{"2":{"51":1,"56":1,"427":1}}],["apply",{"2":{"45":1,"433":1,"585":1,"622":1}}],["application",{"2":{"102":1,"180":2,"181":1,"211":1,"238":1,"245":1,"247":1,"252":1,"294":2,"317":1,"392":1,"402":2,"406":1,"430":7,"432":3,"452":1,"547":1,"557":10,"573":1,"623":1,"646":1}}],["applications",{"2":{"46":1,"48":1,"168":1,"170":2,"173":1,"180":2,"181":2,"183":1,"184":1,"185":1,"296":1,"317":2,"389":1,"391":1,"393":1,"395":1,"424":1,"430":1,"471":1,"705":1,"733":1,"740":1,"742":1}}],["applicable",{"2":{"42":1,"44":1,"45":9,"54":1}}],["applies",{"2":{"10":2,"507":1}}],["appsetup",{"2":{"608":1}}],["apps",{"2":{"33":2,"49":1,"102":1}}],["appointed",{"2":{"10":1}}],["acelestia",{"2":{"629":1}}],["aceffa8",{"2":{"97":2}}],["across",{"2":{"65":2,"149":1,"180":1,"280":1,"446":1}}],["acknowledging",{"2":{"62":1}}],["acknowledge",{"2":{"42":4,"45":4}}],["acquaintances",{"2":{"62":1,"63":1}}],["achieved",{"2":{"68":1,"103":1,"573":1,"615":1}}],["achieve",{"2":{"25":1}}],["accurately",{"2":{"404":1}}],["accurate",{"2":{"402":1}}],["accuracy",{"2":{"44":1,"45":1}}],["accname",{"2":{"223":2,"325":6,"380":2,"555":6,"672":6,"700":6,"702":6}}],["accomplish",{"2":{"223":1}}],["accomplished",{"2":{"169":1,"295":1}}],["accommodate",{"2":{"54":1}}],["accordingly",{"2":{"66":1}}],["according",{"2":{"59":1}}],["accordance",{"2":{"44":1,"45":3}}],["account=0x35a1f8ce94187e4b043f4d57548ef2348ed556c8",{"2":{"545":2}}],["accountname",{"2":{"410":2}}],["accounted",{"2":{"403":1}}],["accountexport",{"2":{"202":1}}],["accountaddress",{"2":{"327":1}}],["accounts",{"0":{"117":1,"200":1},"2":{"118":1,"200":1,"207":1,"233":1,"245":1,"403":1,"508":2,"511":2,"575":4,"576":2}}],["account",{"0":{"186":1,"193":1,"197":1,"198":1,"199":1,"203":1,"204":1,"339":1,"343":1,"406":1,"686":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":2,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1},"2":{"10":1,"45":4,"85":1,"87":2,"186":3,"192":1,"193":1,"194":2,"197":12,"198":11,"199":6,"200":3,"201":2,"202":4,"204":4,"208":2,"226":1,"240":1,"248":1,"252":2,"254":3,"271":4,"272":1,"302":1,"336":2,"339":3,"350":4,"365":1,"370":1,"382":1,"403":3,"406":1,"410":6,"422":1,"508":2,"509":4,"510":6,"512":6,"514":2,"515":2,"530":8,"534":3,"535":1,"536":4,"545":1,"557":4,"563":4,"569":3,"576":10,"590":1,"671":1,"686":2,"699":1}}],["accessed",{"2":{"643":1}}],["accessing",{"0":{"619":1},"2":{"420":1,"421":1}}],["accessibility",{"2":{"238":1}}],["accessible",{"2":{"54":1,"83":1,"215":4,"420":1,"530":1,"545":1,"582":2,"591":2}}],["access",{"2":{"42":4,"60":1,"61":1,"71":2,"74":1,"83":1,"143":1,"298":2,"308":1,"309":1,"391":4,"403":1,"415":1,"419":1,"420":2,"424":2,"477":2,"507":1,"510":2,"516":1,"524":3,"530":1,"534":1,"535":1,"635":1,"671":1,"699":1,"716":1}}],["accepts",{"2":{"436":2,"530":1,"545":1}}],["accept",{"2":{"41":1,"402":1,"406":1,"436":1,"489":1,"571":2,"613":1,"642":1}}],["acceptable",{"2":{"9":1}}],["accepting",{"2":{"8":2}}],["actors",{"2":{"424":1}}],["actually",{"2":{"288":1,"413":1}}],["actual",{"2":{"133":3,"135":1,"403":1,"442":1,"519":1}}],["activating",{"2":{"675":1,"676":1}}],["activation",{"2":{"366":1}}],["activate",{"2":{"604":1}}],["active",{"2":{"73":1,"222":1,"223":1,"530":1,"547":1}}],["activities",{"2":{"44":3,"54":1,"55":1,"82":1}}],["acting",{"2":{"10":1,"45":1}}],["actions",{"2":{"14":1,"42":2,"133":4}}],["action",{"2":{"9":1,"12":1,"42":1,"327":1,"510":2,"534":4}}],["act",{"2":{"7":1,"42":3,"45":13,"165":1,"390":1}}],["aside",{"2":{"447":1,"507":1,"516":1}}],["async",{"2":{"250":6,"298":2}}],["ascii",{"2":{"217":1,"560":2}}],["asked",{"2":{"70":1,"461":1,"530":2,"720":1}}],["ask",{"2":{"50":1,"58":1,"61":1,"62":1,"298":2,"436":1}}],["assign",{"2":{"569":1}}],["assigned",{"2":{"517":1}}],["assistance",{"2":{"63":1,"65":1}}],["assist",{"2":{"51":1,"64":1,"65":1,"500":1,"528":1,"544":1}}],["assumption",{"2":{"404":1,"417":2,"420":1}}],["assumptions",{"0":{"417":1},"2":{"165":1,"420":1}}],["assumes",{"2":{"404":1,"417":1,"530":1,"534":1,"545":1,"584":1,"596":1}}],["assumed",{"2":{"383":1,"417":1,"457":1}}],["assume",{"2":{"133":1,"180":1,"380":1}}],["assurances",{"0":{"425":1},"2":{"45":2}}],["asset",{"2":{"451":1}}],["assets",{"2":{"8":1,"160":1}}],["assert",{"2":{"242":1}}],["assertion",{"2":{"242":2}}],["asserting",{"2":{"115":1,"231":1}}],["asserts",{"2":{"115":1,"231":1}}],["asserteq",{"2":{"115":4,"231":4,"242":9}}],["assess",{"2":{"60":1}}],["assessing",{"2":{"56":1}}],["associated",{"2":{"43":1,"63":1,"153":2,"336":1,"435":2}}],["aspects",{"2":{"65":1,"83":1}}],["aspect",{"2":{"42":1,"521":1}}],["astria",{"2":{"27":4,"396":2}}],["as",{"0":{"101":1,"348":1,"691":1,"740":1},"1":{"102":1,"103":1,"104":1,"105":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"7":1,"8":2,"10":1,"14":2,"41":5,"42":3,"43":1,"45":10,"54":1,"58":2,"60":1,"61":3,"62":2,"63":2,"65":1,"68":1,"72":1,"74":1,"75":1,"83":3,"86":2,"87":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"117":1,"118":1,"124":1,"126":1,"129":1,"132":5,"133":2,"134":2,"137":1,"140":1,"147":1,"148":2,"149":1,"150":2,"158":2,"159":1,"160":2,"165":1,"167":1,"169":4,"173":1,"179":6,"190":1,"196":3,"197":1,"198":1,"202":1,"204":1,"211":2,"234":1,"237":2,"242":4,"245":5,"246":1,"254":3,"258":1,"270":3,"279":1,"281":1,"283":2,"284":1,"290":1,"293":1,"295":4,"308":2,"309":1,"310":2,"314":1,"323":1,"327":3,"331":1,"332":2,"343":1,"359":1,"360":1,"361":2,"364":3,"371":1,"381":1,"386":2,"387":2,"389":3,"390":3,"391":4,"396":1,"402":2,"403":1,"404":2,"406":1,"410":2,"413":2,"416":2,"417":1,"419":1,"420":1,"423":2,"427":4,"429":3,"430":4,"432":1,"433":5,"435":3,"436":3,"441":1,"445":1,"447":2,"452":3,"453":1,"454":1,"465":1,"472":1,"477":1,"500":1,"502":1,"507":2,"509":2,"510":1,"512":2,"514":2,"515":1,"517":2,"519":1,"521":2,"522":1,"528":2,"530":2,"536":1,"537":1,"539":1,"544":1,"547":1,"554":1,"556":1,"557":2,"563":1,"564":1,"570":1,"572":5,"573":1,"575":1,"582":1,"586":1,"587":1,"590":1,"591":1,"607":1,"609":1,"617":1,"622":1,"623":1,"624":1,"629":2,"630":1,"634":1,"639":1,"659":1,"671":4,"673":1,"674":1,"677":1,"678":1,"686":1,"690":1,"691":1,"699":2,"703":1,"705":1,"706":1,"708":2,"709":1,"720":1,"725":1,"734":2,"739":1,"740":1,"741":1,"742":1,"746":1,"747":1}}],["anchoring",{"2":{"250":1}}],["anger",{"2":{"194":2}}],["analogously",{"2":{"127":1}}],["analogous",{"2":{"126":1}}],["analog",{"2":{"125":2}}],["analytics",{"0":{"718":1},"2":{"718":2}}],["analyze",{"2":{"56":1}}],["analyse",{"2":{"44":1}}],["anvil",{"0":{"233":1},"2":{"118":1,"233":4,"245":3}}],["another",{"0":{"337":1,"343":1},"2":{"104":2,"108":1,"222":1,"223":1,"237":1,"242":2,"280":1,"324":1,"337":1,"363":1,"380":1,"402":1,"435":1,"511":1,"535":1,"553":1,"562":1,"607":1,"630":1,"664":1}}],["answer",{"2":{"66":1,"197":1}}],["answers",{"2":{"17":1,"65":1,"413":1}}],["annual",{"2":{"442":2}}],["annually",{"2":{"442":1,"449":1}}],["announced",{"2":{"63":1,"638":1}}],["announce",{"2":{"63":1}}],["announcement",{"2":{"63":1,"470":1,"482":1,"719":1,"720":1,"730":1,"735":1}}],["announcing",{"2":{"63":2}}],["anniversary",{"2":{"45":3}}],["anticipate",{"2":{"60":1}}],["anticipation",{"2":{"42":1}}],["an",{"0":{"90":1,"106":1,"348":1,"351":1,"367":1,"377":1,"642":1},"1":{"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"107":1,"108":1,"109":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"643":1,"644":1,"645":1},"2":{"4":1,"7":1,"10":5,"13":1,"16":1,"19":1,"27":1,"41":1,"42":3,"45":9,"48":1,"50":1,"55":1,"58":1,"60":1,"61":2,"62":1,"65":1,"70":1,"71":2,"73":1,"77":1,"78":1,"79":1,"83":1,"84":1,"85":1,"87":2,"90":2,"98":1,"102":3,"103":1,"104":1,"105":1,"106":1,"107":1,"115":1,"126":1,"129":2,"131":1,"133":4,"134":2,"145":1,"146":2,"149":1,"150":1,"152":1,"153":2,"158":1,"159":2,"160":1,"161":2,"165":1,"168":1,"170":3,"180":1,"204":3,"205":1,"211":1,"223":2,"231":1,"234":1,"237":2,"239":2,"241":1,"242":4,"245":1,"248":1,"250":2,"254":2,"257":1,"270":2,"276":1,"291":2,"293":1,"297":1,"310":1,"314":1,"324":2,"329":1,"330":1,"331":2,"332":3,"333":2,"337":1,"338":1,"339":1,"340":1,"343":1,"350":1,"365":1,"377":1,"378":1,"379":1,"382":2,"386":1,"390":1,"392":1,"396":2,"397":1,"402":1,"403":3,"405":1,"406":1,"410":2,"414":1,"417":3,"426":1,"430":4,"432":1,"433":6,"434":1,"435":1,"436":1,"441":1,"442":1,"449":1,"451":1,"458":1,"469":1,"477":3,"487":2,"496":1,"506":1,"508":4,"510":3,"512":2,"513":6,"515":2,"516":4,"517":2,"518":2,"519":3,"521":2,"522":1,"524":2,"527":1,"530":2,"533":3,"534":3,"537":1,"538":1,"539":1,"543":1,"547":2,"549":1,"553":2,"554":1,"557":4,"560":1,"564":2,"569":1,"570":1,"572":1,"573":1,"580":1,"581":1,"585":2,"587":2,"589":1,"593":3,"607":1,"608":1,"609":1,"610":1,"619":1,"627":1,"629":2,"635":1,"636":1,"637":1,"638":1,"646":1,"647":1,"651":1,"653":3,"655":1,"666":1,"671":1,"675":1,"688":1,"696":1,"699":1,"709":1,"716":1}}],["anyway",{"2":{"312":1,"317":1,"591":1}}],["anything",{"2":{"272":1}}],["anytrust",{"2":{"102":2}}],["anyone",{"2":{"114":1,"225":1,"230":1,"269":1,"289":1,"294":1,"297":1,"300":1,"392":1,"413":1,"434":1,"538":1}}],["any",{"2":{"4":1,"8":1,"9":1,"11":1,"12":1,"15":1,"16":1,"41":5,"42":19,"43":4,"44":2,"45":36,"54":3,"55":2,"63":2,"66":1,"131":1,"149":1,"159":1,"178":1,"179":1,"181":2,"214":1,"224":1,"251":1,"279":1,"285":1,"287":1,"288":1,"299":1,"322":1,"327":1,"364":1,"413":1,"428":1,"453":1,"467":2,"478":2,"508":1,"516":3,"524":1,"557":2,"572":4,"580":1,"593":1,"596":1,"598":1,"601":1,"607":1,"622":1,"629":1,"706":1,"728":2,"731":1}}],["and",{"0":{"19":1,"57":1,"59":1,"63":1,"86":1,"161":1,"165":1,"167":1,"169":1,"220":1,"242":1,"250":1,"262":1,"264":1,"267":1,"268":1,"284":1,"285":1,"292":1,"293":1,"295":1,"325":1,"334":1,"353":1,"380":1,"389":1,"390":1,"401":1,"402":1,"421":1,"463":1,"464":1,"472":1,"560":1,"583":1,"607":1,"614":1,"655":1,"700":1,"706":1,"723":1,"724":1,"727":1,"748":1},"1":{"20":1,"21":1,"22":1,"23":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"87":1,"221":1,"222":1,"223":1,"293":1,"294":1,"390":1,"391":1,"402":1,"403":2,"404":2,"405":2,"406":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"701":1},"2":{"0":1,"1":1,"2":4,"3":3,"5":1,"7":5,"8":8,"9":6,"10":1,"11":3,"13":1,"21":6,"22":3,"25":3,"27":2,"29":1,"31":1,"33":4,"41":7,"42":20,"43":3,"44":11,"45":37,"46":3,"48":3,"50":2,"51":1,"52":3,"54":12,"55":7,"56":6,"57":1,"58":6,"59":9,"60":7,"61":6,"62":8,"63":11,"64":11,"65":4,"66":3,"68":4,"70":4,"71":2,"72":1,"74":2,"75":3,"76":1,"77":1,"78":1,"79":1,"80":1,"81":2,"82":2,"83":10,"84":1,"86":4,"89":1,"90":1,"98":1,"99":1,"102":10,"103":1,"104":2,"107":1,"108":1,"111":2,"112":1,"113":1,"114":1,"115":4,"117":5,"118":1,"126":1,"128":1,"129":9,"131":3,"132":3,"133":8,"134":3,"135":1,"137":10,"139":1,"145":1,"146":3,"147":1,"149":5,"150":2,"151":1,"152":3,"153":2,"154":3,"157":2,"159":3,"160":1,"161":1,"162":1,"167":5,"168":2,"169":2,"170":1,"171":1,"173":1,"176":2,"177":2,"178":4,"180":4,"181":2,"182":1,"183":1,"184":1,"186":1,"187":2,"189":1,"190":2,"194":1,"196":1,"197":2,"198":1,"201":1,"202":1,"203":1,"206":1,"208":1,"210":1,"214":1,"216":2,"217":1,"224":1,"225":2,"226":4,"228":1,"229":1,"230":1,"231":4,"233":1,"234":1,"237":3,"238":4,"242":8,"245":1,"246":3,"247":3,"248":3,"250":11,"251":1,"252":2,"253":1,"254":5,"256":1,"258":2,"261":1,"262":1,"263":1,"266":1,"267":2,"269":4,"270":1,"271":2,"272":1,"273":2,"274":5,"277":2,"280":1,"281":1,"283":5,"284":2,"285":1,"287":2,"288":1,"289":2,"290":4,"293":4,"294":5,"295":1,"296":2,"298":3,"299":1,"300":2,"301":3,"302":3,"303":1,"304":1,"305":1,"307":2,"308":4,"309":1,"310":1,"312":1,"314":3,"317":3,"319":6,"320":2,"322":6,"323":2,"324":1,"326":1,"327":1,"328":1,"329":2,"331":1,"332":4,"333":1,"334":5,"343":2,"345":1,"348":1,"350":1,"353":1,"359":2,"360":1,"361":1,"364":9,"365":1,"366":2,"367":1,"368":1,"370":5,"373":1,"378":3,"380":3,"382":1,"384":1,"385":1,"386":7,"387":5,"388":1,"389":4,"390":4,"391":4,"392":4,"394":1,"395":3,"396":1,"397":1,"400":1,"402":2,"403":3,"404":6,"405":3,"406":2,"407":1,"410":14,"413":2,"414":3,"417":1,"418":1,"419":3,"420":2,"421":2,"422":2,"423":4,"425":2,"426":3,"427":4,"428":1,"429":3,"430":8,"432":3,"433":9,"434":2,"435":7,"436":3,"438":4,"439":1,"441":2,"442":2,"444":4,"446":6,"447":3,"452":1,"454":1,"456":1,"457":1,"461":1,"462":1,"466":2,"471":2,"476":1,"477":3,"483":2,"484":1,"487":2,"489":1,"493":1,"497":2,"500":1,"501":1,"502":1,"506":2,"507":1,"508":1,"509":2,"510":2,"513":1,"514":1,"515":2,"516":2,"517":2,"519":1,"521":1,"522":4,"524":1,"527":1,"528":2,"529":1,"530":4,"533":1,"534":5,"535":2,"536":2,"538":2,"539":4,"543":1,"544":1,"545":3,"546":1,"547":5,"554":1,"557":6,"560":2,"563":5,"564":2,"570":3,"572":9,"573":1,"576":2,"578":1,"579":1,"580":2,"582":2,"583":1,"585":2,"587":1,"591":3,"593":1,"594":1,"595":1,"596":7,"597":1,"598":1,"600":1,"602":1,"604":1,"608":1,"609":2,"613":2,"615":1,"617":1,"619":1,"621":1,"622":2,"623":1,"630":1,"636":3,"638":1,"639":1,"642":1,"644":1,"646":2,"647":4,"649":1,"651":2,"652":2,"654":1,"655":1,"660":1,"661":4,"662":2,"664":2,"676":2,"677":1,"678":1,"689":1,"694":1,"697":1,"698":1,"699":1,"705":2,"706":4,"709":3,"716":4,"720":2,"722":1,"726":2,"727":1,"731":3,"733":4,"734":1,"736":1,"737":2,"738":1,"739":3,"742":1,"744":1,"745":3,"746":1,"748":1,"749":2}}],["alright",{"2":{"534":1}}],["already",{"2":{"64":1,"65":1,"68":1,"151":1,"177":1,"193":1,"274":1,"275":1,"277":1,"284":1,"317":1,"320":1,"326":1,"406":1,"430":1,"487":1,"506":1,"522":1,"538":1,"539":1,"574":1,"584":1,"604":1,"607":1,"662":1,"683":1}}],["alias",{"0":{"458":1},"2":{"458":1,"561":2,"613":1}}],["alignitems",{"2":{"250":4}}],["align",{"2":{"62":1}}],["aligned",{"2":{"9":1}}],["algorithm",{"2":{"432":1,"508":1}}],["alphab",{"2":{"398":1,"399":1,"712":1,"713":1,"714":1,"716":1,"718":1}}],["although",{"2":{"436":3}}],["altlayer",{"2":{"303":2,"304":2,"305":1}}],["alternatievely",{"2":{"137":2}}],["alternatively",{"2":{"117":1,"225":1,"306":1,"327":1,"365":1,"429":1,"436":1}}],["alternative",{"2":{"104":1}}],["alternatives",{"2":{"102":1,"621":1}}],["alternating",{"2":{"50":1}}],["alertmanager",{"2":{"572":2}}],["alerts",{"0":{"574":1},"2":{"572":2,"574":1}}],["alert",{"2":{"298":4}}],["along",{"2":{"133":1,"245":1,"324":1,"378":1,"438":1,"501":1}}],["alongside",{"2":{"66":1,"102":1,"269":1}}],["alcohol",{"2":{"59":1}}],["alumni",{"2":{"51":2}}],["al",{"2":{"28":1,"52":1}}],["also",{"2":{"10":1,"59":3,"62":1,"63":1,"64":2,"66":1,"103":1,"134":1,"137":2,"158":1,"185":1,"192":1,"204":1,"216":1,"222":1,"223":1,"237":1,"242":4,"245":1,"249":1,"293":1,"298":3,"305":1,"306":1,"310":1,"324":1,"327":1,"330":1,"332":1,"373":1,"378":1,"430":1,"435":1,"436":1,"454":1,"464":1,"508":1,"516":1,"530":1,"538":1,"545":1,"547":2,"570":1,"573":1,"586":1,"602":1,"622":1,"649":1,"650":1,"677":1,"687":1,"688":1,"698":1,"720":1,"724":1,"734":1,"737":1,"738":1}}],["allocation",{"0":{"446":1},"1":{"447":1},"2":{"446":1,"447":1}}],["allocating",{"2":{"64":1}}],["allocated",{"2":{"446":1,"447":1,"564":1}}],["allocate",{"2":{"59":1}}],["allowing",{"2":{"65":1,"279":1,"364":1,"720":1}}],["allows",{"2":{"64":2,"65":1,"102":2,"103":1,"104":1,"114":1,"127":1,"129":1,"145":1,"146":1,"160":1,"225":1,"230":1,"249":1,"250":3,"258":1,"285":1,"297":1,"298":1,"300":1,"308":1,"317":1,"363":1,"386":3,"392":1,"428":1,"454":1,"465":1,"483":1,"497":1,"500":1,"502":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":3,"528":1,"534":1,"544":1,"574":1,"582":2,"591":2,"642":1,"647":1,"651":1,"691":1,"725":1,"737":2,"738":2}}],["allow",{"2":{"62":2,"171":1,"271":4,"277":4,"298":2,"330":1,"370":1,"391":3,"392":1,"413":1,"462":1,"464":1,"465":1,"466":1,"530":2,"582":1,"583":1,"587":2,"591":1,"608":1,"626":1,"654":1,"693":1,"722":1,"724":1,"725":1,"726":1}}],["allowed",{"2":{"15":1}}],["allotting",{"2":{"61":1}}],["alleged",{"2":{"42":1}}],["all",{"0":{"219":1,"617":1},"2":{"3":1,"5":2,"10":1,"11":2,"33":1,"43":1,"44":1,"45":1,"65":1,"66":1,"70":3,"82":1,"87":1,"90":1,"97":2,"99":2,"132":2,"157":1,"177":1,"178":1,"179":3,"180":2,"181":1,"194":2,"207":1,"211":1,"242":3,"250":2,"254":1,"273":2,"323":1,"328":1,"333":6,"358":1,"364":1,"376":1,"385":1,"386":1,"390":2,"391":1,"403":1,"404":1,"405":1,"410":2,"413":3,"415":3,"416":1,"422":1,"430":3,"433":3,"436":1,"445":1,"447":1,"472":1,"477":1,"487":1,"502":1,"507":1,"516":1,"530":1,"557":1,"561":1,"582":1,"591":1,"615":1,"617":2,"620":1,"623":1,"636":1,"641":3,"643":2,"651":1,"654":1,"663":1,"664":1,"683":2,"687":2,"689":4,"705":1,"716":1,"731":1,"749":1}}],["always",{"2":{"2":1,"58":1,"216":1,"370":1,"403":1,"472":1,"530":1,"646":2,"734":1}}],["a",{"0":{"24":1,"30":1,"66":1,"78":1,"79":1,"84":1,"110":1,"132":1,"178":1,"179":1,"186":1,"194":1,"202":1,"204":1,"205":1,"209":1,"211":1,"212":1,"213":1,"227":1,"253":1,"254":1,"262":1,"267":1,"274":1,"302":1,"323":1,"324":1,"348":1,"360":1,"369":1,"370":1,"371":1,"380":1,"394":1,"395":1,"410":1,"411":1,"431":1,"435":1,"449":1,"546":1,"555":1,"558":1,"569":1,"581":1,"608":1,"610":1,"615":2,"625":1,"626":1,"629":1,"638":1,"663":1,"672":1,"682":1,"684":1,"685":1,"691":1,"693":1,"702":1,"740":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"85":1,"86":1,"87":1,"88":1,"89":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"255":1,"256":1,"257":1,"395":1,"396":1,"432":1,"436":1,"547":1,"548":1,"549":1,"550":1,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":3,"617":3,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":2,"627":3,"628":3,"629":3,"630":2,"631":2,"632":2,"633":2,"634":2,"635":2,"636":2,"637":2,"638":2,"639":2,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":1,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"694":1,"695":1,"696":1,"697":1,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"2":4,"3":3,"7":1,"8":3,"13":2,"14":5,"15":4,"16":2,"21":1,"22":4,"25":1,"29":1,"33":2,"41":5,"42":10,"43":3,"44":2,"45":15,"46":3,"48":7,"49":3,"50":1,"51":1,"52":2,"53":2,"54":6,"55":1,"57":3,"58":12,"59":3,"60":8,"61":7,"62":7,"63":3,"64":3,"65":8,"66":4,"68":1,"70":2,"71":2,"72":1,"74":1,"75":1,"77":1,"78":7,"79":5,"83":5,"84":1,"85":1,"86":3,"87":3,"88":1,"89":1,"98":3,"99":1,"102":5,"103":1,"104":3,"107":1,"108":3,"109":1,"111":2,"113":2,"114":3,"115":2,"117":2,"118":3,"119":3,"120":2,"124":1,"125":3,"126":8,"127":4,"129":13,"131":3,"132":15,"133":19,"134":3,"135":3,"137":6,"143":3,"145":5,"146":11,"147":2,"149":3,"150":2,"152":1,"153":8,"154":1,"158":2,"159":2,"160":3,"165":2,"166":1,"167":3,"168":1,"169":4,"170":2,"173":1,"176":4,"177":1,"178":5,"179":7,"180":3,"181":2,"182":1,"183":1,"184":1,"186":4,"190":1,"192":4,"193":1,"194":3,"197":3,"198":1,"200":2,"201":4,"202":3,"204":2,"205":2,"206":2,"207":1,"208":3,"209":1,"212":1,"213":1,"214":1,"216":8,"217":1,"218":1,"222":2,"223":1,"225":1,"226":1,"227":1,"228":1,"229":2,"230":3,"231":2,"233":3,"234":3,"235":3,"236":1,"237":2,"238":1,"240":1,"241":1,"242":7,"244":1,"245":5,"247":7,"248":1,"249":3,"250":5,"252":1,"253":1,"254":8,"255":1,"256":1,"258":2,"261":1,"262":1,"263":1,"267":1,"269":1,"270":2,"272":1,"274":1,"275":3,"276":17,"280":3,"283":1,"285":1,"288":1,"289":2,"290":4,"291":2,"293":1,"294":2,"295":5,"296":2,"297":2,"298":2,"300":1,"302":1,"305":1,"307":1,"308":2,"309":1,"310":1,"312":1,"314":3,"317":1,"318":1,"322":3,"323":2,"324":2,"325":2,"326":1,"327":1,"329":2,"330":1,"331":3,"332":7,"334":2,"343":3,"345":1,"350":1,"359":1,"360":4,"361":1,"364":6,"365":2,"367":2,"368":3,"370":4,"371":2,"373":2,"378":1,"380":3,"383":3,"384":1,"385":1,"386":24,"387":4,"388":1,"390":1,"391":2,"392":5,"395":3,"396":8,"397":4,"400":1,"401":1,"402":6,"403":10,"404":13,"405":4,"406":7,"410":10,"413":2,"414":5,"415":3,"416":6,"417":5,"418":3,"419":2,"420":4,"421":1,"422":2,"423":4,"425":1,"426":5,"427":9,"428":3,"429":7,"430":4,"432":5,"433":11,"434":3,"435":13,"436":9,"438":5,"439":3,"441":4,"444":2,"445":1,"446":2,"447":1,"451":1,"452":6,"453":3,"454":1,"461":1,"462":1,"464":2,"466":2,"471":2,"472":2,"477":3,"479":2,"484":1,"487":7,"492":1,"493":2,"496":1,"497":2,"500":5,"501":3,"502":1,"503":1,"504":1,"505":1,"507":2,"508":4,"509":7,"510":2,"511":1,"512":1,"513":8,"514":1,"515":5,"516":4,"517":8,"518":1,"521":3,"522":4,"524":1,"526":1,"527":1,"528":8,"530":6,"532":3,"533":1,"534":10,"535":4,"536":1,"538":3,"539":3,"542":1,"543":1,"544":6,"545":1,"547":6,"554":5,"555":2,"556":2,"557":10,"560":4,"563":7,"564":4,"566":2,"568":1,"569":1,"570":2,"571":2,"572":16,"573":1,"574":3,"575":3,"576":2,"578":2,"579":1,"580":1,"581":2,"582":5,"583":2,"584":1,"586":6,"587":2,"589":1,"590":1,"591":5,"592":3,"595":4,"596":2,"597":1,"601":2,"604":1,"605":1,"607":5,"608":8,"609":3,"613":3,"615":1,"619":2,"620":1,"621":1,"622":3,"623":2,"624":1,"627":1,"628":1,"629":3,"630":4,"632":1,"634":2,"635":1,"636":2,"637":3,"638":1,"639":1,"642":1,"643":1,"644":2,"646":1,"647":2,"649":3,"650":4,"651":2,"652":2,"653":1,"654":6,"655":1,"656":2,"659":3,"663":3,"671":7,"672":2,"673":2,"675":2,"676":3,"677":2,"678":2,"682":1,"683":2,"685":2,"691":1,"692":1,"693":1,"695":1,"699":7,"700":1,"702":2,"703":1,"705":1,"706":1,"708":2,"709":9,"710":1,"716":2,"720":2,"722":1,"724":2,"726":2,"728":2,"731":4,"734":2,"736":1,"737":1,"738":1,"739":3,"740":1,"741":2,"742":1,"747":2,"748":2,"749":1}}],["blind",{"2":{"194":2}}],["blue",{"2":{"154":1}}],["blobtypes",{"2":{"405":4,"410":6}}],["blobtxs",{"2":{"407":1}}],["blobtx",{"2":{"400":1,"410":4}}],["blob",{"2":{"148":1,"149":1,"153":2,"304":1,"327":7,"332":12,"333":10,"334":6,"364":6,"365":2,"386":2,"390":1,"400":2,"403":5,"404":6,"405":6,"408":2,"409":3,"410":14,"411":1,"438":1,"439":1,"709":4}}],["blobspace",{"0":{"437":1,"451":1},"1":{"438":1,"439":1}}],["blobs",{"0":{"316":1,"400":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1},"2":{"144":1,"314":1,"333":1,"362":2,"365":2,"390":2,"400":1,"403":1,"404":3,"438":2,"477":1,"716":1}}],["blobstream",{"0":{"103":1,"121":1,"124":1,"130":1,"131":1,"139":1,"142":1,"158":1,"160":1,"164":1,"483":1,"484":1,"489":1,"491":1,"497":1,"499":1,"521":1,"525":1,"538":1,"541":1,"635":1,"638":1},"1":{"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"159":1,"160":1,"161":2,"162":1,"163":1,"164":1,"165":2,"166":2,"167":2,"484":1,"485":2,"486":2,"487":2,"488":2,"490":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"498":1,"499":1,"500":1,"501":1,"522":1,"523":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"539":1,"540":1,"541":1,"542":1,"543":1,"544":1,"545":1},"2":{"29":2,"97":2,"98":2,"103":2,"104":1,"108":1,"124":4,"125":23,"127":1,"128":1,"129":9,"131":3,"132":2,"133":4,"134":3,"135":1,"137":2,"139":1,"145":2,"147":6,"153":4,"154":1,"157":1,"158":4,"159":5,"160":2,"161":2,"162":4,"163":5,"165":2,"166":2,"167":3,"237":1,"483":3,"484":1,"485":1,"486":2,"487":8,"488":4,"489":2,"491":2,"497":9,"499":2,"500":1,"501":6,"502":1,"503":1,"504":1,"505":1,"507":11,"508":7,"509":3,"510":3,"512":3,"513":5,"515":4,"516":7,"517":3,"518":3,"519":3,"520":3,"521":3,"522":4,"525":2,"530":7,"534":5,"536":2,"538":5,"539":3,"541":2,"545":9,"608":1,"638":2,"677":3}}],["blobpointer",{"2":{"103":2}}],["blog",{"2":{"54":1,"56":1,"242":43,"244":6,"247":3,"250":12,"488":1}}],["blocktimes",{"2":{"288":1}}],["blocknumber",{"2":{"119":2,"235":2,"361":2}}],["blockheight",{"2":{"103":2}}],["blocks",{"0":{"135":1},"2":{"99":2,"132":3,"133":4,"134":1,"135":12,"137":13,"169":1,"192":1,"288":2,"290":1,"295":1,"390":1,"391":3,"392":1,"406":2,"413":1,"417":2,"418":1,"421":1,"428":1,"429":1,"442":1,"464":2,"547":3,"617":3,"620":4,"622":1,"724":2,"731":2,"745":1}}],["blockspaceracecelestia",{"2":{"380":1}}],["blockspacerace",{"2":{"380":3}}],["blockspace",{"2":{"25":1,"380":3}}],["blockchain",{"0":{"178":1,"238":1,"422":1,"431":1},"1":{"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"432":1},"2":{"42":1,"46":1,"52":1,"58":1,"75":1,"77":1,"132":3,"133":3,"137":1,"141":1,"171":3,"178":3,"179":3,"238":1,"250":2,"258":1,"269":1,"288":2,"289":2,"290":1,"293":3,"294":3,"378":3,"387":1,"392":1,"395":1,"410":2,"413":1,"414":1,"420":1,"422":1,"423":1,"425":1,"426":2,"432":3,"433":1,"434":2,"441":2,"451":1,"452":2,"608":1,"609":1,"621":2,"623":1,"675":1,"731":1}}],["blockchains",{"0":{"288":1,"425":1,"433":1},"2":{"25":3,"31":1,"33":1,"48":1,"77":3,"80":1,"83":1,"134":1,"177":2,"178":3,"179":2,"180":2,"181":1,"238":4,"293":1,"387":2,"413":2,"415":1,"423":1,"425":1,"433":6,"434":1}}],["block",{"0":{"137":1,"140":1,"340":1,"406":1,"418":1,"617":1},"2":{"29":1,"102":1,"125":16,"126":2,"127":1,"129":5,"132":34,"133":2,"134":4,"135":17,"137":15,"145":3,"146":2,"153":13,"160":3,"169":1,"271":4,"288":1,"295":1,"302":1,"317":1,"332":1,"333":6,"334":1,"340":10,"360":3,"364":2,"386":5,"387":2,"389":1,"391":4,"406":2,"410":2,"413":3,"414":4,"415":2,"416":4,"417":4,"418":2,"421":1,"424":1,"426":1,"427":8,"428":3,"429":4,"430":3,"432":2,"434":2,"435":10,"436":13,"438":3,"442":3,"445":1,"454":1,"477":1,"521":2,"534":2,"547":2,"564":1,"576":2,"615":1,"617":2,"620":3,"621":2,"622":1,"629":1,"637":3,"647":3,"664":2,"676":2,"677":1,"694":1,"709":3,"716":1}}],["bidirectional",{"2":{"605":1}}],["billion",{"2":{"447":1}}],["bigger",{"2":{"413":1,"417":1}}],["bi",{"2":{"404":2}}],["bip44",{"2":{"298":2}}],["bip39",{"2":{"218":1,"528":1,"534":1}}],["bitcoin",{"2":{"238":1}}],["bitter",{"2":{"194":2}}],["bind",{"2":{"643":1}}],["binding",{"2":{"42":1,"516":1}}],["binaries",{"2":{"319":1,"581":2,"660":1}}],["binarymerkleproof",{"2":{"125":4,"126":1,"147":4,"152":3,"153":3}}],["binary",{"0":{"484":1,"491":1,"499":1,"525":1,"541":1,"580":1,"581":1,"598":1},"1":{"485":1,"486":1,"487":1,"488":1},"2":{"52":1,"108":1,"125":2,"126":1,"129":1,"145":1,"146":3,"147":2,"153":2,"190":1,"215":4,"322":4,"380":1,"491":2,"499":2,"525":2,"536":2,"541":2,"552":1,"557":2,"578":2,"579":1,"580":5,"581":4,"596":4,"598":1,"651":1,"676":4,"697":1}}],["bin",{"2":{"94":4,"222":2,"223":2,"319":2,"320":9,"545":2,"576":2,"580":1,"581":1,"661":2,"662":9}}],["biometric",{"2":{"44":3}}],["b",{"2":{"42":2,"43":1,"45":2,"137":10,"276":8,"322":1,"446":1,"447":1,"580":6,"596":1,"637":2}}],["brevity",{"2":{"433":1}}],["brew",{"2":{"319":4,"572":1,"661":4}}],["breaking",{"2":{"405":1}}],["breaks",{"2":{"55":1,"61":1}}],["break",{"0":{"35":1},"2":{"472":1,"601":1}}],["br",{"2":{"250":2}}],["brush",{"2":{"178":1}}],["branding",{"0":{"76":1}}],["brand",{"2":{"65":1,"76":1}}],["branch",{"2":{"2":3,"97":2,"98":2,"390":2}}],["brightlystake",{"2":{"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["brightest",{"2":{"83":1}}],["bridging",{"0":{"306":1},"2":{"160":1,"304":1}}],["bridge=",{"2":{"583":4}}],["bridgefulllight",{"2":{"216":1,"217":1,"218":1}}],["bridges",{"2":{"49":1,"731":1}}],["bridge",{"0":{"463":1,"546":1,"547":1,"549":1,"551":1,"553":1,"554":1,"555":1,"556":1,"615":1,"632":1,"633":1,"634":1,"723":1,"727":1,"745":1},"1":{"547":1,"548":1,"549":1,"550":2,"551":1,"552":2,"553":2,"554":2,"555":3,"556":2,"616":1,"617":1},"2":{"29":4,"104":1,"108":2,"133":2,"158":1,"214":1,"216":2,"217":2,"218":2,"237":1,"306":3,"323":1,"390":1,"433":1,"461":1,"464":1,"476":6,"477":2,"546":2,"547":4,"548":1,"552":1,"553":9,"554":12,"555":9,"556":2,"582":2,"583":4,"591":2,"594":1,"595":4,"601":2,"602":1,"605":1,"607":3,"608":1,"615":1,"630":3,"632":2,"633":2,"634":2,"650":1,"715":1,"716":2,"720":1,"724":1,"727":7,"731":1,"737":1,"745":20,"746":1}}],["briefly",{"2":{"62":1}}],["bringing",{"2":{"572":1}}],["bring",{"2":{"59":1,"83":1}}],["browsers",{"2":{"312":1}}],["browser",{"0":{"261":1,"266":1},"2":{"225":1,"261":1,"297":1,"300":2,"572":1}}],["broken",{"2":{"194":2,"676":1}}],["broadcasttx",{"2":{"410":2}}],["broadcastforge",{"2":{"245":1,"246":1}}],["broadcasting",{"2":{"197":2,"206":2,"462":1,"477":1,"636":2,"716":1,"722":1}}],["broadcast",{"2":{"86":1,"206":2,"245":1,"246":1,"254":1,"434":1,"466":1,"534":2,"576":4,"726":1}}],["broadcastcd",{"2":{"86":1,"254":1}}],["broader",{"2":{"41":1,"61":1,"64":1,"83":1,"706":1}}],["brought",{"2":{"33":1}}],["bound",{"2":{"709":1}}],["bonddenomalias",{"2":{"458":1}}],["bonddenom",{"2":{"457":1}}],["bonus",{"2":{"388":1}}],["bona",{"2":{"45":1}}],["bot",{"2":{"272":1}}],["both",{"2":{"117":1,"133":1,"167":1,"186":1,"206":1,"272":1,"290":1,"298":1,"368":1,"404":1,"426":1,"430":1,"433":1,"438":1,"444":1,"512":1,"572":1,"579":1,"638":1,"739":1}}],["border",{"2":{"250":2}}],["borrowing",{"2":{"58":1}}],["bob",{"2":{"242":4}}],["box",{"2":{"181":1}}],["bootstr",{"2":{"522":2}}],["bootstrappeers",{"2":{"604":2}}],["bootstrappers",{"2":{"487":1,"496":1,"522":1,"524":1,"530":3,"539":1,"545":1,"604":1,"716":1}}],["bootstrapper",{"0":{"489":1,"495":1},"1":{"490":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":2},"2":{"487":1,"489":1,"492":7,"493":2,"494":1,"495":3,"522":3,"539":1,"604":3,"727":1}}],["bootstrapping",{"0":{"452":1},"2":{"391":1}}],["bootstrap",{"0":{"604":1},"2":{"452":1,"489":1,"607":1}}],["boolean",{"2":{"585":2,"586":1}}],["bool",{"2":{"125":2,"242":6}}],["boostrapper",{"2":{"583":1}}],["boost",{"2":{"64":1}}],["book",{"2":{"58":1,"141":1,"393":1}}],["board",{"2":{"61":2}}],["bowen",{"2":{"27":3}}],["body",{"2":{"7":1,"197":2}}],["bare",{"2":{"653":1}}],["baricevic",{"2":{"52":1}}],["bak",{"2":{"613":10,"644":2}}],["bad",{"2":{"418":2}}],["balances",{"0":{"200":1},"2":{"197":1,"200":6,"212":2,"422":2,"477":1,"562":5,"716":1}}],["balance",{"0":{"336":1,"337":1,"343":1},"2":{"167":1,"200":3,"226":1,"237":1,"252":1,"301":1,"302":1,"336":3,"337":7,"564":1,"619":1,"671":1,"699":1}}],["batchsubmitter",{"2":{"364":2}}],["batcheraddr",{"2":{"364":2}}],["batcher",{"2":{"169":3,"290":1,"295":3,"356":1,"359":1,"361":1,"364":3,"365":1,"366":1}}],["batched",{"2":{"166":1}}],["batches",{"0":{"366":1},"2":{"126":1,"161":1,"169":1,"290":1,"295":1,"366":2,"435":1}}],["batchposter",{"2":{"104":1}}],["batch",{"2":{"103":1,"109":1,"127":2,"153":1,"160":1,"271":8,"355":2,"356":1,"364":3,"366":4,"372":2}}],["bain",{"2":{"52":1}}],["backward",{"2":{"675":1}}],["backed",{"2":{"646":2}}],["backers",{"2":{"446":2,"447":2}}],["backend=test",{"2":{"636":2}}],["backend=",{"2":{"576":2}}],["backend",{"2":{"202":3,"206":4,"211":2,"216":6,"217":6,"218":6,"222":2,"223":2,"246":2,"252":2,"325":4,"380":2,"554":2,"558":4,"576":8,"586":1,"671":2,"685":2,"686":2,"688":2,"700":4}}],["background",{"0":{"740":1},"1":{"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"386":8,"387":2,"556":1,"624":1,"634":1,"673":1,"703":1,"740":1,"741":1,"742":1,"746":1}}],["back",{"2":{"46":1,"104":1,"137":1,"160":1,"169":1,"237":1,"270":1,"280":1,"295":1,"363":1,"364":1,"365":1,"386":5,"387":2,"388":1,"522":1,"539":1}}],["basefeepergas",{"2":{"360":1}}],["basechainhandle",{"2":{"276":8}}],["baseaccount",{"2":{"199":3}}],["base64str",{"2":{"386":4}}],["base64=true",{"2":{"333":5}}],["base64",{"2":{"145":1,"146":1,"148":1,"149":1,"150":1,"151":1,"152":1,"250":2,"332":4,"333":4,"348":1,"361":3,"385":2,"386":9}}],["based",{"2":{"129":1,"165":1,"225":1,"258":1,"283":1,"288":2,"297":1,"300":1,"322":1,"378":1,"403":2,"404":3,"425":1,"439":1,"441":1,"442":1,"452":1,"508":1,"580":1,"596":1,"749":1}}],["base",{"0":{"199":1},"2":{"119":1,"198":4,"235":1,"250":1,"433":2}}],["bashmoniker=",{"2":{"636":1}}],["bashmake",{"2":{"98":1,"322":5,"356":1,"357":1,"358":2,"373":1,"374":1,"375":1,"376":1,"580":1,"596":5}}],["bashrc",{"2":{"613":1}}],["bashroot",{"2":{"223":1}}],["bashpersistent",{"2":{"613":3}}],["bashprometheus",{"2":{"572":1}}],["bashprivate",{"2":{"246":1,"252":1}}],["bashseeds=$",{"2":{"613":2}}],["bashsuccess",{"2":{"273":1,"276":2}}],["bashsudo",{"2":{"92":1,"319":4,"654":1,"661":4}}],["bashfatal",{"2":{"595":1}}],["bashforge",{"2":{"113":1,"114":1,"115":1,"118":1,"229":1,"230":1,"231":1,"233":1,"234":1,"241":1,"243":1,"245":1,"246":1}}],["bash$home",{"2":{"370":6}}],["bashzsh",{"2":{"320":1,"662":1}}],["bashhermes",{"2":{"272":1,"273":1,"275":3,"276":2}}],["bashvalidator",{"2":{"629":1,"637":1}}],["bashvim",{"2":{"271":1}}],["bashver=",{"2":{"94":1,"320":3,"662":3}}],["bashnpm",{"2":{"252":1}}],["bashanvil",{"2":{"245":1}}],["bashanvilanvil",{"2":{"233":1}}],["bashdocker",{"2":{"222":4,"223":4,"359":3,"653":3,"655":3,"656":3}}],["bashda",{"2":{"108":1}}],["bashbrew",{"2":{"613":1}}],["bashbash",{"2":{"581":1}}],["bashbalances",{"2":{"200":2}}],["bashblockhash",{"2":{"119":1,"235":1}}],["bashgrafana",{"2":{"572":1}}],["bashgrpcurl",{"2":{"362":1,"365":1}}],["bashgo",{"2":{"320":1,"662":1}}],["bashgas",{"2":{"197":1}}],["bashgit",{"2":{"97":1,"322":3,"354":2,"485":1,"580":3,"596":3}}],["bashenter",{"2":{"629":1}}],["bashecho",{"2":{"119":1,"235":1,"320":2,"662":2}}],["bashexport",{"2":{"86":2,"87":1,"118":2,"190":1,"196":1,"202":1,"204":1,"233":1,"234":2,"245":1,"246":1,"254":3,"329":2,"330":1,"343":1,"355":1,"360":1,"361":1,"372":1,"583":2,"653":7}}],["bash0x000000000000000000000000000000000000000000000000000000000000000a0x000000000000000000000000000000000000000000000000000000000000000a",{"2":{"119":1,"235":1}}],["bash",{"2":{"94":4,"95":2,"98":4,"99":3,"108":3,"109":6,"114":1,"115":1,"118":1,"190":1,"194":1,"195":2,"197":3,"198":2,"199":2,"200":2,"216":3,"217":3,"218":3,"222":2,"223":1,"230":1,"231":1,"234":1,"277":2,"319":3,"320":4,"325":2,"331":2,"571":1,"576":1,"581":1,"586":1,"592":2,"613":1,"654":1,"655":1,"656":1,"661":3,"662":4}}],["bashcp",{"2":{"247":1,"613":3}}],["bashcontainer",{"2":{"222":1,"223":1}}],["bashcelestia",{"2":{"202":3,"204":2,"279":1,"322":1,"323":3,"324":6,"325":3,"327":3,"330":1,"331":2,"332":4,"333":5,"334":3,"336":1,"337":2,"338":1,"339":1,"340":2,"341":1,"342":1,"343":3,"344":1,"345":2,"346":1,"408":1,"409":1,"477":2,"583":1,"592":2,"593":2,"594":2,"596":1,"613":3,"629":2,"632":1,"633":1,"636":1,"716":1}}],["bashcargo",{"2":{"96":1}}],["bashcast",{"2":{"87":3,"119":2,"235":2,"245":2,"246":2,"254":3,"360":1,"361":1}}],["bashcurl",{"2":{"93":1,"95":1,"571":1}}],["bashcd",{"2":{"86":2,"88":1,"113":1,"189":1,"191":1,"194":1,"229":1,"247":1,"254":2,"255":1,"320":4,"322":1,"354":1,"355":1,"362":1,"372":1,"580":1,"596":1,"623":3,"654":1,"662":4}}],["bashyarn",{"2":{"1":1}}],["bassam",{"2":{"28":1,"52":1}}],["basically",{"2":{"181":1}}],["basic",{"0":{"24":1,"328":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1,"329":1,"330":1,"331":1},"2":{"33":1,"48":2,"112":2,"228":2,"242":2,"250":2,"327":1,"328":1,"572":1,"646":1,"648":1,"652":2}}],["bandwidth",{"2":{"288":2,"318":1,"428":1,"548":1,"609":1,"627":1,"665":1,"695":1}}],["bank",{"2":{"200":4,"212":2,"283":1,"562":10,"576":4}}],["banner",{"2":{"62":1}}],["banners",{"2":{"62":1}}],["ban",{"0":{"15":1,"16":1},"2":{"14":1,"15":2,"16":1}}],["bug",{"2":{"595":2,"731":1}}],["bugs",{"2":{"42":1}}],["burned",{"2":{"563":1}}],["buckets",{"2":{"271":8}}],["buffer",{"2":{"250":6}}],["bubstestnet",{"2":{"170":1,"174":1,"175":1}}],["bubs",{"0":{"168":1,"170":1,"227":1,"234":1,"254":1},"1":{"169":1,"170":1,"171":2,"172":2,"173":2,"174":2,"175":2,"176":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"255":1,"256":1,"257":1},"2":{"168":1,"169":1,"170":1,"171":1,"172":1,"173":3,"174":1,"176":3,"183":1,"227":1,"228":4,"234":8,"236":1,"254":6,"291":3,"296":1,"396":3}}],["budget",{"2":{"59":3,"64":1}}],["buy",{"2":{"45":1}}],["businesses",{"2":{"62":1}}],["business",{"2":{"45":1}}],["buttonstyle",{"2":{"250":6}}],["button",{"2":{"250":16,"266":1,"298":5,"572":1}}],["buttoncontainerstyle",{"2":{"250":6}}],["but",{"2":{"8":1,"41":1,"43":1,"44":1,"45":2,"49":2,"53":1,"58":1,"59":3,"62":1,"65":1,"66":1,"83":1,"132":1,"133":2,"167":1,"178":1,"190":1,"193":1,"246":1,"272":1,"285":1,"286":1,"295":1,"383":2,"390":1,"406":1,"422":1,"435":1,"447":2,"472":1,"509":1,"512":1,"514":1,"573":1,"620":2,"630":1,"647":1,"663":1,"676":1,"684":1,"706":1,"720":1,"731":1}}],["buildmake",{"2":{"322":1,"596":1}}],["builds",{"2":{"190":1}}],["buildforge",{"2":{"114":1,"230":1}}],["builders",{"2":{"46":1,"179":1,"294":1}}],["build",{"0":{"30":1,"177":1,"355":1,"372":1,"385":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"356":1,"357":1,"358":1,"359":1},"2":{"22":1,"33":2,"46":2,"48":3,"52":1,"61":1,"92":2,"98":7,"114":1,"120":1,"158":1,"170":1,"179":1,"184":1,"185":1,"189":2,"190":3,"191":2,"194":2,"230":1,"236":1,"238":3,"257":1,"282":1,"319":5,"320":1,"322":10,"355":1,"372":1,"383":1,"386":1,"392":1,"396":1,"451":1,"483":1,"580":1,"596":10,"661":4,"662":1,"678":1}}],["building",{"0":{"1":1,"19":1,"170":1,"182":1,"247":1,"383":1,"431":1,"580":1},"1":{"20":1,"21":1,"22":1,"23":1,"171":1,"172":1,"173":1,"174":1,"175":1,"183":1,"184":1,"185":1,"248":1,"384":1,"385":1,"386":1,"387":1,"432":1},"2":{"22":3,"25":1,"31":1,"33":1,"48":1,"51":1,"177":1,"182":1,"239":1,"247":1,"308":1,"319":1,"380":1,"393":1,"596":1,"660":1,"697":1}}],["built",{"0":{"169":1,"581":1},"2":{"1":1,"27":1,"33":1,"165":1,"168":1,"169":1,"215":1,"257":1,"269":2,"279":1,"289":2,"294":1,"295":1,"296":1,"387":1,"391":1,"392":1,"432":2,"453":1,"547":2,"579":1,"581":3,"613":1}}],["bypass",{"2":{"532":1}}],["byte",{"2":{"103":6,"132":8,"149":1,"150":1,"167":1,"386":7,"387":4,"404":1,"405":1,"410":4}}],["bytes=",{"2":{"709":1}}],["bytes28",{"2":{"149":2,"150":2}}],["bytes1",{"2":{"149":2,"150":2}}],["bytes32",{"2":{"125":8,"145":1,"146":1,"149":2,"152":3,"153":2}}],["bytes",{"0":{"709":1},"2":{"103":1,"108":1,"125":4,"147":2,"148":2,"149":5,"150":1,"332":1,"364":4,"403":1,"410":2,"428":2,"429":3,"435":1,"708":1,"709":4}}],["by",{"0":{"340":1,"618":1},"2":{"8":1,"17":1,"25":1,"41":6,"42":4,"44":3,"45":11,"49":1,"56":1,"59":1,"60":1,"61":1,"64":1,"65":1,"66":1,"78":1,"83":2,"102":1,"103":2,"104":1,"114":1,"115":2,"117":1,"125":2,"127":1,"129":7,"131":1,"132":1,"133":5,"135":2,"137":2,"145":2,"147":4,"150":1,"153":2,"157":1,"158":1,"159":2,"160":2,"169":3,"179":1,"180":1,"181":1,"198":1,"212":1,"214":1,"222":1,"223":2,"230":1,"231":2,"237":1,"242":6,"246":1,"247":1,"269":2,"270":1,"276":1,"283":1,"287":2,"288":1,"293":2,"294":1,"295":2,"302":1,"303":1,"312":1,"314":1,"316":1,"322":1,"325":3,"332":3,"340":4,"341":4,"346":6,"356":1,"366":2,"370":1,"371":1,"380":1,"386":3,"390":3,"391":3,"392":1,"397":1,"401":2,"402":6,"403":5,"404":6,"405":2,"406":2,"414":1,"415":1,"416":1,"417":1,"418":1,"427":2,"428":1,"430":2,"432":3,"434":2,"435":5,"436":3,"439":1,"442":1,"447":1,"452":1,"453":1,"462":1,"492":1,"494":1,"503":2,"504":2,"505":2,"516":1,"518":1,"521":1,"526":1,"528":1,"529":1,"533":1,"534":1,"542":1,"544":1,"554":2,"557":4,"563":2,"571":1,"572":3,"573":1,"576":2,"577":1,"582":3,"584":1,"591":3,"596":1,"602":2,"604":2,"607":2,"608":1,"613":1,"620":1,"621":1,"622":1,"627":1,"629":1,"643":2,"646":2,"654":1,"671":2,"676":2,"680":1,"681":1,"682":1,"683":1,"690":1,"692":1,"697":1,"700":3,"709":4,"722":1,"731":2,"734":1}}],["behind",{"2":{"288":1,"298":1,"472":1,"644":1,"734":1}}],["behave",{"2":{"575":1}}],["behaviour",{"2":{"507":1}}],["behavior",{"2":{"8":2,"9":2,"11":1,"13":2,"14":1,"15":1,"16":1,"327":1,"622":1,"694":1}}],["behalf",{"2":{"41":1,"45":2}}],["beautiful",{"2":{"247":1}}],["bear",{"2":{"42":2,"45":2}}],["bedrock",{"2":{"169":1,"295":2,"359":1,"367":1,"370":1,"373":1}}],["bech",{"2":{"534":2,"629":2,"637":2}}],["bech32prefixconspub",{"2":{"298":2}}],["bech32prefixconsaddr",{"2":{"298":2}}],["bech32prefixvalpub",{"2":{"298":2}}],["bech32prefixvaladdr",{"2":{"298":2}}],["bech32prefixaccpub",{"2":{"298":2}}],["bech32prefixaccaddr",{"2":{"298":2}}],["bech32config",{"2":{"298":2}}],["because",{"2":{"135":1,"181":1,"245":1,"246":1,"270":1,"288":1,"413":1,"423":1,"510":1,"516":1,"528":1,"544":1}}],["becomes",{"2":{"413":2,"607":1}}],["become",{"2":{"42":1,"71":1,"74":1}}],["beer",{"2":{"59":1}}],["been",{"2":{"42":1,"45":4,"103":2,"104":2,"125":3,"198":1,"212":1,"245":1,"246":1,"276":1,"312":1,"317":1,"391":2,"413":1,"422":1,"423":1,"510":2,"533":1,"534":1,"591":1,"698":1,"708":1,"742":1,"746":1}}],["beginner",{"0":{"649":1},"2":{"649":1}}],["beginning",{"2":{"62":2,"149":2,"442":1}}],["beginkey",{"2":{"149":3}}],["begin",{"2":{"56":1,"137":1,"250":2,"572":1}}],["belong",{"2":{"147":2}}],["below",{"2":{"45":1,"65":1,"118":1,"134":1,"154":1,"212":1,"234":1,"361":1,"362":1,"373":1,"391":1,"432":1,"435":2,"442":1,"446":1,"447":1,"462":1,"580":1,"581":1,"629":1,"636":2,"655":1,"656":1,"671":1,"699":1,"722":1,"727":1}}],["beller",{"2":{"52":1}}],["benefits",{"2":{"58":1,"62":1,"77":1,"80":1,"83":2,"102":1,"177":2,"238":1}}],["benefit",{"2":{"45":2,"62":2,"64":1,"103":1}}],["beneficial",{"2":{"45":1,"66":1}}],["betaarabicamocha",{"2":{"702":1}}],["betamochaarabica",{"2":{"298":1,"320":1,"322":1,"323":1,"324":2,"325":1,"370":2,"553":1,"555":1,"580":1,"596":1,"613":4,"623":1,"653":2,"655":1,"656":1,"662":1,"670":1,"672":1,"698":1,"700":1}}],["beta",{"0":{"398":1,"705":1,"733":1},"1":{"706":1,"707":1,"708":1,"709":1,"710":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":1,"717":1,"718":1,"719":1},"2":{"104":1,"216":1,"222":1,"223":1,"237":1,"290":1,"325":1,"370":1,"373":1,"398":1,"554":1,"585":1,"589":1,"590":3,"653":1,"671":1,"699":1,"705":2,"706":2,"710":2,"716":1,"717":1,"733":1}}],["between",{"0":{"274":1,"421":1},"2":{"42":1,"60":1,"61":1,"137":1,"167":1,"242":2,"269":2,"270":1,"271":1,"274":1,"276":1,"433":1,"442":1,"535":1,"582":1,"591":1,"664":1,"731":1,"745":1}}],["better",{"2":{"25":1,"65":1,"66":1,"133":1,"176":1,"391":1,"512":1}}],["be",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1},"2":{"8":2,"11":2,"13":1,"33":1,"42":2,"44":1,"45":14,"46":1,"51":1,"58":3,"59":3,"61":1,"62":3,"63":4,"66":4,"71":1,"83":1,"87":1,"88":1,"90":1,"102":1,"115":1,"117":2,"120":1,"129":1,"132":4,"133":5,"134":2,"135":3,"137":3,"143":2,"145":3,"146":4,"148":3,"149":3,"150":2,"151":1,"152":1,"153":4,"154":1,"157":1,"158":1,"159":5,"160":1,"165":1,"169":1,"179":4,"181":2,"190":1,"201":1,"207":2,"212":1,"214":1,"215":1,"216":2,"222":1,"223":1,"224":1,"226":1,"231":1,"237":3,"238":2,"239":1,"242":2,"245":2,"247":1,"250":1,"252":2,"253":1,"254":1,"255":1,"257":2,"269":1,"271":1,"272":2,"276":2,"279":3,"280":1,"283":1,"287":1,"288":3,"299":1,"302":1,"306":1,"309":1,"312":2,"317":1,"319":1,"322":1,"323":1,"324":1,"325":1,"328":2,"329":2,"332":6,"337":1,"364":3,"365":1,"366":3,"370":2,"373":2,"378":3,"379":1,"380":4,"381":1,"382":1,"383":1,"388":1,"389":1,"390":4,"391":3,"401":1,"402":1,"403":3,"404":1,"405":2,"406":3,"410":4,"414":1,"417":1,"418":3,"420":2,"423":2,"424":1,"427":1,"428":1,"429":3,"430":1,"433":3,"435":2,"436":1,"438":2,"439":1,"442":2,"447":2,"452":1,"465":1,"472":2,"477":1,"487":1,"492":1,"493":1,"496":2,"501":1,"503":1,"504":1,"505":1,"506":2,"508":1,"509":1,"510":6,"512":2,"514":1,"515":2,"516":3,"517":4,"521":1,"524":1,"526":1,"527":1,"529":3,"530":8,"534":2,"535":2,"537":2,"538":2,"542":1,"543":2,"545":1,"552":1,"553":1,"554":1,"555":1,"560":3,"563":5,"564":1,"570":1,"571":1,"573":1,"574":1,"575":1,"576":2,"580":2,"581":1,"582":1,"585":1,"587":2,"589":2,"591":2,"593":4,"602":1,"604":1,"607":2,"615":1,"618":1,"622":5,"624":1,"632":1,"636":2,"637":2,"642":1,"643":1,"646":2,"647":1,"653":1,"654":2,"660":1,"671":4,"672":1,"674":2,"675":2,"676":3,"677":3,"682":1,"687":1,"688":1,"689":1,"692":1,"699":2,"700":1,"702":1,"706":1,"708":1,"709":4,"725":1,"727":1,"734":5,"737":1,"742":1,"744":2,"745":2,"746":1,"747":2,"748":2}}],["best",{"2":{"8":1,"78":1,"83":1,"180":1,"461":1,"475":1,"573":1,"710":1,"720":1,"737":1}}],["being",{"2":{"8":1,"135":1,"149":1,"280":1,"283":1,"420":1,"436":1,"502":1,"515":2,"547":1,"589":1,"615":1,"749":1}}],["before",{"0":{"54":1,"533":1},"2":{"2":1,"60":2,"61":1,"63":1,"88":1,"98":1,"104":1,"134":1,"137":3,"159":1,"192":1,"197":2,"251":1,"255":1,"270":1,"298":3,"327":1,"386":2,"435":1,"492":1,"501":1,"526":1,"542":1,"589":1,"622":1,"636":2,"654":1,"683":1,"686":1,"742":1}}],["rc7",{"2":{"460":1}}],["rc9",{"2":{"460":1}}],["rc1",{"2":{"373":2}}],["r",{"2":{"341":2,"346":2,"361":4,"446":1,"447":2}}],["rgba",{"2":{"250":2}}],["r1",{"2":{"154":1}}],["r0",{"2":{"154":1}}],["rfc",{"2":{"126":1}}],["rf",{"2":{"94":2,"320":8,"322":2,"580":2,"595":4,"596":2,"613":2,"623":6,"662":8}}],["rm",{"2":{"94":4,"320":16,"322":2,"580":2,"595":4,"596":2,"613":2,"623":6,"662":16}}],["rs",{"2":{"93":2}}],["rsvp",{"2":{"54":1}}],["rpcs",{"2":{"304":1,"477":1,"716":1}}],["rpcurls",{"2":{"249":2}}],["rpc",{"0":{"171":1,"285":1,"308":1,"310":1,"311":1,"314":1,"326":1,"411":1,"462":1,"476":1,"642":1,"643":1,"712":1,"716":1,"722":1},"1":{"172":1,"173":1,"309":1,"310":1,"311":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":2,"328":2,"329":2,"330":2,"331":2,"332":2,"333":2,"334":2,"335":2,"336":2,"337":2,"338":2,"339":2,"340":2,"341":2,"342":2,"343":2,"344":2,"345":2,"346":2,"347":1,"348":1,"349":1,"350":1,"463":1,"464":1,"643":1,"644":1,"645":1,"723":1,"724":1},"2":{"86":7,"87":16,"108":8,"118":7,"119":9,"133":4,"140":1,"143":1,"144":1,"171":2,"204":8,"205":1,"206":5,"222":2,"223":2,"226":2,"228":1,"233":7,"234":8,"235":9,"245":2,"246":6,"251":1,"254":23,"271":16,"285":2,"298":10,"302":1,"307":1,"308":3,"310":3,"311":1,"314":1,"317":1,"323":1,"324":3,"326":1,"327":2,"328":4,"329":1,"330":1,"334":1,"338":1,"339":1,"349":1,"350":2,"360":2,"361":2,"373":3,"380":1,"383":3,"385":2,"386":7,"411":1,"462":2,"464":3,"466":1,"476":4,"477":5,"501":4,"522":1,"524":1,"530":5,"532":1,"539":1,"545":1,"547":1,"553":1,"554":2,"562":4,"582":2,"583":1,"591":2,"592":2,"597":1,"608":1,"622":4,"632":1,"642":1,"643":3,"644":1,"647":3,"653":5,"671":1,"699":3,"700":3,"712":13,"713":1,"714":2,"716":12,"722":2,"723":7,"724":3,"726":1,"738":1}}],["router",{"2":{"582":1,"591":1}}],["routing",{"2":{"522":6,"539":6}}],["routine",{"2":{"60":1}}],["roughly",{"2":{"406":1}}],["rounds",{"2":{"416":2}}],["round",{"2":{"340":2}}],["robusta",{"2":{"331":2}}],["robust",{"2":{"170":1}}],["rowproofs",{"0":{"152":1},"2":{"147":2,"153":1}}],["rowroots",{"0":{"151":1},"2":{"147":4,"151":1}}],["row",{"2":{"129":4,"146":15,"147":2,"149":1,"151":5,"152":4,"153":1,"154":1,"340":2,"429":1,"435":4}}],["rows",{"2":{"129":3,"146":1,"147":8,"149":1,"151":1,"152":1,"427":1}}],["roots",{"2":{"129":2,"135":1,"146":5,"147":2,"149":1,"151":4,"152":2,"153":1,"154":1,"160":1,"161":1,"166":1,"340":4,"427":3,"428":1,"429":1,"435":2,"436":1,"547":1}}],["root",{"0":{"145":1},"2":{"103":2,"104":1,"108":3,"119":2,"125":4,"126":4,"129":10,"132":1,"134":5,"135":1,"145":9,"146":8,"147":14,"152":1,"153":22,"157":2,"158":1,"160":1,"161":1,"223":2,"235":2,"247":1,"249":2,"328":1,"357":1,"374":1,"427":1,"429":1,"430":1,"435":2,"438":1}}],["rooms",{"2":{"58":1}}],["roadmaps",{"2":{"102":1}}],["role",{"0":{"450":1},"1":{"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1},"2":{"78":1,"79":1,"386":2,"454":1,"521":1,"538":1}}],["roles",{"2":{"54":1}}],["rollback",{"2":{"557":8}}],["roller",{"2":{"396":1}}],["rollapp",{"2":{"396":1}}],["rollapps",{"2":{"31":2,"185":1}}],["rollkit",{"0":{"392":1},"1":{"393":1},"2":{"22":3,"27":1,"66":1,"79":2,"98":2,"108":2,"184":1,"246":1,"252":1,"362":2,"373":4,"392":4,"393":1,"396":1,"460":1}}],["rollupinclusionproofs",{"2":{"148":1,"149":1,"150":1,"152":1,"153":1}}],["rollup",{"0":{"79":1,"84":1,"90":1,"106":1,"109":1,"110":1,"131":1,"133":1,"136":1,"246":1,"394":1,"395":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"107":1,"108":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"134":1,"135":1,"137":1,"138":1,"139":1,"140":1,"141":1,"395":1,"396":1},"2":{"22":4,"49":3,"62":1,"79":4,"84":2,"85":1,"98":1,"102":2,"105":1,"106":1,"107":1,"109":2,"111":1,"112":1,"120":2,"125":15,"129":1,"131":2,"132":11,"133":15,"137":4,"141":1,"146":1,"150":1,"151":1,"153":1,"169":2,"170":1,"178":1,"179":2,"180":1,"181":5,"183":1,"184":2,"185":1,"240":2,"246":2,"250":2,"251":1,"252":3,"253":1,"257":1,"290":1,"295":1,"304":1,"364":4,"365":1,"389":2,"391":7,"392":2,"393":4,"395":1,"396":2,"430":1,"446":1,"451":1,"671":2}}],["rollups",{"0":{"101":1,"184":1,"185":1,"391":1,"452":1},"1":{"102":1,"103":1,"104":1,"105":1},"2":{"3":1,"29":1,"31":1,"61":1,"66":1,"77":1,"79":1,"102":1,"107":1,"131":1,"134":3,"169":1,"178":1,"179":2,"180":6,"181":3,"363":1,"371":1,"389":1,"391":3,"392":2,"393":1,"394":1,"395":3,"396":1,"414":1,"424":1,"433":1,"452":1,"471":1,"472":1,"705":1,"720":1,"733":1,"734":2}}],["rigorous",{"2":{"705":1}}],["rights",{"2":{"41":2}}],["right",{"2":{"9":1,"45":1,"46":1,"49":1,"177":1,"250":6,"252":1,"266":1,"452":1,"510":1,"530":1,"676":1}}],["riit57fvj0gm7tgacaaa",{"2":{"362":2}}],["richer",{"2":{"308":1}}],["risks",{"2":{"45":2}}],["rules",{"2":{"133":1,"433":1}}],["rule",{"2":{"42":1,"45":5}}],["rustup",{"2":{"93":2,"96":2}}],["rust",{"0":{"93":1},"2":{"33":1,"269":1,"270":1}}],["runners",{"2":{"477":1}}],["running",{"0":{"222":1,"243":1,"585":1,"731":1},"1":{"586":1},"2":{"78":1,"85":1,"91":1,"98":1,"112":1,"115":2,"117":1,"133":1,"192":1,"205":1,"223":1,"231":2,"240":2,"252":1,"253":1,"270":1,"272":1,"282":1,"317":1,"318":1,"319":3,"322":1,"325":3,"328":1,"329":1,"356":1,"359":1,"373":1,"380":3,"381":1,"392":1,"402":1,"417":1,"461":1,"464":1,"475":1,"484":2,"500":1,"506":1,"510":1,"521":3,"522":1,"528":1,"535":3,"536":1,"544":1,"548":1,"554":2,"568":1,"570":1,"571":1,"572":1,"573":1,"576":2,"584":2,"587":1,"596":1,"607":1,"609":3,"613":1,"627":1,"630":3,"638":1,"649":1,"650":2,"653":1,"654":1,"656":1,"660":1,"661":2,"665":1,"671":2,"673":1,"674":1,"683":1,"692":1,"695":1,"700":3,"704":1,"710":1,"720":1,"724":1,"734":1,"737":1,"738":1,"739":1,"740":1,"741":1,"742":2}}],["runtime",{"2":{"276":8}}],["rundown",{"2":{"177":1}}],["runs",{"2":{"98":1,"115":2,"190":1,"231":2,"404":1,"545":2,"572":2}}],["run",{"0":{"78":1,"109":1,"189":1,"380":1,"490":1,"498":1,"523":1,"540":1,"554":1,"555":1,"633":1,"636":1,"638":1,"648":1,"669":1,"672":1,"702":1},"1":{"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"499":1,"500":1,"501":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"541":1,"542":1,"543":1,"544":1,"545":1,"555":1,"649":1,"650":1,"670":1,"671":1},"2":{"1":1,"75":1,"78":2,"98":1,"99":1,"108":1,"114":3,"115":1,"133":1,"158":1,"181":2,"189":3,"190":2,"192":1,"197":1,"206":1,"211":1,"212":1,"221":1,"222":3,"230":3,"231":1,"233":1,"234":1,"239":1,"243":1,"244":2,"246":1,"252":7,"269":1,"273":1,"308":1,"310":1,"312":1,"319":1,"320":2,"324":2,"326":1,"332":1,"351":1,"357":1,"359":2,"362":1,"368":1,"370":3,"374":1,"375":1,"376":1,"380":1,"381":2,"384":1,"387":3,"396":1,"461":3,"464":1,"475":1,"476":1,"477":1,"483":1,"487":4,"515":1,"516":1,"524":1,"530":1,"534":3,"535":1,"538":2,"545":1,"547":3,"552":1,"553":1,"555":1,"557":2,"569":1,"572":4,"577":1,"580":2,"581":1,"582":2,"587":1,"591":2,"593":1,"595":1,"597":2,"598":1,"619":1,"623":1,"624":2,"629":2,"630":1,"632":1,"633":1,"636":2,"637":2,"638":1,"648":1,"650":2,"651":6,"653":9,"655":9,"656":9,"660":1,"662":2,"670":1,"672":1,"673":1,"684":1,"685":1,"686":1,"688":2,"689":1,"691":2,"698":1,"702":1,"710":2,"716":1,"720":3,"724":1,"731":1,"736":1,"737":1,"738":1,"739":3}}],["randomly",{"2":{"427":1}}],["random",{"2":{"416":1,"434":1,"436":2,"534":1}}],["range",{"2":{"39":1,"102":1,"145":1,"146":2,"153":1,"386":4,"430":2}}],["raas",{"0":{"371":1},"2":{"371":2}}],["rapid",{"2":{"247":1}}],["rapidly",{"2":{"68":1}}],["rainbow",{"2":{"248":2,"249":8,"250":2}}],["rainbowkitprovider",{"2":{"249":6}}],["rainbowkit",{"2":{"238":1,"247":1,"248":2,"249":10,"250":2}}],["raise",{"2":{"4":1,"54":1}}],["rate=0",{"2":{"569":6,"636":6}}],["rates",{"2":{"442":1}}],["rate",{"2":{"226":3,"442":1}}],["rather",{"2":{"167":1,"178":1,"442":1,"471":1}}],["rawlog",{"2":{"410":4}}],["rawmessage",{"2":{"132":2,"135":2}}],["raw",{"2":{"95":2,"148":1,"197":2,"226":1,"319":2,"500":1,"528":1,"534":2,"544":1,"547":2,"613":10,"629":2,"636":2,"661":2,"694":1}}],["ram",{"2":{"91":1,"99":1,"290":1,"318":1,"322":1,"484":1,"548":1,"596":1,"609":1,"627":1,"665":1,"695":1}}],["radio",{"2":{"45":1}}],["race",{"2":{"7":1,"380":3}}],["reinitializing",{"2":{"683":1}}],["reinitialize",{"2":{"589":1}}],["reindexing",{"2":{"647":2}}],["reindex",{"2":{"647":1}}],["reed",{"2":{"427":2,"429":5,"432":1,"435":1}}],["rename",{"2":{"559":2,"677":1}}],["renaming",{"2":{"559":2}}],["render",{"2":{"249":2}}],["rentals",{"2":{"64":1}}],["reducing",{"2":{"434":1}}],["reduce",{"2":{"179":1}}],["reduced",{"2":{"58":1,"179":1,"436":1,"706":1,"733":1}}],["redundant",{"2":{"418":1}}],["redundancy",{"2":{"293":1}}],["redelegate",{"2":{"264":1,"268":1}}],["redeploy",{"2":{"246":1}}],["retain",{"0":{"617":1},"2":{"615":1,"617":5,"620":4}}],["retrial",{"2":{"436":1}}],["retrieval",{"2":{"419":1}}],["retrievable",{"2":{"389":1,"423":1}}],["retrievability",{"0":{"389":1,"390":1,"425":1},"1":{"390":1,"391":1},"2":{"389":1,"422":1}}],["retrieving",{"0":{"333":1},"2":{"419":1,"423":1,"622":1,"649":1}}],["retrieved",{"2":{"328":1,"364":1,"391":1,"420":1}}],["retrieve",{"2":{"250":1,"314":1,"333":1,"348":1,"364":1,"370":2,"420":1}}],["retrieves",{"2":{"169":1}}],["retried",{"2":{"153":1}}],["retries",{"2":{"108":2,"373":2}}],["returns",{"2":{"125":2,"133":4,"242":4,"332":1,"364":1,"386":2}}],["return",{"2":{"118":1,"125":2,"135":10,"137":12,"234":1,"242":4,"250":4,"298":2,"333":3,"343":1,"386":12,"387":1,"410":18}}],["returned",{"2":{"87":1,"250":2,"254":1,"280":1,"333":1,"364":2,"430":1,"629":1}}],["remains",{"2":{"706":1,"733":1}}],["remainder",{"2":{"190":1,"197":1,"246":1}}],["remain",{"2":{"180":1,"389":1,"570":1,"617":1,"684":1}}],["remaining",{"2":{"149":2,"150":1,"178":1,"200":1,"364":1,"447":4,"502":1,"506":1,"709":1}}],["remote",{"2":{"64":1,"171":1,"326":1,"383":1,"547":1,"557":2,"572":2,"602":3,"607":1}}],["removed",{"2":{"312":1,"317":1,"591":1}}],["remove",{"2":{"9":1,"249":2,"322":1,"361":2,"376":1,"580":1,"594":1,"596":1}}],["remember",{"2":{"58":1,"62":1,"173":1,"181":1,"361":1,"646":1,"647":1,"706":1}}],["reminders",{"2":{"63":1}}],["reminder",{"2":{"54":1,"63":1}}],["refund",{"2":{"402":1,"404":1}}],["refunded",{"2":{"402":1}}],["refresh",{"2":{"271":2}}],["refreshments",{"0":{"59":1},"2":{"54":1,"59":6,"62":1}}],["reflect",{"2":{"108":1}}],["refers",{"2":{"547":1}}],["referred",{"2":{"433":1,"435":2}}],["referrals",{"2":{"61":2}}],["refer",{"2":{"212":1,"216":1,"222":2,"324":1,"325":1,"367":1,"380":1,"404":2,"430":1,"442":1,"459":1,"461":1,"476":1,"521":1,"538":1,"553":1,"554":1,"589":1,"598":1,"624":1,"632":1,"638":1,"651":1,"653":2,"671":2,"692":1,"699":2,"720":1}}],["referencing",{"2":{"134":1}}],["referenced",{"2":{"518":1}}],["reference",{"2":{"0":1,"3":1,"41":1,"60":1,"159":1,"275":6,"377":1,"517":1}}],["requiring",{"2":{"434":1}}],["requires",{"2":{"126":1,"162":1,"322":1,"366":1,"423":1,"596":1,"609":1}}],["requirement",{"2":{"59":1,"429":1,"575":1,"609":1}}],["requirementssyncingstate",{"2":{"608":1}}],["requirementssetting",{"2":{"314":1,"608":1}}],["requirements",{"0":{"318":1,"524":1,"548":1,"609":1,"620":1,"627":1,"665":1,"679":1,"695":1},"2":{"45":4,"54":1,"61":1,"78":1,"79":1,"288":2,"318":1,"484":1,"548":1,"609":1,"620":1,"627":1,"665":1,"679":1,"695":1}}],["required",{"2":{"43":1,"45":1,"53":1,"54":1,"169":1,"179":1,"212":1,"222":1,"246":1,"324":1,"380":1,"384":1,"385":1,"404":1,"429":1,"492":1,"503":1,"504":1,"505":1,"526":1,"542":1,"553":1,"582":1,"589":1,"590":2,"591":1,"622":1,"624":1,"630":1,"632":1,"637":1,"651":1,"653":1,"671":1,"692":1,"699":1}}],["require",{"2":{"42":1,"125":4,"157":1,"180":1,"242":2,"327":1,"423":1,"424":1,"429":2,"433":2,"535":1,"619":1,"675":1}}],["requisites",{"0":{"240":1,"600":1},"2":{"246":1}}],["requests",{"2":{"328":1,"391":1,"425":2,"430":1,"436":1,"547":1,"642":1}}],["requesting",{"2":{"263":1}}],["requested",{"2":{"13":1}}],["request",{"2":{"2":2,"62":1,"145":1,"146":1,"298":2,"325":1,"329":1,"380":1,"435":1,"479":1,"554":1,"621":1,"671":1,"701":1,"728":1,"731":1}}],["reward",{"0":{"424":1},"2":{"42":1,"45":1,"61":1,"425":1}}],["rewards",{"0":{"565":1},"2":{"41":5,"42":10,"43":3,"44":1,"45":37,"264":1,"268":1,"293":1,"397":1,"441":2,"445":1,"447":1,"453":1,"454":1,"564":1,"565":3}}],["resistance",{"2":{"508":1}}],["resubumit",{"2":{"749":1}}],["resubmission",{"0":{"747":1,"748":1},"1":{"748":1,"749":1},"2":{"747":1}}],["resubmitted",{"2":{"748":1}}],["resubmit",{"2":{"406":2}}],["resulting",{"2":{"429":1,"433":1}}],["results",{"2":{"161":2,"340":2,"647":4}}],["result",{"2":{"43":1,"115":2,"119":2,"145":2,"146":2,"148":1,"149":1,"231":2,"235":2,"332":6,"333":8,"334":2,"336":2,"337":2,"338":2,"339":2,"340":2,"341":2,"343":2,"346":2,"362":1,"427":1,"430":2,"433":3,"510":2,"659":1,"742":2}}],["resolve",{"2":{"433":1}}],["resolved",{"2":{"270":1}}],["resolving",{"2":{"290":1,"370":1}}],["resolution",{"2":{"178":1,"595":1}}],["resource",{"2":{"61":1,"74":1,"83":1,"167":1,"428":2,"434":1,"619":1}}],["resourcespost",{"2":{"314":1}}],["resources",{"0":{"347":1,"577":1,"640":1},"1":{"348":1,"349":1,"350":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1},"2":{"46":1,"63":1,"64":2,"67":1,"68":2,"74":1,"75":1,"82":2,"141":1,"282":1,"608":1}}],["resetting",{"0":{"593":1}}],["reset",{"0":{"641":1,"683":1},"2":{"589":1,"594":4,"608":1,"641":2,"677":1,"683":2}}],["reserved",{"2":{"435":2,"709":1}}],["reserves",{"2":{"45":1}}],["researcher",{"2":{"52":2}}],["research",{"2":{"52":2,"60":1,"62":1,"446":1}}],["restartsec=3",{"2":{"742":2,"744":2,"745":2,"746":2}}],["restartsec=1",{"2":{"536":2}}],["restart=on",{"2":{"742":2,"744":2,"745":2,"746":2}}],["restart=always",{"2":{"536":2}}],["restart",{"0":{"645":1},"2":{"534":1,"537":3,"571":1,"585":1,"598":1,"645":1,"646":1,"647":1}}],["restaurant",{"2":{"58":1}}],["restaurants",{"2":{"58":2}}],["rest",{"2":{"48":1,"134":1,"226":1,"270":1,"271":2,"298":10,"302":1,"312":1,"380":1,"465":3,"530":2,"591":1,"713":2,"725":4}}],["restrict",{"2":{"181":1}}],["restricted",{"2":{"45":5}}],["restrictions",{"2":{"42":1,"45":4,"447":1}}],["resale",{"2":{"45":2}}],["resp",{"2":{"386":4,"410":20}}],["respectively",{"2":{"334":1,"364":1,"477":1,"716":1}}],["respective",{"2":{"133":1,"137":1,"154":1,"461":1,"477":1,"569":1,"622":2,"716":1,"720":1}}],["respect",{"2":{"11":1,"41":1,"42":1,"43":1,"45":3}}],["respectfully",{"2":{"70":1}}],["respectful",{"2":{"8":1}}],["responses",{"0":{"647":1},"2":{"66":1,"378":1,"608":1,"647":9}}],["response",{"2":{"9":1,"66":1,"145":1,"146":1,"149":6,"150":1,"151":1,"152":5,"153":1,"222":1,"223":1,"250":4,"333":3,"336":1,"337":1,"338":1,"339":1,"386":12,"410":4,"427":1}}],["responsible",{"2":{"9":1,"11":1,"42":1,"43":1,"44":2,"133":2,"169":1,"295":1,"364":1,"391":2,"434":1}}],["responsibilities",{"0":{"9":1}}],["responsibility",{"2":{"8":1,"9":1,"129":2,"423":1,"749":1}}],["regions",{"2":{"65":1}}],["registry",{"2":{"226":1,"622":1}}],["registration",{"2":{"45":8,"54":1,"55":1,"71":1}}],["registerevmaddress",{"2":{"534":1}}],["registered",{"2":{"45":5,"54":1,"530":1,"534":1,"535":1}}],["register",{"0":{"534":1,"637":1},"2":{"45":2,"271":2,"524":1,"528":2,"530":2,"534":2,"535":1,"635":1,"637":4}}],["regular",{"2":{"60":1,"66":1,"432":1,"575":1}}],["regulation",{"2":{"42":1,"45":6}}],["regardless",{"2":{"7":1,"747":1,"749":1}}],["rec",{"2":{"410":4}}],["recipe",{"2":{"393":1}}],["recipient",{"2":{"343":1,"564":2}}],["recipients",{"2":{"45":1}}],["recency",{"2":{"390":4}}],["recent",{"2":{"360":1}}],["receiptsch",{"2":{"364":2}}],["receiptsroot",{"2":{"360":2}}],["receipt",{"2":{"43":3,"45":4,"447":1}}],["receiving",{"2":{"42":2,"45":1,"380":1}}],["receives",{"2":{"413":1,"445":1,"454":1}}],["receiver",{"2":{"87":2,"254":2}}],["receiver=",{"2":{"87":2,"254":2}}],["received",{"2":{"44":1,"427":1,"436":2,"694":1}}],["receive",{"2":{"41":1,"42":4,"44":3,"45":3,"46":1,"50":2,"71":1,"72":1,"301":1,"334":1,"397":1,"417":1,"427":1,"706":1,"733":1}}],["recursive",{"2":{"97":1,"354":2}}],["recursivegit",{"2":{"97":1,"354":2}}],["recap",{"2":{"72":1}}],["recruiting",{"2":{"66":2}}],["reconstructing",{"2":{"429":1}}],["reconstruction",{"0":{"418":1}}],["reconstruct",{"2":{"391":1,"417":1,"418":1}}],["recoverable",{"2":{"429":1}}],["recovered",{"2":{"427":1,"510":1}}],["recover",{"2":{"194":2,"211":1,"218":6}}],["recognize",{"2":{"71":1}}],["recognition",{"2":{"61":1}}],["recommendation",{"2":{"609":1}}],["recommendations",{"2":{"59":1}}],["recommend",{"2":{"238":1,"282":1,"471":1,"532":1,"597":2,"720":1}}],["recommends",{"2":{"65":1}}],["recommended",{"2":{"53":1,"213":1,"249":2,"298":2,"311":1,"318":1,"322":1,"436":1,"548":1,"554":1,"563":1,"596":1,"609":2,"627":1,"630":1,"649":1,"659":1,"665":1,"671":1,"695":1,"739":1}}],["recorded",{"2":{"64":4}}],["record",{"2":{"58":1,"532":2}}],["recording",{"0":{"64":1},"2":{"20":1,"21":1,"22":1,"25":2,"27":1,"28":1,"29":3,"31":2,"33":3,"58":2,"64":6}}],["recordings",{"2":{"5":1,"58":1,"64":3}}],["recourse",{"2":{"42":2}}],["revisit",{"2":{"64":1}}],["revised",{"2":{"41":1}}],["reviewing",{"2":{"56":1}}],["reviewed",{"2":{"11":1}}],["review",{"2":{"2":1,"54":1,"71":1,"84":1,"254":1,"267":2}}],["real",{"2":{"705":1,"742":1,"746":1}}],["reaped",{"2":{"406":1}}],["reactjs",{"2":{"298":1}}],["reactmarkdown",{"2":{"250":4}}],["reactdom",{"2":{"249":4}}],["react",{"2":{"238":1,"247":4,"248":2,"249":2,"250":2,"252":1,"297":1,"298":4}}],["reaching",{"2":{"449":1}}],["reaches",{"2":{"416":1,"442":1}}],["reached",{"2":{"410":2}}],["reach",{"2":{"54":1,"61":1,"62":1,"63":1,"64":3,"238":1}}],["readme",{"2":{"578":1}}],["readable",{"2":{"250":2}}],["reads",{"2":{"169":1,"295":2}}],["reader",{"2":{"133":1}}],["reading",{"0":{"250":1},"2":{"103":1,"133":2,"169":4,"295":4,"419":1,"597":1}}],["read",{"0":{"361":1},"2":{"41":1,"87":1,"119":1,"132":1,"133":1,"235":1,"238":1,"245":1,"246":1,"250":3,"254":1,"312":1,"316":1,"317":1,"333":1,"361":1,"364":1,"403":1,"483":1,"522":1,"538":1,"659":1,"720":1}}],["ready",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"48":1,"87":1,"118":1,"179":1,"182":1,"192":1,"234":2,"236":1,"252":1,"254":1,"378":1,"622":1,"636":1,"675":1,"676":1,"677":1}}],["reason",{"2":{"42":2,"288":1,"535":2}}],["reasons",{"2":{"9":1}}],["reasonably",{"2":{"8":1}}],["repeat",{"2":{"687":1}}],["replicated",{"2":{"433":1}}],["replaying",{"2":{"391":1}}],["replacing",{"2":{"212":1,"222":1,"223":1,"392":1}}],["replaced",{"2":{"516":1}}],["replacement",{"2":{"392":1}}],["replaces",{"2":{"364":1,"432":1,"643":1}}],["replace",{"2":{"190":1,"329":1,"406":1,"637":1,"689":1}}],["report",{"2":{"595":2}}],["reporter",{"2":{"11":1}}],["reported",{"2":{"11":1}}],["repo",{"2":{"98":2,"124":1,"349":1,"354":1,"547":2,"569":1,"689":1,"691":1}}],["repositories",{"0":{"38":1},"1":{"39":1,"40":1}}],["repository",{"0":{"97":1,"292":1,"354":1},"1":{"293":1,"294":1},"2":{"0":1,"1":1,"2":2,"4":1,"169":1,"214":1,"215":1,"292":1,"322":1,"362":1,"369":1,"483":1,"485":1,"580":1,"596":1,"613":2,"639":1}}],["represents",{"2":{"327":1}}],["represented",{"2":{"45":1}}],["represent",{"2":{"43":1,"44":1,"45":2,"154":1}}],["representation",{"2":{"45":2,"133":1,"149":2,"150":2}}],["representations",{"0":{"45":1},"2":{"42":1,"45":2}}],["representative",{"2":{"10":1}}],["representing",{"2":{"10":2,"160":1}}],["rejects",{"2":{"436":1}}],["rejected",{"2":{"280":1,"436":1}}],["reject",{"2":{"9":1,"429":1}}],["rely",{"2":{"166":1,"284":1,"391":1}}],["relying",{"2":{"43":1,"160":1,"165":1,"391":1}}],["relaying",{"0":{"269":1},"1":{"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1},"2":{"237":1,"270":1,"272":3}}],["relayers",{"2":{"269":1,"489":1,"529":1,"545":1}}],["relayer",{"0":{"272":1,"278":1,"504":1,"538":1,"545":1},"1":{"539":1,"540":1,"541":1,"542":1,"543":1,"544":1,"545":1},"2":{"159":3,"161":2,"269":3,"270":2,"278":1,"483":1,"484":1,"485":6,"487":4,"504":7,"516":2,"517":1,"532":1,"533":2,"538":3,"539":7,"542":7,"543":3,"544":4,"545":14}}],["relayed",{"0":{"161":1},"2":{"126":1,"127":1,"131":1,"134":1,"135":1,"159":1,"160":3}}],["relay",{"2":{"131":1,"269":1,"271":1}}],["relays",{"2":{"103":1,"158":1,"484":1}}],["relatively",{"2":{"288":1,"747":1}}],["relative",{"0":{"288":1},"2":{"288":1}}],["relations",{"2":{"63":1}}],["relationships",{"2":{"56":1,"60":1}}],["relating",{"2":{"43":1}}],["related",{"2":{"42":1,"44":1,"45":1,"62":1,"66":1,"82":1,"422":1,"671":1,"699":1}}],["releasing",{"2":{"388":1}}],["releases",{"2":{"581":1,"677":1}}],["release",{"2":{"269":1,"364":1,"676":1,"677":1}}],["released",{"2":{"42":1,"270":1}}],["relevant",{"2":{"41":1,"45":1,"61":2,"63":2,"66":1,"410":2,"426":1,"436":1,"461":2,"475":2,"694":1,"710":2,"720":2}}],["relevantly",{"2":{"2":1}}],["relies",{"2":{"269":1,"622":1}}],["relied",{"2":{"45":1}}],["reliable",{"2":{"102":1}}],["reliability",{"2":{"44":1}}],["reliance",{"2":{"42":3,"45":2}}],["religion",{"2":{"7":1}}],["re",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"2":1,"48":1,"58":1,"59":1,"70":1,"86":1,"87":1,"98":1,"118":1,"180":1,"182":1,"223":1,"226":1,"234":2,"236":1,"238":1,"249":2,"251":1,"252":2,"254":2,"274":1,"301":1,"302":1,"322":1,"349":1,"369":1,"378":1,"392":1,"410":4,"483":1,"510":1,"534":1,"535":1,"538":1,"574":1,"589":1,"593":1,"595":1,"596":1,"597":1,"654":2,"747":1}}],["snaps",{"2":{"623":12}}],["snapshot",{"2":{"422":1,"623":1}}],["snapshots",{"2":{"391":4,"620":1,"622":3}}],["snap",{"2":{"623":12}}],["sgvsbg8gd28ybgqh",{"2":{"365":2}}],["ss",{"2":{"404":1}}],["ssd",{"2":{"290":1,"318":1,"484":1,"548":1,"609":3,"627":1,"665":1,"695":1}}],["ssf",{"2":{"93":2}}],["slower",{"2":{"734":1}}],["slowest",{"2":{"621":1}}],["slightly",{"2":{"709":1}}],["slides",{"2":{"61":1}}],["sl",{"2":{"581":2,"613":10}}],["slack",{"2":{"574":1}}],["slashing",{"2":{"283":1,"521":1,"567":2}}],["svg",{"0":{"348":1},"2":{"226":1,"314":1,"348":2}}],["swap",{"2":{"295":1,"677":1}}],["swag",{"0":{"81":1},"2":{"61":1}}],["switching",{"2":{"589":1}}],["switch",{"2":{"169":1,"226":1,"252":1,"295":1,"298":2,"572":1}}],["srl59gitsiwc9lqdyaszfc6tvusyy7njx8",{"2":{"146":2}}],["src",{"2":{"88":2,"114":1,"115":2,"118":2,"153":2,"230":1,"231":2,"233":2,"234":2,"241":1,"242":3,"244":2,"249":1,"252":2,"255":2,"298":6}}],["square",{"0":{"155":1},"2":{"129":3,"134":1,"154":2,"435":3,"709":4}}],["symbol",{"2":{"226":2,"249":2,"251":1}}],["syncstart",{"2":{"608":1}}],["syncquick",{"2":{"608":1}}],["syncing",{"0":{"287":1,"621":1},"1":{"622":1,"623":1},"2":{"287":1,"389":1,"419":1,"556":1,"609":1,"621":1,"634":1,"744":1,"745":2,"746":1}}],["sync|async|block",{"2":{"206":2}}],["sync",{"0":{"622":1,"623":1},"2":{"108":1,"205":1,"206":2,"287":3,"391":3,"420":1,"608":1,"621":2,"622":2,"623":2,"731":1,"742":4,"746":1}}],["synced",{"2":{"107":1,"370":2,"373":1}}],["systemctl",{"2":{"536":2,"537":2,"742":6,"744":4,"745":4,"746":6}}],["systemd",{"0":{"496":1,"536":1,"556":1,"568":1,"634":1,"673":1,"703":1,"740":1,"742":1},"1":{"537":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"496":1,"536":2,"537":2,"556":1,"568":7,"624":1,"634":1,"673":1,"703":1,"740":1,"742":6,"744":5,"745":5,"746":4}}],["systems",{"2":{"284":1,"293":1,"572":2,"581":1}}],["system",{"2":{"54":1,"165":2,"273":1,"293":1,"310":1,"322":1,"403":1,"404":2,"433":2,"506":1,"508":1,"528":1,"536":1,"544":1,"570":2,"573":1,"574":1,"596":1,"651":1,"742":4,"744":4,"745":4,"746":4}}],["skillsets",{"2":{"70":1}}],["skipped",{"2":{"115":2,"118":2,"231":2,"234":2}}],["skip",{"2":{"25":3,"40":1,"177":1,"274":1,"317":1,"630":1,"739":1}}],["small",{"2":{"64":1,"132":1,"180":1,"416":1,"428":1,"434":1}}],["smartstake",{"2":{"718":1}}],["smartphone",{"2":{"58":1}}],["smart",{"0":{"110":1,"114":1,"115":1,"116":1,"119":1,"183":1,"227":1,"230":1,"231":1,"232":1,"235":1},"1":{"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":2,"118":2,"119":1,"120":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":2,"234":2,"235":1,"236":1},"2":{"33":4,"84":1,"85":1,"111":2,"114":1,"120":1,"129":7,"145":2,"146":1,"147":5,"153":2,"157":1,"159":2,"162":1,"163":1,"173":1,"176":2,"178":1,"179":1,"181":1,"183":1,"227":1,"230":1,"234":1,"236":1,"238":1,"240":1,"241":1,"242":2,"244":1,"246":1,"250":2,"254":2,"291":1,"396":1,"422":1,"452":1,"488":1,"497":1,"500":1,"501":2,"538":1,"539":2,"545":2}}],["smooth",{"2":{"61":1,"609":1}}],["shnode",{"2":{"745":1}}],["shpeer=",{"2":{"691":1}}],["ship",{"2":{"691":1}}],["shirts",{"2":{"61":1}}],["shtia",{"2":{"686":1}}],["shsed",{"2":{"643":1}}],["shstaking",{"2":{"569":1,"688":1}}],["shsudo",{"2":{"568":1,"742":4,"744":2,"745":2,"746":4}}],["shkey",{"2":{"569":1,"685":1}}],["shkeyname=",{"2":{"380":1}}],["shvalidator",{"2":{"569":1,"684":1}}],["shblobstream",{"2":{"492":1,"493":1,"497":1,"500":3,"501":1,"507":1,"508":1,"509":2,"510":2,"511":1,"512":2,"513":1,"514":1,"515":2,"516":1,"517":2,"518":1,"519":1,"520":1,"526":1,"527":1,"528":2,"530":2,"542":1,"543":1,"544":2,"545":1}}],["shmake",{"2":{"485":1}}],["shmkdir",{"2":{"384":1}}],["shgo",{"2":{"387":1}}],["shgit",{"2":{"215":1}}],["shexternal",{"2":{"644":1}}],["shexport",{"2":{"381":1}}],["sherror",{"2":{"593":1}}],["shevm",{"2":{"569":1}}],["shell",{"2":{"613":1}}],["shellsudo",{"2":{"536":2,"537":1}}],["shellcelestia",{"2":{"534":1}}],["shellblobstream",{"2":{"495":1}}],["shecho",{"2":{"381":1}}],["shutdown",{"2":{"674":1}}],["shut",{"2":{"358":1,"365":1}}],["shcurl",{"2":{"742":1}}],["shcat",{"2":{"742":1,"744":1,"745":1,"746":1}}],["shceles",{"2":{"569":1}}],["shcelestia",{"2":{"211":3,"212":1,"380":2,"534":3,"553":4,"554":3,"555":3,"558":1,"560":3,"561":2,"562":5,"563":5,"564":2,"565":1,"566":2,"567":1,"580":1,"585":2,"589":1,"624":1,"641":1,"670":3,"671":1,"672":3,"683":1,"689":1,"692":1,"698":3,"699":3,"700":3,"702":3}}],["shcode",{"2":{"534":1}}],["shcd",{"2":{"189":1,"613":1}}],["shforge",{"2":{"124":1}}],["sh",{"2":{"93":4,"95":8,"189":1,"190":2,"215":2,"219":1,"222":2,"223":2,"246":3,"319":2,"350":1,"380":1,"486":1,"522":1,"545":1,"554":1,"559":1,"576":4,"581":2,"595":1,"661":2,"671":1,"700":2}}],["shove",{"2":{"194":2}}],["shoutout",{"2":{"62":1}}],["shouldn",{"2":{"423":1}}],["should",{"2":{"58":1,"62":1,"74":1,"114":1,"115":1,"216":1,"230":1,"231":1,"252":1,"273":1,"276":2,"288":2,"332":1,"366":2,"380":1,"391":1,"402":1,"403":1,"452":1,"506":1,"510":1,"522":1,"530":3,"534":2,"536":1,"537":1,"572":1,"581":1,"592":1,"617":1,"619":1,"622":3,"629":2,"636":1,"637":1,"677":1,"678":1,"684":1,"688":1,"689":2,"744":1,"745":1,"748":1}}],["shown",{"2":{"636":1}}],["shows",{"2":{"346":1,"410":2,"430":1,"432":1,"533":1}}],["showcase",{"2":{"62":1}}],["show",{"2":{"61":1,"62":1,"159":1,"200":2,"238":1,"298":1,"320":1,"322":1,"351":1,"365":1,"386":2,"387":1,"461":1,"475":1,"534":2,"569":2,"592":1,"596":1,"629":2,"636":3,"637":2,"662":1,"691":2,"698":2,"710":1,"720":1,"736":1}}],["short",{"2":{"45":1,"61":1,"655":1,"676":1}}],["shalias",{"2":{"613":1}}],["sha3uncles",{"2":{"360":2}}],["sharing",{"2":{"64":1,"83":1,"391":1}}],["shareversionzero",{"2":{"410":2}}],["shareproofs",{"0":{"149":1},"2":{"147":2,"151":1}}],["sharesize",{"2":{"404":1}}],["sharesproof",{"2":{"147":3}}],["shares",{"2":{"125":2,"129":5,"132":3,"134":1,"144":1,"146":5,"147":14,"148":1,"149":2,"150":1,"151":2,"152":1,"165":1,"333":2,"386":9,"403":2,"404":2,"405":1,"435":4,"547":1,"664":2,"709":4}}],["shareslength",{"2":{"103":2}}],["shared",{"2":{"83":1,"238":2,"293":1,"396":1,"688":1}}],["share",{"2":{"42":1,"50":1,"54":1,"56":1,"58":1,"61":1,"63":4,"64":3,"66":1,"132":6,"146":6,"149":2,"154":2,"250":2,"253":1,"332":1,"333":8,"341":2,"346":3,"386":6,"387":1,"391":2,"397":1,"403":1,"404":2,"435":1,"489":1,"569":1,"593":4,"687":1,"689":1,"691":3,"709":3}}],["shape",{"2":{"33":1}}],["sashabaranov",{"2":{"385":2}}],["sausage",{"2":{"194":2}}],["save",{"0":{"190":1},"2":{"211":1,"216":1,"380":1,"519":1,"530":1,"563":1,"572":1,"593":1,"620":1,"646":1,"647":1,"685":1}}],["saving",{"0":{"620":1},"2":{"61":1,"514":1,"563":1}}],["san",{"2":{"103":1}}],["sanctions",{"2":{"42":1}}],["sampling",{"0":{"416":1,"417":1,"427":1,"704":1},"1":{"428":1,"429":1},"2":{"77":1,"158":1,"180":1,"288":1,"342":2,"390":1,"415":1,"416":5,"417":1,"418":1,"426":1,"427":3,"429":1,"434":2,"483":1,"547":1,"693":1,"706":1,"731":1,"737":1,"746":1}}],["samples",{"2":{"428":1}}],["sampled",{"2":{"417":1,"436":1}}],["sampler",{"0":{"342":1}}],["sample",{"0":{"77":1,"78":1,"79":1,"80":1},"2":{"77":2,"78":2,"79":2,"80":2,"383":1,"434":1}}],["same",{"0":{"406":1},"2":{"45":1,"86":1,"104":1,"132":1,"160":1,"165":1,"224":1,"254":1,"285":1,"299":1,"310":1,"359":1,"365":1,"381":1,"410":2,"433":2,"502":1,"507":2,"521":1,"530":1,"535":2,"545":1,"572":4,"636":1,"684":1,"686":1}}],["safer",{"2":{"535":1}}],["safely",{"2":{"358":1,"375":1,"434":1,"592":1}}],["safe",{"2":{"70":1,"194":2,"380":1,"577":1}}],["satisfied",{"2":{"45":1}}],["satisfy",{"2":{"45":1}}],["sales",{"2":{"45":1,"62":1,"467":1,"478":1,"728":1}}],["sale",{"2":{"45":3}}],["scraped",{"2":{"572":2}}],["scrape",{"2":{"572":16}}],["scratches",{"2":{"181":1}}],["scratch",{"2":{"179":1}}],["scrypt",{"2":{"508":1}}],["scrolling",{"2":{"302":1}}],["scroll",{"2":{"226":1}}],["scripting",{"2":{"244":1}}],["scripts",{"2":{"108":1,"117":1,"189":2,"190":2,"576":2}}],["script",{"0":{"244":1},"2":{"86":4,"98":1,"109":2,"189":1,"244":7,"245":4,"246":6,"254":4,"380":1,"387":1,"576":2,"581":1}}],["screen",{"2":{"58":1,"263":1,"267":1}}],["screening",{"2":{"42":1}}],["scheme",{"0":{"156":1},"2":{"427":1,"429":1,"432":1,"435":1}}],["schemes",{"2":{"76":1,"283":1}}],["schedules",{"2":{"447":1}}],["schedule",{"2":{"54":1,"55":1,"59":1,"61":1,"66":1,"447":2,"449":1}}],["scheduled",{"0":{"34":1,"35":1,"36":1}}],["schools",{"2":{"62":1}}],["scenes",{"2":{"298":1}}],["scene",{"2":{"60":1}}],["scattered",{"2":{"378":1}}],["scavengermkdir",{"2":{"384":1}}],["scavenger",{"0":{"378":1,"383":1},"1":{"379":1,"380":1,"381":1,"382":1,"383":1,"384":2,"385":2,"386":2,"387":2,"388":1},"2":{"313":1,"378":1,"380":2,"384":7}}],["scan",{"2":{"269":1}}],["scanworks",{"2":{"39":1}}],["scale",{"2":{"180":2,"428":1}}],["scales",{"2":{"158":1,"434":2}}],["scaling",{"0":{"180":1},"2":{"180":2,"413":1,"414":1,"426":1}}],["scalability",{"0":{"167":1,"428":1},"2":{"102":2,"103":1,"167":2}}],["scalable",{"2":{"46":1,"102":1,"167":1,"169":1,"238":1,"295":1,"423":1,"426":1,"434":1}}],["scope",{"0":{"10":1},"2":{"80":1}}],["sdk",{"2":{"21":3,"22":1,"27":1,"33":1,"52":1,"181":1,"184":1,"214":1,"258":1,"270":1,"283":4,"284":2,"285":1,"287":1,"288":1,"392":1,"393":1,"396":2,"400":1,"403":1,"410":2,"432":1,"441":3,"445":1,"453":1,"465":1,"466":1,"475":1,"547":1,"557":2,"563":2,"575":1,"710":1,"725":1,"726":1}}],["soundness",{"2":{"436":1}}],["sourcing",{"2":{"179":1}}],["source",{"0":{"98":1,"580":1},"1":{"99":1},"2":{"93":2,"94":2,"98":1,"270":1,"271":4,"293":1,"320":4,"364":2,"466":1,"564":2,"572":4,"579":1,"587":1,"662":4,"726":1}}],["sources",{"2":{"44":1,"572":1}}],["soon",{"2":{"240":1,"390":1}}],["soda",{"2":{"59":1}}],["software",{"0":{"460":1,"474":1,"707":1,"721":1},"2":{"52":1,"78":1,"79":1,"104":1,"293":1,"319":1,"353":1,"472":1,"484":2,"508":1,"534":1,"660":1,"675":2,"720":1,"733":1,"734":2,"738":1,"739":1}}],["sommelier",{"2":{"52":1}}],["somewhere",{"2":{"685":1}}],["sometimes",{"2":{"537":1,"547":1,"664":1}}],["something",{"2":{"340":2,"572":1,"583":1,"699":1}}],["someone",{"2":{"55":1,"63":1}}],["some",{"0":{"417":1,"425":1},"2":{"29":1,"58":1,"64":1,"132":3,"133":1,"135":1,"147":4,"153":2,"160":1,"180":1,"181":1,"205":1,"207":1,"276":8,"283":1,"286":1,"332":1,"378":1,"386":2,"387":1,"389":1,"391":1,"395":1,"410":2,"424":1,"425":1,"435":1,"447":1,"535":3,"563":1,"564":1,"572":1,"576":4,"587":1,"601":1,"676":1}}],["so",{"2":{"43":1,"45":1,"51":1,"59":2,"63":1,"98":1,"132":2,"149":3,"151":1,"152":1,"182":1,"197":1,"202":1,"216":1,"244":1,"246":1,"247":1,"249":2,"252":1,"302":1,"320":1,"324":1,"328":1,"371":1,"378":1,"380":1,"389":1,"415":1,"417":1,"418":2,"430":1,"436":1,"472":1,"515":1,"530":2,"533":1,"534":2,"539":2,"543":1,"545":1,"553":1,"555":1,"593":1,"620":1,"641":1,"659":1,"662":1,"672":1,"677":2,"678":1,"683":1,"691":2,"702":1,"716":1}}],["solomon",{"2":{"427":2,"429":5,"432":1,"435":1}}],["solution",{"2":{"137":1,"158":1,"167":1,"426":1,"429":1,"433":1,"434":1,"613":1}}],["solutions",{"2":{"49":1,"103":1,"406":1,"414":1,"426":1}}],["solc",{"2":{"114":2,"230":2}}],["solid",{"2":{"250":2}}],["solidity",{"2":{"112":1,"114":4,"115":3,"124":1,"125":4,"145":1,"146":1,"147":1,"149":6,"150":1,"151":1,"152":4,"153":2,"157":1,"163":1,"228":1,"230":4,"231":3,"242":6,"244":4}}],["soliciting",{"2":{"56":1}}],["solicits",{"2":{"45":1}}],["solicit",{"2":{"45":1}}],["solicited",{"2":{"45":1}}],["solicitation",{"2":{"45":3}}],["solving",{"2":{"102":1}}],["solve",{"2":{"52":1}}],["sol",{"2":{"86":2,"88":3,"103":2,"114":1,"115":7,"118":2,"125":6,"129":1,"148":1,"149":1,"150":1,"152":1,"153":1,"230":1,"231":7,"233":2,"234":2,"241":1,"242":6,"244":5,"245":2,"246":2,"247":2,"254":2,"255":3}}],["sold",{"2":{"45":1}}],["solely",{"2":{"42":1,"391":1}}],["sole",{"2":{"41":1,"42":1,"45":1}}],["solana",{"2":{"31":1}}],["sovereign",{"0":{"79":1,"184":1,"246":1},"2":{"22":4,"40":1,"46":1,"77":1,"79":5,"184":3,"253":1,"392":4,"393":1,"396":2,"472":1,"671":2,"720":1,"734":2}}],["sorted",{"2":{"749":1}}],["sort",{"2":{"15":1,"16":1,"45":1}}],["social",{"2":{"10":1,"14":1,"49":1,"54":1,"56":1,"63":4,"64":1,"257":1,"521":1,"563":1}}],["socio",{"2":{"7":1}}],["spidey",{"2":{"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["spinning",{"2":{"586":1}}],["spins",{"2":{"392":1}}],["spin",{"0":{"253":1,"682":1},"1":{"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1},"2":{"682":1}}],["splits",{"2":{"435":1}}],["split",{"2":{"427":1,"429":1,"435":1,"438":1,"446":1}}],["sparse",{"2":{"709":2}}],["sparsesharesneeded",{"2":{"404":1}}],["spans",{"2":{"146":1}}],["span",{"0":{"366":1},"2":{"132":12,"133":4,"134":2,"135":8,"137":3,"147":4,"149":1,"366":2}}],["space",{"2":{"70":1,"102":1,"573":1,"646":1,"647":2}}],["spaces",{"2":{"10":2,"14":1,"58":5,"62":1}}],["spdx",{"2":{"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2}}],["sponsoring",{"2":{"62":1}}],["sponsorship",{"2":{"62":5}}],["sponsors",{"0":{"62":1},"2":{"62":9,"63":1,"70":1}}],["spread",{"2":{"60":1,"63":1}}],["speed",{"2":{"748":1}}],["spend",{"2":{"404":1,"445":1,"563":1,"564":7}}],["specialization",{"2":{"433":1}}],["specialized",{"2":{"433":3}}],["specialize",{"2":{"178":1}}],["special",{"2":{"364":1}}],["specifying",{"2":{"402":1,"503":1,"504":1,"505":1,"572":1}}],["specify",{"2":{"216":1,"324":2,"380":2,"406":1,"492":1,"511":1,"522":1,"526":1,"530":6,"542":1,"553":2,"655":2}}],["specif",{"2":{"147":2,"153":2}}],["specifies",{"2":{"216":2}}],["specified",{"2":{"14":1,"15":1,"216":1,"402":2,"404":1,"457":1,"507":1,"512":1,"517":1,"528":1,"530":3,"537":1,"545":1,"557":2,"587":1}}],["specifications",{"2":{"132":1,"676":1,"708":1}}],["specifically",{"2":{"83":1,"413":1,"422":1,"622":1}}],["specific",{"2":{"45":1,"49":1,"50":1,"59":1,"61":1,"66":1,"127":2,"132":2,"133":4,"135":1,"165":1,"167":1,"238":1,"298":1,"322":1,"327":2,"345":1,"373":1,"386":1,"487":1,"493":1,"517":1,"522":1,"539":1,"573":1,"582":1,"591":1,"676":1,"687":1}}],["specs",{"2":{"149":2,"150":2,"153":4,"154":1,"333":1,"405":1,"563":2}}],["speak",{"2":{"61":1}}],["speaking",{"2":{"60":1,"66":1}}],["speaker",{"0":{"83":1},"2":{"54":1,"58":1,"60":1,"61":3,"74":1,"83":5}}],["speakers",{"0":{"61":1},"2":{"54":3,"55":1,"56":1,"58":1,"60":5,"61":13,"62":2,"63":3,"66":2,"70":1,"80":1,"83":2}}],["sed",{"2":{"613":10,"644":2}}],["severity",{"2":{"414":1}}],["several",{"2":{"324":1,"447":1,"676":1,"709":1,"729":1,"731":1}}],["semantic",{"2":{"322":1,"596":1}}],["semi",{"2":{"165":1}}],["sequence",{"2":{"198":2,"199":2,"237":1,"272":1,"365":1,"403":1,"406":1,"410":2,"433":2}}],["sequenceraddress",{"2":{"132":2,"137":2}}],["sequencer",{"0":{"133":1},"1":{"134":1,"135":1},"2":{"104":2,"132":3,"133":7,"134":2,"135":8,"137":8,"237":1,"355":2,"356":1,"372":2,"392":1,"396":1}}],["sequencerinbox",{"2":{"103":2}}],["sequencersignature",{"2":{"132":2,"135":2,"137":2}}],["sequencers",{"2":{"49":1,"179":1}}],["sequential",{"2":{"181":1,"271":4}}],["session",{"2":{"77":1,"78":1,"79":1}}],["sessions",{"2":{"62":1,"83":1}}],["seamless",{"2":{"706":1}}],["seamlessly",{"2":{"104":1,"237":1}}],["sealfields",{"2":{"360":2}}],["search",{"0":{"262":1},"2":{"301":1}}],["seasoned",{"2":{"74":1}}],["seating",{"2":{"55":1,"58":1}}],["sensitive",{"2":{"308":1}}],["sense",{"2":{"60":1,"64":1}}],["sentry",{"2":{"271":6,"613":1}}],["sent",{"2":{"178":1,"212":1,"364":1,"403":1}}],["sendtransaction",{"2":{"364":3}}],["sender",{"2":{"242":4,"276":16,"364":1,"435":1,"438":1}}],["sending",{"2":{"171":1,"212":1,"237":1,"245":1,"246":1,"343":1,"364":1,"435":1}}],["sends",{"2":{"104":1,"364":1}}],["send",{"2":{"54":2,"56":1,"63":3,"65":1,"87":5,"109":3,"117":2,"119":3,"160":1,"204":1,"235":3,"245":3,"246":3,"254":5,"280":1,"301":1,"359":1,"365":1,"534":1,"543":1,"545":1,"562":6,"564":1,"576":8,"664":1}}],["self",{"2":{"102":1,"557":2,"569":2,"636":4}}],["selected",{"2":{"391":1}}],["selection",{"0":{"589":1},"1":{"590":1},"2":{"83":1}}],["selecting",{"2":{"58":1,"102":1,"187":1}}],["select",{"0":{"259":1,"262":1,"267":1},"2":{"54":1,"197":1,"216":1,"247":4,"251":1,"261":1,"262":1,"263":2,"266":2,"267":1,"301":1,"305":1,"380":1,"461":3,"580":1,"589":1,"620":1,"646":1,"720":3}}],["sell",{"2":{"45":5}}],["selling",{"2":{"45":3}}],["separation",{"2":{"433":1}}],["separating",{"2":{"180":1}}],["separated",{"2":{"530":2,"613":2,"690":2}}],["separate",{"2":{"42":2,"149":1,"310":1,"427":1,"436":1,"487":1,"522":1,"535":1,"539":1,"547":2,"586":1}}],["sepolia",{"2":{"102":1,"163":2,"306":3}}],["september",{"0":{"20":1},"2":{"20":1}}],["secretvite",{"2":{"248":1}}],["secret=your",{"2":{"248":2}}],["secret",{"2":{"248":2,"250":2}}],["secp256k1",{"2":{"194":2,"195":4,"199":2,"223":2,"283":1,"508":1}}],["seconds",{"2":{"222":4,"223":4,"288":1,"572":4}}],["second",{"2":{"149":1,"242":6,"275":1,"406":1,"417":1,"515":1,"535":1,"747":1,"748":1,"749":1}}],["securing",{"2":{"60":1,"61":1,"62":2}}],["securities",{"2":{"42":1,"45":13}}],["security",{"0":{"165":1,"417":1,"418":1},"2":{"11":1,"25":1,"42":1,"45":1,"102":1,"165":1,"167":1,"179":2,"413":1,"420":1,"512":1,"659":1}}],["secured",{"2":{"513":1}}],["securely",{"2":{"104":1,"158":1,"237":1,"250":2,"434":1,"676":1}}],["secure",{"2":{"54":1,"102":1,"167":1,"258":1,"397":1,"423":1,"453":2,"516":2,"532":2,"586":1,"621":1}}],["sections",{"2":{"158":1,"162":1,"461":1,"475":1,"484":1,"536":1,"601":1,"710":1,"720":1,"737":1,"739":1}}],["section",{"0":{"396":1},"2":{"41":1,"44":1,"45":1,"60":1,"82":1,"90":1,"115":1,"129":1,"134":1,"145":1,"146":1,"149":1,"153":1,"190":1,"201":1,"212":1,"216":1,"222":3,"231":1,"269":1,"274":1,"298":1,"317":1,"324":1,"325":1,"326":1,"331":1,"373":1,"380":1,"394":1,"432":1,"477":1,"524":1,"527":1,"528":1,"530":2,"543":1,"553":1,"554":1,"580":1,"583":1,"585":1,"589":1,"592":1,"598":1,"602":1,"624":1,"627":1,"630":1,"632":1,"637":1,"646":1,"647":1,"649":1,"650":1,"651":1,"653":1,"655":1,"671":2,"692":1,"699":2,"736":1,"739":2}}],["setgaslimitandfee",{"2":{"410":2}}],["setcontent",{"2":{"250":4}}],["setposts",{"2":{"250":4}}],["setviewstate",{"2":{"250":6}}],["sets",{"2":{"115":1,"161":1,"231":1,"298":1,"329":1}}],["setnumber",{"2":{"114":3,"115":7,"119":2,"230":3,"231":7,"235":2}}],["setupsigner",{"2":{"410":2}}],["setup",{"0":{"86":1,"113":1,"229":1,"241":1,"352":1,"353":1,"550":1,"571":1,"611":1,"613":1,"635":1,"651":1,"654":1,"667":1,"680":1},"1":{"87":1,"242":1,"243":1,"244":1,"245":1,"353":1,"354":1,"652":1,"653":1,"654":1,"655":2,"656":2,"657":1,"658":1,"659":1},"2":{"54":1,"108":1,"115":3,"159":1,"169":1,"193":1,"231":3,"242":2,"244":2,"246":2,"269":1,"326":1,"367":1,"370":2,"373":1,"380":1,"381":1,"383":1,"385":2,"386":3,"410":2,"484":1,"572":2,"574":1,"581":1,"584":1,"613":1,"622":1,"630":1,"680":1,"731":1}}],["set",{"0":{"196":1,"205":1},"2":{"41":1,"54":1,"55":1,"60":1,"65":2,"86":2,"87":2,"113":1,"114":1,"118":2,"129":1,"132":4,"135":1,"159":1,"160":5,"165":1,"179":2,"181":1,"190":1,"196":1,"201":2,"202":2,"204":2,"205":1,"206":1,"207":1,"229":1,"230":1,"233":1,"234":3,"242":2,"245":1,"246":1,"250":1,"254":4,"273":1,"308":1,"310":1,"319":1,"320":1,"327":4,"328":2,"329":5,"330":4,"331":4,"332":1,"333":1,"334":4,"340":2,"343":1,"355":1,"360":1,"361":1,"366":1,"372":1,"386":2,"404":4,"422":1,"427":1,"433":1,"441":2,"447":1,"493":1,"500":1,"501":1,"522":1,"524":1,"527":1,"530":2,"534":3,"538":1,"543":1,"545":1,"556":1,"560":3,"572":1,"573":1,"586":1,"602":1,"605":1,"608":1,"613":5,"618":1,"622":1,"627":1,"634":1,"646":1,"647":1,"653":3,"654":1,"655":1,"662":1,"685":1,"696":1}}],["settitle",{"2":{"250":4}}],["settingpruning",{"2":{"620":1}}],["settingmin",{"2":{"617":1}}],["settings",{"2":{"572":1,"615":1,"646":1,"647":1}}],["setting",{"0":{"108":1,"188":1,"193":1,"319":1,"334":1,"546":1,"549":1,"608":1,"610":1,"625":1,"626":1,"663":1,"666":1,"693":1,"696":1,"740":1},"1":{"189":1,"190":1,"191":1,"192":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"547":1,"548":1,"549":1,"550":2,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":2,"627":3,"628":3,"629":3,"630":2,"631":2,"632":2,"633":2,"634":2,"635":2,"636":2,"637":2,"638":2,"639":2,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"694":1,"695":1,"696":1,"697":2,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"8":1,"65":2,"78":1,"79":1,"170":1,"213":1,"319":1,"323":1,"330":1,"343":1,"366":1,"379":1,"410":4,"503":1,"504":1,"505":1,"530":1,"546":1,"556":1,"580":1,"596":1,"607":1,"608":1,"613":1,"617":2,"620":1,"634":1,"660":1,"663":1,"667":1,"677":1,"693":1,"696":1,"703":1,"741":1}}],["settles",{"2":{"102":1}}],["settle",{"2":{"49":1,"102":1,"103":1}}],["settled",{"2":{"48":1}}],["settlement",{"2":{"27":2,"49":1,"178":1,"290":1,"426":2,"432":1,"433":4}}],["serving",{"2":{"391":1,"419":1,"425":1}}],["servicecat",{"2":{"742":1,"744":1,"745":1,"746":1}}],["services",{"0":{"606":1},"1":{"607":1},"2":{"41":4,"42":9,"44":3,"49":2,"58":1,"223":2,"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["service",{"0":{"281":1,"283":1,"496":1,"536":1},"1":{"282":1,"283":1,"284":2,"285":2,"286":2,"287":2,"288":2,"537":1},"2":{"39":1,"41":5,"281":1,"310":1,"356":1,"371":1,"396":1,"496":1,"536":7,"537":1,"568":7,"643":3,"706":1,"740":1,"742":8,"744":7,"745":7,"746":7}}],["served",{"2":{"571":2}}],["serves",{"2":{"173":1,"280":1,"436":1,"547":1,"705":1}}],["servers",{"2":{"622":2}}],["servergrafana",{"2":{"572":1}}],["server",{"2":{"71":1,"233":1,"250":2,"272":1,"373":1,"380":1,"410":2,"479":1,"530":2,"572":6,"582":2,"587":1,"591":2,"728":1}}],["serve",{"2":{"68":1,"390":1,"423":1,"425":1,"642":1}}],["serialized",{"2":{"103":1}}],["serious",{"2":{"15":1}}],["series",{"2":{"14":1,"446":1,"447":1,"572":2}}],["sees",{"2":{"414":1}}],["seeing",{"2":{"276":2,"530":1,"532":1,"533":1,"744":1,"745":1}}],["seen",{"2":{"242":2}}],["seeking",{"2":{"322":1,"596":1}}],["seek",{"2":{"58":1,"61":1}}],["seeds",{"2":{"613":13}}],["seed",{"2":{"52":1,"272":5,"446":1,"447":1,"613":2,"639":1}}],["see",{"2":{"17":1,"44":1,"134":2,"141":1,"149":2,"150":2,"159":1,"190":1,"194":1,"206":2,"212":1,"226":1,"233":1,"252":1,"264":1,"268":1,"270":2,"273":1,"301":2,"302":1,"333":1,"365":1,"379":1,"386":1,"410":4,"413":1,"432":1,"438":1,"444":1,"456":1,"501":1,"509":1,"530":1,"534":1,"536":2,"547":3,"561":1,"562":1,"571":1,"572":1,"578":1,"580":1,"581":1,"622":1,"629":2,"637":1,"646":1,"716":1,"742":1,"744":1,"745":2,"746":1}}],["sexualized",{"2":{"8":1}}],["sexual",{"2":{"7":1,"8":1}}],["sex",{"2":{"7":1}}],["sum",{"2":{"384":3}}],["summarize",{"2":{"154":1}}],["summarizes",{"2":{"133":4}}],["summary",{"2":{"77":1,"78":1,"79":1,"167":1}}],["suite",{"2":{"293":1}}],["suitable",{"2":{"54":1,"646":2}}],["superior",{"2":{"308":1}}],["superchain",{"2":{"293":1}}],["supply",{"0":{"440":1},"1":{"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1},"2":{"373":1,"442":1,"446":1,"447":6,"449":1,"547":1}}],["supplemented",{"2":{"41":1}}],["supplemental",{"0":{"41":1,"44":1},"1":{"42":1,"43":1,"44":1,"45":1},"2":{"41":2}}],["supporters",{"2":{"446":2}}],["supported",{"2":{"237":1,"287":1}}],["supports",{"2":{"284":1,"392":1,"441":1}}],["supportive",{"2":{"70":1}}],["supporting",{"2":{"62":1,"65":1,"80":1}}],["support",{"0":{"50":1},"2":{"46":2,"51":1,"54":1,"57":1,"59":1,"62":4,"64":1,"67":1,"68":1,"81":2,"160":1,"168":1,"180":1,"181":2,"269":1,"270":1,"293":1,"390":2,"391":2,"392":1,"441":1,"465":1,"570":1,"575":1,"630":1,"659":1,"725":1}}],["surface",{"2":{"181":1}}],["sure",{"2":{"123":1,"157":1,"201":1,"216":1,"243":1,"253":1,"329":1,"373":1,"380":2,"382":1,"491":1,"499":1,"510":3,"522":1,"525":1,"530":2,"534":1,"536":1,"541":1,"545":2,"570":1,"571":2,"580":1,"582":3,"591":3,"600":1,"637":1,"674":1,"742":1}}],["surveys",{"2":{"55":1}}],["sudo",{"2":{"92":4,"94":4,"319":2,"320":16,"568":4,"661":2,"662":16,"742":2,"744":4,"745":4,"746":2}}],["suggested",{"0":{"391":1},"2":{"391":1,"406":1}}],["suggest",{"2":{"298":2}}],["suggests",{"2":{"65":1}}],["suggestions",{"0":{"4":1},"2":{"4":1,"58":1}}],["sufficiently",{"2":{"436":1}}],["sufficient",{"2":{"45":1,"58":1,"429":2}}],["suffer",{"2":{"43":1}}],["subspace",{"2":{"563":4}}],["subset",{"2":{"444":1}}],["subsequent",{"2":{"45":1}}],["subcommands",{"0":{"561":1},"2":{"506":1,"513":1,"516":1,"557":6}}],["subcommand",{"0":{"509":1,"510":1,"511":1,"512":1,"513":1,"517":1,"518":1,"519":1,"520":1},"2":{"500":2,"502":1,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"517":1,"518":1,"519":1,"520":1,"528":2,"544":2}}],["subtrees",{"2":{"435":1}}],["subtract",{"2":{"285":1}}],["submitdata",{"2":{"410":2}}],["submitdataroottupleroot",{"2":{"160":1,"161":1}}],["submitpayforblob",{"2":{"386":2,"410":2,"411":1}}],["submitgrpcurl",{"2":{"365":1}}],["submit",{"0":{"639":1},"2":{"140":1,"314":1,"327":6,"332":12,"334":6,"350":1,"365":1,"370":1,"378":1,"386":1,"387":2,"388":2,"400":2,"404":1,"406":2,"407":1,"409":3,"410":6,"411":2,"436":1,"438":2,"444":1,"445":1,"451":1,"538":1,"545":2,"563":10,"564":4,"639":1,"671":2,"699":2}}],["submitter",{"2":{"356":1,"563":1}}],["submitted",{"2":{"132":8,"148":2,"160":1,"271":2,"333":1,"386":3,"387":1,"406":3,"564":1,"689":1}}],["submitting",{"0":{"140":1,"332":1,"400":1,"406":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1},"2":{"141":1,"150":1,"332":1,"333":1,"334":1,"363":1,"386":2,"403":1,"405":1,"439":1,"563":1,"704":1}}],["submits",{"2":{"133":2,"159":2,"269":1,"364":1,"386":2,"539":1}}],["submitheader",{"2":{"133":4,"135":2}}],["submitblockdata",{"2":{"133":2,"135":2}}],["submitrollupblock",{"2":{"125":2}}],["submission",{"2":{"71":1,"169":1,"295":1,"386":1,"564":1}}],["submissions",{"0":{"37":1}}],["submodule",{"2":{"97":4,"354":4}}],["sub",{"2":{"45":1,"410":2,"493":1}}],["subjectivity",{"2":{"622":1}}],["subject",{"2":{"42":1,"61":1,"283":1,"288":1,"447":2,"472":1,"749":1}}],["success",{"2":{"56":1,"68":1,"273":3,"276":2,"333":1}}],["successfully",{"2":{"42":1,"129":2,"212":2,"245":1,"271":1,"272":1,"276":1,"413":1,"416":1,"420":1,"509":6,"510":6,"511":4,"512":6,"514":6,"515":6,"517":6,"556":1,"580":1,"634":1,"742":1,"744":1,"745":1,"746":1}}],["successful",{"2":{"41":1,"53":1,"60":1,"62":1,"63":1,"75":1,"81":1,"114":2,"115":1,"118":1,"230":2,"231":1,"234":1,"386":1,"410":4,"436":1,"529":1,"629":1,"677":1}}],["such",{"2":{"8":1,"41":3,"42":10,"44":1,"45":9,"54":1,"60":1,"61":2,"62":1,"132":2,"133":1,"160":1,"237":1,"281":1,"323":1,"327":2,"389":1,"403":1,"410":2,"414":1,"417":1,"419":1,"420":1,"423":1,"429":1,"433":1,"435":1,"436":2,"454":1,"530":1,"573":1,"575":1,"582":1,"591":1,"671":1,"699":1,"708":1}}],["sustainable",{"2":{"62":1}}],["sustainability",{"2":{"25":1}}],["sustained",{"2":{"15":1,"16":1}}],["sig",{"2":{"577":1}}],["signer",{"2":{"197":2,"250":4,"410":12}}],["signers",{"2":{"160":1}}],["signedtx",{"2":{"576":2}}],["signed",{"2":{"135":1,"159":1,"576":4}}],["significant",{"2":{"609":1,"619":1,"647":1}}],["significantly",{"2":{"62":1,"99":1,"179":1,"288":1}}],["signing",{"0":{"569":1},"2":{"159":1,"197":2,"247":1,"283":1,"284":1,"310":1,"312":1,"521":1,"530":2,"534":3,"535":1,"536":1,"636":2}}],["signbytes",{"2":{"135":2}}],["signs",{"2":{"134":1,"159":1,"484":1,"522":1}}],["signatures",{"2":{"159":2,"197":2,"340":2,"515":1,"521":2,"529":1,"538":1,"539":2,"575":1}}],["signature",{"2":{"132":4,"135":4,"137":4,"159":1,"340":2,"403":1,"435":1,"438":1,"522":1,"529":1}}],["sign",{"2":{"131":1,"135":2,"160":1,"382":1,"410":6,"521":1,"530":4,"534":1,"576":6,"638":1}}],["signup",{"0":{"71":1}}],["situation",{"2":{"418":1,"534":1}}],["site",{"0":{"0":1,"1":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"1":1,"225":1,"298":6}}],["sidebar",{"2":{"572":2}}],["side",{"2":{"149":2,"152":2,"276":8}}],["sidenodes",{"2":{"103":2,"149":4,"151":1,"152":4}}],["simultaneous",{"2":{"365":1,"571":2}}],["simulated",{"2":{"237":1}}],["simplify",{"2":{"293":1}}],["simply",{"2":{"133":2,"280":1,"295":1,"547":1,"572":1}}],["simpler",{"2":{"416":1}}],["simplest",{"2":{"137":1,"646":1}}],["simple",{"2":{"131":1,"134":1,"179":1}}],["similarly",{"2":{"166":1,"266":1,"373":1,"432":1,"452":1,"575":1}}],["similar",{"2":{"114":1,"115":1,"118":1,"119":2,"151":1,"153":1,"230":1,"231":1,"234":1,"235":2,"276":2,"288":1,"333":1,"336":1,"361":1,"362":1,"370":1,"402":1,"434":1,"507":1,"516":2,"564":1,"629":2,"636":1,"655":1,"656":1}}],["since",{"2":{"126":1,"204":1,"287":1,"402":1,"404":1,"414":1,"418":1,"428":1,"429":1,"436":1,"442":1,"517":1,"527":1,"533":1,"534":1,"543":1,"574":1,"705":1}}],["single",{"2":{"14":1,"102":1,"127":1,"133":1,"154":1,"160":1,"189":3,"190":2,"318":1,"392":1,"420":1,"423":1,"433":1,"576":4,"695":1}}],["sizeofdatainbytes",{"2":{"405":2}}],["sizes",{"2":{"404":1}}],["size",{"2":{"7":1,"60":2,"129":3,"271":8,"360":2,"403":4,"404":3,"405":1,"417":2,"422":1,"428":1,"434":1,"435":2,"438":1,"439":1,"441":1,"709":9}}],["s",{"0":{"426":1,"637":1},"1":{"427":1,"428":1,"429":1,"430":1,"431":1,"432":1},"2":{"5":1,"8":1,"17":1,"25":1,"42":3,"44":2,"45":12,"52":1,"59":1,"60":3,"62":1,"64":1,"66":1,"71":1,"74":1,"83":1,"86":2,"95":6,"102":4,"103":2,"104":1,"114":1,"115":1,"118":1,"129":4,"132":1,"135":28,"137":3,"144":1,"158":2,"167":2,"178":1,"181":3,"185":2,"204":1,"206":2,"226":1,"230":1,"231":1,"233":1,"237":1,"239":1,"242":3,"244":2,"245":2,"246":2,"248":1,"252":1,"254":2,"269":1,"271":2,"273":1,"282":1,"285":1,"293":1,"297":1,"298":1,"303":2,"304":1,"305":1,"307":1,"316":1,"323":1,"324":1,"326":1,"327":1,"329":1,"336":1,"337":1,"338":1,"339":1,"340":1,"343":1,"344":1,"349":1,"361":2,"378":6,"380":3,"383":1,"386":2,"387":1,"390":1,"392":1,"393":1,"395":1,"396":1,"398":1,"399":1,"403":2,"404":2,"410":2,"420":1,"422":1,"423":1,"426":1,"427":1,"428":1,"435":1,"436":1,"438":1,"445":1,"447":2,"451":1,"453":1,"454":1,"461":1,"462":2,"472":1,"475":1,"477":2,"479":1,"500":1,"512":1,"514":1,"528":1,"530":4,"533":1,"534":1,"539":1,"544":1,"545":4,"554":1,"557":2,"558":1,"563":1,"568":4,"571":3,"572":3,"573":2,"574":1,"582":1,"585":1,"586":1,"591":1,"593":1,"597":1,"601":1,"608":1,"613":10,"623":6,"635":1,"637":1,"643":2,"644":2,"646":1,"659":1,"671":2,"693":1,"699":3,"705":2,"706":1,"710":1,"716":2,"718":1,"720":1,"722":2,"728":1,"733":1,"734":1,"742":2,"749":1}}],["steal",{"2":{"414":1}}],["step",{"2":{"78":2,"132":1,"135":1,"137":1,"266":1,"274":1,"325":1,"522":1,"539":1,"577":2,"682":1,"687":1,"688":1,"706":1}}],["steps",{"0":{"100":1,"105":1,"120":1,"176":1,"192":1,"216":1,"217":1,"218":1,"236":1,"257":1,"296":1,"388":1,"487":1,"597":1},"2":{"53":1,"270":1,"272":1,"367":1,"388":1,"546":1,"580":2,"581":1,"596":1,"636":3,"678":1,"682":1,"741":1}}],["style",{"2":{"659":1}}],["style=",{"2":{"249":2,"250":26}}],["styles",{"2":{"249":2,"298":6}}],["stopped",{"2":{"535":1}}],["stop",{"0":{"358":1,"375":1,"674":1},"2":{"375":1,"563":1,"592":1,"674":1}}],["stopbroadcast",{"2":{"244":2}}],["stops",{"2":{"237":1}}],["storecd",{"2":{"654":1}}],["storecelestia",{"2":{"327":1,"330":1,"332":1,"333":4,"334":3,"336":1,"337":2,"338":1,"339":1,"340":1,"341":1,"342":1,"343":2,"344":1,"346":1}}],["storesudo",{"2":{"654":1}}],["stores",{"2":{"432":1,"663":1,"731":1}}],["store```",{"2":{"340":2}}],["store=$home",{"2":{"330":2}}],["stored",{"2":{"206":2,"323":1,"389":1,"390":1,"417":1,"418":1,"420":1,"502":1,"558":1,"647":2}}],["store",{"0":{"330":1,"424":1,"492":1,"506":1,"526":1,"542":1,"592":1,"594":1,"655":1},"1":{"331":1},"2":{"104":1,"108":3,"216":3,"271":8,"323":1,"327":6,"328":7,"330":8,"331":7,"332":9,"333":14,"334":9,"336":3,"337":6,"338":3,"339":3,"340":5,"341":7,"342":3,"343":10,"344":3,"345":4,"346":7,"370":3,"389":1,"390":2,"391":1,"403":1,"419":1,"423":2,"424":1,"425":1,"428":1,"432":1,"492":2,"495":1,"503":1,"504":1,"505":1,"506":3,"508":5,"509":4,"510":7,"511":6,"512":5,"514":4,"515":5,"516":3,"517":6,"518":3,"519":1,"520":1,"526":2,"528":1,"530":3,"536":1,"542":2,"544":1,"545":1,"547":1,"592":9,"594":5,"595":4,"609":1,"647":3,"654":4,"655":9,"656":8,"664":1,"698":2}}],["storing",{"2":{"104":1,"391":2,"420":1,"421":1,"423":1,"425":1,"509":1,"745":1}}],["stories",{"2":{"66":1}}],["storage",{"0":{"419":1,"420":1,"421":1,"423":1,"614":1,"620":1,"654":1,"663":1,"664":1,"666":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"744":1},"1":{"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"655":1,"656":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":1,"670":2,"671":2,"672":1,"673":1,"674":1},"2":{"39":1,"66":1,"104":1,"242":6,"318":1,"390":1,"419":2,"420":2,"421":1,"423":2,"425":2,"461":1,"484":1,"548":1,"572":2,"608":1,"609":5,"619":1,"620":1,"627":1,"646":1,"647":1,"656":1,"663":1,"664":2,"665":2,"671":3,"672":2,"673":2,"674":1,"695":1,"715":1,"720":1,"731":1,"737":1,"744":2}}],["still",{"2":{"159":1,"298":1,"428":1,"432":1,"459":1,"472":1,"535":1,"602":1,"620":1,"671":1,"706":1}}],["stipend",{"2":{"46":1,"50":1}}],["stub",{"2":{"125":1}}],["stuck",{"2":{"104":1,"237":1}}],["stdencoding",{"2":{"386":4}}],["std",{"2":{"115":2,"231":2,"242":2,"244":2}}],["strike",{"2":{"167":1}}],["string",{"2":{"87":2,"242":30,"245":4,"246":4,"254":2,"328":3,"329":1,"332":2,"386":16,"387":4,"410":2,"476":1,"477":1,"530":20,"582":2,"590":2,"591":2,"716":1}}],["struct",{"2":{"103":3,"132":10,"133":6,"147":4,"149":9,"150":2,"152":5,"153":4,"242":2}}],["structures",{"0":{"126":1},"2":{"132":2,"153":2,"154":1,"410":2}}],["structure",{"0":{"3":1},"2":{"132":2,"149":2,"152":2}}],["streaming",{"2":{"64":4}}],["stress",{"2":{"59":1}}],["strengthen",{"2":{"56":1}}],["straight",{"2":{"177":1}}],["strategy",{"2":{"52":1,"595":1}}],["strange",{"2":{"41":1}}],["stronger",{"0":{"425":1}}],["strong",{"2":{"29":1,"423":1}}],["stability",{"0":{"472":1,"706":1}}],["stable",{"2":{"97":2,"98":2,"354":1,"706":1,"733":1}}],["stands",{"2":{"457":1}}],["standardoutput=journal",{"2":{"536":2}}],["standarderror=journal",{"2":{"536":2}}],["standard",{"2":{"65":1,"242":1,"269":1,"283":2,"285":1,"322":1,"400":1,"401":1,"429":4,"439":1,"596":1}}],["standardscryptp",{"2":{"508":3}}],["standardscryptn",{"2":{"508":3}}],["standards",{"0":{"8":1},"2":{"9":1,"15":1,"16":1}}],["stakin",{"2":{"712":1,"713":1,"714":1}}],["staking",{"0":{"397":1,"440":1,"457":1,"458":1},"1":{"398":1,"399":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1},"2":{"258":1,"283":1,"397":2,"398":1,"399":1,"441":3,"447":1,"453":1,"454":1,"457":2,"534":1,"563":6,"566":4,"569":1,"629":2,"636":2}}],["stakeflow",{"2":{"712":1,"713":1,"714":1,"717":1,"723":1,"725":1,"726":1,"729":1}}],["stakers",{"2":{"444":1,"445":1}}],["stakecurrency",{"2":{"298":2}}],["staked",{"2":{"261":1,"447":1}}],["stake",{"0":{"258":1,"260":1,"263":1,"265":1,"267":1,"441":1,"453":1,"629":1},"1":{"259":1,"260":1,"261":2,"262":2,"263":2,"264":2,"265":1,"266":2,"267":2,"268":2},"2":{"165":1,"258":3,"261":1,"263":1,"264":1,"266":1,"267":1,"268":1,"397":1,"398":1,"441":4,"453":2,"547":1,"563":1,"629":1}}],["stack",{"0":{"169":1,"238":1,"289":1,"292":1,"293":1,"295":1,"351":1,"363":1,"367":1},"1":{"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"290":1,"291":1,"292":1,"293":2,"294":2,"295":1,"296":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":2,"365":2,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1},"2":{"102":1,"168":1,"170":1,"176":1,"179":2,"181":1,"185":1,"237":1,"238":1,"257":2,"289":1,"290":1,"291":2,"293":3,"294":1,"296":1,"351":1,"353":1,"359":1,"365":1,"367":1,"368":1,"369":1,"377":1,"396":3,"433":2}}],["stage",{"2":{"52":1,"677":1,"706":1}}],["static",{"2":{"403":4,"404":2,"572":2}}],["stats",{"0":{"342":1},"2":{"342":2}}],["statement",{"2":{"386":1}}],["statements",{"0":{"385":1},"2":{"385":1}}],["stateroot",{"2":{"360":2}}],["stateless",{"2":{"129":1}}],["state",{"0":{"422":1,"619":1,"622":1},"2":{"45":6,"119":1,"134":2,"137":1,"159":1,"169":1,"178":1,"205":1,"235":1,"279":1,"287":1,"288":1,"295":1,"327":2,"336":2,"337":4,"339":2,"343":6,"356":1,"386":2,"389":2,"391":2,"402":1,"403":1,"404":1,"406":1,"411":1,"414":1,"422":4,"432":3,"433":8,"435":2,"462":1,"466":1,"477":3,"488":1,"521":1,"522":1,"533":1,"534":1,"538":1,"539":1,"547":2,"557":6,"619":1,"620":1,"622":3,"623":1,"647":3,"671":1,"677":1,"699":1,"716":2,"722":1,"726":1}}],["statesaving",{"2":{"608":1}}],["states",{"2":{"45":9}}],["status",{"2":{"7":1,"119":2,"222":2,"223":2,"235":2,"476":1,"557":4,"578":1,"716":2,"742":4,"746":2,"748":1}}],["startcelestia",{"2":{"624":1,"633":1,"636":1,"692":1}}],["startlimitburst=5",{"2":{"536":2}}],["startblobstream",{"2":{"495":1}}],["startbroadcast",{"2":{"244":2}}],["starts",{"2":{"356":1,"364":1,"442":1,"530":2,"535":1}}],["startshare=0",{"2":{"146":1}}],["startprank",{"2":{"242":2}}],["start=10",{"2":{"145":1}}],["starting",{"2":{"68":1,"99":1,"132":1,"145":1,"146":1,"433":1,"445":1,"492":1,"501":5,"526":1,"542":1,"554":1,"592":1,"639":1,"688":1}}],["startup",{"2":{"58":1,"745":1}}],["start",{"0":{"19":1,"278":1,"356":1,"373":1,"495":1,"530":1,"545":1,"556":1,"624":1,"634":1,"653":1,"656":1,"671":1,"673":1,"699":1,"703":1,"736":1,"742":1},"1":{"20":1,"21":1,"22":1,"23":1,"496":1,"737":1,"738":1,"739":1},"2":{"48":1,"49":1,"86":1,"103":2,"108":4,"109":1,"132":2,"133":1,"146":2,"149":4,"176":1,"179":1,"182":1,"198":2,"210":1,"212":2,"222":2,"223":3,"233":1,"239":1,"245":1,"246":1,"250":4,"254":1,"270":1,"271":6,"278":2,"295":1,"296":1,"324":12,"325":8,"327":1,"355":1,"356":1,"358":1,"372":1,"373":5,"380":3,"441":1,"477":6,"493":1,"495":2,"501":1,"522":1,"527":2,"530":10,"534":3,"536":6,"539":1,"543":2,"545":8,"553":1,"554":8,"555":7,"557":4,"576":2,"583":3,"585":5,"586":4,"589":2,"592":3,"593":3,"622":1,"624":2,"633":1,"636":2,"641":1,"648":1,"653":6,"655":1,"656":10,"671":5,"672":7,"692":2,"699":9,"700":8,"702":7,"716":3,"739":1,"742":5,"744":5,"745":6,"746":7}}],["started",{"0":{"122":1,"239":1,"282":1,"304":1,"739":1},"1":{"123":1,"124":1,"125":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"1":1,"57":1,"65":1,"222":1,"241":1,"245":1,"250":2,"252":1,"282":1,"311":1,"369":1,"378":1,"393":2,"398":1,"399":1,"581":1,"592":1,"649":2,"654":1,"736":1,"737":1,"738":1,"739":1,"742":1,"746":1}}],["stay",{"2":{"5":1,"574":1}}],["ghead",{"2":{"613":2}}],["ghcr",{"2":{"108":4,"222":2,"359":1,"373":4,"653":6,"655":6,"656":6}}],["glance",{"0":{"449":1}}],["global",{"2":{"95":2,"271":2,"572":3}}],["gcpbb",{"2":{"404":1}}],["gptprompt",{"2":{"387":4}}],["gpt3dot5turbo",{"2":{"386":2}}],["gpt3",{"2":{"386":4,"387":2}}],["gpt",{"2":{"378":2,"379":1,"386":3,"387":3,"388":1}}],["gg",{"2":{"272":2}}],["gz",{"2":{"94":6,"320":24,"662":24}}],["gbps",{"2":{"548":2,"609":2,"627":2,"665":2}}],["gb",{"2":{"91":1,"290":1,"318":1,"484":2,"548":1,"609":4,"627":2,"665":1,"695":1}}],["gt",{"2":{"86":2,"87":2,"94":4,"108":5,"135":2,"190":2,"206":4,"216":13,"217":12,"218":12,"222":5,"223":8,"242":4,"245":2,"246":2,"247":2,"249":14,"250":118,"254":4,"272":4,"298":14,"320":8,"324":6,"325":21,"327":6,"329":6,"330":4,"332":8,"333":8,"337":2,"340":4,"343":6,"345":4,"359":4,"360":1,"373":13,"408":4,"409":4,"477":8,"479":3,"497":2,"510":2,"512":2,"515":2,"517":3,"518":2,"519":4,"522":1,"530":3,"534":10,"535":1,"536":8,"545":3,"553":8,"554":4,"555":12,"559":8,"560":6,"561":8,"562":18,"563":20,"564":4,"565":6,"566":16,"567":4,"568":12,"569":2,"572":2,"576":2,"583":10,"585":14,"586":16,"589":10,"592":10,"593":8,"594":4,"595":8,"623":12,"629":4,"632":2,"636":2,"656":2,"662":8,"671":4,"672":12,"699":4,"700":6,"701":3,"702":12,"716":8,"728":3,"742":2,"744":2,"745":4,"746":4}}],["gmid",{"2":{"250":2}}],["gms",{"2":{"87":3,"254":3}}],["gmportalscript",{"2":{"86":2,"254":2}}],["gmportal",{"2":{"86":2,"88":7,"254":2,"255":7}}],["gm",{"2":{"86":8,"87":5,"88":8,"89":2,"176":1,"236":1,"254":13,"255":8,"256":2,"291":1,"327":4,"332":3,"333":6,"334":6,"393":2}}],["google",{"2":{"410":4}}],["goods",{"2":{"293":1}}],["good",{"2":{"165":1,"257":1,"572":1,"654":2}}],["goimport",{"2":{"405":1,"410":1}}],["going",{"2":{"120":1,"192":1,"371":1,"602":1,"731":1,"742":1}}],["gogo",{"2":{"387":1}}],["godotenv",{"2":{"385":2,"386":2}}],["gopackage",{"2":{"385":1}}],["gofile",{"2":{"385":1}}],["gofunc",{"2":{"135":2,"137":1,"364":2,"386":2,"387":1}}],["govcelestia",{"2":{"563":1}}],["gov",{"2":{"283":1,"563":12,"564":2}}],["governing",{"2":{"454":1}}],["governance",{"0":{"440":1,"443":1,"454":1,"563":1},"1":{"441":1,"442":1,"443":1,"444":2,"445":2,"446":1,"447":1,"564":1},"2":{"102":2,"258":1,"293":1,"403":1,"404":2,"432":1,"444":2,"445":1,"447":1,"454":3,"563":3,"564":1,"709":3}}],["governmental",{"2":{"45":1}}],["government",{"2":{"44":1}}],["governed",{"2":{"42":1}}],["govern",{"2":{"41":1}}],["gobin",{"2":{"215":2}}],["gone",{"2":{"210":1}}],["gotten",{"2":{"148":1}}],["got",{"2":{"137":2,"333":1,"383":1,"386":2}}],["gotype",{"2":{"103":1,"132":2,"133":1}}],["gossiped",{"2":{"402":1,"427":1,"747":1}}],["gossiping",{"2":{"137":2,"748":1}}],["gossip",{"2":{"137":1,"664":1}}],["goals",{"2":{"179":1}}],["goal",{"2":{"132":1,"392":1}}],["goevmks",{"2":{"508":1}}],["goerli",{"2":{"102":1,"163":1}}],["goes",{"2":{"78":1,"147":1,"285":1,"297":1,"596":1}}],["go$ver",{"2":{"94":6,"320":24,"662":24}}],["golangblobstream",{"2":{"485":1}}],["golangnodearabica",{"2":{"320":2,"662":2}}],["golangnodemocha",{"2":{"320":2,"662":2}}],["golangnodemainnet",{"2":{"320":2,"662":2}}],["golangcelestia",{"2":{"314":1}}],["golang",{"0":{"94":1,"320":1,"349":1,"353":1,"662":1},"2":{"94":2,"309":1,"320":11,"322":1,"378":2,"379":1,"384":1,"387":1,"410":4,"596":1,"662":11}}],["go",{"0":{"384":1},"2":{"68":1,"90":1,"94":8,"103":1,"132":1,"133":1,"141":1,"158":1,"174":1,"175":1,"190":2,"209":1,"213":2,"224":1,"253":1,"269":4,"274":1,"295":1,"299":1,"319":1,"320":18,"322":3,"327":1,"349":2,"362":6,"364":4,"365":2,"382":1,"384":6,"385":2,"386":6,"387":1,"433":1,"483":1,"485":1,"522":1,"539":1,"546":1,"558":1,"572":1,"580":1,"585":1,"595":2,"596":3,"654":2,"660":1,"662":18,"739":1}}],["gi",{"2":{"145":2}}],["gitcd",{"2":{"613":1}}],["git",{"2":{"86":6,"92":2,"97":10,"98":6,"215":3,"254":4,"319":4,"322":7,"354":6,"362":4,"384":4,"485":5,"580":7,"596":7,"613":3,"661":4}}],["githubusercontent",{"2":{"95":2,"226":1,"319":2,"613":10,"661":2}}],["github",{"2":{"86":3,"97":2,"98":2,"149":2,"150":2,"153":2,"206":2,"215":2,"254":3,"292":1,"312":1,"317":1,"322":2,"354":2,"362":2,"384":2,"385":10,"405":2,"410":16,"485":3,"577":2,"580":2,"591":1,"596":2,"613":2,"731":1}}],["given",{"0":{"595":1},"2":{"364":1,"386":6,"417":1,"430":1,"472":1,"517":1,"593":2,"595":2,"619":1,"709":1,"734":2}}],["gives",{"2":{"63":1,"83":1,"441":1,"709":1}}],["give",{"0":{"253":1},"2":{"62":1,"177":1,"242":2,"245":1,"368":1,"654":1}}],["giving",{"2":{"8":1,"50":1,"58":1}}],["gifts",{"2":{"61":1}}],["gather",{"2":{"538":1,"585":1}}],["gateway",{"0":{"312":1,"313":1},"1":{"313":1},"2":{"108":2,"307":1,"308":1,"312":3,"313":1,"317":1,"373":2,"380":8,"465":1,"591":3,"725":1}}],["game",{"2":{"378":2,"385":1,"387":1}}],["gaming",{"2":{"61":1,"180":1,"257":1}}],["gaining",{"2":{"414":1}}],["gain",{"2":{"66":1,"74":1,"83":1,"378":1,"420":1}}],["gained",{"2":{"56":1}}],["gap",{"2":{"60":1}}],["gauge",{"2":{"60":1}}],["gas=220000",{"2":{"636":1}}],["gas=220000moniker=",{"2":{"636":1}}],["gascostpertransactionbyte",{"2":{"403":1}}],["gascostperblobbyte",{"2":{"403":1}}],["gasperbyte",{"2":{"403":1,"404":2}}],["gasprice",{"2":{"361":2,"402":1}}],["gaspricestep",{"2":{"298":2}}],["gastoconsume",{"2":{"403":2,"404":1}}],["gaslimit",{"2":{"332":4,"343":1,"360":2,"386":4,"387":4,"402":1,"405":2,"410":4}}],["gasused",{"2":{"119":2,"235":2,"360":2}}],["gas",{"0":{"334":1,"402":1,"403":1,"404":1,"405":1},"1":{"403":1,"404":1,"405":1},"2":{"42":1,"102":2,"115":2,"167":1,"197":12,"204":2,"226":3,"231":2,"271":16,"314":1,"332":2,"334":11,"343":7,"361":2,"364":1,"387":1,"401":2,"402":9,"403":9,"404":18,"405":5,"410":6,"439":1,"452":1,"534":4,"565":2,"567":2,"629":4,"636":4}}],["grpcaddr",{"2":{"410":4}}],["grpc",{"0":{"410":1,"466":1,"714":1,"726":1},"2":{"153":1,"271":12,"324":3,"373":4,"380":2,"410":10,"465":3,"466":5,"476":3,"477":3,"501":2,"522":1,"524":1,"530":9,"532":3,"539":1,"545":1,"553":2,"554":1,"572":3,"582":2,"671":2,"699":3,"714":12,"716":8,"725":3,"726":12}}],["groundbreaking",{"2":{"706":1}}],["groupname",{"2":{"249":2}}],["groups",{"2":{"58":1,"60":2,"63":5,"65":2}}],["group",{"2":{"50":1,"52":1,"60":2,"63":1,"64":1,"65":13,"66":7}}],["growth",{"2":{"83":1,"293":1}}],["grow",{"2":{"68":1}}],["growing",{"2":{"68":1}}],["grep",{"2":{"366":1}}],["grepping",{"2":{"366":1}}],["green",{"2":{"154":1}}],["greet",{"2":{"55":1}}],["greater",{"2":{"622":1}}],["greatly",{"2":{"64":1}}],["great",{"2":{"59":1,"296":1}}],["grafana",{"2":{"572":3,"574":3,"587":1,"716":1}}],["gradients",{"2":{"154":1}}],["grassroots",{"2":{"67":1}}],["gratitude",{"2":{"61":1,"62":1}}],["graphical",{"2":{"575":1}}],["graphics",{"2":{"54":1}}],["graph",{"2":{"242":2}}],["graphs",{"2":{"49":1}}],["granter",{"2":{"197":2}}],["granted",{"2":{"71":1}}],["grants",{"2":{"46":1,"51":1}}],["grant",{"2":{"45":1,"51":1}}],["granting",{"2":{"45":1}}],["gray",{"2":{"39":1}}],["gravity",{"2":{"29":3,"158":1}}],["gracefully",{"2":{"8":1,"674":1}}],["g",{"2":{"42":1,"44":1,"49":4,"56":1,"66":2,"327":1,"416":1,"430":1,"436":1,"572":1,"643":2}}],["guru",{"2":{"717":1}}],["gurel",{"2":{"52":1}}],["guaranteeing",{"2":{"434":1}}],["guarantee",{"2":{"389":1,"423":1,"424":1,"427":1,"429":1,"477":1,"716":1}}],["guaranteed",{"2":{"286":1,"391":2,"436":1}}],["guarantees",{"2":{"29":1,"391":1}}],["guidance",{"0":{"57":1},"1":{"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1}}],["guidetroubleshooting",{"2":{"314":1}}],["guidecommand",{"2":{"314":1}}],["guide",{"0":{"53":1,"238":1,"269":1,"326":1,"349":1,"599":1,"678":1,"736":1},"1":{"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"600":1,"601":1,"602":1,"603":1,"604":1,"605":1,"606":1,"607":1,"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"737":1,"738":1,"739":1},"2":{"67":1,"74":1,"78":1,"106":1,"111":1,"186":1,"209":1,"215":1,"221":1,"224":2,"238":2,"269":1,"295":1,"299":2,"305":1,"317":1,"351":1,"377":1,"461":2,"475":2,"538":1,"573":1,"577":2,"579":1,"587":1,"592":1,"608":1,"647":1,"663":1,"678":2,"680":1,"681":1,"693":1,"705":1,"710":2,"720":2,"731":1,"739":1}}],["guidelines",{"0":{"2":1,"12":1,"76":1},"1":{"13":1,"14":1,"15":1,"16":1},"2":{"2":1,"12":1,"17":1,"57":2}}],["guides",{"2":{"0":1,"3":1,"57":1,"394":1,"461":1,"646":1,"720":1,"731":1}}],["geoblock",{"2":{"42":1}}],["gentx",{"2":{"557":2,"569":4,"688":5,"689":7}}],["gentxscelestia",{"2":{"689":1}}],["gentxs",{"2":{"557":2,"689":1}}],["genutil",{"2":{"283":1}}],["genuine",{"2":{"71":1,"83":1}}],["genuinely",{"2":{"70":1}}],["genesis",{"0":{"446":1,"569":1,"686":1,"688":1,"689":1},"1":{"447":1},"2":{"153":2,"207":1,"420":1,"445":1,"446":2,"447":1,"449":1,"501":1,"557":20,"569":3,"583":10,"607":1,"613":7,"686":2,"687":3,"688":2,"689":5}}],["generation",{"2":{"434":1}}],["generating",{"0":{"216":1},"2":{"517":2,"534":1}}],["generator",{"2":{"247":1}}],["generate",{"2":{"209":1,"213":1,"216":1,"333":1,"378":1,"380":1,"382":1,"383":1,"418":2,"429":1,"534":1,"557":2,"569":1,"576":4,"677":1}}],["generated",{"2":{"146":2,"246":1,"325":2,"332":1,"336":1,"383":1,"429":1,"479":1,"493":1,"521":1,"527":1,"530":2,"538":1,"543":1,"554":1,"671":1,"685":1,"688":1,"700":1,"701":1,"728":1}}],["generates",{"2":{"145":1}}],["generally",{"2":{"403":1,"534":1}}],["general",{"0":{"42":1,"92":1,"676":1},"1":{"677":1},"2":{"45":1,"52":1,"178":1,"214":1,"403":1,"427":1,"447":1,"676":1}}],["generic",{"2":{"115":1,"231":1}}],["gender",{"2":{"7":1}}],["getaddress",{"2":{"410":2}}],["getall",{"2":{"391":2}}],["getallgms",{"2":{"87":2,"254":2}}],["getsharesbynamespace",{"2":{"386":2}}],["getsigner",{"2":{"250":2}}],["getdataasprompt",{"2":{"386":3,"387":2}}],["getenv",{"2":{"386":8}}],["getelementbyid",{"2":{"249":2}}],["getgrpcurl",{"2":{"362":1}}],["getbyheight",{"2":{"340":1}}],["getblockdata",{"2":{"133":2,"137":2}}],["getlatestblock",{"2":{"137":2}}],["getlatestrollupheight",{"2":{"133":2}}],["getting",{"0":{"122":1,"239":1,"282":1,"304":1,"739":1},"1":{"123":1,"124":1,"125":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"250":2,"282":1,"379":1,"386":2,"413":1,"522":1,"539":1}}],["gettotalgms",{"2":{"87":2,"254":2}}],["getheader",{"2":{"133":4,"137":2,"386":2}}],["geth",{"2":{"117":1,"169":1,"295":1,"356":1,"508":1}}],["get",{"0":{"338":1,"339":1,"340":1,"342":1},"2":{"1":1,"49":1,"50":1,"57":1,"60":1,"65":1,"104":1,"177":1,"178":1,"180":1,"212":1,"237":1,"241":1,"272":1,"311":1,"332":1,"333":15,"338":1,"339":1,"340":6,"341":4,"345":1,"346":7,"362":1,"369":1,"378":1,"380":1,"381":1,"387":3,"388":1,"393":2,"395":1,"398":1,"399":1,"404":1,"406":1,"410":2,"413":1,"533":2,"534":1,"539":1,"554":1,"562":1,"563":1,"573":1,"581":1,"613":1,"629":1,"649":2,"671":2,"699":1,"701":1,"736":1,"737":1,"738":1,"739":1}}],["otel",{"2":{"585":2,"587":3}}],["otherwise",{"2":{"11":1,"45":4,"332":1,"563":1,"682":1,"742":1}}],["others",{"2":{"8":1,"691":1}}],["other",{"0":{"96":1,"288":1,"687":1},"2":{"3":1,"8":2,"9":1,"13":1,"41":2,"42":10,"43":1,"45":12,"50":1,"51":1,"58":1,"60":5,"61":2,"63":2,"65":1,"66":3,"70":1,"82":1,"102":1,"117":1,"127":1,"132":2,"141":1,"157":1,"167":1,"171":1,"180":1,"216":1,"279":1,"286":2,"288":1,"308":1,"317":1,"359":1,"391":3,"401":1,"404":1,"413":1,"420":1,"423":1,"430":1,"433":2,"445":1,"453":1,"467":1,"478":1,"507":1,"513":1,"547":1,"643":1,"687":2,"688":1,"689":2,"690":2,"691":2,"728":1,"737":1}}],["o1w4npv7w4caztgjomx71w96m63+xzynarxlu7wwvrrwbeb6cw8r93yhxt1r4+txcbgve76obzf5jltnu22gksd2cl+83d8dgjx0fkcwzd0vofkgmboky1utddu8704s2mwgnne09s1bzw+n9fq6fkfw7pvwjl200ecs0ofj3hfpaeywnlgyygqc89dh+98gd5trdu4anql9afmw+sdzjtc9s0fzlwyroos0bvk3w7evnpmwxe5qrdzklbmv1lzi4ofrrxlhgmbyoajhhsen+b81lguh33hdet8k9nvkksf2+w3xul6upsxydpbwsv2ghskr+yfuldbvyl1rotvts1zxlpepz0m1e",{"2":{"362":2}}],["old",{"2":{"358":1,"421":1,"535":1,"589":1,"593":1}}],["older",{"2":{"42":1,"390":1,"675":1}}],["os",{"2":{"319":1,"385":2,"386":8,"571":2,"661":1}}],["oss",{"2":{"286":1}}],["os|file|kwallet|pass|test|memory",{"2":{"206":2,"558":1}}],["ostrich",{"2":{"194":2}}],["oil",{"2":{"194":2}}],["omitted",{"2":{"149":1}}],["omitempty",{"2":{"132":2}}],["occupied",{"2":{"709":1}}],["occurs",{"2":{"414":1}}],["occurring",{"2":{"288":1}}],["occur",{"2":{"137":1,"563":1}}],["occasional",{"2":{"706":1,"733":1}}],["october",{"0":{"21":1,"22":1,"23":1,"25":1,"26":1},"2":{"21":2,"22":2,"23":1,"25":3}}],["ok",{"2":{"115":2,"231":2}}],["o",{"2":{"95":2,"428":1,"429":2,"623":12}}],["owner",{"2":{"242":12}}],["ownership",{"2":{"45":1,"242":2}}],["own",{"2":{"45":2,"179":1,"181":1,"200":1,"204":1,"212":1,"240":1,"248":1,"289":1,"294":1,"295":1,"308":1,"348":1,"351":1,"368":1,"370":2,"383":1,"391":1,"430":1,"433":1,"434":1,"441":1,"452":1,"453":1,"477":1,"553":1,"580":1,"604":1,"629":1,"671":1,"678":1,"684":1,"699":1,"716":1}}],["observe",{"2":{"595":1}}],["observer",{"2":{"585":2}}],["observance",{"2":{"45":1}}],["objects",{"2":{"250":2}}],["objectives",{"2":{"54":1}}],["obligation",{"2":{"45":1}}],["obligations",{"2":{"44":1}}],["obligated",{"2":{"11":1}}],["obtained",{"2":{"45":2,"379":1}}],["obtaining",{"2":{"45":2}}],["obtain",{"2":{"43":1,"44":1,"62":1,"305":1}}],["override",{"2":{"572":2}}],["overwrite",{"2":{"506":1}}],["overpaying",{"2":{"404":1}}],["overhead",{"2":{"289":1,"294":1}}],["over",{"0":{"276":1,"384":1},"2":{"46":1,"77":1,"78":1,"90":1,"120":1,"131":1,"132":4,"134":1,"135":1,"158":1,"178":1,"209":1,"213":2,"224":1,"238":1,"250":2,"276":2,"297":1,"299":1,"312":1,"319":1,"325":1,"327":1,"358":1,"380":1,"382":1,"384":1,"391":1,"395":1,"402":1,"454":1,"483":1,"530":3,"545":1,"546":1,"585":1,"596":1,"660":1,"739":1}}],["overview",{"0":{"47":1,"82":1,"102":1,"111":1,"159":1,"439":1,"448":1,"547":1,"664":1,"694":1,"731":1},"1":{"48":1,"103":1,"104":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1},"2":{"21":1,"55":1,"65":1,"77":1,"78":1,"79":1,"129":2,"239":1,"264":1,"268":1,"282":1,"297":1,"439":1,"521":1,"538":1,"587":1,"597":1}}],["overall",{"2":{"8":1,"59":1}}],["onto",{"2":{"234":1,"392":1,"425":1}}],["oncall",{"2":{"574":2}}],["onchange=",{"2":{"250":4}}],["onchain",{"2":{"103":1,"104":1,"158":1,"162":1,"180":1,"257":1,"290":1,"414":1,"447":1,"636":1}}],["onclick=",{"2":{"250":8,"298":2}}],["once",{"2":{"118":1,"135":1,"197":1,"213":1,"234":1,"245":3,"246":1,"250":2,"325":1,"327":1,"389":1,"391":1,"395":1,"416":1,"423":1,"435":1,"510":1,"522":1,"535":1,"539":2,"554":1,"572":2,"622":1,"671":1,"674":1,"687":1,"689":2,"700":1}}],["onboarding",{"0":{"66":1}}],["onlyowner",{"2":{"242":8}}],["only",{"0":{"464":1,"724":1},"2":{"45":2,"51":1,"137":2,"180":1,"181":1,"194":2,"211":1,"216":1,"242":2,"283":1,"285":1,"294":1,"312":1,"317":1,"390":1,"391":1,"392":1,"404":1,"410":2,"418":1,"420":1,"423":1,"426":1,"427":1,"428":1,"429":2,"430":2,"432":1,"433":3,"434":2,"435":2,"502":1,"506":1,"516":1,"538":1,"564":1,"576":2,"582":1,"613":1,"636":1,"659":1,"674":1,"678":1,"716":1,"727":1,"739":1}}],["online",{"2":{"10":1,"55":1,"62":1,"63":1,"742":2,"744":2,"745":2,"746":2}}],["onecelestia",{"2":{"562":1}}],["ones",{"2":{"274":1,"277":1,"677":1}}],["one",{"0":{"18":1,"406":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"45":5,"49":2,"63":1,"64":1,"65":1,"66":1,"87":1,"102":1,"108":4,"114":1,"115":1,"141":1,"160":1,"178":1,"179":1,"180":1,"181":1,"190":1,"192":1,"193":2,"202":1,"204":2,"206":2,"216":1,"222":2,"223":2,"226":2,"230":1,"231":1,"245":1,"254":1,"269":2,"271":2,"317":1,"324":3,"383":1,"400":1,"403":1,"406":1,"417":1,"429":2,"430":1,"433":2,"435":2,"436":2,"487":1,"493":2,"510":1,"512":1,"514":1,"527":2,"530":5,"534":1,"535":1,"538":1,"539":2,"543":1,"553":1,"554":2,"557":4,"562":4,"563":3,"572":3,"592":2,"595":1,"607":2,"630":1,"664":1,"671":1,"689":1,"699":3,"700":2,"709":2,"713":1,"714":1,"716":1,"723":1,"725":1,"726":1}}],["on",{"0":{"84":1,"109":1,"170":1,"182":1,"193":1,"204":1,"227":1,"252":1,"254":1,"331":1,"362":1,"397":1,"441":1,"620":1,"644":1,"731":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"171":1,"172":1,"173":1,"174":1,"175":1,"183":1,"184":1,"185":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"255":1,"256":1,"257":1,"398":1,"399":1},"2":{"8":2,"22":3,"25":1,"29":2,"41":3,"42":3,"43":1,"44":1,"45":5,"48":2,"49":1,"50":3,"52":1,"54":1,"57":1,"58":3,"59":2,"61":2,"62":1,"63":4,"64":5,"65":1,"66":1,"71":1,"77":1,"78":1,"79":2,"83":1,"87":1,"88":3,"89":1,"90":1,"91":1,"97":2,"98":4,"102":1,"103":3,"104":4,"108":1,"109":1,"111":1,"112":1,"115":1,"117":2,"127":1,"131":1,"133":6,"135":1,"154":1,"158":2,"159":3,"160":3,"163":2,"165":2,"166":4,"167":2,"168":1,"169":5,"170":1,"176":2,"177":1,"178":2,"181":1,"182":1,"184":3,"186":1,"192":3,"200":2,"201":2,"204":2,"205":1,"208":2,"212":2,"213":1,"216":1,"221":2,"222":4,"223":1,"225":1,"228":1,"231":1,"233":1,"237":4,"238":1,"249":2,"250":5,"251":1,"252":1,"253":1,"254":1,"255":3,"256":1,"257":3,"258":2,"263":1,"267":1,"269":3,"271":2,"280":1,"282":1,"284":1,"286":1,"288":1,"290":3,"291":3,"295":4,"297":1,"304":1,"306":1,"308":2,"312":1,"317":1,"319":1,"322":1,"323":1,"324":2,"325":3,"329":3,"330":1,"333":1,"360":1,"361":1,"364":1,"370":1,"373":1,"378":2,"380":5,"386":1,"390":1,"391":6,"392":3,"394":1,"396":4,"403":3,"404":6,"410":2,"414":1,"416":1,"417":1,"425":1,"426":1,"427":1,"428":1,"430":1,"432":2,"433":3,"436":1,"438":1,"439":3,"441":3,"442":1,"444":2,"451":2,"452":2,"454":1,"459":1,"461":5,"462":1,"471":3,"472":2,"475":1,"477":1,"479":2,"483":1,"487":1,"488":1,"493":1,"501":1,"506":1,"527":1,"530":2,"543":1,"547":2,"549":1,"553":4,"554":4,"556":1,"558":1,"563":3,"564":1,"569":1,"571":2,"572":9,"573":1,"574":2,"577":1,"578":2,"580":2,"581":2,"582":4,"584":1,"587":3,"589":2,"591":5,"592":1,"596":1,"608":2,"610":1,"611":1,"612":1,"618":1,"620":1,"621":1,"622":2,"624":2,"627":1,"628":1,"632":4,"634":1,"636":1,"643":3,"646":4,"647":1,"651":1,"653":3,"654":5,"659":1,"661":1,"666":1,"671":6,"675":2,"676":3,"677":4,"692":2,"693":1,"694":1,"696":2,"699":7,"703":1,"704":1,"709":3,"710":1,"716":1,"720":7,"722":1,"728":2,"731":4,"734":6,"736":1,"739":2,"749":1}}],["opt",{"2":{"452":1}}],["optimally",{"2":{"433":1}}],["optimal",{"2":{"322":1,"596":1}}],["optimized",{"2":{"433":1}}],["optimize",{"2":{"288":1}}],["optimismcd",{"2":{"354":1}}],["optimism",{"0":{"293":1},"2":{"169":2,"185":1,"257":1,"289":1,"290":2,"292":1,"293":6,"295":1,"354":3,"355":2,"357":1,"364":1,"367":1,"370":1,"372":2,"373":1,"374":1,"396":1,"447":1}}],["optimised",{"2":{"158":1}}],["optimistic",{"2":{"134":1,"137":1,"395":1}}],["option",{"2":{"102":1,"322":2,"368":1,"547":1,"563":2,"572":1,"596":2,"602":1,"636":1,"646":4,"647":1,"739":1}}],["optionsoptional",{"2":{"608":1}}],["options",{"0":{"219":1,"507":1,"646":1},"1":{"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"516":1,"517":1,"518":1,"519":1,"520":1},"2":{"58":2,"59":1,"64":1,"179":1,"181":1,"182":1,"197":4,"250":4,"394":1,"410":6,"461":1,"557":1,"558":1,"561":1,"562":1,"563":2,"571":2,"646":1,"710":1,"720":1,"731":1,"739":1}}],["optionally",{"2":{"332":1,"613":2}}],["optional",{"0":{"205":1,"206":1,"306":1,"555":1,"556":1,"625":1,"630":1,"634":1,"641":1,"642":1,"646":1,"647":1,"672":1,"673":1,"683":1,"687":1,"702":1,"703":1},"1":{"626":1,"627":1,"628":1,"629":1,"630":1,"631":2,"632":2,"633":2,"634":2,"635":2,"636":1,"637":1,"638":1,"639":1,"643":1,"644":1,"645":1},"2":{"50":1,"58":1,"63":1,"87":1,"197":1,"226":2,"302":1,"322":1,"332":8,"357":1,"436":1,"487":2,"492":1,"493":1,"503":1,"504":1,"505":1,"517":1,"526":1,"527":1,"542":1,"543":1,"596":1,"624":1}}],["ops",{"2":{"359":1,"370":1,"373":1}}],["oprexqlg9er1oey1de4mkwvmjlfnqoocg==",{"2":{"340":2}}],["opqym",{"2":{"195":2,"199":2}}],["op",{"0":{"169":1,"289":1,"292":1,"293":1,"295":1,"351":1,"363":1,"367":1},"1":{"290":1,"291":1,"292":1,"293":2,"294":2,"295":1,"296":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":2,"365":2,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1},"2":{"168":1,"169":7,"170":1,"176":1,"185":1,"237":1,"257":1,"289":1,"290":2,"291":2,"293":3,"295":7,"296":1,"351":1,"353":1,"354":6,"356":4,"359":1,"364":4,"365":2,"366":1,"367":1,"368":1,"369":1,"377":1,"396":3}}],["opportunities",{"2":{"66":1,"83":1}}],["opportunity",{"2":{"41":1,"43":1}}],["operating",{"2":{"581":1,"651":1}}],["operations",{"2":{"245":1,"246":1,"403":1,"435":1,"457":1,"471":1,"554":1,"671":1}}],["operation",{"2":{"41":1,"102":1,"115":1,"231":1,"609":1}}],["operators",{"2":{"446":1,"587":1,"706":1,"731":1}}],["operator",{"2":{"322":1,"534":2,"570":1,"596":1,"646":1}}],["operate",{"2":{"433":1}}],["operates",{"2":{"167":1,"364":1}}],["operated",{"2":{"41":1}}],["opentelemetry",{"2":{"586":1,"587":1}}],["openaikey",{"2":{"386":4}}],["openai",{"0":{"382":1},"2":{"378":2,"379":1,"382":3,"383":3,"385":4,"386":12,"387":1}}],["openrpc",{"2":{"310":1}}],["opened",{"2":{"277":1,"509":2,"510":2,"511":2,"512":2,"514":2,"515":2,"517":2}}],["opening",{"2":{"45":1}}],["open",{"0":{"261":1,"266":1,"276":1,"494":1,"529":1},"2":{"7":1,"115":1,"212":1,"222":1,"231":1,"242":1,"250":2,"251":2,"261":1,"270":1,"290":1,"293":1,"324":1,"370":1,"380":1,"383":1,"466":1,"476":3,"477":1,"528":1,"544":1,"553":1,"564":2,"571":2,"572":2,"582":3,"587":1,"589":1,"591":2,"624":1,"632":1,"653":1,"671":1,"690":1,"692":1,"699":1,"726":1}}],["opinions",{"2":{"8":1}}],["our",{"0":{"7":1,"8":1,"118":1},"2":{"7":1,"8":2,"9":1,"10":1,"41":1,"42":1,"44":3,"66":1,"70":2,"71":2,"73":1,"82":1,"83":2,"120":1,"192":1,"204":2,"211":1,"233":1,"243":2,"244":1,"246":2,"251":2,"253":1,"272":1,"320":1,"332":1,"336":1,"337":1,"380":5,"385":1,"386":4,"387":1,"470":1,"482":1,"597":1,"655":1,"662":1,"685":1,"730":1,"735":1}}],["outcome",{"2":{"435":1}}],["outbound",{"2":{"269":1}}],["outercontainerstyle",{"2":{"250":4}}],["outsource",{"2":{"179":1}}],["outsourcing",{"2":{"179":1}}],["outside",{"2":{"45":2,"403":1,"423":1}}],["outlined",{"2":{"137":1}}],["outline",{"2":{"131":2,"137":1}}],["outputs",{"2":{"568":2}}],["outputting",{"0":{"537":1}}],["output",{"2":{"86":3,"114":1,"115":1,"118":1,"119":1,"190":2,"194":1,"195":1,"197":1,"198":1,"199":1,"200":2,"206":4,"211":1,"230":1,"231":1,"234":1,"235":1,"246":1,"254":3,"273":1,"276":2,"319":2,"320":1,"322":1,"332":3,"333":4,"340":2,"346":1,"360":1,"361":1,"386":2,"387":2,"522":1,"534":1,"539":1,"557":2,"576":6,"580":1,"581":2,"596":1,"629":2,"636":1,"661":2,"662":1,"685":1,"691":2,"698":1}}],["out",{"0":{"30":1,"252":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"0":1,"48":1,"54":3,"61":1,"62":1,"63":1,"64":1,"88":3,"98":1,"125":2,"128":1,"133":1,"178":1,"181":1,"233":1,"236":1,"245":1,"247":2,"251":1,"253":1,"255":3,"282":1,"295":1,"298":2,"313":1,"322":1,"324":1,"327":1,"348":1,"354":1,"358":1,"365":1,"368":1,"406":1,"416":1,"485":1,"487":2,"541":1,"554":1,"571":2,"572":1,"580":1,"587":1,"596":1,"678":1,"704":1,"720":2,"734":1,"737":1}}],["orchrelayversion",{"2":{"485":2}}],["orchestratorblobstream",{"2":{"509":1,"510":1,"511":1,"512":1,"514":1,"515":1,"517":1}}],["orchestratorsubmit",{"2":{"608":1}}],["orchestratorsudo",{"2":{"536":2}}],["orchestrators",{"2":{"489":1,"538":1,"539":1}}],["orchestrator",{"0":{"503":1,"521":1,"530":1,"638":1},"1":{"522":1,"523":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1},"2":{"158":1,"159":3,"483":1,"484":2,"485":6,"487":2,"496":1,"503":7,"507":7,"508":6,"509":9,"510":9,"511":5,"512":9,"513":6,"514":5,"515":9,"516":8,"517":11,"518":4,"519":4,"520":4,"521":3,"522":8,"524":1,"526":7,"527":3,"528":4,"530":22,"532":1,"533":2,"534":5,"535":5,"536":10,"538":2,"545":1,"637":1,"638":3}}],["originate",{"2":{"747":1}}],["originally",{"2":{"402":1,"592":1}}],["original",{"2":{"198":2,"364":2,"406":1,"427":1,"429":3,"430":1,"435":2,"436":1}}],["origin",{"2":{"202":4,"203":1,"749":1}}],["orientation",{"2":{"7":1}}],["oracle",{"2":{"127":1}}],["oral",{"2":{"45":1}}],["orbit",{"2":{"98":1,"102":10,"104":1,"305":1}}],["ordered",{"2":{"430":1,"433":2}}],["orders",{"2":{"294":1}}],["ordering",{"2":{"59":1,"178":1,"276":2,"434":1}}],["order",{"0":{"595":1},"2":{"41":1,"42":1,"59":1,"61":1,"87":1,"143":1,"160":1,"238":1,"254":1,"328":1,"329":1,"330":1,"338":1,"339":1,"367":1,"370":2,"380":1,"382":1,"389":1,"391":1,"395":1,"402":1,"428":1,"433":1,"461":3,"464":1,"475":1,"476":1,"494":1,"500":1,"527":1,"529":1,"543":1,"555":1,"595":2,"624":1,"636":2,"649":1,"655":1,"671":1,"672":1,"674":1,"675":1,"676":2,"677":3,"687":1,"699":1,"702":1,"710":2,"720":3,"724":1,"739":1}}],["organizing",{"2":{"57":1,"60":2,"65":2,"70":1,"74":1,"81":1}}],["organizers",{"2":{"58":1,"61":1,"62":1,"66":2,"67":1,"68":2,"70":1,"71":1,"73":1,"74":2,"83":1}}],["organizer",{"2":{"57":1,"61":1,"65":4,"74":1,"81":1,"83":1}}],["organize",{"2":{"53":2,"60":1,"61":1}}],["org",{"0":{"6":1,"70":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1},"2":{"7":1,"11":1,"17":3,"64":1,"65":2,"70":1,"81":1,"94":2,"294":1,"320":8,"410":4,"581":2,"662":8,"712":2,"713":2,"714":2}}],["or",{"0":{"205":1,"331":1,"377":1},"2":{"2":1,"4":1,"7":2,"8":8,"9":2,"10":2,"11":1,"13":2,"14":2,"15":2,"16":2,"41":9,"42":33,"43":3,"44":6,"45":50,"48":1,"49":2,"50":2,"51":1,"54":3,"55":4,"56":1,"58":4,"59":3,"60":3,"61":5,"62":4,"63":3,"64":2,"65":1,"66":2,"83":1,"104":4,"129":1,"131":1,"133":1,"134":1,"137":2,"141":2,"143":1,"144":1,"153":1,"159":1,"160":1,"165":2,"166":1,"178":2,"179":1,"180":1,"181":3,"185":1,"204":1,"205":2,"212":1,"214":1,"215":1,"216":2,"223":1,"225":1,"237":5,"238":1,"244":1,"247":1,"248":1,"249":2,"250":2,"251":1,"264":1,"268":1,"277":1,"285":1,"300":2,"312":2,"322":1,"323":1,"324":2,"325":2,"327":1,"328":1,"331":2,"332":1,"354":1,"363":2,"368":1,"370":1,"373":1,"377":1,"379":1,"380":1,"391":2,"400":1,"402":1,"403":1,"406":1,"410":4,"414":2,"420":1,"424":1,"429":1,"433":1,"436":1,"438":1,"441":1,"447":2,"452":1,"457":1,"465":1,"467":1,"471":1,"477":3,"478":1,"483":1,"487":2,"492":1,"500":1,"503":1,"504":1,"505":1,"510":2,"522":3,"526":1,"528":1,"530":2,"534":2,"535":1,"539":2,"542":1,"544":1,"547":1,"553":3,"557":4,"558":1,"569":1,"572":6,"574":3,"575":1,"586":2,"593":2,"608":1,"620":1,"622":1,"632":1,"643":1,"651":1,"652":1,"653":2,"655":1,"671":3,"675":1,"678":1,"688":1,"691":1,"699":4,"700":1,"706":2,"709":1,"716":3,"725":1,"728":1,"731":2,"733":1,"741":1,"747":1,"748":1,"749":1}}],["often",{"2":{"58":1,"60":1,"61":1,"63":1,"402":1,"404":1,"675":1}}],["offloads",{"2":{"395":1}}],["offline",{"2":{"10":1}}],["offchain",{"2":{"162":1,"167":1,"414":1,"534":1}}],["off",{"2":{"160":1,"365":1,"572":1}}],["offshore",{"2":{"45":1}}],["offers",{"2":{"75":1,"167":1,"170":1,"739":1}}],["offered",{"2":{"45":1,"60":1}}],["offer",{"2":{"45":5,"58":4,"59":1,"61":1,"62":2,"102":1,"167":1}}],["offering",{"2":{"45":1,"59":1,"102":2,"168":1}}],["offensive",{"2":{"9":1}}],["office",{"2":{"21":1,"22":1,"25":1,"26":1,"27":1,"28":1,"31":1,"32":1,"34":1,"36":1,"37":1,"50":1}}],["officially",{"2":{"10":1}}],["official",{"2":{"0":1,"10":2}}],["of",{"0":{"6":1,"70":1,"166":1,"179":1,"191":1,"200":1,"291":2,"337":1,"343":1,"357":1,"364":1,"374":1,"417":1,"423":1,"425":1,"429":1,"435":1,"441":1,"448":1,"450":1,"453":1,"547":1,"592":1,"664":1,"694":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"436":1,"449":1,"450":1,"451":2,"452":2,"453":2,"454":2,"455":2,"456":2,"457":2,"458":2},"2":{"0":1,"2":1,"7":2,"8":6,"9":2,"10":2,"11":3,"12":2,"13":3,"14":3,"15":4,"16":6,"17":4,"21":1,"28":1,"29":3,"30":1,"31":1,"33":1,"37":1,"41":9,"42":14,"43":5,"44":10,"45":47,"46":5,"48":4,"49":3,"50":1,"52":5,"54":2,"55":1,"56":1,"57":3,"58":3,"59":1,"60":8,"61":5,"62":6,"63":1,"64":2,"65":5,"66":4,"67":1,"68":1,"70":5,"71":2,"73":1,"74":2,"77":2,"78":1,"79":1,"80":1,"82":1,"83":7,"86":1,"87":1,"88":1,"90":1,"98":1,"102":9,"103":3,"104":5,"108":1,"112":2,"114":1,"115":3,"119":1,"126":3,"129":5,"132":28,"133":10,"134":3,"135":2,"137":8,"141":2,"145":3,"146":6,"147":8,"148":1,"149":12,"150":2,"151":3,"152":10,"153":8,"154":1,"157":1,"158":1,"159":2,"160":7,"161":3,"165":2,"166":1,"167":3,"169":2,"176":2,"177":1,"178":6,"179":7,"180":6,"181":3,"190":2,"191":1,"192":1,"197":1,"200":3,"201":2,"202":4,"205":2,"212":1,"213":1,"215":2,"216":1,"221":1,"222":1,"226":1,"228":2,"230":1,"231":3,"234":1,"235":1,"237":3,"239":1,"242":5,"245":4,"246":2,"247":1,"249":2,"250":2,"254":2,"255":1,"257":1,"258":1,"262":1,"263":1,"267":1,"269":2,"270":2,"272":1,"283":1,"286":1,"288":2,"295":3,"296":1,"297":2,"301":1,"302":1,"308":3,"310":1,"314":1,"317":1,"319":1,"320":1,"322":2,"324":1,"326":1,"327":1,"328":2,"329":2,"331":1,"332":8,"333":3,"334":5,"336":1,"337":4,"340":2,"343":3,"346":1,"357":2,"358":1,"359":2,"360":1,"363":1,"364":6,"367":2,"368":2,"370":1,"373":3,"374":2,"378":2,"380":4,"386":1,"387":2,"389":3,"391":4,"392":3,"395":1,"397":2,"400":1,"401":2,"402":5,"403":10,"404":8,"405":3,"406":3,"410":4,"413":2,"414":4,"416":3,"417":3,"418":1,"419":1,"420":2,"422":2,"423":4,"424":2,"425":1,"426":2,"427":5,"428":5,"429":8,"430":7,"432":7,"433":12,"434":4,"435":15,"436":4,"438":3,"439":2,"441":5,"442":3,"444":2,"445":1,"446":4,"447":5,"449":1,"451":1,"452":2,"453":3,"454":2,"461":5,"462":1,"467":2,"475":1,"476":2,"477":1,"478":2,"479":1,"485":1,"496":1,"508":1,"509":1,"510":2,"521":3,"522":1,"524":1,"530":6,"534":2,"538":2,"539":1,"547":3,"553":3,"554":1,"555":7,"563":3,"564":1,"570":1,"571":4,"572":2,"573":1,"574":1,"575":1,"576":2,"578":1,"580":2,"586":1,"587":2,"589":1,"592":1,"595":1,"596":2,"597":1,"601":2,"604":1,"605":1,"607":1,"609":4,"613":2,"617":1,"619":1,"620":3,"621":2,"622":1,"624":1,"629":2,"630":1,"632":2,"636":5,"647":4,"651":1,"652":2,"653":1,"659":1,"662":1,"671":3,"672":7,"675":1,"676":3,"685":3,"689":2,"690":2,"692":1,"694":1,"698":1,"699":3,"702":7,"705":3,"708":1,"709":2,"710":4,"716":3,"720":5,"722":1,"728":3,"731":1,"733":2,"737":1,"739":1,"744":1,"745":1,"747":2,"748":1,"749":1}}],["mzonder",{"2":{"712":1,"713":1,"714":1}}],["mb",{"2":{"318":1,"695":1}}],["mbidstyle",{"2":{"250":4}}],["msgsubmitproposal",{"2":{"563":2}}],["msgregisterevmaddress",{"2":{"534":4}}],["msgpayforblobs",{"2":{"316":2,"400":1,"404":2}}],["msg",{"2":{"242":4,"271":4,"386":4,"435":1,"534":4,"563":1}}],["msgcreatevestingaccount",{"2":{"197":2}}],["mykey",{"2":{"246":3,"252":2}}],["my",{"2":{"223":4,"242":14,"245":2,"246":2,"370":1,"654":5,"655":8,"656":8,"700":6}}],["myrollup",{"2":{"125":2}}],["mnemonics",{"2":{"380":1}}],["mnemonic",{"2":{"194":3,"211":1,"218":2,"272":4,"364":1,"528":1,"534":1}}],["m",{"2":{"177":1,"398":1,"718":1}}],["md013",{"2":{"340":2}}],["md",{"2":{"153":2}}],["mkdir",{"2":{"113":2,"229":2,"623":6,"654":2}}],["mutual",{"0":{"605":1}}],["mutually",{"2":{"60":1}}],["multisign",{"2":{"576":2}}],["multisig",{"0":{"575":1},"1":{"576":1,"577":1},"2":{"575":3,"576":18,"577":3}}],["multiaddress",{"2":{"745":1}}],["multiaddresses",{"2":{"530":2,"604":1}}],["multiaddr",{"2":{"530":2}}],["multiplies",{"2":{"404":1}}],["multiplier",{"2":{"271":4}}],["multiple",{"0":{"406":1},"2":{"61":1,"129":1,"146":2,"147":8,"149":4,"180":1,"317":1,"416":1,"419":1,"424":1,"427":1,"430":1,"433":2,"435":1,"481":1,"502":1,"572":1,"717":1}}],["multiproof",{"2":{"149":2}}],["multi",{"2":{"102":1,"577":1}}],["much",{"2":{"59":1,"178":1,"179":1,"180":1,"688":1}}],["mustnewv0",{"2":{"410":2}}],["must",{"2":{"41":1,"42":2,"160":1,"238":1,"298":1,"320":1,"370":2,"373":1,"402":1,"406":3,"426":1,"428":1,"430":3,"433":2,"530":2,"555":2,"563":1,"593":4,"618":1,"622":1,"636":1,"650":1,"662":1,"671":1,"672":2,"682":1,"683":1,"684":1,"689":2,"699":1,"702":2,"709":1}}],["mustafa",{"2":{"28":1,"52":1}}],["mib",{"2":{"709":1}}],["million",{"2":{"568":2}}],["milestones",{"0":{"48":1},"2":{"52":1}}],["milestone",{"2":{"19":1,"24":1,"29":1,"30":1,"48":4,"50":1,"720":1}}],["migrate",{"2":{"557":4}}],["might",{"2":{"58":3,"178":1,"324":1,"327":1,"429":1,"563":1,"613":1,"619":1,"699":1,"716":1,"734":1}}],["midnight",{"2":{"509":4,"510":4,"511":4,"512":4,"514":4,"515":4,"517":4}}],["middleware",{"2":{"280":1}}],["microtia",{"0":{"458":1},"2":{"458":1}}],["micro",{"2":{"457":1}}],["microphone",{"2":{"58":2}}],["microphones",{"2":{"54":1,"58":1}}],["mixhash",{"2":{"360":2}}],["mit",{"2":{"242":4,"244":2}}],["mirrors",{"2":{"170":1}}],["miner",{"2":{"360":2}}],["mint",{"2":{"283":1}}],["mintscan",{"2":{"226":1,"717":1,"729":1}}],["minority",{"2":{"563":1}}],["minor",{"2":{"283":1}}],["min",{"2":{"149":4,"271":4,"569":2,"617":1,"620":4,"636":3}}],["minimized",{"2":{"426":1}}],["minimal",{"2":{"125":1,"283":1,"289":1,"294":2,"322":1,"596":1,"706":1}}],["minimum",{"2":{"124":1,"149":2,"318":2,"395":1,"402":1,"417":1,"484":1,"548":2,"609":1,"627":1,"665":2,"695":2}}],["minutes",{"2":{"61":1,"392":1,"622":1}}],["minute",{"0":{"658":1},"2":{"59":1,"66":1,"406":1}}],["mind",{"2":{"59":1,"216":2,"613":1,"636":1}}],["mindful",{"2":{"59":1}}],["mismatch",{"2":{"429":1}}],["misbehaviour",{"2":{"271":2}}],["mission",{"2":{"25":1}}],["mistakes",{"2":{"8":1}}],["mobile",{"2":{"300":1}}],["moment",{"2":{"245":1,"587":1}}],["mounted",{"2":{"223":1}}],["mounting",{"0":{"223":1},"2":{"223":1,"654":1}}],["mount",{"2":{"222":1,"223":1,"370":1,"654":2,"655":1,"659":1}}],["mochacelestia",{"2":{"323":1,"324":2,"325":1,"553":1,"555":1,"562":1,"592":1,"594":1,"670":1,"672":1,"698":1,"699":1,"700":1,"702":1}}],["mochachainid",{"2":{"108":7,"224":1,"298":2,"299":1,"330":3,"370":4,"590":1,"613":8,"623":2,"629":2,"636":2}}],["mocharesturl",{"2":{"298":2}}],["mocharpcurl",{"2":{"298":2}}],["mochadocker",{"2":{"222":1}}],["mochaversions",{"2":{"222":2,"322":2,"580":4,"596":2,"653":2,"655":2,"656":2}}],["mocha",{"0":{"106":1,"109":1,"201":1,"204":1,"301":1,"399":1,"677":1,"720":1,"728":1},"1":{"107":1,"108":1,"109":1,"202":1,"203":1,"204":1,"205":1,"206":1,"721":1,"722":1,"723":1,"724":1,"725":1,"726":1,"727":1,"728":1,"729":1,"730":1},"2":{"100":1,"106":1,"107":2,"108":7,"109":2,"163":3,"186":1,"192":1,"200":1,"201":2,"204":7,"206":4,"208":1,"212":1,"216":4,"222":4,"223":8,"226":5,"269":1,"271":9,"272":2,"274":1,"275":6,"276":6,"277":3,"298":6,"299":1,"301":2,"322":1,"323":1,"324":5,"325":3,"332":2,"370":1,"373":1,"399":3,"471":2,"472":2,"522":5,"553":2,"554":5,"555":1,"562":5,"590":2,"592":7,"594":1,"632":1,"636":1,"638":1,"653":1,"670":1,"671":3,"672":1,"676":1,"677":5,"698":1,"699":5,"700":3,"701":1,"702":1,"720":7,"722":1,"723":9,"724":2,"725":7,"726":11,"727":16,"728":2,"729":2,"734":4,"739":2}}],["morgan",{"2":{"52":1}}],["more",{"0":{"138":1},"1":{"139":1,"140":1,"141":1},"2":{"5":1,"44":1,"58":1,"59":1,"60":1,"62":1,"99":1,"114":1,"115":1,"132":2,"133":2,"134":2,"145":1,"146":1,"154":1,"159":1,"160":1,"167":2,"169":1,"170":1,"178":1,"180":3,"181":1,"193":1,"194":1,"204":1,"206":2,"207":1,"216":1,"222":1,"225":1,"230":1,"231":1,"238":1,"250":2,"284":1,"293":1,"294":1,"295":1,"300":1,"303":1,"304":1,"305":1,"312":1,"313":1,"316":1,"317":2,"322":1,"325":1,"333":1,"334":1,"386":2,"400":1,"404":1,"405":1,"409":1,"411":1,"413":1,"416":1,"417":1,"427":1,"428":3,"430":1,"432":3,"434":1,"436":1,"444":1,"454":1,"483":2,"487":1,"491":1,"499":1,"500":1,"507":2,"508":2,"512":1,"513":2,"516":2,"521":1,"522":1,"525":1,"528":1,"530":1,"534":1,"538":2,"539":1,"541":1,"544":1,"554":1,"558":1,"563":1,"574":1,"580":1,"581":2,"591":1,"596":1,"622":1,"629":2,"651":1,"671":1,"699":1,"731":1}}],["moved",{"2":{"433":1,"689":1}}],["move",{"2":{"49":1,"325":1}}],["moduar",{"2":{"282":1}}],["moduleencodingregisters",{"2":{"410":2}}],["module",{"2":{"279":1,"280":1,"298":2,"327":5,"330":2,"345":2,"405":1,"521":1,"538":1,"563":4}}],["modules",{"2":{"33":1,"247":1,"283":2,"403":1}}],["modularizes",{"2":{"294":1}}],["modularity",{"0":{"77":1},"2":{"66":1,"77":1}}],["modular",{"0":{"46":1,"52":1,"53":1,"66":1,"67":1,"75":1,"80":1,"177":1,"178":1,"238":1,"433":1},"1":{"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"21":1,"25":4,"28":3,"29":1,"31":6,"33":1,"37":1,"40":1,"46":3,"48":1,"49":2,"50":2,"51":2,"52":2,"53":2,"57":1,"58":1,"59":2,"60":3,"61":4,"63":1,"64":1,"65":2,"66":2,"67":2,"68":2,"71":3,"72":1,"74":2,"75":2,"77":4,"80":3,"81":1,"83":9,"177":2,"178":4,"179":2,"180":2,"181":1,"238":4,"250":2,"282":2,"289":1,"294":1,"295":1,"387":2,"413":1,"433":3,"434":2,"451":1,"452":1,"717":1}}],["modifiable",{"2":{"563":1}}],["modifications",{"2":{"283":1}}],["modified",{"2":{"169":1,"288":1,"295":1,"367":2,"430":1,"432":1,"547":1}}],["modifier",{"2":{"103":1,"242":4}}],["modifying",{"2":{"690":1}}],["modify",{"0":{"690":1},"2":{"246":1,"327":1,"373":1,"690":1}}],["mod",{"2":{"190":2,"269":1,"384":3}}],["mode=",{"2":{"576":2}}],["model",{"2":{"386":2,"404":1,"454":1}}],["models",{"2":{"102":2}}],["modern",{"2":{"247":1,"466":1,"726":1}}],["moderation",{"2":{"9":1}}],["mode",{"2":{"206":4,"250":2,"271":12,"392":1,"452":1,"534":2,"576":4}}],["moniker",{"2":{"636":3}}],["moniker=$moniker",{"2":{"569":2,"636":2}}],["moniker=validator",{"2":{"569":2}}],["monitors",{"2":{"578":1}}],["monitor",{"0":{"578":1},"2":{"572":4,"578":1,"587":1,"748":1,"749":1}}],["monitoring",{"0":{"748":1},"2":{"319":1,"570":1,"574":1,"661":1}}],["monolithic",{"0":{"433":1},"2":{"77":1,"169":1,"178":2,"282":1,"295":1,"433":3}}],["monday",{"2":{"21":1,"22":1,"25":1,"27":1,"28":1,"29":1,"31":1,"33":1,"37":1}}],["months",{"2":{"51":1}}],["monthly",{"2":{"46":1,"50":1,"60":1,"72":1}}],["month",{"0":{"19":1,"24":1,"30":1},"1":{"20":1,"21":1,"22":1,"23":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"46":1,"48":8,"49":1,"50":1}}],["mozilla",{"2":{"17":1}}],["mostly",{"2":{"671":1}}],["most",{"0":{"533":1},"2":{"0":1,"61":1,"66":5,"68":1,"286":1,"297":1,"415":1,"423":1,"527":1,"538":1,"543":1,"601":1,"621":1,"651":1,"677":1,"694":1}}],["mesa",{"2":{"712":1,"713":1,"714":1,"716":1}}],["messages",{"0":{"161":1},"2":{"54":1,"56":1,"160":1,"197":2,"283":1,"378":1,"386":2,"563":2}}],["message",{"2":{"2":1,"65":3,"104":1,"207":1,"212":1,"333":1,"386":5,"388":1,"404":1,"435":2,"530":2,"534":4}}],["menu",{"2":{"204":1,"226":1,"345":2,"371":1,"580":1,"581":1}}],["mention",{"2":{"62":2}}],["mentorship",{"2":{"46":1}}],["mentors",{"0":{"34":1,"36":1,"52":1},"2":{"50":2,"52":2}}],["me",{"2":{"177":1,"248":2,"249":8,"250":2,"644":2,"691":2,"723":1,"725":1,"726":1}}],["meant",{"2":{"312":1}}],["means",{"2":{"180":2,"242":2,"258":1,"283":1,"322":1,"323":1,"402":1,"406":1,"428":2,"433":2,"439":1,"522":1,"532":1,"534":1,"539":1,"643":2,"650":1,"651":1}}],["mean",{"2":{"133":2}}],["meaningful",{"2":{"288":1}}],["meaning",{"2":{"41":1,"288":1,"547":1,"623":1}}],["metric",{"2":{"585":1}}],["metricscurl",{"2":{"571":1}}],["metrics",{"0":{"570":1,"584":1,"585":1,"587":1},"1":{"571":1,"572":1,"573":1,"574":1,"585":1,"586":2,"587":1},"2":{"44":1,"270":1,"570":3,"571":8,"572":3,"573":2,"584":2,"585":18,"586":15,"587":2}}],["met",{"2":{"402":1}}],["meta",{"2":{"250":4}}],["metamaskwallet",{"2":{"249":4}}],["metamask",{"0":{"251":1},"2":{"240":1,"251":2,"252":3}}],["metadata",{"2":{"153":2,"180":1,"436":1,"694":1}}],["methods",{"2":{"327":1,"391":1,"411":1,"516":1,"534":1}}],["method",{"2":{"104":2,"127":1,"129":2,"169":1,"287":1,"295":1,"298":2,"327":5,"330":2,"345":3,"346":1,"391":3}}],["mechanisms",{"2":{"137":1,"403":1,"404":1,"533":1}}],["mechanism",{"0":{"104":1,"166":1,"363":1},"1":{"364":1,"365":1},"2":{"104":6,"237":2,"363":1,"364":3,"365":1,"391":1,"397":1,"415":1,"416":1,"426":1,"441":1,"574":1,"621":1}}],["mempool",{"0":{"401":1},"1":{"402":1,"403":1,"404":1,"405":1,"406":1},"2":{"237":1,"401":2,"402":2,"406":2,"410":2,"439":1}}],["memo",{"2":{"197":2,"271":4}}],["memory",{"2":{"134":1,"242":26,"318":1,"484":1,"548":1,"573":1,"609":1,"627":1,"665":1,"695":1}}],["memorable",{"2":{"83":1}}],["member",{"2":{"65":1}}],["members",{"0":{"66":1},"2":{"7":1,"50":1,"54":1,"63":3,"65":2,"66":2,"166":1,"406":1,"446":1,"564":1}}],["merge",{"2":{"593":1}}],["merkelized",{"2":{"438":1}}],["merkleized",{"2":{"126":1}}],["merkle",{"0":{"430":1},"2":{"126":4,"127":1,"129":1,"134":1,"145":2,"146":4,"147":2,"149":4,"152":2,"153":2,"166":1,"317":1,"426":1,"427":6,"428":1,"429":2,"430":2,"432":2,"435":4,"436":3}}],["merchandise",{"2":{"81":2}}],["merits",{"2":{"45":1}}],["meets",{"2":{"609":1}}],["meetups",{"2":{"56":1,"58":4,"60":5,"61":1,"62":1,"63":1,"64":4,"65":6,"66":2,"67":1,"75":3,"81":2,"83":1}}],["meetup",{"0":{"53":1,"54":1,"55":1,"56":1,"65":1,"66":1,"67":1,"75":1,"80":1},"1":{"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1},"2":{"53":2,"54":2,"56":1,"57":3,"58":4,"59":2,"60":7,"61":9,"62":5,"63":8,"64":4,"65":10,"66":5,"67":1,"68":4,"70":1,"71":2,"72":1,"74":4,"80":2,"81":1,"83":6}}],["meeting",{"2":{"50":1}}],["meet",{"0":{"34":1,"36":1}}],["mev",{"2":{"25":1,"66":1}}],["media",{"2":{"3":1,"10":1,"14":1,"54":1,"56":1,"63":4,"64":1,"257":1}}],["mamaki",{"2":{"677":3}}],["major",{"2":{"432":1}}],["majority",{"2":{"429":1}}],["magnitude",{"2":{"288":1}}],["map",{"2":{"250":8}}],["mappings",{"2":{"242":2}}],["mapping",{"2":{"149":2,"152":1,"242":4}}],["marginright",{"2":{"250":4}}],["margintop",{"2":{"250":4}}],["marginbottom",{"2":{"250":2}}],["margin",{"2":{"249":2,"250":4}}],["markdownlint",{"2":{"340":2}}],["markdown",{"2":{"248":1}}],["markdownnpm",{"2":{"248":1}}],["marks",{"2":{"102":1,"705":1,"733":1}}],["marko",{"2":{"52":1}}],["marketing",{"0":{"63":1},"2":{"63":1}}],["market",{"0":{"401":1,"439":1},"1":{"402":1,"403":1,"404":1,"405":1,"406":1},"2":{"45":3}}],["markets",{"2":{"25":1}}],["mass",{"2":{"238":1}}],["master",{"2":{"153":2,"226":1,"613":10}}],["maxvalidators",{"2":{"563":4}}],["maxwidth",{"2":{"250":4}}],["maximize",{"2":{"181":1}}],["maximum",{"0":{"709":1},"2":{"25":1,"149":2,"404":1,"571":2,"709":8}}],["max",{"2":{"149":4,"271":20,"563":3,"569":4,"571":2,"636":4,"708":1}}],["malicious",{"2":{"137":1,"429":1}}],["mac",{"2":{"98":1,"320":2,"613":1,"652":1,"654":1,"662":2}}],["machines",{"2":{"433":1,"572":1,"643":1}}],["machine",{"2":{"2":1,"90":1,"91":1,"98":1,"112":1,"159":1,"170":1,"192":2,"212":1,"221":1,"222":1,"228":1,"279":1,"290":1,"323":1,"324":1,"380":2,"381":1,"402":1,"404":1,"432":3,"433":1,"435":2,"488":1,"521":1,"522":1,"533":1,"535":1,"538":1,"539":1,"547":1,"549":1,"553":1,"572":1,"582":1,"589":1,"591":1,"610":1,"624":1,"627":1,"632":1,"651":1,"653":1,"654":3,"666":1,"671":1,"692":1,"696":1,"699":1}}],["matrix",{"2":{"427":4,"429":1,"435":5,"436":1}}],["math",{"2":{"385":2}}],["matches",{"2":{"223":1,"364":1}}],["match",{"2":{"88":1,"132":1,"255":1,"364":1}}],["matters",{"2":{"45":1}}],["materials",{"0":{"74":1},"2":{"0":1,"3":1,"54":2,"55":1,"75":1}}],["made",{"2":{"45":6,"181":1,"192":1,"200":1,"295":1,"303":1,"307":1,"383":1,"391":1,"417":1,"432":1,"435":2,"436":1,"438":2}}],["managing",{"2":{"502":1,"508":1}}],["manages",{"2":{"503":1,"504":1,"505":1}}],["manager",{"2":{"497":1,"507":6,"508":2,"516":2,"572":1}}],["managerblobstream",{"2":{"497":1}}],["management",{"0":{"284":1,"502":1,"559":1,"562":1},"1":{"503":1,"504":1,"505":1,"506":1,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"516":1,"517":1,"518":1,"519":1,"520":1,"560":1},"2":{"284":1,"364":1,"487":1,"651":1}}],["managed",{"2":{"102":1}}],["manage",{"0":{"264":1,"268":1},"2":{"42":1,"54":1,"60":1,"214":1,"410":2,"528":1,"544":1,"557":2,"647":1}}],["manual",{"2":{"391":1}}],["manually",{"2":{"247":1,"251":1,"391":1,"406":1,"410":2,"506":1,"604":1,"607":1,"613":2,"748":1}}],["many",{"2":{"63":1,"132":1,"141":1,"180":1,"257":1,"284":1,"319":1,"403":1,"405":1,"433":1,"442":1,"445":1,"472":1,"572":1,"661":1,"731":1}}],["manner",{"2":{"42":1,"45":1,"659":1}}],["manian",{"2":{"28":1,"52":1}}],["may",{"0":{"424":1},"2":{"11":1,"13":1,"14":1,"15":1,"41":3,"42":6,"43":1,"44":4,"45":11,"58":2,"62":2,"63":3,"87":1,"99":1,"157":1,"205":1,"254":1,"391":1,"403":1,"424":1,"436":2,"445":1,"447":1,"452":1,"510":2,"529":1,"582":1,"591":1,"622":1,"646":1,"654":1,"706":1,"733":1,"747":1,"748":1}}],["mail",{"2":{"10":1,"45":1}}],["maintenance",{"2":{"446":1}}],["maintained",{"2":{"459":1}}],["maintaining",{"2":{"70":1,"78":1,"406":1,"677":1}}],["maintain",{"2":{"45":2,"56":1,"60":1,"61":1,"63":1,"677":1}}],["mainfunction",{"2":{"387":1}}],["mainnetversions",{"2":{"322":2,"580":4,"596":2,"653":2,"655":2,"656":2}}],["mainnetresturl",{"2":{"298":2}}],["mainnetrpcurl",{"2":{"298":2}}],["mainnetchainid",{"2":{"298":2,"590":2,"613":8,"623":2}}],["mainnet",{"0":{"398":1,"705":1,"733":1},"1":{"706":1,"707":1,"708":1,"709":1,"710":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":1,"717":1,"718":1,"719":1},"2":{"41":2,"104":1,"216":1,"222":1,"223":1,"237":1,"251":1,"298":5,"320":1,"322":1,"323":1,"324":2,"325":2,"370":2,"373":1,"390":1,"398":1,"467":2,"478":2,"553":1,"554":1,"555":1,"580":1,"585":1,"589":1,"590":3,"596":1,"613":4,"623":1,"638":1,"653":3,"655":1,"656":1,"662":1,"670":1,"671":1,"672":1,"676":1,"698":1,"699":1,"700":1,"702":1,"705":3,"706":2,"710":2,"716":1,"717":2,"728":2,"733":2}}],["main",{"2":{"2":1,"88":1,"249":2,"255":1,"327":1,"359":1,"385":6,"386":3,"387":4,"390":2,"432":1,"577":1}}],["making",{"2":{"2":1,"65":1,"66":1,"170":1,"328":1,"433":1,"434":1,"643":1,"644":1,"645":1,"646":1,"647":1}}],["makeconfig",{"2":{"410":2}}],["makecd",{"2":{"355":1,"372":1}}],["makes",{"0":{"417":1},"2":{"45":1,"169":1,"401":1}}],["make",{"2":{"0":1,"2":1,"7":1,"42":1,"68":1,"92":2,"98":1,"108":3,"119":1,"123":1,"128":1,"179":1,"180":2,"186":1,"197":1,"208":1,"215":5,"216":1,"235":1,"243":1,"250":2,"319":4,"355":1,"372":1,"373":1,"380":1,"382":1,"391":1,"427":1,"435":1,"491":1,"499":1,"510":1,"522":1,"525":1,"530":2,"534":1,"536":1,"541":1,"545":2,"570":1,"571":2,"582":3,"591":3,"600":1,"643":1,"661":4,"731":1,"742":1}}],["cycle",{"2":{"438":1}}],["cn",{"2":{"354":3}}],["cnfts",{"2":{"39":1}}],["cgo",{"2":{"322":1,"596":1}}],["ccv",{"2":{"271":4}}],["ctx",{"2":{"386":6,"387":4}}],["cte",{"2":{"249":2,"251":1}}],["cto",{"2":{"52":1}}],["css",{"2":{"249":4,"298":2}}],["cmd",{"2":{"108":2,"373":2}}],["cmake",{"2":{"92":2}}],["cbindgen",{"2":{"96":2}}],["cpu",{"2":{"99":1,"290":1,"318":1,"484":1,"548":1,"609":1,"627":1,"665":1,"695":1}}],["cp",{"2":{"88":2,"247":1,"255":2,"384":4}}],["cd",{"2":{"86":4,"94":2,"97":2,"98":4,"113":2,"215":2,"229":2,"241":2,"254":2,"320":4,"322":3,"354":2,"355":2,"362":2,"372":2,"384":2,"485":2,"580":2,"596":3,"623":3,"662":4}}],["cip",{"2":{"708":2}}],["city",{"2":{"60":1,"62":1,"63":1}}],["circulation",{"2":{"447":1}}],["circulating",{"2":{"447":4}}],["circulated",{"2":{"45":1}}],["circumvention",{"2":{"42":1}}],["circumvent",{"2":{"42":1}}],["crisis",{"2":{"283":1}}],["critical",{"2":{"63":1,"197":2,"413":1,"454":1,"570":1,"630":1}}],["crashed",{"2":{"574":1}}],["crate",{"2":{"270":1}}],["craft",{"2":{"257":1}}],["crucial",{"2":{"60":1,"62":1,"706":1}}],["cross",{"2":{"269":1}}],["cro",{"2":{"52":1}}],["cryptography",{"2":{"286":1}}],["crypto",{"2":{"52":1,"194":2,"195":4,"199":2,"223":2,"293":1,"410":2}}],["credibility",{"2":{"62":1}}],["credentials",{"2":{"42":1,"248":1,"410":2}}],["creator",{"2":{"242":2}}],["creation",{"2":{"102":4,"293":1}}],["creating",{"0":{"135":1,"250":1,"558":1,"689":1},"2":{"58":1,"133":1,"134":2,"135":1,"157":1,"192":2,"249":1,"274":1,"293":1,"386":3,"452":1,"509":2,"522":1,"527":1,"530":1,"534":1,"628":1}}],["createpayforblob",{"2":{"410":2}}],["createpost",{"2":{"242":10,"245":2,"246":2,"250":6}}],["createchatcompletion",{"2":{"386":2}}],["createclient",{"2":{"249":4,"386":4,"387":2}}],["createnamespaceid",{"2":{"386":3,"387":2}}],["createroot",{"2":{"249":2}}],["creates",{"2":{"159":1,"242":2,"364":1,"517":1}}],["created",{"2":{"83":1,"115":1,"145":1,"192":1,"198":1,"207":1,"212":1,"222":2,"223":2,"231":1,"241":1,"247":1,"248":1,"271":1,"276":1,"277":2,"325":2,"489":1,"492":1,"506":1,"509":2,"517":2,"521":1,"522":1,"526":1,"539":1,"542":1,"575":1,"687":1,"689":1,"700":1,"701":1,"742":1,"744":1,"745":1,"746":1}}],["create",{"0":{"114":1,"186":1,"194":1,"197":1,"202":1,"204":1,"209":1,"211":1,"213":1,"230":1,"274":1,"275":1,"685":1,"688":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"276":1,"277":1},"2":{"2":3,"45":2,"54":1,"62":2,"64":2,"65":2,"83":2,"118":2,"133":1,"135":1,"152":1,"186":1,"193":1,"194":1,"197":9,"200":1,"201":1,"204":3,"208":2,"211":1,"233":2,"234":3,"241":1,"242":6,"247":3,"248":2,"249":2,"250":20,"269":1,"274":1,"275":7,"276":6,"298":1,"325":1,"328":1,"348":1,"385":1,"386":3,"396":1,"407":1,"410":4,"508":2,"509":2,"516":2,"517":2,"554":1,"557":2,"564":1,"569":2,"572":2,"576":4,"580":1,"629":1,"636":3,"654":2,"655":1,"671":1,"685":1,"688":1,"689":1,"700":1,"708":1,"742":1,"744":1,"745":1}}],["cumulo",{"2":{"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["cumulativegasused",{"2":{"119":2,"235":2}}],["culmination",{"2":{"705":1,"733":1}}],["culminating",{"2":{"48":1}}],["custody",{"0":{"284":1}}],["custodians",{"2":{"281":1}}],["custom=",{"2":{"583":4}}],["custom=robusta",{"2":{"331":2}}],["custom=private",{"2":{"331":2}}],["customizations",{"2":{"181":1}}],["customization",{"2":{"181":1}}],["customizability",{"0":{"181":1},"2":{"181":1}}],["customizable",{"2":{"31":1,"102":1,"249":1}}],["customized",{"2":{"102":1,"181":1}}],["customize",{"2":{"65":2,"216":1}}],["custom",{"0":{"302":1,"331":1,"555":1,"583":1,"672":1,"702":1},"2":{"33":1,"65":3,"102":1,"181":1,"216":1,"226":3,"251":1,"302":1,"331":4,"492":1,"501":1,"526":1,"542":1,"555":9,"583":3,"593":2,"653":1,"672":9,"702":9}}],["curve",{"2":{"508":1}}],["currencies",{"2":{"298":2}}],["currency",{"2":{"226":1,"251":1,"452":1}}],["currentcount=0i",{"2":{"522":1,"539":1}}],["currentcount=0",{"2":{"522":5,"539":5}}],["currentitem",{"2":{"242":4}}],["currentid",{"2":{"242":4}}],["current",{"2":{"61":1,"160":1,"161":1,"215":2,"238":1,"403":1,"422":1,"515":2,"559":2,"709":1}}],["currently",{"2":{"46":1,"66":1,"163":1,"165":1,"182":1,"237":1,"269":1,"270":1,"285":1,"286":1,"290":1,"312":1,"390":3,"392":2,"398":1,"399":1,"402":1,"407":1,"595":1,"734":1}}],["curl",{"2":{"92":2,"93":1,"108":2,"319":6,"373":2,"581":2,"613":10,"623":6,"661":6,"691":2}}],["curated",{"2":{"61":1,"83":1}}],["cups",{"2":{"59":1}}],["cherry",{"2":{"574":1}}],["checking",{"0":{"436":1},"2":{"282":1,"430":1}}],["checks",{"2":{"125":2,"129":3,"539":1}}],["checkout",{"2":{"86":2,"97":4,"98":4,"322":6,"354":4,"485":2,"580":6,"596":6,"716":1}}],["checklist",{"2":{"53":1}}],["check",{"0":{"191":1,"336":1,"337":1},"2":{"46":1,"55":1,"104":1,"125":1,"128":1,"129":1,"133":1,"137":2,"145":1,"146":1,"166":1,"191":1,"197":1,"198":1,"199":1,"200":1,"211":1,"212":1,"222":1,"223":1,"236":1,"269":1,"273":4,"313":1,"322":2,"324":1,"328":1,"348":1,"354":1,"360":1,"392":1,"395":1,"410":4,"416":1,"426":1,"430":1,"485":1,"487":2,"491":1,"499":1,"500":2,"524":1,"525":1,"527":1,"528":2,"530":3,"534":1,"536":1,"541":1,"543":1,"544":2,"571":3,"580":2,"586":1,"587":1,"593":1,"596":2,"629":1,"704":1,"742":3,"746":2}}],["chunk",{"2":{"427":1,"436":1}}],["chunks",{"2":{"132":1,"427":5,"429":4,"430":3,"434":1,"436":3}}],["chrome",{"2":{"225":1}}],["chown",{"2":{"654":2}}],["chose",{"2":{"472":1}}],["chosen",{"2":{"43":1,"61":1,"364":1,"646":2}}],["choosing",{"2":{"234":1,"685":1}}],["chooses",{"2":{"427":1}}],["choose",{"2":{"108":1,"197":1,"205":1,"267":1,"370":1,"391":1,"517":1,"572":1,"581":2,"586":1,"592":1,"646":1,"684":1}}],["choices",{"2":{"386":2}}],["choice",{"2":{"46":1,"262":1,"267":1,"373":1,"636":2}}],["chart",{"2":{"446":1}}],["charge",{"2":{"441":1}}],["charged",{"2":{"404":1}}],["characteristics",{"2":{"7":1}}],["chatmessageroleuser",{"2":{"386":2}}],["chatcompletion",{"2":{"386":2}}],["chatcompletionmessage",{"2":{"386":2}}],["chatcompletionrequest",{"2":{"386":2}}],["chain=celestia",{"2":{"398":1}}],["chainname",{"2":{"298":12}}],["chainid",{"2":{"276":8,"298":16}}],["chain",{"0":{"132":1,"179":1,"251":1,"302":1,"590":1,"688":1},"2":{"88":2,"102":1,"104":1,"127":1,"132":3,"133":1,"159":4,"160":2,"178":1,"197":6,"204":3,"205":1,"206":7,"216":1,"222":1,"226":4,"246":2,"249":6,"250":1,"251":1,"252":1,"255":2,"269":3,"270":1,"271":4,"272":6,"275":12,"276":22,"279":1,"280":1,"283":1,"285":1,"287":1,"288":1,"298":2,"302":5,"304":1,"325":1,"340":2,"363":1,"389":1,"392":1,"413":2,"414":1,"434":1,"452":1,"460":1,"477":1,"484":1,"487":1,"497":3,"501":3,"538":1,"543":1,"545":2,"554":1,"562":6,"563":12,"565":4,"566":8,"567":4,"569":6,"574":1,"576":12,"583":2,"590":3,"613":6,"622":1,"629":2,"636":2,"671":1,"677":1,"684":4,"688":3,"699":1,"716":1}}],["chains=",{"2":{"249":2}}],["chains",{"0":{"274":1},"2":{"33":1,"102":8,"137":1,"169":1,"225":1,"226":1,"249":8,"251":1,"269":1,"270":1,"271":30,"272":1,"273":2,"274":1,"277":4,"288":1,"295":1,"297":1,"300":1,"393":1,"398":1,"399":1,"441":1,"445":1}}],["challenges",{"2":{"66":1,"238":2,"388":1}}],["challenging",{"2":{"62":1}}],["chance",{"2":{"622":1}}],["chances",{"2":{"62":1}}],["chan",{"2":{"364":2}}],["changing",{"0":{"592":1},"2":{"181":1,"512":1,"535":1,"620":1}}],["changeable",{"2":{"444":2}}],["changed",{"2":{"88":1,"115":2,"118":2,"231":2,"234":2,"255":1,"503":1,"504":1,"505":1}}],["change",{"0":{"206":1},"2":{"86":1,"88":1,"108":1,"189":1,"246":1,"247":1,"254":1,"255":1,"283":1,"285":1,"288":1,"322":1,"364":1,"370":1,"403":1,"444":1,"506":1,"534":2,"535":1,"563":6,"569":2,"572":1,"580":1,"592":1,"596":1,"605":1,"613":1,"636":2}}],["changes",{"2":{"2":4,"61":1,"63":1,"108":4,"406":1,"432":2,"472":2,"534":2,"547":1,"563":4,"645":1,"646":1,"647":1,"671":1,"706":1,"734":1,"748":1}}],["channelid",{"2":{"276":4}}],["channel",{"2":{"58":1,"71":2,"72":1,"212":1,"271":4,"276":13,"277":4,"380":1,"470":1,"479":1,"482":1,"719":1,"728":1,"730":1,"735":1}}],["channelside",{"2":{"276":4}}],["channels",{"0":{"277":1},"2":{"14":1,"54":1,"64":2,"66":1,"271":2,"274":1,"277":2,"325":1,"530":2}}],["c",{"2":{"42":2,"43":1,"45":2,"94":2,"319":2,"320":8,"581":2,"592":1,"613":11,"623":6,"661":2,"662":8,"674":1}}],["ceid",{"2":{"386":2}}],["center",{"2":{"250":4,"298":2}}],["centric",{"2":{"167":1}}],["centralized",{"2":{"133":1,"165":2,"167":1,"250":2}}],["central",{"2":{"50":1}}],["celopstia",{"2":{"257":1}}],["celenium",{"2":{"717":1,"729":1}}],["celesvaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u43cv6hd",{"2":{"629":1}}],["celesvaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u43cv6hdenter",{"2":{"629":1}}],["celesvaloper",{"2":{"629":2}}],["celes",{"2":{"223":4,"370":1,"700":6}}],["celestiavaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u4q4gx4p",{"2":{"629":2}}],["celestiavaloper",{"2":{"629":1}}],["celestiascan",{"2":{"481":1,"729":1}}],["celestiacommunity",{"2":{"272":1}}],["celestiatestnet",{"2":{"226":1}}],["celestia17adsjkuecgjheugrdrwdqv9uh3qkrfmj9xzawx",{"2":{"564":2}}],["celestia10d07y265gmmuvt4z0w9aw880jnsr700jtgz4v7",{"2":{"563":2}}],["celestia10rtd9lhel2cuh6c659l25yncl6atcyt37umard",{"2":{"337":2}}],["celestia1czpgn3hdh9sodm06d5qk23xzgpq2uyc8ggdqgw",{"2":{"562":2}}],["celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86",{"2":{"350":2}}],["celestia1znk24rh52pgcd9z5x2x42jztjh6raaaphuvrt3",{"2":{"339":2}}],["celestia1",{"2":{"325":1,"380":2,"479":1,"701":1,"728":1}}],["celestia1wkhyhr7ngf0ayqlpnsnxg4d72hfs5453dvunm9",{"2":{"223":2}}],["celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcelestia",{"2":{"212":1}}],["celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",{"2":{"212":2}}],["celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$request",{"2":{"212":1}}],["celestia1adgkqcmzuxvg7x5avx8a8rjwpmxgzex3ztef6j",{"2":{"195":2,"197":2,"199":2}}],["celestia127fpaygehlsgjdknwvlr2mux7h5uvhkxktgkc5",{"2":{"194":2,"195":2,"197":2,"198":2}}],["celestialightnodeclient",{"2":{"133":6,"135":2,"137":2}}],["celestiaheight",{"2":{"132":4}}],["celestiaorg",{"2":{"97":2,"104":1,"108":2,"124":2,"149":2,"150":2,"153":2,"169":1,"215":2,"222":2,"292":1,"322":2,"354":2,"359":1,"364":1,"384":2,"385":6,"405":2,"410":12,"485":4,"580":2,"596":2,"613":12,"653":6,"655":6,"656":6,"748":1}}],["celestia",{"0":{"0":1,"6":1,"67":1,"70":1,"76":1,"78":1,"101":1,"140":1,"155":1,"169":1,"182":1,"186":1,"209":1,"213":1,"224":1,"226":1,"262":1,"281":1,"283":1,"292":1,"294":1,"295":1,"297":1,"298":1,"299":1,"314":1,"321":1,"322":1,"323":1,"362":1,"367":1,"380":1,"390":1,"397":1,"400":1,"408":1,"409":1,"411":1,"415":1,"417":1,"423":1,"426":1,"435":1,"441":1,"546":1,"551":1,"552":1,"579":1,"584":1,"596":1,"608":1,"612":1,"626":1,"630":1,"631":1,"663":1,"668":1,"675":1,"678":1,"681":1,"682":1,"693":1,"697":1,"731":1,"732":1,"737":1,"738":1,"742":1,"744":1,"745":1,"746":1},"1":{"1":1,"2":1,"3":1,"4":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"102":1,"103":1,"104":1,"105":1,"183":1,"184":1,"185":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"225":1,"226":1,"282":1,"283":1,"284":2,"285":2,"286":2,"287":2,"288":2,"293":1,"294":1,"298":1,"300":1,"301":1,"302":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":2,"323":2,"324":2,"325":2,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"398":1,"399":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"427":1,"428":1,"429":1,"430":1,"431":1,"432":1,"436":1,"547":1,"548":1,"549":1,"550":1,"551":1,"552":2,"553":2,"554":2,"555":2,"556":2,"580":1,"581":1,"582":1,"585":1,"586":1,"587":1,"597":1,"598":1,"609":1,"610":1,"611":1,"612":1,"613":1,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":2,"628":2,"629":2,"630":1,"631":2,"632":2,"633":2,"634":2,"635":2,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":1,"668":1,"669":2,"670":2,"671":2,"672":2,"673":2,"674":2,"676":1,"677":1,"679":1,"680":1,"681":1,"682":1,"683":2,"684":2,"685":2,"686":2,"687":2,"688":2,"689":2,"690":2,"691":2,"692":2,"694":1,"695":1,"696":1,"697":1,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"733":1,"734":1,"735":1},"2":{"0":2,"3":3,"5":2,"7":1,"8":1,"11":1,"21":4,"22":4,"28":1,"29":2,"33":1,"39":1,"41":8,"44":3,"50":1,"52":5,"58":2,"59":2,"60":1,"61":4,"62":2,"63":2,"64":6,"65":15,"66":5,"67":1,"68":1,"70":2,"72":1,"74":1,"75":2,"77":2,"78":4,"79":2,"80":1,"81":2,"82":1,"83":4,"98":9,"102":2,"103":4,"104":4,"105":1,"106":1,"107":1,"108":21,"125":1,"126":1,"127":1,"128":2,"129":6,"131":2,"132":20,"133":11,"134":4,"135":3,"137":4,"140":2,"143":1,"144":1,"147":2,"148":1,"149":4,"150":5,"153":6,"157":2,"158":3,"159":4,"160":7,"165":2,"166":2,"167":1,"168":2,"169":6,"170":1,"176":1,"180":1,"181":1,"182":1,"184":2,"186":1,"187":1,"189":3,"190":10,"191":4,"192":1,"194":4,"195":2,"197":6,"198":2,"199":2,"200":4,"201":1,"202":2,"209":2,"210":2,"212":4,"213":1,"214":1,"215":5,"216":2,"221":1,"222":11,"223":17,"224":2,"226":5,"237":5,"238":3,"239":1,"240":1,"241":4,"242":2,"244":2,"246":1,"257":1,"258":2,"262":1,"266":1,"269":2,"270":1,"271":9,"272":1,"279":3,"280":2,"281":1,"282":4,"283":2,"284":1,"285":3,"288":2,"289":1,"290":1,"291":1,"294":4,"295":6,"296":1,"297":1,"298":23,"299":2,"302":4,"303":1,"305":1,"307":2,"308":1,"311":1,"314":3,"316":1,"317":1,"319":2,"320":1,"322":11,"323":2,"324":5,"325":7,"326":2,"327":3,"328":1,"329":4,"330":2,"331":13,"332":5,"333":2,"336":1,"340":1,"341":2,"346":4,"348":1,"353":1,"354":2,"356":1,"359":1,"363":1,"364":6,"365":1,"367":1,"368":2,"369":2,"370":14,"373":18,"378":3,"379":1,"380":3,"381":3,"385":4,"386":7,"387":1,"388":3,"389":2,"390":1,"391":5,"392":6,"393":1,"394":1,"395":1,"396":1,"397":1,"398":2,"399":3,"400":1,"401":1,"402":2,"405":3,"406":2,"408":1,"409":1,"410":16,"411":1,"413":1,"415":1,"417":1,"418":2,"423":1,"426":3,"427":3,"428":4,"429":1,"430":2,"432":12,"434":4,"435":3,"436":7,"438":3,"439":2,"441":3,"442":1,"445":2,"446":6,"447":1,"451":2,"452":1,"453":2,"454":2,"460":3,"462":2,"463":3,"464":2,"465":2,"466":5,"467":2,"468":1,"469":1,"471":1,"472":1,"476":11,"477":5,"478":2,"479":4,"480":1,"481":1,"483":2,"484":1,"487":1,"497":2,"521":1,"522":3,"530":5,"534":7,"538":2,"539":1,"545":1,"546":1,"547":11,"552":2,"553":3,"554":3,"555":3,"557":6,"559":8,"560":2,"561":3,"562":2,"563":4,"564":1,"566":2,"569":10,"570":2,"571":3,"572":5,"573":1,"575":1,"576":18,"578":1,"579":1,"580":10,"581":12,"582":1,"583":6,"584":2,"585":5,"586":4,"587":2,"589":3,"590":2,"591":2,"592":9,"593":2,"594":1,"595":10,"596":11,"597":1,"600":1,"601":3,"602":1,"605":1,"607":6,"608":5,"609":1,"612":1,"613":22,"615":1,"619":1,"622":1,"623":30,"624":2,"626":1,"630":4,"631":1,"632":2,"636":4,"637":4,"641":2,"643":2,"644":2,"645":1,"646":2,"647":2,"651":6,"653":15,"655":22,"656":22,"659":1,"660":1,"662":1,"663":3,"664":1,"668":1,"671":2,"672":3,"673":1,"675":1,"676":1,"677":4,"678":2,"681":1,"683":3,"684":2,"685":2,"686":2,"687":1,"688":3,"689":4,"690":1,"691":2,"692":2,"693":2,"694":2,"697":2,"699":4,"700":4,"701":3,"702":3,"705":3,"706":1,"708":1,"712":13,"713":14,"714":13,"716":8,"717":5,"718":3,"720":1,"722":2,"723":8,"724":2,"725":7,"726":10,"727":8,"728":6,"729":3,"731":3,"733":1,"734":2,"736":2,"737":3,"738":4,"739":4,"741":1,"742":16,"744":14,"745":18,"746":16,"747":2,"748":1}}],["cele",{"2":{"222":2,"223":2}}],["cel",{"0":{"214":1,"219":1,"220":1},"1":{"215":1,"216":1,"217":1,"218":1,"219":1,"221":1,"222":1,"223":1},"2":{"213":2,"214":1,"215":5,"216":7,"217":6,"218":6,"219":2,"222":3,"223":3,"322":3,"325":4,"380":2,"554":3,"592":3,"596":3,"651":1,"671":3,"700":5}}],["ceo",{"2":{"52":1}}],["certificate",{"2":{"45":1}}],["certain",{"0":{"45":1},"2":{"41":2,"42":1,"44":1,"424":1,"534":1,"563":1}}],["cest",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"27":2,"28":4,"29":3,"31":3,"32":1,"33":3,"34":1,"36":1,"37":2}}],["cake",{"2":{"574":1}}],["cause",{"2":{"365":1,"420":1,"442":1,"709":1}}],["caused",{"2":{"42":2}}],["caution",{"2":{"245":1}}],["catching",{"2":{"742":1}}],["catch",{"2":{"72":1,"298":2}}],["categories",{"2":{"446":1}}],["category",{"0":{"291":1},"2":{"3":3,"290":1,"295":1,"371":1,"446":1,"447":2,"484":1}}],["cater",{"2":{"66":1}}],["catering",{"0":{"59":1},"2":{"59":1,"62":1}}],["cafes",{"2":{"60":1}}],["capacities",{"2":{"283":1}}],["capacity",{"2":{"180":3,"428":1,"609":1}}],["capabilities",{"2":{"176":1,"308":1}}],["capability",{"2":{"102":1,"269":1,"283":1}}],["capable",{"2":{"42":1}}],["capture",{"2":{"55":1}}],["capital",{"2":{"52":2}}],["cast",{"2":{"87":2,"119":3,"235":3,"245":3,"246":2,"254":2}}],["caste",{"2":{"7":1}}],["casual",{"2":{"60":2,"66":1}}],["cases",{"2":{"432":1,"747":1}}],["case",{"2":{"45":1,"104":1,"159":1,"169":1,"211":1,"237":1,"274":1,"295":1,"363":1,"365":1,"403":3,"425":1,"517":1,"605":1,"629":1}}],["careful",{"2":{"506":1}}],["carefully",{"2":{"41":1}}],["car",{"2":{"194":2}}],["carrying",{"2":{"557":2}}],["carry",{"2":{"178":1}}],["cargo",{"2":{"93":2}}],["cardinal",{"2":{"39":1}}],["cancel",{"2":{"386":4,"387":4}}],["canceling",{"2":{"63":1}}],["canonical",{"2":{"127":1,"406":1}}],["cannot",{"2":{"45":1,"64":1,"160":1,"364":1,"414":2,"420":1,"433":1,"510":2}}],["can",{"0":{"425":1},"2":{"8":1,"33":1,"51":2,"52":1,"53":2,"54":1,"58":3,"59":5,"61":3,"62":5,"63":3,"64":5,"65":3,"66":2,"72":1,"78":1,"79":1,"83":3,"87":1,"88":2,"98":2,"102":1,"103":1,"104":2,"114":1,"117":1,"119":1,"129":1,"131":1,"132":5,"133":5,"135":3,"144":1,"145":1,"146":2,"148":2,"149":3,"150":2,"151":1,"152":1,"153":4,"154":1,"157":1,"158":1,"159":1,"163":1,"166":1,"169":2,"171":1,"173":1,"176":1,"179":4,"180":1,"181":4,"183":1,"184":1,"185":1,"191":1,"197":1,"200":2,"204":1,"205":1,"206":1,"207":2,"209":1,"211":2,"212":1,"213":1,"214":1,"215":1,"216":2,"217":1,"222":1,"224":2,"225":2,"226":1,"230":1,"235":1,"237":5,"242":7,"243":1,"244":1,"245":4,"246":5,"247":1,"249":1,"250":1,"251":1,"254":1,"255":2,"258":1,"264":1,"268":1,"269":2,"272":1,"274":1,"275":1,"279":2,"287":1,"295":1,"296":1,"297":1,"298":2,"299":2,"301":1,"302":2,"305":1,"306":2,"307":1,"309":1,"312":2,"317":2,"319":1,"324":1,"325":5,"327":1,"328":2,"329":1,"330":2,"332":3,"333":1,"334":1,"343":1,"344":1,"348":1,"349":1,"359":1,"364":2,"365":2,"366":2,"370":1,"371":1,"373":1,"380":3,"383":2,"386":4,"389":1,"391":2,"393":1,"397":1,"403":1,"405":3,"406":1,"407":1,"410":6,"413":3,"414":1,"417":3,"420":2,"427":1,"428":2,"430":3,"433":2,"434":1,"435":1,"436":2,"438":1,"442":2,"444":1,"452":1,"453":1,"461":1,"462":1,"465":1,"469":1,"472":3,"476":2,"477":1,"479":1,"481":1,"483":2,"492":2,"495":1,"496":2,"500":1,"501":3,"503":1,"504":1,"505":1,"508":1,"509":1,"510":1,"512":2,"515":1,"517":1,"521":1,"526":2,"528":1,"530":5,"534":2,"535":2,"538":3,"542":2,"544":1,"545":4,"547":1,"553":1,"554":3,"558":1,"563":10,"564":4,"565":1,"566":2,"567":1,"568":1,"569":2,"570":2,"571":2,"572":4,"573":1,"574":2,"575":1,"580":1,"581":1,"583":1,"585":1,"587":1,"591":1,"593":1,"598":1,"602":1,"607":2,"613":4,"615":1,"620":1,"622":2,"624":1,"629":3,"630":1,"631":1,"632":1,"641":1,"642":1,"643":2,"646":1,"647":2,"648":1,"649":2,"651":2,"653":1,"654":3,"655":1,"659":1,"660":1,"667":1,"668":1,"671":5,"676":2,"677":2,"682":1,"683":1,"687":1,"691":5,"692":1,"700":3,"701":1,"704":1,"708":1,"709":3,"710":1,"716":2,"717":1,"720":1,"722":1,"725":1,"727":1,"728":1,"729":1,"731":3,"734":2,"739":1,"745":1,"748":1}}],["calculation",{"0":{"404":1}}],["calculating",{"2":{"129":1,"402":1,"405":1}}],["calculates",{"2":{"403":1,"404":1}}],["calculated",{"2":{"402":1,"404":3,"439":1,"442":1,"709":1}}],["calculate",{"2":{"149":2,"152":2,"404":1,"442":1}}],["calderachain",{"2":{"172":1,"173":1,"234":2,"254":2}}],["caldera",{"2":{"40":1,"168":1,"169":1}}],["calling",{"2":{"115":2,"231":2}}],["called",{"2":{"114":1,"115":1,"132":1,"214":1,"223":1,"230":1,"231":1,"233":1,"386":2,"400":1,"405":1,"414":1,"415":1,"436":1,"675":1}}],["calls",{"2":{"72":1,"119":1,"235":1,"465":1,"725":1}}],["calldata",{"2":{"29":1,"104":2,"125":8,"169":3,"237":2,"295":3,"364":9}}],["call",{"0":{"361":1},"2":{"5":2,"20":2,"61":1,"71":1,"72":1,"87":4,"104":1,"119":4,"171":1,"235":4,"245":3,"246":3,"250":2,"254":4,"326":1,"338":1,"339":1,"361":1,"393":1}}],["calendar",{"0":{"5":1,"18":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"5":3,"63":1,"72":1,"82":1}}],["cleanmake",{"2":{"358":1,"376":1}}],["clean",{"0":{"376":1},"2":{"358":2,"376":1,"683":1}}],["clears",{"2":{"747":1}}],["clearing",{"0":{"594":1}}],["clear",{"2":{"2":1,"61":1,"271":4}}],["clubs",{"2":{"58":2}}],["cloning",{"2":{"613":1}}],["clone",{"0":{"97":1,"354":1},"2":{"1":1,"2":2,"86":3,"97":2,"98":4,"215":2,"254":3,"322":3,"354":3,"362":3,"384":2,"485":3,"580":3,"596":3,"613":2}}],["clock",{"2":{"271":4}}],["close",{"2":{"386":5,"387":4,"410":2}}],["closer",{"2":{"129":1}}],["closely",{"2":{"52":1,"170":1}}],["closed",{"2":{"46":1,"509":2,"510":2,"511":2,"512":2,"514":2,"515":2,"517":2}}],["cloud",{"2":{"40":1,"572":1,"582":1,"586":1,"591":1,"717":1}}],["clientid",{"2":{"276":8}}],["client=",{"2":{"249":2}}],["clients",{"0":{"275":1,"276":1},"1":{"276":1,"277":1},"2":{"133":1,"271":2,"274":2,"275":2,"276":2,"288":1,"731":1,"739":1}}],["client",{"0":{"130":1,"206":1},"1":{"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1},"2":{"103":1,"131":1,"133":2,"141":1,"158":1,"162":2,"206":4,"242":2,"248":2,"249":2,"250":8,"275":8,"276":8,"285":1,"349":2,"385":2,"386":41,"387":10,"405":1,"465":1,"622":1,"725":1,"737":1}}],["clicking",{"2":{"179":1,"302":2}}],["click",{"2":{"49":1,"226":3,"251":1,"267":1,"301":1,"302":1,"572":3}}],["cli",{"0":{"314":1,"326":1,"408":1,"409":1,"557":1},"1":{"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":2,"328":2,"329":2,"330":2,"331":2,"332":2,"333":2,"334":2,"335":2,"336":2,"337":2,"338":2,"339":2,"340":2,"341":2,"342":2,"343":2,"344":2,"345":2,"346":2,"347":1,"348":1,"349":1,"350":1,"558":1,"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1},"2":{"22":1,"119":1,"206":2,"211":1,"235":1,"246":1,"270":2,"279":1,"311":1,"314":1,"317":1,"326":1,"327":2,"328":3,"329":1,"330":1,"334":1,"345":1,"485":1,"530":1,"545":1,"557":2,"580":1,"581":1,"583":1,"597":1,"700":1}}],["classname=",{"2":{"298":4}}],["classes",{"2":{"16":1}}],["clang",{"2":{"92":2,"319":4,"661":4}}],["claim",{"0":{"565":1},"2":{"41":1,"42":5,"264":1,"268":1,"565":1}}],["claiming",{"2":{"41":1,"42":1}}],["clarifying",{"2":{"9":1}}],["clarity",{"2":{"2":1,"13":1}}],["copied",{"2":{"623":1}}],["copy",{"0":{"384":1},"2":{"131":1,"247":2,"322":1,"360":1,"384":1,"420":1,"580":1,"596":1,"613":1}}],["coingeckoid",{"2":{"298":6}}],["coindecimals",{"2":{"298":6}}],["coindenom",{"2":{"298":6}}],["coinminimaldenom",{"2":{"298":6}}],["cointype",{"2":{"298":2}}],["coin",{"2":{"226":1,"302":1,"416":1}}],["cooperation",{"2":{"70":1}}],["coordinating",{"2":{"675":1}}],["coordination",{"2":{"54":1,"293":1,"472":1,"675":1,"734":1}}],["coordinated",{"2":{"706":1}}],["coordinates",{"2":{"427":2}}],["coordinate",{"2":{"54":1,"64":2}}],["coworking",{"2":{"62":1}}],["coding",{"2":{"61":1,"418":2,"432":1,"438":1}}],["codebase",{"2":{"734":1}}],["codelab",{"2":{"572":2}}],["coded",{"2":{"417":1,"418":1,"547":1,"709":1}}],["codespace",{"2":{"197":2,"410":4,"534":2,"629":2,"636":2}}],["code",{"0":{"6":1,"70":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1},"2":{"9":2,"10":1,"12":1,"14":1,"15":1,"17":4,"70":4,"82":1,"103":1,"115":1,"131":1,"169":1,"197":2,"231":1,"242":2,"244":1,"250":1,"298":1,"350":2,"378":1,"410":18,"532":2,"547":1,"572":1,"629":1,"636":1,"676":1}}],["co",{"2":{"52":2,"58":2,"62":2,"63":1,"65":1,"74":1}}],["counterparty",{"2":{"271":2}}],["counterforge",{"2":{"118":1,"233":1,"234":1}}],["countertest",{"2":{"115":4,"231":4}}],["counter",{"2":{"113":6,"114":7,"115":31,"118":3,"229":6,"230":7,"231":31,"233":3,"234":3}}],["country",{"2":{"45":1}}],["course",{"2":{"46":1,"180":1}}],["couldn",{"2":{"64":2}}],["could",{"2":{"8":1,"131":1,"132":1,"134":1,"137":3,"146":1,"181":1,"257":1,"285":1,"327":1,"391":3,"403":1,"404":1,"418":2,"429":1,"436":1,"511":1,"514":1,"515":1,"516":2,"530":1,"536":1,"574":1}}],["columns",{"2":{"129":1,"427":1}}],["column",{"2":{"129":3,"154":1,"250":4,"340":2,"429":1,"435":3}}],["collide",{"2":{"572":1}}],["collaboration",{"2":{"62":1,"68":1,"293":1}}],["collaborate",{"2":{"58":1}}],["collector",{"2":{"571":2,"586":2,"587":3}}],["collects",{"2":{"392":1}}],["collectively",{"2":{"428":1}}],["collective",{"2":{"293":2}}],["collection",{"2":{"41":2,"67":1,"74":1,"132":1}}],["collect",{"2":{"44":5,"55":1,"557":4,"689":2}}],["color",{"2":{"7":1,"76":1}}],["cors",{"2":{"250":2}}],["corner",{"2":{"226":1,"301":1,"302":1}}],["coral",{"2":{"194":2}}],["correspond",{"2":{"522":1,"527":1,"534":1}}],["corresponds",{"2":{"332":1}}],["corresponding",{"0":{"535":1},"1":{"536":1,"537":1},"2":{"145":1,"187":1,"269":1,"427":1,"436":2,"509":1,"510":1,"512":1,"521":1,"534":3,"535":1}}],["correct",{"2":{"216":1,"320":1,"386":1,"427":1,"461":1,"555":1,"580":1,"582":2,"591":2,"662":1,"672":1,"678":1,"702":1,"720":1}}],["correctly",{"2":{"115":2,"231":2,"270":1,"273":1,"320":1,"364":1,"433":1,"536":1,"662":1,"742":1,"746":1}}],["correction",{"0":{"13":1}}],["corrective",{"2":{"9":1}}],["coreutilsbrew",{"2":{"613":1}}],["coreutils",{"2":{"613":2}}],["cores",{"2":{"548":1,"627":1,"665":1}}],["core",{"0":{"324":1,"602":1},"2":{"77":1,"108":2,"178":1,"222":2,"223":2,"285":1,"290":1,"314":1,"316":1,"318":1,"324":15,"325":6,"373":3,"380":7,"432":4,"446":3,"447":1,"452":1,"476":1,"477":9,"484":1,"501":4,"530":4,"547":8,"553":10,"554":6,"555":6,"585":4,"586":4,"589":2,"592":2,"593":2,"602":2,"607":1,"609":1,"632":2,"653":6,"656":6,"671":3,"672":6,"678":1,"695":1,"699":7,"700":6,"702":6,"716":7,"720":1,"746":2,"748":1}}],["corgis",{"2":{"39":1}}],["cosmwasm",{"2":{"33":4,"393":1}}],["cosmology",{"2":{"33":2,"40":1}}],["cosmosmath",{"2":{"385":2,"386":2,"387":2}}],["cosmosnetwork",{"2":{"272":1}}],["cosmossdk",{"2":{"271":4,"385":2}}],["cosmostation",{"0":{"224":1,"225":1},"1":{"225":1,"226":1},"2":{"224":1,"225":3,"226":2,"380":1}}],["cosmos",{"2":{"21":3,"22":1,"27":1,"33":4,"52":3,"181":1,"194":2,"195":4,"197":2,"198":2,"199":4,"207":1,"214":1,"223":2,"225":2,"226":1,"258":1,"269":1,"270":1,"271":9,"272":1,"283":4,"284":2,"285":1,"287":1,"288":1,"297":1,"300":2,"301":1,"302":1,"392":1,"393":1,"398":1,"400":1,"403":1,"410":4,"432":1,"441":3,"445":1,"453":3,"465":1,"466":1,"475":1,"547":1,"557":2,"558":1,"563":5,"572":3,"575":1,"577":2,"710":1,"725":1,"726":1,"742":2,"744":2,"745":2}}],["costs",{"2":{"58":2,"59":1,"62":3,"64":1,"167":1,"403":3,"405":1}}],["cost",{"2":{"29":1,"58":1,"179":1,"289":1,"403":6,"404":5,"434":1}}],["covers",{"2":{"77":1,"78":1,"79":1,"80":1,"90":1,"106":1,"608":1,"738":2}}],["covering",{"2":{"62":1,"65":2}}],["covered",{"2":{"60":1,"158":1,"650":1,"737":1,"739":1}}],["cover",{"2":{"22":1,"62":1,"64":1,"65":1,"100":1,"162":1,"201":1,"238":1,"314":1,"327":1,"394":1,"583":1,"637":1}}],["covenant",{"2":{"17":4}}],["cohorts",{"2":{"46":1}}],["cohort",{"0":{"18":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"21":1,"37":1,"52":1}}],["conjured",{"2":{"572":1}}],["conn",{"2":{"410":6}}],["connects",{"2":{"522":1,"539":1,"587":1}}],["connectbutton",{"2":{"250":4}}],["connectors",{"2":{"249":4}}],["connectorsforwallets",{"2":{"249":4}}],["connected",{"2":{"226":1,"252":1,"301":1,"302":1,"417":2,"432":1,"522":2,"539":1,"615":1,"734":1}}],["connectivity",{"2":{"436":1}}],["connecting",{"0":{"615":1},"1":{"616":1,"617":1},"2":{"133":2,"240":1,"533":1,"636":1,"716":1,"739":1}}],["connectionid",{"2":{"276":8}}],["connectionside",{"2":{"276":4}}],["connections",{"0":{"586":1},"2":{"58":1,"60":1,"61":1,"83":1,"269":2,"271":2,"274":2,"277":1,"489":1,"532":1,"571":6,"582":3,"591":3,"642":1,"690":2,"745":1}}],["connection",{"0":{"274":1,"276":1},"2":{"42":1,"43":1,"45":3,"62":1,"133":6,"274":1,"276":30,"324":1,"410":2,"532":2,"547":1,"554":1,"586":5,"671":1,"699":2}}],["connect",{"0":{"324":1},"2":{"25":1,"56":1,"60":1,"61":1,"73":1,"171":1,"173":1,"225":1,"247":1,"249":3,"250":4,"297":1,"298":2,"300":1,"393":1,"398":1,"399":1,"436":1,"461":4,"462":1,"475":2,"487":1,"517":2,"522":1,"530":3,"532":1,"539":1,"545":1,"546":1,"547":1,"613":2,"632":1,"636":2,"663":1,"710":2,"720":4,"722":1,"731":1}}],["congested",{"2":{"237":1}}],["congests",{"2":{"180":1}}],["congestion",{"2":{"102":1,"180":1,"436":1,"747":1}}],["congratulations",{"2":{"98":1,"109":1,"120":1,"192":1,"200":1,"208":1,"236":1,"276":1,"653":1,"656":1}}],["confidence",{"2":{"416":2}}],["configcp",{"2":{"613":3}}],["configs",{"2":{"298":1,"572":4}}],["configures",{"2":{"558":1}}],["configured",{"2":{"252":1,"272":1,"366":1,"402":1}}],["configurechains",{"2":{"249":4}}],["configure",{"0":{"277":1},"2":{"248":1,"250":2,"251":1,"274":1,"642":1,"646":1,"647":1}}],["configuring",{"0":{"248":1,"249":1,"642":1},"1":{"643":1,"644":1,"645":1},"2":{"270":1,"608":1,"651":1}}],["configurationsconnecting",{"2":{"608":1}}],["configurations",{"0":{"614":1},"1":{"615":1,"616":1,"617":1,"618":1,"619":1,"620":1},"2":{"216":1,"271":1,"273":1,"645":1}}],["configuration",{"0":{"271":1,"273":1,"646":1,"647":1},"2":{"206":3,"211":1,"248":1,"249":4,"250":1,"271":1,"273":2,"530":2,"536":1,"545":2,"557":4,"571":2,"572":3,"583":1,"593":2,"608":2,"619":1,"644":1,"646":2,"647":1}}],["configurable",{"2":{"104":1}}],["config",{"0":{"593":1,"599":1,"601":1,"690":1},"1":{"600":1,"601":1,"602":2,"603":2,"604":2,"605":2,"606":2,"607":2},"2":{"88":1,"92":2,"95":4,"108":1,"202":2,"206":2,"211":2,"255":1,"270":1,"271":3,"273":5,"277":1,"319":4,"358":1,"364":4,"370":6,"410":2,"522":3,"530":7,"535":2,"545":7,"557":2,"558":2,"571":1,"572":8,"589":2,"593":7,"595":1,"601":4,"605":1,"607":1,"613":31,"615":1,"618":1,"622":2,"643":5,"644":4,"646":2,"647":2,"661":4,"687":1,"688":1,"689":4,"690":2,"698":1}}],["confirmed",{"2":{"264":1,"268":1,"271":2,"410":2}}],["confirmations",{"2":{"166":1}}],["confirmation",{"2":{"71":1,"135":1,"212":1,"271":2,"698":1}}],["confirm",{"0":{"264":1,"268":1},"2":{"44":1,"45":2,"54":1,"129":1,"166":1,"197":2,"510":3,"572":1,"636":1}}],["conferences",{"2":{"63":1}}],["conference",{"2":{"63":1}}],["convenient",{"2":{"54":1}}],["conversion",{"2":{"151":1,"449":1}}],["conversations",{"2":{"8":1,"45":1,"55":1}}],["converting",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1}}],["converted",{"2":{"145":1,"146":1,"148":1,"332":1}}],["convert",{"2":{"33":1,"119":1,"148":1,"149":1,"152":1,"235":1,"386":1,"387":1}}],["concerned",{"2":{"419":1}}],["concept",{"2":{"77":1}}],["concepts",{"2":{"50":1}}],["conclusion",{"0":{"157":1,"208":1}}],["concise",{"2":{"2":1}}],["conditioned",{"2":{"45":1}}],["conditions",{"2":{"42":1}}],["conducting",{"2":{"417":1}}],["conducted",{"2":{"45":1}}],["conduct",{"0":{"6":1,"70":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1},"2":{"8":1,"9":1,"10":1,"12":1,"14":1,"15":1,"17":4,"54":1,"70":3,"82":1,"416":1,"731":1}}],["consoleconfirm",{"2":{"636":1}}],["consolecode",{"2":{"629":1,"636":1}}],["console$request",{"2":{"701":1}}],["console$",{"2":{"557":1}}],["console",{"2":{"362":1}}],["consoleblockhash",{"2":{"361":1}}],["consolebasefeepergas",{"2":{"360":1}}],["consume",{"2":{"404":1,"647":1}}],["consumes",{"2":{"404":1}}],["consumed",{"2":{"403":2}}],["consumer",{"2":{"271":4}}],["consulted",{"2":{"43":1}}],["consist",{"2":{"133":1,"405":1}}],["consists",{"2":{"132":1,"159":1,"432":1,"433":1,"435":3,"438":1}}],["consistency",{"2":{"65":1}}],["consistent",{"2":{"65":2}}],["considerable",{"2":{"647":1}}],["considerations",{"0":{"587":1},"2":{"585":1,"587":1}}],["consider",{"2":{"58":1,"60":2,"61":1,"64":3,"332":1,"416":1,"620":1}}],["considered",{"2":{"8":1}}],["consensus",{"0":{"205":1,"408":1,"410":1,"477":1,"608":1,"610":1,"615":1,"624":1,"640":1,"711":1,"712":1,"741":1},"1":{"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":2,"617":2,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":1,"628":1,"629":1,"630":1,"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1,"640":1,"641":2,"642":2,"643":2,"644":2,"645":2,"646":2,"647":2,"712":1,"713":1,"714":1,"742":1},"2":{"128":1,"133":1,"143":1,"144":1,"178":1,"180":1,"181":1,"192":1,"201":1,"205":2,"283":1,"288":1,"289":1,"294":2,"302":2,"324":4,"340":2,"392":3,"402":1,"410":4,"429":1,"432":1,"433":6,"434":2,"441":1,"453":1,"463":3,"464":3,"465":2,"466":4,"471":1,"476":2,"477":3,"487":1,"522":3,"524":1,"539":3,"546":1,"547":3,"554":2,"563":1,"572":1,"581":1,"582":1,"608":7,"609":3,"615":1,"621":1,"624":1,"626":1,"627":1,"630":1,"636":1,"642":1,"650":2,"663":1,"677":1,"699":2,"700":4,"711":1,"716":5,"720":2,"723":2,"724":1,"726":2,"731":5,"738":2,"741":1}}],["consents",{"2":{"45":1}}],["consent",{"2":{"44":1}}],["consequence",{"2":{"13":1,"14":1,"15":1,"16":1,"429":1}}],["consequences",{"2":{"12":1,"14":1,"43":1,"45":1,"414":2,"521":1}}],["constant",{"2":{"404":1,"709":2}}],["constantly",{"2":{"269":1}}],["constants",{"2":{"108":7,"224":1,"298":18,"299":1,"302":1,"320":6,"330":3,"333":1,"370":8,"485":3,"590":4,"613":22,"623":6,"629":2,"636":2,"662":6}}],["const",{"2":{"249":10,"250":54,"252":2,"298":8}}],["constructed",{"2":{"150":1,"417":1}}],["construct",{"2":{"147":1,"149":4,"151":1,"152":1,"388":1}}],["constructor",{"2":{"125":2,"242":2}}],["constructing",{"2":{"153":2}}],["constructions",{"2":{"157":1}}],["construction",{"2":{"106":1}}],["constructive",{"2":{"8":1}}],["constitute",{"2":{"41":1,"45":1}}],["context",{"2":{"385":2,"386":14,"387":4,"410":8}}],["contents",{"0":{"291":1,"396":1},"2":{"314":1,"388":1}}],["content",{"0":{"18":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"2":1,"42":1,"64":2,"83":1,"242":8,"250":17,"386":4,"563":2,"742":1,"744":1,"745":1,"746":1}}],["containing",{"2":{"149":1,"151":1,"153":3,"435":1,"515":1,"572":2}}],["contain",{"2":{"146":2,"149":1,"391":1,"400":1,"427":1,"435":1,"564":1,"677":1}}],["contains",{"2":{"114":1,"132":2,"147":4,"153":2,"230":1,"360":1,"461":1,"475":1,"564":1,"595":1,"710":1,"720":1}}],["containerization",{"2":{"651":1}}],["containerstyle",{"2":{"249":4}}],["containers",{"0":{"359":1},"2":{"98":1,"222":1,"223":1,"358":1,"359":2}}],["container",{"0":{"223":1},"2":{"98":2,"108":2,"222":9,"223":11,"359":6,"654":5,"655":4,"656":2}}],["contacts",{"2":{"63":1,"64":1}}],["contact",{"2":{"59":1,"66":1}}],["continuously",{"2":{"447":4,"472":1}}],["continuousvestingaccount",{"2":{"198":3}}],["continuous",{"2":{"186":1,"197":1}}],["continues",{"2":{"570":1,"733":1}}],["continue",{"2":{"51":1,"104":1,"237":1,"364":1,"390":1,"391":1,"675":1}}],["continued",{"2":{"14":1,"45":1,"62":1}}],["continuation",{"0":{"51":1},"1":{"52":1}}],["continuing",{"2":{"46":1,"51":1,"636":1}}],["contrastingly",{"2":{"429":1}}],["contrast",{"2":{"165":1,"421":1}}],["contracttest",{"2":{"242":2}}],["contractaddress",{"2":{"119":2,"235":2,"250":6,"252":3}}],["contractforge",{"2":{"113":1,"229":1}}],["contract",{"0":{"86":1,"87":1,"110":1,"114":1,"115":1,"116":1,"119":1,"147":1,"227":1,"230":1,"231":1,"232":1,"235":1,"242":1,"497":1,"501":1},"1":{"87":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":2,"118":2,"119":1,"120":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":2,"234":2,"235":1,"236":1,"498":1,"499":1,"500":1,"501":1},"2":{"33":2,"42":1,"45":1,"84":1,"85":1,"86":6,"87":5,"88":4,"103":2,"111":2,"113":1,"114":8,"115":11,"118":5,"119":1,"120":1,"125":6,"127":1,"128":1,"129":7,"133":4,"145":3,"146":1,"147":7,"153":3,"157":1,"159":3,"160":1,"161":2,"162":1,"163":2,"166":1,"176":2,"179":1,"183":1,"227":1,"229":1,"230":8,"231":11,"233":3,"234":4,"235":1,"236":1,"238":1,"240":1,"241":2,"242":15,"243":1,"244":7,"245":13,"246":11,"247":2,"250":16,"252":3,"254":13,"255":4,"291":1,"304":1,"396":1,"422":1,"452":1,"487":3,"488":1,"497":3,"500":1,"501":5,"538":3,"539":2,"545":2}}],["contracting",{"2":{"33":1}}],["contractscript",{"2":{"244":2,"245":2,"246":2}}],["contracts",{"0":{"121":1,"124":1,"163":1,"183":1},"1":{"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1},"2":{"33":1,"86":3,"88":3,"124":4,"125":6,"127":1,"129":1,"134":2,"135":4,"139":1,"141":2,"158":1,"162":1,"163":2,"173":1,"178":1,"181":1,"242":3,"247":1,"254":3,"255":3,"488":1}}],["control",{"2":{"41":1,"42":1,"45":1,"592":1,"647":1,"674":1}}],["contributor",{"2":{"17":4,"446":1}}],["contributors",{"2":{"7":1,"446":1,"447":1}}],["contributing",{"2":{"8":1}}],["contributiondao",{"2":{"712":1,"713":1,"714":1}}],["contributions",{"2":{"2":1,"9":1,"293":1}}],["contribution",{"0":{"2":1},"2":{"2":2,"61":1,"102":1}}],["contributes",{"2":{"8":1,"102":1,"403":1}}],["contribute",{"2":{"7":1,"62":1}}],["comcelestia",{"2":{"477":1}}],["combination",{"2":{"364":1}}],["combines",{"2":{"378":1}}],["combined",{"0":{"341":1},"2":{"180":1}}],["combine",{"2":{"44":1}}],["comfortable",{"2":{"322":1,"596":1}}],["coming",{"2":{"240":1,"744":1,"745":1}}],["com",{"0":{"65":1},"2":{"63":2,"65":6,"86":2,"95":2,"97":2,"98":2,"153":2,"170":1,"174":1,"175":1,"206":2,"215":2,"226":1,"254":2,"271":4,"292":1,"302":3,"319":2,"322":2,"324":2,"354":2,"362":2,"384":2,"385":10,"399":1,"405":2,"410":16,"463":3,"464":2,"465":2,"466":4,"468":1,"469":1,"476":11,"477":1,"480":1,"481":2,"485":3,"522":2,"554":2,"577":2,"580":2,"596":2,"613":12,"653":1,"661":2,"699":2,"700":2,"712":5,"713":5,"714":4,"723":6,"724":2,"725":6,"726":8,"727":8,"729":1}}],["comexport",{"2":{"653":1}}],["cometbft",{"2":{"165":1,"441":1,"709":1}}],["come",{"2":{"48":1,"177":1,"705":1}}],["compute",{"2":{"435":1}}],["computed",{"2":{"403":1,"427":1}}],["computesquaresizefromshareproof",{"2":{"129":1}}],["computesquaresizefromrowproof",{"2":{"129":1}}],["computes",{"2":{"129":2,"403":1,"435":1}}],["computing",{"2":{"288":1}}],["computation",{"2":{"167":1}}],["comprised",{"2":{"439":1}}],["comprises",{"2":{"153":1}}],["comprehensive",{"2":{"0":1}}],["compilation",{"2":{"115":2,"118":2,"231":2,"234":2}}],["compiling",{"2":{"114":4,"115":2,"118":2,"230":4,"231":2,"234":2,"319":1,"661":1}}],["compiler",{"2":{"114":2,"124":1,"230":2}}],["compile",{"2":{"114":1,"230":1}}],["component",{"2":{"181":1,"250":2,"298":2}}],["components",{"2":{"57":1,"159":1,"162":1,"293":1,"298":6,"400":1,"405":2,"432":1,"676":1,"705":1}}],["compose",{"2":{"91":1,"98":2,"108":2,"222":2,"223":6,"366":2,"370":1,"373":1}}],["compelling",{"2":{"62":1}}],["complex",{"2":{"646":1}}],["completing",{"2":{"636":1}}],["completion",{"2":{"41":1,"45":3,"50":1}}],["completely",{"2":{"331":1}}],["completes",{"2":{"98":1,"416":1}}],["completed",{"2":{"44":1,"213":1,"580":1,"596":1}}],["complete",{"2":{"42":3,"43":1,"48":1,"71":1,"213":1,"246":2,"388":1,"430":1,"444":1}}],["complain",{"2":{"506":1}}],["complaints",{"2":{"11":1}}],["compliant",{"2":{"126":1}}],["compliance",{"2":{"45":3}}],["comply",{"2":{"44":1}}],["compatmode",{"2":{"270":2}}],["compatibility",{"0":{"286":1},"2":{"102":1}}],["compatible",{"2":{"27":1,"168":1,"170":1,"183":1,"239":1,"270":1,"286":1,"322":1,"508":1,"675":1,"733":1,"734":2}}],["compared",{"2":{"167":1}}],["companion",{"2":{"74":1}}],["companies",{"2":{"62":3}}],["company",{"2":{"41":5,"42":8,"43":3,"45":8,"62":1}}],["comma",{"2":{"530":2,"613":2,"690":2}}],["commands",{"0":{"341":1,"557":1},"1":{"558":1,"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1},"2":{"98":1,"215":1,"319":2,"322":1,"328":2,"380":1,"410":2,"485":1,"497":2,"502":2,"506":1,"507":4,"508":2,"513":2,"516":2,"557":2,"563":1,"569":1,"580":1,"581":1,"593":1,"596":1,"613":1,"661":2}}],["command",{"0":{"327":1,"503":1,"504":1,"505":1,"576":1},"2":{"87":2,"98":1,"108":2,"113":1,"114":1,"119":2,"153":1,"197":4,"202":1,"204":2,"206":1,"212":1,"215":1,"218":1,"222":2,"223":5,"229":1,"230":1,"234":1,"235":2,"252":1,"254":2,"275":2,"276":1,"319":2,"322":1,"324":2,"325":4,"326":1,"327":3,"329":1,"330":1,"331":1,"332":1,"333":3,"337":1,"340":1,"344":1,"345":2,"346":1,"357":1,"358":1,"365":1,"373":2,"374":1,"375":1,"376":1,"380":1,"387":1,"477":1,"479":1,"493":1,"497":3,"500":2,"502":1,"503":1,"504":1,"505":2,"506":2,"507":7,"508":8,"510":1,"513":6,"516":6,"527":1,"528":1,"530":3,"534":3,"535":1,"538":1,"543":1,"544":1,"545":1,"553":1,"554":1,"557":4,"561":4,"563":4,"564":2,"565":1,"566":2,"567":1,"568":3,"575":1,"581":1,"585":2,"589":1,"592":1,"593":2,"594":1,"596":1,"602":1,"613":2,"623":1,"629":1,"643":1,"647":1,"653":1,"655":2,"656":2,"661":2,"670":1,"671":1,"683":1,"684":1,"685":2,"686":1,"687":1,"688":2,"689":2,"691":2,"692":1,"698":1,"699":1,"700":3,"701":1,"728":1}}],["comment",{"2":{"98":1}}],["comments",{"2":{"8":1,"9":1}}],["commission",{"2":{"45":2,"565":2,"569":6,"636":6}}],["commitment",{"0":{"156":1},"2":{"145":1,"147":2,"153":3,"169":5,"295":5,"332":5,"333":10,"334":3,"356":1,"364":2,"427":1,"429":1,"435":6,"438":2}}],["commitments",{"2":{"103":1,"131":1,"132":6,"134":1,"135":1,"158":1,"159":1,"427":1,"436":1,"487":1}}],["committees",{"0":{"164":1},"1":{"165":1,"166":1,"167":1},"2":{"165":1}}],["committed",{"2":{"65":1,"126":1,"129":9,"132":1,"137":1,"145":2,"147":8,"153":6,"154":1,"157":1,"293":1,"410":4,"435":1}}],["committing",{"0":{"134":1},"2":{"159":1}}],["commitforge",{"2":{"124":1}}],["commits",{"2":{"9":1,"129":1,"134":1,"147":2,"153":2}}],["commit",{"2":{"2":3,"97":2,"98":2,"124":1,"129":1,"134":1,"322":1,"340":4,"521":2,"596":1}}],["commonly",{"2":{"414":1,"572":1}}],["common",{"2":{"17":1,"78":1,"364":2,"433":2,"586":1,"694":1}}],["communities",{"2":{"83":1}}],["community",{"0":{"5":1,"66":1,"70":1,"82":1,"445":1,"564":1},"2":{"2":1,"3":2,"4":1,"5":5,"7":2,"8":2,"9":2,"10":3,"11":2,"12":2,"13":3,"14":2,"15":3,"16":3,"17":1,"54":1,"56":1,"57":1,"58":4,"61":2,"63":2,"65":1,"68":1,"70":3,"71":1,"73":1,"75":1,"81":1,"82":3,"83":1,"324":1,"406":1,"441":1,"445":2,"454":2,"477":1,"563":1,"564":11,"705":1,"706":1,"716":1,"719":1,"733":1,"734":1}}],["communicating",{"2":{"572":2}}],["communications",{"0":{"63":1}}],["communication",{"2":{"15":1,"45":1,"50":1,"63":1,"73":1,"242":2,"269":1,"465":1,"582":1,"586":1,"591":1,"605":1,"725":1,"745":1}}],["communicates",{"2":{"392":1}}],["communicate",{"2":{"9":1,"60":1,"102":1,"382":1,"630":1}}],["fsudo",{"2":{"742":1,"744":1,"745":1,"746":1}}],["fssl",{"2":{"319":2,"661":2}}],["f5nodes",{"2":{"723":1,"725":1,"726":1}}],["fc",{"2":{"404":2}}],["fmt",{"2":{"137":4,"385":2,"386":8,"410":8}}],["f",{"2":{"108":2,"137":22,"359":4,"366":1,"373":2,"536":2,"742":1,"744":1,"745":1,"746":1}}],["floor",{"2":{"449":1}}],["flow",{"2":{"61":1}}],["flipping",{"2":{"416":1}}],["flat",{"2":{"402":3,"405":1,"439":1}}],["flagssubmitting",{"2":{"314":1}}],["flags",{"0":{"328":1,"585":1},"1":{"329":1,"330":1,"331":1,"586":1},"2":{"204":2,"216":2,"327":4,"328":2,"334":2,"408":2,"497":4,"507":2,"508":2,"509":2,"510":2,"512":3,"513":2,"515":2,"516":2,"517":2,"518":2,"519":2,"520":2,"530":9,"534":1,"545":6,"561":4,"583":2,"585":2,"653":1,"677":1}}],["flag",{"2":{"99":1,"186":1,"197":2,"202":1,"206":1,"324":1,"327":1,"328":1,"329":1,"330":1,"333":1,"334":2,"340":2,"380":1,"492":1,"503":1,"504":1,"505":1,"509":1,"510":1,"511":1,"514":1,"517":1,"522":1,"526":1,"530":2,"532":1,"542":1,"545":1,"553":1,"580":1,"582":1,"585":1,"586":3,"590":1,"591":1,"592":1,"602":1,"613":1,"655":1,"677":1}}],["flexdirection",{"2":{"250":4}}],["flex",{"2":{"250":6}}],["flexibility",{"0":{"167":1},"2":{"167":1,"181":1,"433":1}}],["flexible",{"2":{"25":1,"59":1,"102":1}}],["fun",{"2":{"378":1}}],["fungible",{"2":{"160":2}}],["func",{"2":{"135":2,"137":3,"364":2,"385":2,"386":12,"387":1,"410":2}}],["functioning",{"2":{"364":1}}],["functions",{"0":{"386":1,"387":1},"2":{"114":1,"115":1,"129":4,"178":3,"179":1,"230":1,"231":1,"242":1,"364":1,"386":3,"387":1,"433":5}}],["function",{"2":{"104":1,"114":6,"115":13,"125":4,"129":5,"161":2,"230":6,"231":13,"242":24,"244":4,"250":10,"298":5,"364":4,"385":1,"386":10,"387":1,"403":2,"404":7,"405":3,"410":8,"430":1,"433":1}}],["functionalities",{"2":{"720":1}}],["functionality",{"2":{"54":1,"133":2,"242":1,"285":1,"312":1,"502":1}}],["functional",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"48":2,"706":1}}],["funded",{"0":{"117":1},"2":{"85":1,"89":1,"107":1,"117":1,"234":1,"254":1,"256":1,"272":1,"317":1,"325":1,"350":1,"370":1,"373":1,"500":1,"524":1,"543":1,"545":1}}],["funds",{"2":{"64":1,"104":1,"237":1,"325":1,"380":1,"414":1,"445":1,"563":1,"564":3,"576":4,"701":1}}],["fund",{"0":{"203":1,"212":1},"2":{"52":1,"87":1,"108":1,"117":1,"203":1,"212":1,"254":1,"325":2,"445":1,"554":1,"564":2,"671":1,"700":1}}],["funding",{"2":{"51":1,"62":1,"293":1}}],["fundraising",{"2":{"46":1,"51":1}}],["future",{"2":{"46":2,"51":1,"55":1,"56":2,"60":1,"61":1,"66":1,"102":1,"181":1,"285":1,"312":1,"317":1,"391":1,"446":1,"447":1,"587":1,"591":1,"676":1,"745":1}}],["fullnodes",{"2":{"137":1}}],["fullnode",{"2":{"133":6,"137":4}}],["fully",{"2":{"107":1,"108":1,"370":1,"447":1}}],["full",{"0":{"136":1,"205":1,"238":1,"463":1,"464":1,"608":1,"610":1,"663":1,"664":1,"666":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"723":1,"724":1,"727":1,"744":1},"1":{"137":1,"138":1,"139":1,"140":1,"141":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":1,"628":1,"629":1,"630":1,"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":1,"670":2,"671":2,"672":1,"673":1,"674":1},"2":{"45":1,"73":1,"133":4,"137":1,"143":3,"201":1,"202":1,"204":1,"205":2,"214":1,"216":2,"217":2,"218":2,"238":1,"288":1,"302":1,"323":1,"324":2,"390":1,"392":1,"396":1,"417":3,"418":4,"427":3,"436":1,"461":1,"463":1,"464":3,"476":2,"477":2,"522":1,"539":1,"557":2,"592":4,"594":1,"601":2,"608":3,"609":3,"624":1,"627":1,"642":1,"656":1,"663":2,"664":2,"665":1,"670":6,"671":7,"672":9,"673":2,"674":1,"708":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":3,"720":2,"723":2,"724":3,"726":2,"727":7,"731":3,"737":1,"741":1,"744":17}}],["furthermore",{"2":{"71":1,"392":2,"430":1,"433":1}}],["further",{"2":{"45":2,"216":1}}],["fuelmint",{"2":{"39":1}}],["fuel",{"2":{"25":4}}],["federation",{"2":{"572":2}}],["federal",{"2":{"45":1}}],["feasible",{"2":{"428":1}}],["feature",{"2":{"104":2,"181":1,"237":1,"390":1,"677":1}}],["features",{"2":{"83":1,"102":1,"180":1,"308":1,"310":1,"322":1,"426":2,"596":1,"675":1,"676":6,"678":1}}],["ferret",{"2":{"103":1}}],["fetchposts",{"2":{"242":8,"245":2,"246":2,"250":8}}],["fetchpost",{"2":{"242":4}}],["fetches",{"2":{"242":4}}],["fetch",{"2":{"97":2,"250":4,"378":1}}],["fellow",{"2":{"58":1,"68":1,"73":1}}],["fellows",{"0":{"39":1,"40":1,"46":1},"1":{"47":1,"48":1,"49":1,"50":1,"51":1,"52":1},"2":{"21":1,"28":3,"29":1,"33":1,"37":1,"46":3,"48":1,"49":1,"50":4,"51":2,"52":1}}],["few",{"2":{"49":1,"88":1,"137":1,"179":2,"180":1,"182":1,"204":1,"255":1,"295":1,"386":1,"622":1}}],["feel",{"2":{"731":1}}],["fee=gas",{"2":{"404":1}}],["feecurrencies",{"2":{"298":2}}],["feegrant",{"2":{"283":1,"403":1}}],["fee",{"0":{"334":1,"401":1,"404":1,"439":1},"1":{"402":1,"403":1,"404":1,"405":1,"406":1},"2":{"197":2,"314":1,"332":5,"334":10,"343":6,"386":4,"387":5,"402":5,"404":3,"439":2,"441":1,"451":1}}],["fees=21000utia",{"2":{"629":1,"636":2}}],["fees=21000utiacelestia",{"2":{"629":1}}],["fees",{"0":{"402":1},"1":{"403":1,"404":1,"405":1},"2":{"42":1,"197":6,"204":2,"271":4,"334":1,"402":3,"406":1,"439":3,"534":2,"576":4,"637":2,"747":1,"749":1}}],["feedback",{"0":{"4":1},"2":{"4":1,"8":1,"24":1,"48":1,"50":2,"52":1,"54":1,"55":1,"56":2,"705":1,"731":1}}],["familiarize",{"2":{"388":1}}],["family",{"2":{"63":2}}],["fatalf",{"2":{"386":10}}],["fatal",{"0":{"595":1},"2":{"386":2,"595":2}}],["faster",{"2":{"604":1}}],["fastest",{"2":{"25":1,"581":1}}],["fast",{"2":{"287":1,"289":1}}],["falsediscard",{"2":{"647":1}}],["false",{"2":{"197":2,"271":24,"370":1,"436":3,"582":1,"586":2,"591":1,"602":1,"604":1,"605":1,"647":3,"742":1}}],["fallen",{"2":{"365":1}}],["falls",{"2":{"270":1,"364":1}}],["fall",{"2":{"104":1,"137":1,"237":1,"363":1}}],["fallback",{"0":{"104":1,"237":1,"363":1,"364":1,"365":1},"1":{"364":1,"365":1},"2":{"104":7,"237":6,"363":1,"364":5,"365":2,"533":1}}],["faults",{"2":{"133":1}}],["faucets",{"2":{"272":1,"370":1}}],["faucet",{"0":{"174":1,"467":1,"478":1,"728":1},"1":{"468":1,"479":1,"480":1},"2":{"86":1,"107":1,"117":1,"174":1,"203":1,"212":2,"228":1,"254":1,"305":1,"325":2,"350":1,"380":1,"467":1,"468":2,"478":1,"479":3,"480":2,"728":4}}],["face",{"2":{"238":1}}],["facebook",{"2":{"52":1}}],["facilitated",{"2":{"83":1}}],["facilitate",{"2":{"55":1,"242":2,"432":1}}],["factors",{"2":{"45":1,"60":1,"709":2}}],["faith",{"2":{"165":1}}],["failures",{"2":{"293":1}}],["failure",{"2":{"137":4,"742":2,"744":2,"745":2,"746":2}}],["failed",{"0":{"532":1,"533":1},"2":{"115":2,"231":2,"298":2,"532":2}}],["fails",{"2":{"104":1,"436":1}}],["fail",{"2":{"42":1,"329":1,"365":1}}],["fairly",{"2":{"11":1,"283":1}}],["fair",{"2":{"9":1,"472":1}}],["faq",{"0":{"412":1},"1":{"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1},"2":{"17":2}}],["frequently",{"2":{"734":1}}],["freshly",{"2":{"489":1}}],["fresh",{"2":{"168":1,"641":1}}],["free",{"2":{"7":1,"42":1,"58":1,"198":2,"391":2,"731":1}}],["friends",{"2":{"62":1,"63":2,"682":1}}],["friendly",{"2":{"59":2}}],["friday",{"2":{"25":1,"28":1,"31":1,"37":1}}],["frameworks",{"2":{"181":2,"184":1,"247":1,"290":1}}],["framework",{"2":{"102":1,"247":2,"441":1,"466":1,"726":1}}],["fraudulent",{"2":{"137":1,"622":1}}],["fraud",{"0":{"129":1,"429":1},"2":{"44":1,"129":1,"134":1,"137":3,"180":2,"392":1,"417":1,"418":3,"429":1,"433":1,"664":2}}],["fraction",{"2":{"29":1}}],["frontendcd",{"2":{"88":1,"255":1}}],["frontend",{"0":{"88":1,"89":1,"247":1,"255":1,"256":1},"1":{"248":1},"2":{"33":1,"86":3,"87":1,"88":5,"240":1,"245":1,"246":1,"247":10,"248":1,"254":4,"255":5,"393":1}}],["from=$validator",{"2":{"629":2,"636":2}}],["from=",{"2":{"565":2}}],["from",{"0":{"98":1,"406":1,"580":1},"1":{"99":1},"2":{"2":1,"4":1,"8":1,"13":1,"15":1,"16":1,"17":1,"41":1,"42":5,"44":4,"45":9,"50":3,"54":1,"55":1,"56":1,"61":1,"64":1,"65":1,"67":1,"68":1,"70":1,"72":1,"83":3,"86":3,"87":2,"88":1,"98":1,"102":1,"103":1,"114":1,"118":1,"119":1,"128":1,"129":4,"133":8,"135":1,"137":8,"148":1,"149":2,"150":2,"151":1,"152":1,"153":1,"159":1,"160":2,"166":1,"168":2,"169":6,"179":2,"180":1,"181":2,"190":1,"196":3,"197":8,"199":1,"202":2,"204":2,"205":1,"206":1,"217":1,"218":1,"222":1,"225":1,"228":2,"230":1,"233":1,"234":1,"235":1,"238":1,"240":1,"244":2,"246":3,"249":14,"250":23,"252":1,"254":5,"255":1,"272":1,"280":2,"285":1,"293":1,"295":6,"297":1,"298":4,"300":1,"306":1,"314":1,"319":2,"325":1,"328":3,"330":1,"331":1,"332":1,"333":3,"338":1,"340":1,"350":1,"357":1,"360":1,"361":2,"362":1,"364":4,"365":1,"374":1,"376":1,"378":1,"380":2,"383":1,"386":2,"387":3,"388":1,"390":1,"391":2,"402":3,"406":2,"410":6,"414":1,"417":1,"418":1,"420":1,"421":1,"422":2,"430":1,"433":1,"434":2,"436":2,"441":1,"447":5,"464":2,"471":1,"472":1,"477":1,"479":1,"489":1,"500":1,"501":2,"507":1,"508":2,"510":3,"513":5,"515":2,"516":3,"518":3,"522":1,"528":2,"530":3,"533":1,"534":2,"537":1,"538":1,"539":2,"544":1,"547":2,"553":1,"554":1,"560":1,"562":5,"563":7,"564":2,"566":4,"567":2,"572":7,"575":2,"576":14,"579":1,"593":1,"595":1,"598":1,"605":1,"613":3,"622":2,"623":3,"636":1,"637":3,"642":1,"643":1,"653":1,"661":2,"671":2,"699":1,"701":1,"716":1,"724":2,"728":1,"734":1,"745":2,"746":1,"747":1}}],["firewall",{"2":{"582":2,"591":2}}],["firstly",{"2":{"169":1}}],["first",{"2":{"48":1,"49":1,"52":2,"61":1,"68":1,"75":1,"77":1,"84":1,"102":1,"113":1,"118":2,"132":3,"133":1,"134":1,"135":1,"137":1,"149":2,"150":1,"153":2,"158":2,"159":1,"169":1,"187":1,"194":1,"201":1,"211":1,"213":1,"215":1,"229":1,"233":2,"234":2,"238":1,"242":8,"245":2,"246":4,"248":1,"250":2,"252":3,"254":2,"282":1,"295":2,"298":1,"303":1,"319":1,"343":1,"353":1,"361":1,"373":1,"380":2,"383":1,"386":1,"403":2,"406":1,"446":1,"449":1,"451":1,"461":1,"475":1,"483":1,"508":1,"513":1,"514":1,"517":1,"530":1,"532":2,"534":2,"563":3,"564":1,"569":1,"572":1,"592":1,"597":1,"627":1,"635":1,"654":1,"661":1,"676":1,"709":1,"710":1,"720":1}}],["figment",{"2":{"577":1}}],["figure",{"2":{"430":1,"432":1,"435":2}}],["figures",{"2":{"83":1}}],["five",{"2":{"446":1}}],["fit",{"0":{"422":1}}],["fits",{"2":{"180":1}}],["fix",{"2":{"406":1,"537":1}}],["fixed",{"2":{"403":2,"404":2}}],["fixing",{"2":{"2":1}}],["fill",{"2":{"572":1}}],["filters",{"2":{"364":1}}],["filter",{"0":{"280":1},"2":{"271":8,"277":4,"280":1}}],["file=",{"2":{"572":2}}],["filecoin",{"2":{"425":1}}],["file",{"0":{"515":1,"689":1,"690":1},"2":{"114":1,"115":2,"206":2,"211":1,"230":1,"231":2,"242":1,"247":1,"248":1,"272":9,"366":1,"381":1,"383":1,"386":5,"410":2,"500":1,"506":1,"508":1,"513":6,"514":2,"515":15,"522":1,"528":2,"530":3,"535":1,"544":2,"545":3,"557":6,"560":2,"563":5,"564":4,"569":1,"571":1,"572":1,"573":1,"580":1,"581":1,"593":1,"595":2,"607":1,"613":5,"643":1,"646":1,"647":1,"687":1,"688":2,"689":4,"690":2,"742":2,"744":2,"745":2,"746":1}}],["filesystem",{"2":{"659":1}}],["files",{"0":{"273":1,"384":1},"2":{"3":1,"76":1,"114":2,"115":2,"118":2,"230":2,"231":2,"234":2,"240":1,"319":1,"364":1,"384":1,"500":2,"528":2,"530":1,"544":2,"545":1,"557":2,"661":1,"689":4}}],["fields",{"2":{"149":1,"622":1}}],["field",{"2":{"148":1,"149":2,"153":1,"605":1,"644":2}}],["fide",{"2":{"45":1}}],["fine",{"2":{"436":1}}],["finished",{"2":{"114":2,"115":2,"230":2,"231":2,"386":2,"387":2,"746":1}}],["finger",{"2":{"59":1}}],["finality",{"2":{"178":1}}],["finalize",{"2":{"54":1,"267":1}}],["finally",{"2":{"159":1,"386":1,"403":1,"572":1}}],["final",{"2":{"54":1,"387":1,"433":3,"574":1,"576":2,"689":2}}],["financial",{"2":{"25":1,"45":1,"62":1}}],["finds",{"2":{"506":1,"539":1}}],["finding",{"2":{"5":1,"58":1,"62":1,"64":1,"66":2}}],["find",{"0":{"360":1,"362":1},"2":{"0":1,"4":1,"61":1,"62":1,"65":1,"78":1,"79":1,"82":1,"86":1,"109":1,"129":1,"134":2,"190":1,"204":1,"254":1,"292":1,"304":1,"305":1,"312":1,"317":1,"324":1,"325":1,"359":2,"476":1,"477":1,"530":1,"545":1,"554":1,"574":1,"591":1,"601":1,"604":1,"632":1,"659":1,"671":1,"677":1,"687":1,"688":1,"700":1,"716":2,"727":1,"739":1}}],["fontsize",{"2":{"250":4}}],["four",{"2":{"178":1,"407":1,"433":3,"563":1}}],["foundation",{"2":{"293":1,"446":1}}],["found",{"2":{"129":1,"133":1,"149":1,"150":1,"152":1,"153":2,"154":1,"169":1,"279":1,"297":1,"306":1,"329":1,"350":2,"378":1,"405":2,"442":1,"477":1,"496":1,"563":2,"622":3,"708":1}}],["foundry",{"2":{"86":1,"112":1,"113":1,"119":1,"123":1,"228":1,"229":1,"235":1,"238":1,"240":1,"241":2,"242":1,"247":2,"254":1}}],["founder",{"2":{"52":3}}],["folders",{"2":{"190":4,"271":1,"641":1}}],["folder",{"2":{"113":1,"229":1,"580":1}}],["followed",{"2":{"134":1}}],["follows",{"2":{"133":1,"147":1,"149":1,"150":1,"159":1,"279":1,"327":1,"539":1,"572":1,"709":1}}],["follow",{"2":{"12":1,"53":2,"56":1,"66":1,"98":1,"246":1,"270":1,"272":1,"300":1,"319":2,"359":2,"433":1,"461":1,"536":1,"537":1,"550":1,"552":1,"556":1,"573":1,"581":1,"611":1,"612":1,"624":1,"628":1,"631":1,"634":1,"636":1,"650":1,"651":1,"661":2,"667":1,"668":1,"673":1,"678":1,"679":1,"682":1,"703":1,"720":1}}],["following",{"2":{"1":1,"45":3,"49":1,"51":1,"59":1,"60":1,"70":1,"71":1,"72":1,"103":1,"108":3,"113":1,"114":2,"115":1,"123":1,"132":1,"147":1,"149":2,"152":1,"158":2,"159":1,"163":1,"171":1,"197":1,"213":1,"215":1,"216":1,"218":1,"223":1,"226":1,"229":1,"230":2,"231":1,"242":2,"244":1,"246":1,"247":1,"248":1,"250":1,"251":1,"252":1,"263":1,"264":1,"267":2,"268":1,"269":1,"271":1,"273":1,"275":1,"276":1,"298":2,"302":1,"318":1,"322":1,"325":4,"328":1,"329":1,"330":1,"331":1,"332":3,"333":3,"344":1,"345":2,"357":1,"358":1,"359":2,"374":1,"375":1,"376":1,"379":1,"380":1,"381":2,"383":1,"384":1,"386":2,"387":2,"393":2,"398":1,"399":1,"411":1,"430":1,"432":1,"433":1,"435":1,"479":1,"483":1,"484":3,"492":1,"501":1,"503":1,"504":1,"505":1,"515":1,"516":1,"522":2,"524":1,"526":1,"530":2,"534":4,"536":2,"539":1,"542":1,"545":2,"547":1,"548":1,"549":1,"553":1,"554":2,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1,"572":1,"582":1,"584":1,"585":1,"587":1,"591":1,"592":1,"593":2,"596":1,"601":1,"609":1,"610":1,"613":1,"615":1,"623":1,"624":1,"627":3,"632":1,"633":1,"636":2,"637":1,"656":1,"665":1,"666":1,"670":1,"671":2,"678":1,"680":1,"681":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":3,"690":2,"691":3,"692":1,"694":1,"695":1,"698":1,"700":3,"701":1,"709":1,"718":1,"728":1}}],["foster",{"2":{"70":1,"83":1}}],["fosters",{"2":{"61":1,"293":1}}],["fostering",{"2":{"59":1,"67":1}}],["focus",{"2":{"452":1,"471":1,"584":1}}],["focuses",{"2":{"308":1}}],["focused",{"2":{"60":2,"167":1,"471":1,"734":2}}],["focusing",{"2":{"8":2,"61":1}}],["foods",{"2":{"59":1}}],["food",{"2":{"59":2}}],["forward",{"2":{"742":1}}],["fortunately",{"2":{"572":1}}],["forth",{"2":{"41":1}}],["force",{"2":{"96":2}}],["forces",{"2":{"60":1}}],["forget",{"2":{"194":2}}],["forge",{"2":{"60":1,"86":2,"114":1,"115":2,"230":1,"231":2,"234":1,"242":3,"244":2,"254":2}}],["forest",{"2":{"435":1}}],["forever",{"2":{"423":1}}],["foreign",{"2":{"45":1}}],["foregoing",{"2":{"44":1}}],["formula",{"2":{"405":1}}],["formcontainerstyle",{"2":{"250":4}}],["former",{"2":{"434":1}}],["formerly",{"2":{"158":1}}],["formed",{"2":{"45":1}}],["formatting",{"0":{"327":1}}],["formattingbasic",{"2":{"314":1}}],["format",{"2":{"147":1,"148":1,"206":2,"217":1,"250":2,"327":1,"332":3,"333":1,"337":1,"340":1,"343":1,"519":1,"530":4,"560":1,"563":1}}],["formation",{"2":{"44":1}}],["formal",{"2":{"60":1}}],["form",{"0":{"71":1},"2":{"45":1,"46":1,"71":1,"447":1}}],["forms",{"2":{"43":1,"54":1,"55":1,"132":1}}],["forming",{"2":{"42":1}}],["forbes",{"2":{"28":2,"29":3,"52":1}}],["fork",{"2":{"2":3,"245":2,"406":1}}],["for",{"0":{"66":1,"129":1,"216":1,"217":1,"218":1,"219":1,"262":1,"281":1,"391":1,"417":1,"418":1,"431":1,"437":1,"451":1,"483":1,"569":1,"640":1,"688":1},"1":{"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"432":1,"438":1,"439":1,"484":1,"485":1,"486":1,"487":1,"488":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1},"2":{"0":1,"2":1,"3":4,"4":1,"5":2,"7":1,"8":3,"9":2,"11":1,"12":1,"14":2,"15":1,"17":1,"24":1,"25":1,"29":1,"33":1,"41":3,"42":6,"43":2,"44":4,"45":12,"46":2,"48":1,"50":1,"51":1,"52":2,"54":3,"55":1,"56":4,"57":1,"58":13,"59":6,"60":4,"61":6,"62":4,"63":2,"64":5,"65":8,"66":3,"67":2,"68":1,"70":2,"71":2,"74":1,"75":1,"78":2,"79":1,"81":3,"82":1,"83":1,"86":1,"102":5,"104":4,"108":2,"109":1,"111":1,"113":1,"114":1,"115":2,"117":1,"119":1,"124":1,"125":1,"127":1,"129":1,"131":1,"132":2,"133":12,"134":4,"135":3,"137":3,"141":2,"143":1,"144":1,"145":2,"146":2,"148":1,"149":1,"158":2,"159":1,"165":1,"167":1,"169":2,"170":2,"171":2,"177":2,"180":1,"181":2,"182":1,"184":1,"185":1,"186":3,"190":1,"192":1,"197":3,"201":2,"202":3,"204":1,"205":1,"206":5,"209":1,"210":1,"211":1,"212":2,"214":1,"215":1,"216":5,"222":5,"223":1,"224":2,"229":1,"230":1,"231":2,"235":1,"237":2,"238":1,"239":1,"240":3,"242":7,"246":1,"247":4,"248":2,"249":4,"250":4,"254":1,"263":1,"267":1,"269":2,"270":1,"271":2,"272":4,"273":2,"277":2,"279":1,"281":1,"283":2,"284":1,"285":2,"286":1,"290":1,"292":1,"293":3,"294":1,"295":2,"298":5,"299":2,"301":1,"306":1,"307":1,"309":1,"310":1,"312":1,"313":1,"317":1,"318":3,"319":3,"320":1,"322":2,"324":3,"325":5,"327":2,"328":1,"330":1,"331":1,"332":1,"333":2,"334":1,"336":1,"337":6,"345":1,"353":2,"354":1,"355":1,"359":1,"360":1,"361":1,"364":4,"365":1,"366":1,"367":1,"369":1,"370":1,"372":1,"373":5,"378":1,"379":1,"380":3,"381":2,"383":3,"385":1,"386":9,"388":2,"389":1,"390":2,"391":8,"392":2,"394":1,"395":1,"398":1,"399":1,"402":2,"403":3,"404":12,"405":4,"406":1,"410":4,"413":2,"414":1,"415":3,"416":4,"417":3,"419":1,"420":1,"421":1,"423":2,"424":2,"425":2,"426":1,"427":4,"428":3,"429":2,"430":7,"432":2,"433":4,"434":2,"435":3,"436":5,"442":2,"446":2,"447":2,"451":2,"452":1,"453":1,"457":1,"458":1,"459":2,"461":1,"465":1,"469":1,"470":1,"471":2,"475":1,"477":4,"481":1,"482":1,"484":1,"487":4,"491":1,"492":1,"494":1,"496":1,"499":1,"500":1,"502":3,"503":2,"504":2,"505":2,"506":3,"507":5,"508":5,"509":2,"510":1,"512":1,"513":4,"514":2,"515":3,"516":6,"517":1,"522":9,"524":1,"525":1,"526":1,"527":1,"528":2,"529":1,"530":8,"534":4,"535":3,"536":1,"539":10,"541":1,"542":1,"543":1,"544":1,"545":2,"548":3,"550":1,"552":1,"553":1,"554":6,"557":4,"560":2,"563":1,"570":2,"571":4,"572":1,"574":1,"575":1,"578":1,"580":2,"581":2,"582":3,"583":1,"584":3,"585":1,"586":2,"587":2,"589":1,"590":3,"591":3,"594":1,"595":1,"596":1,"601":4,"602":2,"605":1,"607":3,"608":1,"609":4,"613":3,"619":1,"620":1,"621":1,"622":1,"624":1,"627":3,"629":1,"630":1,"631":1,"632":1,"638":2,"642":1,"644":2,"646":2,"647":3,"649":1,"650":1,"651":3,"652":2,"653":2,"654":3,"655":1,"659":3,"660":1,"661":2,"662":1,"665":3,"667":1,"668":1,"671":11,"675":1,"676":2,"677":5,"678":1,"683":1,"684":3,"685":1,"687":2,"688":1,"689":1,"692":1,"694":1,"695":3,"699":8,"700":3,"705":2,"708":1,"709":1,"710":1,"716":6,"717":1,"718":1,"719":1,"720":3,"725":1,"727":1,"729":1,"730":1,"733":1,"734":1,"735":1,"740":1,"742":1,"745":1}}],["tb",{"2":{"548":1,"665":1}}],["tbd",{"2":{"283":1}}],["tty0",{"2":{"536":2}}],["ttypath=",{"2":{"536":2}}],["tls=false",{"2":{"586":2}}],["tls=true",{"2":{"585":2,"586":2}}],["tls=",{"2":{"585":2}}],["tls",{"0":{"586":1},"2":{"530":4,"532":4,"586":7}}],["tlsv1",{"2":{"93":2}}],["tmproto",{"2":{"410":6}}],["tm",{"2":{"283":1}}],["tcp",{"2":{"206":2,"222":2,"223":2,"338":6,"476":4,"522":2,"530":4,"582":2,"583":4,"591":1,"643":4,"745":2}}],["tj9wswcyhm0r0i8t+p3hpftdieuyr9wspvkl1r2s=",{"2":{"145":2}}],["txoption",{"2":{"410":2}}],["txtsudo",{"2":{"568":1}}],["txt",{"2":{"560":1,"568":5,"613":10}}],["txtcelestia",{"2":{"560":1}}],["txtnode",{"2":{"383":1}}],["txtvite",{"2":{"248":1}}],["txreceipt",{"2":{"364":2}}],["txdata",{"2":{"364":8}}],["txmgr",{"2":{"364":5}}],["txhashcelestia",{"2":{"343":1}}],["txhash",{"2":{"197":2,"343":1,"534":2,"629":3,"636":2}}],["tx",{"2":{"197":8,"204":4,"250":4,"271":10,"279":2,"360":2,"361":2,"402":1,"403":1,"408":2,"435":1,"534":4,"557":4,"562":6,"563":6,"564":2,"565":2,"566":4,"567":2,"576":10,"629":7,"636":6,"637":2,"646":4}}],["txsizecost",{"2":{"404":1}}],["txs",{"2":{"132":4,"135":6,"364":2,"557":2}}],["txcommitment",{"2":{"103":2}}],["ts",{"2":{"108":1,"355":1,"372":1}}],["tsx",{"2":{"88":2,"255":2}}],["ticketing",{"2":{"257":1}}],["title",{"2":{"242":24,"250":12,"563":6,"564":2}}],["tiny",{"2":{"226":1}}],["tia",{"0":{"258":1,"260":1,"263":1,"264":1,"265":1,"267":1,"268":1,"446":1,"448":1,"449":1,"450":1,"456":1},"1":{"259":1,"260":1,"261":2,"262":2,"263":2,"264":2,"265":1,"266":2,"267":2,"268":2,"447":1,"449":1,"450":1,"451":2,"452":2,"453":2,"454":2,"455":2,"456":2,"457":2,"458":2},"2":{"226":1,"258":3,"263":1,"298":6,"343":2,"441":1,"442":3,"444":1,"445":1,"446":1,"447":3,"449":2,"451":2,"452":1,"453":1,"454":1,"456":1,"457":2}}],["ti",{"2":{"222":2,"223":2}}],["tips",{"2":{"357":1,"389":1}}],["tip",{"2":{"87":1,"98":1,"99":1,"197":2,"212":1,"216":1,"222":1,"270":1,"290":1,"317":1,"323":1,"324":1,"325":1,"331":1,"361":2,"380":1,"487":1,"554":1,"589":1,"593":2,"613":1,"624":1,"632":1,"671":1,"692":1,"699":1,"716":1}}],["timing",{"2":{"83":1,"406":1}}],["timeout",{"2":{"108":2,"197":2,"271":4,"373":2,"410":2}}],["timeseries",{"2":{"572":2}}],["timestamp",{"2":{"197":3,"340":2,"360":2,"442":1,"534":2,"629":2,"636":2}}],["times",{"2":{"45":1,"427":1,"675":1,"734":1}}],["time",{"2":{"14":1,"15":1,"42":2,"45":2,"50":1,"54":1,"63":1,"114":1,"137":1,"179":1,"190":1,"197":2,"198":4,"205":1,"230":1,"238":1,"271":4,"273":1,"288":1,"340":2,"366":1,"387":1,"395":1,"403":1,"406":2,"410":2,"420":1,"435":1,"442":1,"534":1,"572":2,"597":1,"676":1,"742":1,"746":1}}],["tier",{"2":{"83":1}}],["twitch",{"2":{"64":1}}],["twitter",{"2":{"63":2,"64":1}}],["two",{"2":{"63":1,"114":1,"115":1,"146":2,"154":1,"159":1,"162":1,"169":1,"178":1,"230":1,"231":1,"269":1,"276":1,"295":1,"307":1,"364":1,"395":1,"400":1,"426":1,"430":1,"435":1,"438":1,"513":1,"527":1,"535":1,"543":1,"547":1,"563":1,"621":1,"622":1,"676":1,"677":2,"701":1,"734":1,"739":1}}],["t",{"0":{"423":1},"2":{"53":1,"58":1,"61":1,"63":1,"64":3,"98":2,"115":3,"137":1,"143":1,"148":1,"149":1,"150":1,"152":1,"153":1,"158":1,"179":1,"180":1,"181":2,"190":4,"202":1,"204":1,"231":3,"242":1,"270":1,"274":1,"298":2,"312":2,"328":1,"350":1,"399":1,"410":2,"417":1,"418":2,"423":2,"516":2,"517":1,"522":1,"524":1,"533":1,"534":1,"537":1,"539":1,"597":1,"643":1,"646":1,"663":1,"709":1,"734":1,"739":1}}],["tasked",{"2":{"418":1}}],["tasks",{"2":{"41":1,"319":1,"433":1,"661":1}}],["tab=staking",{"2":{"398":1}}],["table",{"0":{"291":1},"2":{"314":1,"446":1,"447":1,"477":1,"489":1,"522":6,"539":6}}],["tables",{"2":{"242":2}}],["tab",{"2":{"216":1}}],["taking",{"2":{"149":1,"150":1,"153":1,"621":1}}],["taken",{"2":{"151":1}}],["takes",{"2":{"115":1,"145":1,"146":1,"147":1,"231":1,"332":1,"386":1,"512":1,"514":1,"515":1,"517":1,"519":1}}],["takeaways",{"2":{"56":1}}],["take",{"2":{"9":1,"71":1,"114":1,"129":1,"132":1,"148":1,"152":2,"205":1,"230":1,"245":2,"427":1,"432":1,"436":1,"530":1,"545":1,"590":1,"607":1,"622":1}}],["targets",{"2":{"572":6}}],["targetnumberofpeers=1",{"2":{"522":6,"539":6}}],["target",{"2":{"96":2,"159":3,"250":4,"442":1,"484":1,"536":4,"538":2,"539":2,"543":1,"545":4,"557":2,"595":1,"742":4,"744":4,"745":4,"746":4}}],["tar",{"2":{"92":2,"94":8,"319":4,"320":32,"623":12,"661":4,"662":32}}],["tag",{"2":{"63":1,"222":2,"322":6,"580":12,"596":6,"653":6,"655":6,"656":6}}],["tags",{"2":{"54":1,"322":6,"354":2,"580":6,"596":6}}],["talented",{"2":{"61":1}}],["talks",{"2":{"58":1,"61":1,"64":1,"66":5}}],["talk",{"2":{"58":1,"61":1}}],["tailored",{"2":{"71":1,"83":1}}],["tailor",{"2":{"60":1,"62":1,"66":1}}],["tax",{"2":{"43":6,"45":2}}],["taxes",{"0":{"43":1},"2":{"42":1,"43":1}}],["tuning",{"2":{"436":1}}],["tuples",{"2":{"160":1}}],["tuple",{"2":{"125":10,"126":1,"134":1,"135":1,"145":3,"147":14,"153":16,"157":1,"160":1,"161":1}}],["tuplerootnonce",{"2":{"103":2,"147":2,"153":5}}],["tutorial",{"0":{"311":1,"313":1,"314":1},"1":{"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1},"2":{"106":1,"111":1,"113":1,"120":1,"186":1,"201":2,"205":1,"210":1,"213":3,"227":1,"229":1,"236":1,"238":1,"239":1,"240":1,"246":3,"253":1,"254":1,"258":1,"271":1,"285":1,"297":1,"311":1,"313":1,"314":1,"319":1,"326":1,"348":1,"349":1,"378":3,"380":1,"388":2,"409":1,"546":1,"549":1,"550":1,"552":1,"556":1,"579":1,"580":1,"584":5,"596":2,"597":1,"610":1,"612":1,"624":1,"627":1,"628":1,"631":1,"634":1,"636":1,"649":1,"650":1,"653":1,"663":1,"666":1,"667":1,"668":1,"673":1,"693":1,"696":1,"703":1,"704":1,"731":1}}],["tutorials",{"0":{"393":1},"2":{"0":1,"3":1,"50":2,"393":2,"394":1,"483":1,"731":1}}],["turned",{"2":{"618":1}}],["turn",{"2":{"66":1}}],["tuesday",{"2":{"28":1,"29":1,"33":1,"34":1}}],["tr",{"2":{"613":10,"623":6}}],["trying",{"2":{"350":1,"532":1,"595":1}}],["try",{"2":{"244":1,"280":1,"298":3,"327":1,"350":1,"370":1}}],["tries",{"2":{"436":1}}],["trigger",{"2":{"365":1}}],["triggers",{"2":{"365":1}}],["triggering",{"2":{"365":1}}],["triggered",{"2":{"237":3,"534":1}}],["tripods",{"2":{"58":1}}],["true",{"2":{"125":2,"242":6,"249":4,"271":10,"333":1,"571":4,"582":2,"586":1,"591":2,"604":1,"605":1,"647":1}}],["trusts",{"2":{"607":1}}],["trustedpeers",{"2":{"607":1}}],["trustedpeer",{"0":{"607":1}}],["trustedhash",{"0":{"607":1},"2":{"607":1}}],["trusted",{"2":{"74":1,"271":4,"547":2,"607":5,"622":2}}],["trust",{"2":{"63":1,"271":4,"426":1,"436":1,"622":4}}],["trees",{"0":{"430":1},"2":{"317":1,"426":1,"430":1}}],["tree",{"2":{"125":2,"126":1,"149":6,"152":6,"430":2,"432":2,"435":1}}],["treated",{"2":{"44":1,"403":1}}],["troubles",{"2":{"716":1}}],["troubleshooting",{"0":{"350":1,"588":1,"659":1},"1":{"589":1,"590":1,"591":1,"592":1,"593":1,"594":1,"595":1},"2":{"78":1,"212":1,"216":1,"222":2,"324":1,"325":1,"380":1,"553":1,"554":1,"598":1,"624":1,"632":1,"653":1,"671":2,"692":1,"699":2}}],["trolling",{"2":{"8":1}}],["trace|debug|info|warn|error|fatal|panic",{"2":{"530":2}}],["trackers",{"2":{"573":1}}],["track",{"2":{"54":1,"134":1,"160":1,"380":1,"585":1}}],["traditional",{"2":{"169":1,"295":1,"433":1}}],["traders",{"2":{"25":1}}],["transport",{"0":{"532":1},"2":{"532":2}}],["transparent",{"2":{"25":1}}],["transform",{"2":{"250":2}}],["transferred",{"2":{"279":1}}],["transferring",{"2":{"45":1}}],["transferhermes",{"2":{"276":1}}],["transferownership",{"2":{"242":2}}],["transfers",{"2":{"242":2}}],["transfer",{"0":{"279":1,"343":1},"1":{"280":1},"2":{"45":6,"87":1,"254":1,"269":1,"271":4,"276":7,"277":4,"279":6,"280":1,"343":7,"447":1,"562":1}}],["transitions",{"2":{"137":1,"433":1}}],["transact",{"2":{"104":1,"237":1,"398":1}}],["transactionindex",{"2":{"119":2,"235":2,"361":2}}],["transactionhash",{"2":{"119":2,"235":2}}],["transactions",{"0":{"406":1,"438":1,"618":1},"2":{"44":2,"45":2,"104":1,"134":1,"137":1,"141":1,"171":1,"178":2,"180":1,"226":1,"237":1,"245":1,"246":1,"247":1,"283":1,"284":1,"294":1,"301":1,"302":1,"316":1,"325":1,"360":3,"364":4,"378":1,"392":2,"395":3,"400":2,"401":2,"406":1,"410":4,"413":1,"420":1,"426":1,"427":1,"428":1,"432":1,"433":6,"434":1,"435":6,"436":2,"438":2,"439":2,"451":1,"457":1,"462":1,"466":1,"477":1,"543":1,"545":1,"554":1,"557":2,"577":1,"608":1,"618":1,"646":5,"647":1,"671":2,"699":1,"700":1,"704":1,"716":1,"722":1,"726":1,"747":3,"748":1,"749":2}}],["transaction",{"0":{"146":1,"360":1,"361":1,"435":1,"616":1,"646":1,"688":1,"747":1},"1":{"436":1,"748":1,"749":1},"2":{"44":1,"45":2,"109":2,"118":2,"134":1,"137":1,"146":3,"148":1,"149":1,"157":1,"178":2,"180":2,"181":1,"186":1,"197":3,"204":1,"206":2,"234":2,"237":1,"263":1,"264":1,"267":2,"268":1,"332":3,"333":3,"334":1,"343":1,"360":4,"361":2,"364":5,"365":3,"386":2,"387":1,"388":1,"400":1,"402":2,"403":3,"404":10,"405":1,"406":8,"410":14,"413":2,"414":3,"415":1,"419":3,"420":3,"421":2,"422":2,"424":2,"425":2,"426":1,"433":1,"435":3,"438":4,"439":2,"501":1,"534":1,"575":1,"576":4,"608":1,"615":1,"618":1,"636":3,"688":1,"709":4,"748":2}}],["translations",{"2":{"17":2}}],["tee",{"2":{"742":2,"744":2,"745":2,"746":2}}],["territories",{"2":{"706":1}}],["terminal",{"2":{"86":2,"87":2,"254":4,"319":1,"359":1,"581":2,"674":1,"698":1}}],["termination",{"2":{"45":1}}],["term",{"2":{"39":1,"45":1,"442":1}}],["terms",{"0":{"41":1,"42":1},"1":{"42":1,"43":1,"44":1,"45":1},"2":{"14":1,"15":1,"41":15,"42":1,"44":2,"45":7}}],["temp",{"2":{"581":1}}],["template",{"2":{"366":1}}],["temporary",{"0":{"15":1},"2":{"14":1,"15":1,"104":1,"192":1,"237":1}}],["textrpc",{"2":{"532":1}}],["texti",{"2":{"522":1,"539":1}}],["textarea",{"2":{"250":2}}],["textalign",{"2":{"250":4}}],["text$request",{"2":{"212":1,"325":1,"479":1,"728":1}}],["text",{"2":{"206":2,"250":2,"332":2,"333":1,"509":1,"536":1,"563":1,"564":1,"690":1}}],["text|json",{"2":{"206":2}}],["tendermint",{"2":{"108":4,"206":2,"270":2,"276":8,"283":2,"284":1,"285":1,"287":1,"288":2,"297":1,"340":4,"392":1,"410":6,"432":6,"547":1,"557":8,"569":2,"636":2,"641":2,"683":2,"691":2}}],["testtia",{"2":{"686":1}}],["testkey",{"2":{"685":1}}],["test3",{"2":{"576":4}}],["test2sig",{"2":{"576":4}}],["test2",{"2":{"576":8}}],["test1sig",{"2":{"576":4}}],["test1",{"2":{"576":8}}],["tested",{"2":{"244":1,"246":1,"286":1,"290":1,"366":1}}],["testonlyowner",{"2":{"242":2}}],["testfetchposts",{"2":{"242":2}}],["testforge",{"2":{"115":1,"231":1}}],["testupdatepost",{"2":{"242":2}}],["testcreatepost",{"2":{"242":2}}],["testcelestia",{"2":{"202":1,"211":1,"558":1}}],["teststaking",{"2":{"688":1}}],["tests",{"0":{"242":1},"2":{"115":4,"231":4,"243":1}}],["testsetnumber",{"2":{"115":6,"231":6}}],["testincrement",{"2":{"115":6,"231":6}}],["testing",{"0":{"252":1,"365":1},"2":{"111":1,"115":1,"117":1,"173":1,"231":1,"365":1,"471":3,"472":1,"676":1,"705":1,"733":1}}],["test",{"0":{"115":1,"231":1,"243":1},"2":{"98":2,"99":2,"108":3,"109":4,"115":14,"118":1,"149":1,"150":1,"152":1,"153":1,"170":2,"183":1,"192":1,"202":1,"206":2,"211":1,"216":6,"217":6,"218":6,"222":4,"223":4,"231":14,"233":2,"242":7,"243":2,"244":1,"245":2,"246":3,"251":1,"252":3,"253":1,"271":4,"273":1,"296":1,"298":1,"325":4,"368":1,"373":2,"380":3,"384":8,"554":3,"555":1,"558":1,"572":1,"576":6,"671":3,"672":1,"678":2,"685":1,"686":1,"688":1,"700":4,"702":1,"720":2,"734":1,"737":1,"739":1}}],["testnode",{"2":{"98":2,"99":1,"108":4}}],["testnetwork",{"2":{"678":1}}],["testnets",{"0":{"734":1},"2":{"41":1,"163":1,"181":1,"184":1,"185":1,"226":1,"272":1,"298":2,"676":2,"734":1}}],["testnet",{"0":{"41":1,"106":1,"168":1,"227":1,"254":1,"301":1,"303":1,"399":1,"682":1,"701":1,"720":1,"728":1},"1":{"42":1,"43":1,"44":1,"45":1,"107":1,"108":1,"109":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"255":1,"256":1,"257":1,"304":1,"305":1,"306":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"721":1,"722":1,"723":1,"724":1,"725":1,"726":1,"727":1,"728":1,"729":1,"730":1},"2":{"41":5,"52":1,"100":1,"106":1,"107":2,"108":1,"109":2,"163":4,"168":1,"169":3,"170":1,"171":1,"173":3,"174":1,"176":3,"183":1,"184":1,"186":1,"192":1,"200":1,"201":2,"204":1,"208":1,"222":1,"224":1,"226":5,"227":1,"228":1,"236":1,"239":1,"245":1,"249":4,"254":2,"269":2,"271":11,"272":3,"274":1,"275":6,"276":8,"277":3,"291":3,"296":2,"298":2,"299":1,"301":2,"303":1,"304":1,"305":1,"322":1,"324":1,"325":2,"350":2,"396":3,"399":4,"446":1,"471":3,"472":1,"522":1,"553":1,"554":4,"613":1,"632":1,"671":4,"676":1,"677":1,"678":1,"682":2,"684":1,"687":2,"692":1,"699":1,"700":1,"701":2,"720":1,"722":1,"723":3,"725":3,"726":3,"728":1,"729":4,"734":2,"739":1}}],["tell",{"2":{"66":1}}],["telegram",{"2":{"50":1,"63":2,"470":1,"482":1,"574":1,"719":1,"730":1,"735":1}}],["television",{"2":{"45":1}}],["telemetry",{"2":{"44":1,"271":6}}],["tech",{"2":{"60":2,"62":1,"102":1}}],["technologies",{"2":{"66":1,"77":1,"180":1,"706":1}}],["technology",{"2":{"8":1,"60":1,"294":1,"378":1}}],["technical",{"2":{"3":1,"42":1,"54":1,"66":1}}],["team",{"0":{"40":1},"2":{"50":1,"52":2,"54":1,"59":1,"61":1,"63":1,"70":1,"547":1,"675":1,"676":1}}],["teach",{"2":{"25":1,"27":1,"29":1,"326":1}}],["typically",{"2":{"165":1,"456":1}}],["typical",{"2":{"134":1,"178":1,"288":2}}],["type=$node",{"2":{"653":6,"655":6,"656":6}}],["type=full",{"2":{"653":1}}],["type=fullexport",{"2":{"653":1}}],["type=bridge",{"2":{"653":1}}],["type=bridgeexport",{"2":{"653":1}}],["type=simple",{"2":{"536":2}}],["type=spanbatch",{"2":{"366":1}}],["type=1",{"2":{"366":1}}],["type=lightexport",{"2":{"653":1}}],["type=light",{"2":{"108":2,"222":2,"223":2,"373":2,"653":1}}],["type",{"0":{"368":1},"1":{"369":1,"370":1,"371":1},"2":{"103":1,"115":1,"119":2,"132":8,"133":7,"149":2,"151":1,"152":2,"194":4,"195":8,"197":2,"198":3,"199":5,"214":1,"216":7,"217":6,"218":6,"222":2,"223":6,"226":1,"231":1,"235":2,"271":12,"302":1,"325":4,"329":4,"340":4,"366":2,"380":2,"395":1,"414":2,"461":4,"475":1,"476":2,"477":2,"489":1,"534":4,"554":2,"563":4,"583":2,"585":4,"586":4,"589":4,"592":12,"593":4,"594":2,"595":4,"597":1,"601":1,"653":13,"655":8,"656":8,"671":2,"700":4,"710":2,"716":2,"720":4,"731":1}}],["typescript",{"2":{"33":1,"355":1,"372":1}}],["types",{"2":{"3":1,"60":1,"180":1,"323":1,"364":2,"405":2,"410":4,"424":1,"475":1,"476":1,"477":1,"582":1,"591":1,"597":1,"659":1,"710":1,"716":1,"737":1}}],["typography",{"2":{"76":1}}],["typos",{"2":{"2":1}}],["thus",{"2":{"165":1,"429":1,"433":3,"435":2,"487":1,"506":1,"508":1,"516":1,"538":1}}],["thursday",{"2":{"26":1,"33":1}}],["thought",{"2":{"132":2}}],["though",{"2":{"51":1,"433":1,"435":1}}],["those",{"2":{"8":1,"14":1,"15":1,"57":1,"58":1,"64":3,"67":1,"132":1,"133":1,"178":1,"283":1,"287":1,"298":1,"393":1,"395":2,"422":1,"424":1,"427":1,"461":1,"506":1,"563":1,"675":1,"676":3,"677":2,"689":1,"720":1}}],["think",{"2":{"132":1}}],["thinking",{"2":{"49":1}}],["things",{"0":{"425":1},"2":{"45":1,"88":1,"249":1,"255":1,"332":1,"368":1,"386":1}}],["thirdweb",{"2":{"176":1,"396":1}}],["third",{"2":{"42":10,"44":5,"45":1,"281":1,"534":1,"623":1}}],["this",{"0":{"422":1},"2":{"1":1,"2":2,"4":1,"9":1,"10":1,"12":1,"14":1,"15":1,"17":2,"21":1,"25":1,"27":1,"29":2,"44":2,"48":3,"60":2,"61":3,"62":2,"63":1,"64":2,"65":1,"66":7,"67":1,"68":1,"70":1,"71":1,"73":1,"74":2,"75":2,"77":1,"78":2,"79":2,"81":1,"82":1,"83":1,"87":2,"88":1,"90":1,"95":2,"103":4,"104":4,"106":2,"108":3,"109":1,"111":1,"113":1,"114":1,"115":3,"129":5,"131":4,"132":8,"133":6,"134":3,"135":3,"137":1,"145":2,"146":2,"148":3,"149":2,"153":2,"158":1,"159":1,"161":2,"165":1,"169":5,"173":1,"177":2,"180":1,"181":1,"186":2,"190":2,"192":1,"194":2,"197":1,"201":2,"205":1,"206":5,"209":1,"210":1,"211":1,"212":1,"213":3,"215":1,"216":1,"222":1,"223":3,"224":2,"227":1,"229":1,"230":1,"231":3,"237":2,"238":3,"239":1,"242":3,"244":1,"245":1,"250":4,"253":1,"254":2,"255":1,"257":2,"258":2,"261":1,"269":2,"271":1,"274":2,"276":2,"281":1,"283":1,"285":2,"287":1,"288":1,"290":2,"292":1,"293":2,"295":5,"296":2,"297":2,"298":5,"299":2,"314":1,"317":1,"319":4,"322":3,"323":1,"324":2,"326":1,"327":1,"330":1,"331":2,"332":1,"333":3,"338":1,"339":1,"340":2,"343":1,"346":1,"351":1,"356":1,"360":1,"364":3,"365":2,"366":2,"369":1,"370":4,"373":3,"378":3,"380":1,"381":1,"384":1,"388":2,"389":1,"391":4,"394":1,"402":1,"403":3,"404":3,"405":3,"406":4,"410":10,"413":1,"414":1,"415":1,"416":1,"417":2,"425":1,"428":2,"429":2,"430":2,"432":1,"433":4,"434":1,"435":2,"436":2,"439":1,"447":1,"452":1,"457":1,"459":1,"461":2,"465":1,"467":1,"475":1,"477":1,"478":1,"483":1,"484":1,"488":1,"493":1,"500":3,"508":1,"510":2,"522":1,"524":1,"528":2,"530":2,"532":2,"533":1,"534":3,"538":1,"539":1,"544":2,"546":1,"547":2,"554":1,"563":3,"568":2,"572":7,"573":1,"576":4,"579":1,"580":1,"581":1,"583":2,"584":3,"586":2,"587":2,"589":2,"592":2,"593":1,"594":1,"596":5,"602":2,"605":2,"608":1,"609":1,"613":1,"615":1,"617":2,"619":1,"620":3,"621":1,"622":2,"630":1,"635":1,"636":1,"637":2,"641":1,"642":1,"643":2,"644":1,"646":7,"647":3,"649":1,"650":1,"651":2,"654":4,"655":1,"659":1,"660":2,"661":2,"663":1,"674":1,"675":1,"677":3,"678":2,"682":1,"684":1,"685":2,"688":1,"689":5,"693":1,"694":1,"696":1,"699":1,"704":1,"705":1,"706":1,"709":1,"710":1,"716":1,"720":2,"725":1,"728":1,"731":3,"733":1,"736":1,"739":1,"745":1,"747":1,"748":1}}],["thank",{"2":{"62":1}}],["thanks",{"2":{"57":1}}],["thanking",{"2":{"56":1}}],["than",{"2":{"42":1,"45":2,"87":1,"160":1,"167":1,"169":1,"178":1,"204":1,"216":1,"254":1,"288":1,"295":1,"390":1,"391":1,"401":1,"422":1,"442":2,"487":1,"534":1,"539":2,"571":2,"592":1,"709":1}}],["that",{"0":{"417":1},"2":{"7":1,"8":1,"9":2,"19":1,"29":1,"33":2,"41":2,"42":9,"43":3,"44":1,"45":21,"48":2,"51":1,"53":1,"54":1,"55":1,"58":2,"59":1,"60":1,"62":1,"66":1,"71":2,"83":3,"87":2,"89":1,"98":1,"99":1,"102":3,"103":3,"108":1,"115":3,"124":1,"125":4,"127":2,"128":1,"129":13,"131":2,"132":18,"133":18,"134":4,"135":2,"137":6,"145":1,"146":2,"147":13,"148":2,"151":1,"153":7,"157":2,"158":1,"159":3,"166":1,"169":2,"170":1,"171":1,"176":1,"178":2,"179":1,"180":3,"181":3,"182":1,"183":1,"187":1,"190":1,"192":2,"198":2,"201":1,"204":1,"206":1,"212":1,"213":1,"214":1,"216":3,"222":1,"225":1,"226":1,"231":3,"234":1,"237":1,"239":3,"244":1,"245":1,"246":2,"247":2,"248":1,"249":1,"250":2,"252":2,"253":1,"254":2,"256":1,"258":1,"267":1,"269":2,"270":2,"272":3,"274":2,"276":1,"277":1,"283":1,"285":1,"287":1,"288":4,"294":1,"295":1,"296":1,"297":2,"298":4,"300":2,"301":1,"302":1,"319":1,"320":1,"322":1,"324":1,"325":1,"327":5,"328":1,"329":1,"333":1,"343":1,"350":1,"360":1,"364":3,"365":2,"366":1,"370":1,"378":2,"380":1,"383":1,"385":1,"386":8,"387":3,"388":1,"389":5,"390":2,"391":2,"392":1,"393":1,"394":1,"395":2,"401":1,"402":3,"403":1,"404":5,"406":2,"410":6,"413":4,"415":1,"416":1,"417":8,"418":2,"420":1,"421":1,"422":1,"423":1,"424":6,"425":1,"426":2,"427":3,"428":2,"429":1,"430":6,"432":4,"433":9,"434":4,"435":5,"436":4,"439":1,"447":1,"452":1,"456":1,"464":2,"471":2,"477":1,"484":2,"495":1,"496":1,"497":1,"500":2,"506":1,"510":2,"515":1,"516":2,"517":3,"519":1,"522":1,"528":3,"530":6,"532":2,"533":6,"534":6,"535":1,"536":1,"539":2,"544":3,"545":4,"547":1,"553":1,"554":1,"556":1,"563":5,"564":2,"572":5,"575":1,"578":2,"581":1,"582":4,"583":1,"585":1,"587":1,"591":4,"593":2,"595":1,"596":1,"597":1,"600":1,"607":1,"609":1,"613":2,"619":1,"621":1,"629":1,"634":1,"635":1,"636":3,"647":1,"648":1,"650":1,"651":2,"654":1,"661":1,"662":1,"663":1,"664":1,"671":2,"673":1,"675":1,"677":1,"689":1,"691":2,"694":1,"698":1,"700":1,"705":1,"706":1,"709":3,"716":1,"720":1,"724":2,"734":1,"738":1,"739":1,"742":1}}],["thread",{"2":{"416":1}}],["threatening",{"2":{"9":1}}],["threshold",{"2":{"271":4,"402":1,"575":1,"576":2}}],["three",{"2":{"46":1,"162":1,"334":1,"430":2,"433":1}}],["throughout",{"2":{"45":1,"70":1,"378":1}}],["throughput",{"2":{"25":1,"102":2,"158":1,"167":1,"428":1,"433":2,"483":1}}],["through",{"2":{"14":1,"44":1,"45":1,"56":1,"63":1,"210":1,"279":1,"295":1,"378":1,"397":1,"403":1,"404":1,"454":1,"530":1,"571":1,"572":1,"579":1,"592":1,"629":1,"663":1,"693":1,"731":1,"744":1,"745":1,"748":1}}],["theta",{"2":{"271":9,"272":2,"274":1,"275":6,"276":8,"277":3}}],["then",{"2":{"115":1,"131":2,"132":1,"134":2,"137":1,"145":1,"146":3,"148":1,"149":2,"150":1,"152":1,"159":4,"169":2,"218":1,"226":1,"231":1,"245":2,"246":1,"250":4,"251":1,"267":1,"295":2,"302":1,"319":2,"330":1,"333":1,"343":1,"350":1,"358":1,"380":1,"386":3,"387":1,"388":1,"395":1,"403":2,"404":1,"405":1,"406":1,"410":2,"413":1,"427":2,"436":3,"438":1,"439":1,"501":1,"510":1,"514":1,"522":2,"528":1,"529":1,"530":3,"534":2,"535":2,"537":1,"539":1,"545":1,"560":2,"563":2,"569":3,"572":3,"583":1,"587":2,"592":1,"593":1,"595":1,"604":1,"622":1,"661":2,"689":1}}],["there",{"0":{"424":1},"2":{"49":1,"60":1,"63":1,"68":1,"114":1,"115":1,"137":1,"158":1,"173":1,"178":1,"179":1,"180":1,"230":1,"231":1,"257":1,"269":1,"285":1,"295":1,"307":1,"324":1,"332":1,"402":1,"417":1,"418":2,"423":1,"424":1,"427":1,"428":1,"433":1,"467":1,"469":1,"478":1,"481":1,"500":1,"516":1,"521":1,"528":1,"544":1,"563":3,"590":1,"621":1,"709":2,"717":1,"728":1,"729":1,"731":1}}],["therefore",{"2":{"133":1,"390":1,"392":1,"410":2,"413":1,"428":1,"472":1}}],["therefor",{"2":{"45":1}}],["therefrom",{"2":{"45":1}}],["thereof",{"2":{"45":2}}],["thereto",{"2":{"42":1,"45":2}}],["these",{"2":{"12":1,"14":1,"15":1,"41":7,"44":2,"45":9,"52":1,"53":1,"57":1,"58":1,"59":1,"63":1,"68":1,"98":1,"129":2,"132":1,"133":2,"145":1,"146":2,"149":1,"151":1,"152":1,"159":1,"162":1,"178":1,"180":1,"204":1,"238":2,"257":1,"269":1,"282":1,"288":1,"319":2,"328":2,"334":1,"364":2,"391":1,"403":2,"405":1,"427":1,"433":2,"435":2,"464":1,"476":1,"485":1,"521":1,"527":1,"543":1,"564":1,"572":2,"581":1,"583":1,"622":1,"636":1,"645":1,"647":1,"659":1,"661":2,"682":1,"708":1,"709":1,"716":2,"724":1}}],["they",{"2":{"8":1,"9":1,"12":1,"41":1,"42":2,"45":2,"50":1,"58":1,"62":4,"63":2,"64":1,"65":1,"83":1,"137":1,"145":1,"146":1,"152":1,"171":1,"178":1,"179":1,"181":1,"274":1,"286":1,"298":2,"327":1,"391":1,"395":2,"402":1,"404":1,"406":3,"415":2,"417":2,"418":1,"424":1,"425":2,"428":1,"433":1,"472":1,"516":1,"534":1,"535":1,"539":1,"564":1,"675":1,"688":1,"689":1,"691":1,"694":2,"716":1,"727":1,"734":1,"747":1,"749":1}}],["their",{"2":{"8":1,"42":1,"45":1,"46":1,"54":1,"56":1,"58":2,"60":2,"61":2,"62":6,"63":3,"64":2,"65":2,"66":1,"71":1,"83":1,"131":1,"161":1,"168":1,"169":1,"170":1,"177":1,"179":2,"180":2,"181":3,"185":1,"225":1,"238":1,"242":2,"249":1,"289":1,"293":1,"294":1,"295":1,"297":1,"300":1,"308":1,"310":1,"314":1,"317":1,"370":1,"389":1,"391":4,"402":1,"406":1,"420":1,"424":1,"433":1,"434":2,"444":1,"452":3,"453":2,"471":1,"472":1,"477":1,"535":1,"572":2,"587":1,"618":1,"622":1,"675":1,"676":2,"687":1,"689":3,"716":1,"720":2,"734":1,"749":1}}],["theme",{"2":{"61":2}}],["them",{"2":{"2":1,"45":1,"56":1,"58":1,"62":4,"63":1,"64":3,"65":3,"128":1,"144":1,"149":3,"151":1,"152":2,"157":1,"169":1,"178":1,"242":2,"294":1,"295":1,"312":1,"317":1,"388":1,"392":1,"426":1,"441":1,"461":1,"464":1,"475":1,"484":1,"489":1,"512":1,"516":2,"528":1,"529":1,"538":1,"539":1,"544":1,"591":1,"593":1,"622":1,"688":1,"689":1,"710":1,"720":1,"724":1}}],["the",{"0":{"1":1,"30":1,"54":1,"55":1,"56":1,"87":1,"88":1,"89":1,"97":1,"128":1,"137":1,"144":1,"147":2,"155":1,"156":1,"169":1,"188":1,"189":1,"190":1,"191":2,"198":1,"199":1,"200":2,"214":1,"242":1,"243":1,"244":1,"246":1,"247":1,"249":1,"255":1,"256":1,"278":1,"290":1,"291":1,"293":1,"334":1,"337":1,"357":2,"361":1,"362":1,"365":1,"372":1,"373":1,"374":2,"375":1,"376":1,"383":1,"387":1,"406":1,"408":1,"409":1,"410":1,"414":1,"417":1,"420":1,"421":1,"435":1,"484":1,"491":1,"492":1,"494":1,"495":1,"497":1,"499":1,"501":1,"525":1,"526":1,"529":1,"530":1,"535":1,"537":1,"541":1,"542":1,"545":1,"550":1,"551":1,"553":1,"554":1,"555":1,"556":1,"567":1,"592":1,"594":1,"595":2,"611":1,"613":1,"624":1,"630":1,"632":1,"633":1,"634":1,"636":1,"645":1,"655":1,"656":1,"667":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"688":1,"689":1,"692":1,"698":1,"699":1,"702":1,"732":1,"742":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"145":1,"146":1,"148":2,"149":2,"150":2,"151":2,"152":2,"153":2,"189":1,"190":1,"191":1,"192":1,"215":1,"216":1,"217":1,"218":1,"219":1,"248":1,"291":1,"384":1,"385":1,"386":1,"387":1,"436":1,"485":1,"486":1,"487":1,"488":1,"496":1,"498":1,"499":1,"500":1,"501":1,"536":1,"537":1,"552":1,"553":1,"554":1,"555":2,"556":1,"631":1,"632":1,"633":1,"634":1,"635":1,"670":1,"671":1,"699":1,"700":1,"701":1,"702":1,"703":1,"733":1,"734":1,"735":1},"2":{"0":2,"1":2,"2":3,"3":2,"4":2,"5":4,"8":4,"9":1,"10":1,"11":3,"12":1,"13":4,"14":2,"15":3,"16":1,"17":2,"21":3,"24":1,"25":2,"29":3,"31":2,"33":3,"41":24,"42":25,"43":7,"44":15,"45":105,"46":6,"48":7,"49":5,"51":3,"52":5,"53":1,"54":8,"55":4,"56":6,"57":2,"58":12,"59":4,"60":13,"61":15,"62":14,"63":9,"64":8,"65":7,"66":15,"67":2,"68":5,"70":5,"71":5,"72":2,"73":1,"74":2,"75":3,"77":4,"78":3,"79":3,"80":4,"81":1,"82":2,"83":15,"84":1,"86":12,"87":9,"88":7,"97":4,"98":12,"99":1,"100":1,"102":11,"103":9,"104":17,"105":1,"108":6,"109":3,"111":3,"113":2,"114":10,"115":27,"117":3,"118":4,"119":7,"123":1,"124":3,"125":7,"126":2,"127":4,"128":4,"129":34,"131":2,"132":54,"133":37,"134":25,"135":17,"137":34,"139":1,"140":2,"141":4,"143":2,"144":1,"145":15,"146":18,"147":58,"148":8,"149":50,"150":11,"151":11,"152":26,"153":47,"154":7,"157":6,"158":6,"159":24,"160":9,"161":7,"162":2,"163":3,"165":1,"166":4,"167":3,"169":20,"171":4,"173":4,"174":1,"175":1,"176":1,"177":4,"178":4,"179":6,"180":5,"181":6,"186":2,"187":1,"189":2,"190":10,"191":1,"192":5,"194":4,"196":5,"197":15,"198":4,"199":3,"200":7,"201":3,"202":3,"203":1,"204":7,"205":4,"206":8,"207":1,"208":1,"211":3,"212":9,"213":3,"214":4,"215":4,"216":13,"217":1,"218":1,"221":1,"222":13,"223":11,"224":2,"225":2,"226":3,"227":1,"228":2,"229":2,"230":10,"231":27,"233":3,"234":4,"235":7,"236":1,"237":6,"238":2,"239":1,"242":29,"244":3,"245":10,"246":21,"247":9,"248":6,"249":4,"250":29,"251":3,"252":14,"254":23,"255":7,"258":3,"261":1,"262":2,"263":2,"264":2,"266":1,"267":4,"268":2,"269":5,"270":3,"271":5,"272":4,"273":5,"274":2,"275":2,"276":3,"277":2,"278":1,"279":5,"280":3,"281":1,"283":5,"284":2,"285":7,"286":2,"287":2,"288":5,"289":1,"290":1,"292":1,"293":9,"294":2,"295":15,"296":3,"297":1,"298":22,"299":3,"300":2,"301":2,"302":3,"303":1,"305":2,"306":3,"307":5,"308":6,"309":1,"310":4,"311":3,"312":5,"313":1,"314":3,"316":1,"317":5,"318":1,"319":6,"320":4,"322":15,"323":2,"324":10,"325":16,"326":2,"327":16,"328":11,"329":8,"330":6,"331":4,"332":21,"333":19,"334":10,"336":4,"337":6,"338":3,"340":4,"343":4,"344":1,"345":3,"346":4,"348":1,"349":2,"350":2,"354":3,"356":3,"357":5,"358":4,"359":11,"360":2,"361":8,"362":2,"363":2,"364":35,"365":9,"366":1,"367":2,"368":1,"369":4,"370":6,"371":2,"373":7,"374":5,"375":2,"376":2,"377":1,"378":7,"379":1,"380":19,"381":5,"382":1,"383":5,"384":3,"385":3,"386":31,"387":15,"388":3,"389":5,"390":4,"391":10,"392":6,"393":2,"396":2,"397":2,"398":2,"399":2,"401":1,"402":10,"403":26,"404":43,"405":6,"406":13,"409":1,"410":48,"411":3,"413":14,"414":9,"415":2,"416":2,"417":4,"418":7,"419":2,"420":3,"422":5,"423":6,"425":2,"426":4,"427":18,"428":9,"429":17,"430":32,"432":26,"433":24,"434":10,"435":47,"436":32,"438":16,"439":3,"441":3,"442":9,"444":1,"446":3,"447":10,"449":1,"451":2,"452":2,"453":1,"454":2,"456":1,"457":2,"458":1,"459":4,"461":8,"462":4,"465":5,"466":3,"468":1,"471":2,"472":3,"475":5,"476":1,"477":7,"479":2,"480":1,"483":2,"484":10,"485":2,"487":7,"488":3,"489":2,"491":2,"492":6,"493":3,"494":2,"495":2,"496":1,"497":6,"499":2,"500":6,"501":12,"502":7,"503":8,"504":8,"505":8,"506":7,"507":10,"508":12,"509":4,"510":10,"511":5,"512":14,"513":6,"514":9,"515":13,"516":11,"517":12,"518":1,"519":5,"520":3,"521":11,"522":25,"524":3,"525":2,"526":6,"527":9,"528":8,"529":4,"530":59,"532":2,"533":4,"534":19,"535":13,"536":9,"537":3,"538":13,"539":19,"541":3,"542":6,"543":8,"544":6,"545":26,"546":3,"547":13,"548":2,"549":1,"550":2,"552":3,"553":12,"554":9,"555":5,"556":3,"557":10,"558":3,"560":6,"563":22,"564":9,"565":1,"566":2,"567":1,"568":3,"569":3,"570":1,"571":7,"572":26,"573":4,"574":5,"575":3,"576":14,"578":2,"580":16,"581":10,"582":6,"583":2,"584":2,"585":6,"586":5,"587":11,"589":3,"590":2,"591":8,"592":4,"593":4,"594":1,"595":8,"596":15,"597":2,"598":3,"601":2,"602":3,"604":5,"605":3,"607":5,"608":6,"609":4,"610":1,"611":1,"612":1,"613":10,"615":1,"617":1,"618":1,"619":3,"620":5,"621":6,"622":10,"623":5,"624":4,"626":1,"627":4,"628":1,"629":10,"630":3,"631":1,"632":6,"633":1,"634":3,"636":12,"637":1,"638":1,"639":1,"642":1,"643":5,"644":3,"645":1,"646":6,"647":10,"648":1,"649":2,"650":1,"651":8,"653":9,"654":7,"655":9,"656":2,"659":3,"661":5,"662":4,"663":1,"664":2,"665":2,"666":1,"667":1,"668":1,"670":1,"671":16,"672":5,"673":2,"674":4,"675":7,"676":8,"677":11,"678":1,"680":1,"681":1,"683":2,"684":5,"685":4,"686":2,"687":6,"688":6,"689":10,"690":4,"691":6,"692":3,"694":3,"695":1,"696":1,"697":1,"698":4,"699":12,"700":10,"701":3,"702":5,"703":2,"705":6,"706":2,"708":2,"709":16,"710":6,"716":7,"718":1,"719":1,"720":10,"722":4,"725":5,"726":3,"727":2,"728":2,"731":7,"733":3,"734":3,"736":1,"737":1,"738":3,"739":4,"741":1,"742":1,"744":2,"745":4,"746":5,"747":2,"748":1,"749":1}}],["toggleview",{"2":{"250":6}}],["together",{"2":{"70":1,"364":1,"427":1,"433":1,"435":1,"436":1,"572":1}}],["tostring",{"2":{"250":4}}],["tomldiscard",{"2":{"647":1}}],["tomlexternal",{"2":{"644":1}}],["tomlsed",{"2":{"643":1}}],["tomlseeds=$",{"2":{"613":2}}],["tomlrpc",{"2":{"622":1}}],["tomlpruning",{"2":{"619":1,"620":1}}],["tomlpersistent",{"2":{"613":3}}],["tomlmin",{"2":{"617":1}}],["tomlindexer",{"2":{"616":1,"618":1,"646":1}}],["toml`",{"2":{"613":2}}],["toml$home",{"2":{"370":3}}],["tomlvim",{"2":{"271":1}}],["toml",{"0":{"206":1,"599":1,"601":1},"1":{"600":1,"601":1,"602":2,"603":2,"604":2,"605":2,"606":2,"607":2},"2":{"206":8,"271":3,"273":1,"277":1,"370":3,"522":1,"530":4,"535":1,"545":4,"571":1,"572":1,"601":4,"613":7,"615":1,"617":1,"618":1,"619":1,"620":2,"622":1,"643":2,"644":1,"646":2,"647":2,"690":1}}],["today",{"2":{"163":1,"239":1,"568":2}}],["todo",{"2":{"108":1,"385":2,"410":6}}],["token=",{"2":{"383":2}}],["token=$",{"2":{"329":4,"331":2,"381":2}}],["tokenecho",{"2":{"381":1}}],["tokencelestia",{"2":{"327":1}}],["token",{"0":{"280":1,"329":1,"331":1,"456":1,"562":1},"2":{"102":1,"258":1,"279":1,"280":3,"327":7,"328":9,"329":6,"330":3,"331":2,"332":4,"336":1,"381":2,"383":2,"386":3,"452":3,"562":1,"564":1}}],["tokens",{"0":{"263":1,"305":1,"306":1,"566":1,"701":1},"1":{"306":1},"2":{"8":1,"41":2,"44":1,"61":1,"160":1,"197":1,"212":2,"258":1,"263":1,"264":1,"268":1,"269":1,"272":2,"280":1,"305":1,"325":2,"343":1,"350":2,"380":1,"446":1,"447":6,"467":2,"478":2,"479":1,"554":3,"562":1,"566":2,"629":1,"636":1,"671":3,"700":1,"701":1,"728":3}}],["totaldifficulty",{"2":{"360":2}}],["total",{"2":{"87":1,"145":2,"146":2,"152":3,"200":4,"254":1,"340":4,"402":1,"403":2,"404":6,"442":1,"446":1,"449":1,"534":1,"709":5}}],["topology",{"2":{"622":1}}],["top",{"2":{"83":1,"190":1,"226":1,"266":1,"301":1,"302":1,"308":1,"392":1,"432":1,"433":1,"712":1,"713":1,"714":1,"717":1,"729":1}}],["topic",{"2":{"54":1,"60":1,"61":1,"422":1,"563":1}}],["topics",{"2":{"2":1,"54":1,"61":2,"66":2,"162":1}}],["touch",{"2":{"51":1,"83":1}}],["too",{"2":{"688":2}}],["toolings",{"2":{"587":1}}],["toolkit",{"0":{"75":1},"1":{"76":1,"77":1,"78":1,"79":1,"80":1,"81":1},"2":{"74":1,"75":1}}],["tools",{"2":{"48":1,"50":1,"169":1,"295":1}}],["tool",{"2":{"42":1,"73":1,"247":1,"365":1,"557":2,"570":1,"647":1}}],["took",{"2":{"42":1}}],["towards",{"2":{"62":1}}],["toward",{"2":{"8":1,"16":1}}],["to",{"0":{"77":1,"101":1,"106":1,"110":1,"134":1,"140":1,"141":1,"147":1,"162":1,"186":1,"223":1,"246":1,"251":1,"258":1,"288":1,"289":1,"298":1,"302":1,"324":1,"343":1,"367":1,"377":1,"400":1,"410":1,"411":1,"425":1,"490":1,"498":1,"523":1,"533":1,"540":1,"568":1,"595":1,"615":1,"629":1,"648":1,"731":1},"1":{"102":1,"103":1,"104":1,"105":1,"107":1,"108":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"163":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"499":1,"500":1,"501":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"541":1,"542":1,"543":1,"544":1,"545":1,"616":1,"617":1,"649":1,"650":1},"2":{"0":2,"1":1,"2":4,"5":2,"7":3,"8":3,"9":3,"11":2,"14":1,"15":1,"17":1,"19":1,"21":3,"22":1,"25":4,"27":2,"29":1,"33":4,"41":9,"42":20,"43":5,"44":12,"45":51,"46":3,"48":4,"49":3,"50":1,"53":3,"54":7,"55":1,"56":3,"57":2,"58":7,"59":4,"60":8,"61":14,"62":14,"63":10,"64":7,"65":14,"66":13,"67":1,"68":3,"70":4,"71":4,"72":2,"73":2,"74":2,"75":4,"77":2,"78":1,"79":1,"80":2,"81":1,"82":1,"83":6,"84":1,"85":1,"87":7,"88":2,"90":1,"97":2,"98":4,"99":3,"100":1,"102":8,"103":4,"104":12,"105":1,"106":1,"107":1,"108":4,"109":3,"111":3,"114":3,"115":4,"117":1,"118":5,"119":4,"120":4,"123":1,"125":6,"126":2,"127":1,"128":4,"129":21,"131":6,"132":23,"133":21,"134":8,"135":8,"137":13,"140":2,"141":1,"143":3,"144":2,"145":12,"146":12,"147":27,"148":4,"149":11,"150":2,"151":1,"152":7,"153":18,"154":1,"157":3,"158":4,"159":10,"160":5,"165":1,"166":1,"167":4,"168":2,"169":7,"170":2,"171":2,"173":3,"174":2,"175":2,"177":4,"178":5,"179":6,"180":6,"181":4,"182":1,"183":1,"186":3,"187":1,"190":1,"191":1,"192":3,"193":1,"194":2,"196":3,"197":8,"198":1,"200":1,"201":2,"202":3,"203":1,"204":6,"205":2,"206":3,"207":1,"208":2,"210":1,"211":2,"212":6,"213":1,"214":1,"215":1,"216":8,"218":1,"221":1,"222":7,"223":4,"224":1,"225":2,"226":3,"227":1,"230":3,"231":4,"233":2,"234":5,"235":4,"236":3,"237":7,"238":7,"240":3,"241":1,"242":5,"243":1,"244":3,"245":3,"246":12,"247":1,"248":1,"249":6,"250":15,"251":2,"252":11,"253":1,"254":9,"255":2,"257":1,"258":2,"261":1,"266":2,"267":1,"269":3,"270":2,"271":2,"272":7,"273":1,"274":2,"275":2,"276":4,"277":1,"279":2,"280":4,"282":2,"283":3,"285":2,"286":1,"288":3,"289":2,"290":2,"293":5,"294":2,"295":9,"296":1,"297":3,"298":14,"299":1,"300":3,"301":1,"302":4,"305":2,"306":6,"308":2,"310":3,"311":1,"312":4,"314":3,"316":2,"317":3,"319":3,"320":3,"322":2,"324":7,"325":8,"326":2,"327":9,"328":3,"329":5,"330":6,"331":1,"332":8,"333":9,"334":4,"336":1,"338":1,"339":1,"343":1,"344":1,"345":2,"346":2,"348":2,"350":1,"351":1,"354":1,"355":1,"357":1,"358":2,"359":3,"361":5,"362":1,"363":3,"364":11,"365":4,"366":1,"367":5,"368":2,"369":3,"370":14,"371":2,"372":1,"373":4,"374":1,"375":1,"376":1,"377":2,"378":8,"379":1,"380":10,"381":1,"382":5,"383":4,"384":2,"385":1,"386":15,"387":6,"388":5,"389":3,"390":4,"391":18,"392":7,"393":1,"395":3,"396":2,"397":2,"398":1,"399":1,"400":2,"402":3,"403":4,"404":9,"406":8,"410":26,"413":7,"414":3,"415":4,"416":2,"417":3,"418":7,"419":1,"420":5,"423":7,"424":4,"426":7,"427":4,"428":3,"429":6,"430":6,"432":9,"433":8,"434":8,"435":11,"436":8,"438":6,"441":3,"442":4,"444":3,"445":3,"446":2,"447":8,"451":1,"452":5,"453":2,"454":1,"459":1,"461":18,"462":4,"464":2,"465":2,"466":3,"467":1,"472":3,"475":9,"476":2,"477":7,"478":1,"483":2,"484":1,"485":1,"487":8,"489":2,"491":1,"492":2,"493":1,"494":2,"497":1,"499":1,"500":4,"501":5,"503":1,"504":1,"505":1,"506":2,"507":2,"508":4,"509":1,"510":10,"511":1,"512":4,"513":2,"514":3,"515":4,"516":5,"517":7,"519":2,"521":5,"522":15,"524":6,"525":1,"526":2,"527":4,"528":5,"529":4,"530":20,"532":3,"533":2,"534":14,"535":4,"536":5,"537":2,"538":8,"539":12,"541":1,"542":2,"543":4,"544":4,"545":10,"546":1,"547":5,"552":1,"553":5,"554":7,"555":1,"557":6,"560":4,"561":1,"562":6,"563":12,"564":10,"566":2,"570":2,"571":6,"572":23,"573":3,"574":4,"575":2,"576":8,"577":2,"578":1,"580":5,"581":4,"582":6,"583":1,"585":4,"586":10,"587":6,"589":4,"590":2,"591":6,"592":3,"593":3,"595":4,"596":1,"597":2,"598":2,"602":1,"604":4,"605":3,"607":1,"608":3,"609":4,"613":7,"615":2,"618":2,"619":2,"620":3,"621":2,"622":3,"623":1,"624":4,"626":1,"629":7,"630":4,"632":4,"635":2,"636":10,"637":5,"638":3,"639":1,"642":2,"643":3,"644":2,"645":1,"646":12,"647":9,"648":1,"649":3,"650":1,"651":10,"653":5,"654":9,"655":6,"656":2,"659":3,"660":1,"661":1,"662":3,"663":1,"664":1,"671":12,"672":1,"673":1,"674":2,"675":5,"676":6,"677":9,"678":4,"679":1,"680":1,"681":1,"682":2,"685":1,"687":3,"688":1,"689":4,"690":6,"691":2,"692":3,"693":1,"694":1,"699":10,"700":2,"701":2,"702":1,"705":2,"706":2,"708":1,"709":2,"710":10,"716":8,"720":21,"722":4,"724":2,"725":2,"726":3,"727":1,"728":1,"731":4,"733":1,"734":6,"736":2,"737":4,"738":2,"739":9,"741":1,"742":2,"744":1,"745":1,"746":1,"749":2}}]],"serializationVersion":2}';export{e as default}; diff --git a/pr-preview/pr-1358/assets/chunks/@localSearchIndexroot.a0ab7312.js b/pr-preview/pr-1358/assets/chunks/@localSearchIndexroot.a0ab7312.js deleted file mode 100644 index 757b82cee8..0000000000 --- a/pr-preview/pr-1358/assets/chunks/@localSearchIndexroot.a0ab7312.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":750,"nextId":750,"documentIds":{"0":"/pr-preview/pr-1358/README#celestia-documentation-site","1":"/pr-preview/pr-1358/README#building-the-site","2":"/pr-preview/pr-1358/README#contribution-guidelines","3":"/pr-preview/pr-1358/README#directory-structure","4":"/pr-preview/pr-1358/README#feedback-suggestions","5":"/pr-preview/pr-1358/community/calendar#community-calendar","6":"/pr-preview/pr-1358/community/coc#celestia-org-code-of-conduct","7":"/pr-preview/pr-1358/community/coc#our-pledge","8":"/pr-preview/pr-1358/community/coc#our-standards","9":"/pr-preview/pr-1358/community/coc#enforcement-responsibilities","10":"/pr-preview/pr-1358/community/coc#scope","11":"/pr-preview/pr-1358/community/coc#enforcement","12":"/pr-preview/pr-1358/community/coc#enforcement-guidelines","13":"/pr-preview/pr-1358/community/coc#_1-correction","14":"/pr-preview/pr-1358/community/coc#_2-warning","15":"/pr-preview/pr-1358/community/coc#_3-temporary-ban","16":"/pr-preview/pr-1358/community/coc#_4-permanent-ban","17":"/pr-preview/pr-1358/community/coc#attribution","18":"/pr-preview/pr-1358/community/cohort-one-content#cohort-one-content-calendar","19":"/pr-preview/pr-1358/community/cohort-one-content#month-1-learning-and-exploring-start-building-whenever-you-re-ready","20":"/pr-preview/pr-1358/community/cohort-one-content#week-1-26-september","21":"/pr-preview/pr-1358/community/cohort-one-content#week-2-3-october","22":"/pr-preview/pr-1358/community/cohort-one-content#week-3-10-october","23":"/pr-preview/pr-1358/community/cohort-one-content#week-4-17-october","24":"/pr-preview/pr-1358/community/cohort-one-content#month-2-designing-implementing-a-basic-prototype","25":"/pr-preview/pr-1358/community/cohort-one-content#week-5-24-october","26":"/pr-preview/pr-1358/community/cohort-one-content#week-6-31-october","27":"/pr-preview/pr-1358/community/cohort-one-content#week-7-7-november","28":"/pr-preview/pr-1358/community/cohort-one-content#week-8-14-november","29":"/pr-preview/pr-1358/community/cohort-one-content#week-9-21-november","30":"/pr-preview/pr-1358/community/cohort-one-content#month-3-build-out-the-prototype-into-a-functional-product","31":"/pr-preview/pr-1358/community/cohort-one-content#week-10-28-november","32":"/pr-preview/pr-1358/community/cohort-one-content#week-11-5-december","33":"/pr-preview/pr-1358/community/cohort-one-content#dec-12-week-12","34":"/pr-preview/pr-1358/community/cohort-one-content#dec-19-week-13-no-scheduled-events-meet-with-mentors","35":"/pr-preview/pr-1358/community/cohort-one-content#dec-26-week-14-no-scheduled-events-holiday-break-🎉","36":"/pr-preview/pr-1358/community/cohort-one-content#jan-2-week-15-no-scheduled-events-meet-with-mentors","37":"/pr-preview/pr-1358/community/cohort-one-content#jan-9-week-16-submissions-due","38":"/pr-preview/pr-1358/community/cohort-one-content#project-repositories","39":"/pr-preview/pr-1358/community/cohort-one-content#individual-fellows","40":"/pr-preview/pr-1358/community/cohort-one-content#team-fellows","41":"/pr-preview/pr-1358/community/itn-tos#supplemental-incentivized-testnet-terms","42":"/pr-preview/pr-1358/community/itn-tos#_1-general-terms","43":"/pr-preview/pr-1358/community/itn-tos#_2-taxes","44":"/pr-preview/pr-1358/community/itn-tos#_3-supplemental-privacy-information","45":"/pr-preview/pr-1358/community/itn-tos#_4-certain-additional-representations","46":"/pr-preview/pr-1358/community/modular-fellows#modular-fellows","47":"/pr-preview/pr-1358/community/modular-fellows#overview","48":"/pr-preview/pr-1358/community/modular-fellows#milestones","49":"/pr-preview/pr-1358/community/modular-fellows#project-ideas","50":"/pr-preview/pr-1358/community/modular-fellows#support","51":"/pr-preview/pr-1358/community/modular-fellows#continuation","52":"/pr-preview/pr-1358/community/modular-fellows#modular-mentors","53":"/pr-preview/pr-1358/community/modular-meetup-guide#modular-meetup-guide","54":"/pr-preview/pr-1358/community/modular-meetup-guide#before-the-meetup","55":"/pr-preview/pr-1358/community/modular-meetup-guide#during-the-meetup","56":"/pr-preview/pr-1358/community/modular-meetup-guide#after-the-meetup","57":"/pr-preview/pr-1358/community/modular-meetup-guide#logistics-and-guidance","58":"/pr-preview/pr-1358/community/modular-meetup-guide#venue","59":"/pr-preview/pr-1358/community/modular-meetup-guide#catering-and-refreshments","60":"/pr-preview/pr-1358/community/modular-meetup-guide#audience","61":"/pr-preview/pr-1358/community/modular-meetup-guide#speakers","62":"/pr-preview/pr-1358/community/modular-meetup-guide#sponsors","63":"/pr-preview/pr-1358/community/modular-meetup-guide#communications-and-marketing","64":"/pr-preview/pr-1358/community/modular-meetup-guide#recording","65":"/pr-preview/pr-1358/community/modular-meetup-guide#utilizing-meetup-com-platform","66":"/pr-preview/pr-1358/community/modular-meetup-guide#onboarding-questions-for-community-members-joining-a-modular-meetup","67":"/pr-preview/pr-1358/community/modular-meetup-intro#celestia-modular-meetup-program","68":"/pr-preview/pr-1358/community/modular-meetup-intro#program-description","69":"/pr-preview/pr-1358/community/modular-meetup-intro#important-info","70":"/pr-preview/pr-1358/community/modular-meetup-intro#celestia-org-community-code-of-conduct","71":"/pr-preview/pr-1358/community/modular-meetup-intro#signup-form","72":"/pr-preview/pr-1358/community/modular-meetup-intro#emails","73":"/pr-preview/pr-1358/community/modular-meetup-intro#discord","74":"/pr-preview/pr-1358/community/modular-meetup-intro#materials","75":"/pr-preview/pr-1358/community/modular-meetup-toolkit#modular-meetup-toolkit","76":"/pr-preview/pr-1358/community/modular-meetup-toolkit#celestia-branding-guidelines","77":"/pr-preview/pr-1358/community/modular-meetup-toolkit#sample-introduction-to-modularity-workshop-presentation","78":"/pr-preview/pr-1358/community/modular-meetup-toolkit#sample-run-a-celestia-light-node-workshop-presentation","79":"/pr-preview/pr-1358/community/modular-meetup-toolkit#sample-deploy-a-sovereign-rollup-workshop-presentation","80":"/pr-preview/pr-1358/community/modular-meetup-toolkit#sample-modular-meetup-introduction-workshop-presentation","81":"/pr-preview/pr-1358/community/modular-meetup-toolkit#swag-logistics","82":"/pr-preview/pr-1358/community/overview#community-overview","83":"/pr-preview/pr-1358/community/speaker-list#speaker-list","84":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#deploy-a-dapp-on-your-arbitrum-rollup-devnet","85":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#dependencies","86":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#setup-and-contract-deployment","87":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#interact-with-the-contract","88":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#update-the-frontend","89":"/pr-preview/pr-1358/developers/arbitrum-dapp-deploy#interact-with-the-frontend","90":"/pr-preview/pr-1358/developers/arbitrum-deploy#deploy-an-arbitrum-rollup-devnet","91":"/pr-preview/pr-1358/developers/arbitrum-deploy#dependencies","92":"/pr-preview/pr-1358/developers/arbitrum-deploy#general","93":"/pr-preview/pr-1358/developers/arbitrum-deploy#rust","94":"/pr-preview/pr-1358/developers/arbitrum-deploy#golang","95":"/pr-preview/pr-1358/developers/arbitrum-deploy#node","96":"/pr-preview/pr-1358/developers/arbitrum-deploy#other-dependencies","97":"/pr-preview/pr-1358/developers/arbitrum-deploy#clone-the-repository","98":"/pr-preview/pr-1358/developers/arbitrum-deploy#installing-nitro-from-source","99":"/pr-preview/pr-1358/developers/arbitrum-deploy#validating-with-wasm","100":"/pr-preview/pr-1358/developers/arbitrum-deploy#next-steps","101":"/pr-preview/pr-1358/developers/arbitrum-integration#introduction-to-arbitrum-rollups-with-celestia-as-da","102":"/pr-preview/pr-1358/developers/arbitrum-integration#overview","103":"/pr-preview/pr-1358/developers/arbitrum-integration#blobstream","104":"/pr-preview/pr-1358/developers/arbitrum-integration#ethereum-fallback-mechanism-in-nitro","105":"/pr-preview/pr-1358/developers/arbitrum-integration#next-steps","106":"/pr-preview/pr-1358/developers/arbitrum-mocha#deploy-an-arbitrum-rollup-to-mocha-testnet","107":"/pr-preview/pr-1358/developers/arbitrum-mocha#dependencies","108":"/pr-preview/pr-1358/developers/arbitrum-mocha#setting-up-your-light-node","109":"/pr-preview/pr-1358/developers/arbitrum-mocha#run-your-nitro-rollup-on-mocha","110":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#deploy-a-smart-contract-to-your-arbitrum-rollup","111":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#overview","112":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#prerequisites","113":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#setup","114":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#create-your-smart-contract","115":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#test-your-smart-contract","116":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#deploying-your-smart-contract","117":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#funded-accounts","118":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#using-our-arbitrum-devnet","119":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#interacting-with-your-smart-contract","120":"/pr-preview/pr-1358/developers/arbitrum-smart-contract#next-steps","121":"/pr-preview/pr-1358/developers/blobstream-contracts#integrate-with-blobstream-contracts","122":"/pr-preview/pr-1358/developers/blobstream-contracts#getting-started","123":"/pr-preview/pr-1358/developers/blobstream-contracts#prerequisites","124":"/pr-preview/pr-1358/developers/blobstream-contracts#installing-blobstream-contracts","125":"/pr-preview/pr-1358/developers/blobstream-contracts#example-usage","126":"/pr-preview/pr-1358/developers/blobstream-contracts#data-structures","127":"/pr-preview/pr-1358/developers/blobstream-contracts#interface","128":"/pr-preview/pr-1358/developers/blobstream-contracts#querying-the-proof","129":"/pr-preview/pr-1358/developers/blobstream-contracts#verifying-data-inclusion-for-fraud-proofs","130":"/pr-preview/pr-1358/developers/blobstream-offchain#integrate-with-blobstream-client","131":"/pr-preview/pr-1358/developers/blobstream-offchain#blobstream-demo-rollup","132":"/pr-preview/pr-1358/developers/blobstream-offchain#defining-a-chain","133":"/pr-preview/pr-1358/developers/blobstream-offchain#rollup-sequencer","134":"/pr-preview/pr-1358/developers/blobstream-offchain#committing-to-data","135":"/pr-preview/pr-1358/developers/blobstream-offchain#creating-blocks","136":"/pr-preview/pr-1358/developers/blobstream-offchain#rollup-full-node","137":"/pr-preview/pr-1358/developers/blobstream-offchain#downloading-the-block","138":"/pr-preview/pr-1358/developers/blobstream-offchain#more-documentation","139":"/pr-preview/pr-1358/developers/blobstream-offchain#proving-inclusion-via-blobstream","140":"/pr-preview/pr-1358/developers/blobstream-offchain#submitting-block-data-to-celestia-via-light-node","141":"/pr-preview/pr-1358/developers/blobstream-offchain#posting-headers-to-ethereum","142":"/pr-preview/pr-1358/developers/blobstream-proof-queries#blobstream-proofs-queries","143":"/pr-preview/pr-1358/developers/blobstream-proof-queries#prerequisites","144":"/pr-preview/pr-1358/developers/blobstream-proof-queries#querying-the-proofs","145":"/pr-preview/pr-1358/developers/blobstream-proof-queries#_1-data-root-inclusion-proof","146":"/pr-preview/pr-1358/developers/blobstream-proof-queries#_2-transaction-inclusion-proof","147":"/pr-preview/pr-1358/developers/blobstream-proof-queries#converting-the-proofs-to-be-usable-in-the-daverifier-contract","148":"/pr-preview/pr-1358/developers/blobstream-proof-queries#data","149":"/pr-preview/pr-1358/developers/blobstream-proof-queries#shareproofs","150":"/pr-preview/pr-1358/developers/blobstream-proof-queries#namespace","151":"/pr-preview/pr-1358/developers/blobstream-proof-queries#rowroots","152":"/pr-preview/pr-1358/developers/blobstream-proof-queries#rowproofs","153":"/pr-preview/pr-1358/developers/blobstream-proof-queries#attestationproof","154":"/pr-preview/pr-1358/developers/blobstream-proof-queries#high-level-diagrams","155":"/pr-preview/pr-1358/developers/blobstream-proof-queries#the-celestia-square","156":"/pr-preview/pr-1358/developers/blobstream-proof-queries#the-commitment-scheme","157":"/pr-preview/pr-1358/developers/blobstream-proof-queries#conclusion","158":"/pr-preview/pr-1358/developers/blobstream#integrate-with-blobstream","159":"/pr-preview/pr-1358/developers/blobstream#overview","160":"/pr-preview/pr-1358/developers/blobstream#how-blobstream-works","161":"/pr-preview/pr-1358/developers/blobstream#events-and-messages-relayed","162":"/pr-preview/pr-1358/developers/blobstream#how-to-integrate","163":"/pr-preview/pr-1358/developers/blobstream#deployed-contracts","164":"/pr-preview/pr-1358/developers/blobstream#blobstream-vs-data-availability-committees-dacs","165":"/pr-preview/pr-1358/developers/blobstream#decentralization-and-security","166":"/pr-preview/pr-1358/developers/blobstream#mechanism-of-verification","167":"/pr-preview/pr-1358/developers/blobstream#flexibility-and-scalability","168":"/pr-preview/pr-1358/developers/bubs-testnet#bubs-testnet","169":"/pr-preview/pr-1358/developers/bubs-testnet#built-with-the-op-stack-and-celestia","170":"/pr-preview/pr-1358/developers/bubs-testnet#building-on-bubs","171":"/pr-preview/pr-1358/developers/bubs-testnet#rpc-urls","172":"/pr-preview/pr-1358/developers/bubs-testnet#https","173":"/pr-preview/pr-1358/developers/bubs-testnet#wss","174":"/pr-preview/pr-1358/developers/bubs-testnet#faucet","175":"/pr-preview/pr-1358/developers/bubs-testnet#explorer","176":"/pr-preview/pr-1358/developers/bubs-testnet#next-steps","177":"/pr-preview/pr-1358/developers/build-modular#build-modular","178":"/pr-preview/pr-1358/developers/build-modular#what-is-a-modular-blockchain","179":"/pr-preview/pr-1358/developers/build-modular#ease-of-deploying-a-chain","180":"/pr-preview/pr-1358/developers/build-modular#scaling","181":"/pr-preview/pr-1358/developers/build-modular#customizability","182":"/pr-preview/pr-1358/developers/build-modular#building-on-celestia","183":"/pr-preview/pr-1358/developers/build-modular#smart-contracts","184":"/pr-preview/pr-1358/developers/build-modular#sovereign-rollups","185":"/pr-preview/pr-1358/developers/build-modular#rollups","186":"/pr-preview/pr-1358/developers/celestia-app-vesting#how-to-create-a-vesting-account-with-celestia-app","187":"/pr-preview/pr-1358/developers/celestia-app-vesting#local-devnet","188":"/pr-preview/pr-1358/developers/celestia-app-vesting#setting-up-the-local-devnet","189":"/pr-preview/pr-1358/developers/celestia-app-vesting#run-the-devnet","190":"/pr-preview/pr-1358/developers/celestia-app-vesting#save-the-home-directory-path","191":"/pr-preview/pr-1358/developers/celestia-app-vesting#check-the-version-of-the-devnet","192":"/pr-preview/pr-1358/developers/celestia-app-vesting#next-steps","193":"/pr-preview/pr-1358/developers/celestia-app-vesting#setting-up-vesting-account-on-devnet","194":"/pr-preview/pr-1358/developers/celestia-app-vesting#create-a-new-key","195":"/pr-preview/pr-1358/developers/celestia-app-vesting#list-your-keys","196":"/pr-preview/pr-1358/developers/celestia-app-vesting#set-variables","197":"/pr-preview/pr-1358/developers/celestia-app-vesting#create-your-devnet-vesting-account","198":"/pr-preview/pr-1358/developers/celestia-app-vesting#query-the-devnet-vesting-account-details","199":"/pr-preview/pr-1358/developers/celestia-app-vesting#query-the-devnet-base-account-details","200":"/pr-preview/pr-1358/developers/celestia-app-vesting#query-the-balances-of-the-devnet-accounts","201":"/pr-preview/pr-1358/developers/celestia-app-vesting#mocha","202":"/pr-preview/pr-1358/developers/celestia-app-vesting#create-a-wallet","203":"/pr-preview/pr-1358/developers/celestia-app-vesting#fund-your-account","204":"/pr-preview/pr-1358/developers/celestia-app-vesting#create-a-vesting-account-on-mocha","205":"/pr-preview/pr-1358/developers/celestia-app-vesting#optional-set-up-a-full-consensus-node-or-validator","206":"/pr-preview/pr-1358/developers/celestia-app-vesting#optional-change-your-client-toml","207":"/pr-preview/pr-1358/developers/celestia-app-vesting#notes","208":"/pr-preview/pr-1358/developers/celestia-app-vesting#conclusion","209":"/pr-preview/pr-1358/developers/celestia-app-wallet#create-a-wallet-with-celestia-app","210":"/pr-preview/pr-1358/developers/celestia-app-wallet#prerequisites","211":"/pr-preview/pr-1358/developers/celestia-app-wallet#create-a-wallet","212":"/pr-preview/pr-1358/developers/celestia-app-wallet#fund-a-wallet","213":"/pr-preview/pr-1358/developers/celestia-node-key#create-a-wallet-with-celestia-node","214":"/pr-preview/pr-1358/developers/celestia-node-key#using-the-cel-key-utility","215":"/pr-preview/pr-1358/developers/celestia-node-key#installation","216":"/pr-preview/pr-1358/developers/celestia-node-key#steps-for-generating-node-keys","217":"/pr-preview/pr-1358/developers/celestia-node-key#steps-for-exporting-node-keys","218":"/pr-preview/pr-1358/developers/celestia-node-key#steps-for-importing-node-keys","219":"/pr-preview/pr-1358/developers/celestia-node-key#view-all-options-for-cel-key","220":"/pr-preview/pr-1358/developers/celestia-node-key#docker-and-cel-key","221":"/pr-preview/pr-1358/developers/celestia-node-key#prerequisites","222":"/pr-preview/pr-1358/developers/celestia-node-key#running-your-node","223":"/pr-preview/pr-1358/developers/celestia-node-key#mounting-existing-keys-to-container","224":"/pr-preview/pr-1358/developers/cosmostation#cosmostation-integration-with-celestia","225":"/pr-preview/pr-1358/developers/cosmostation#install-cosmostation","226":"/pr-preview/pr-1358/developers/cosmostation#add-celestia-network-parameters","227":"/pr-preview/pr-1358/developers/deploy-on-bubs#deploy-a-smart-contract-on-bubs-testnet","228":"/pr-preview/pr-1358/developers/deploy-on-bubs#dependencies","229":"/pr-preview/pr-1358/developers/deploy-on-bubs#setup","230":"/pr-preview/pr-1358/developers/deploy-on-bubs#create-your-smart-contract","231":"/pr-preview/pr-1358/developers/deploy-on-bubs#test-your-smart-contract","232":"/pr-preview/pr-1358/developers/deploy-on-bubs#deploying-your-smart-contract","233":"/pr-preview/pr-1358/developers/deploy-on-bubs#using-anvil","234":"/pr-preview/pr-1358/developers/deploy-on-bubs#using-bubs","235":"/pr-preview/pr-1358/developers/deploy-on-bubs#interacting-with-your-smart-contract","236":"/pr-preview/pr-1358/developers/deploy-on-bubs#next-steps","237":"/pr-preview/pr-1358/developers/ethereum-fallback#ethereum-fallback","238":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#full-stack-modular-blockchain-development-guide","239":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#getting-started","240":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#pre-requisites","241":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#project-setup","242":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#updating-the-contract-and-tests","243":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#running-the-test","244":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#updating-the-deployment-script","245":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#deploying-locally","246":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#deploying-to-the-ethermint-sovereign-rollup","247":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#building-the-frontend","248":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#configuring-environment-variables","249":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#configuring-the-entrypoint","250":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#creating-and-reading-posts","251":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#adding-ethermint-chain-to-metamask","252":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#testing-it-out-on-ethermint","253":"/pr-preview/pr-1358/developers/full-stack-modular-development-guide#now-give-it-a-spin-🌀","254":"/pr-preview/pr-1358/developers/gm-portal-bubs#deploying-a-dapp-on-bubs-testnet","255":"/pr-preview/pr-1358/developers/gm-portal-bubs#update-the-frontend","256":"/pr-preview/pr-1358/developers/gm-portal-bubs#interact-with-the-frontend","257":"/pr-preview/pr-1358/developers/gm-portal-bubs#next-steps","258":"/pr-preview/pr-1358/developers/how-to-stake-tia#how-to-stake-tia","259":"/pr-preview/pr-1358/developers/how-to-stake-tia#select-your-preferred-wallet","260":"/pr-preview/pr-1358/developers/how-to-stake-tia#stake-tia-with-keplr-wallet","261":"/pr-preview/pr-1358/developers/how-to-stake-tia#open-your-keplr-browser-extension","262":"/pr-preview/pr-1358/developers/how-to-stake-tia#select-celestia-network-and-search-for-a-validator","263":"/pr-preview/pr-1358/developers/how-to-stake-tia#stake-your-tia-tokens","264":"/pr-preview/pr-1358/developers/how-to-stake-tia#confirm-and-manage-your-tia","265":"/pr-preview/pr-1358/developers/how-to-stake-tia#stake-tia-with-leap-wallet","266":"/pr-preview/pr-1358/developers/how-to-stake-tia#open-your-leap-browser-extension","267":"/pr-preview/pr-1358/developers/how-to-stake-tia#select-a-validator-and-stake-tia","268":"/pr-preview/pr-1358/developers/how-to-stake-tia#confirm-and-manage-your-tia-1","269":"/pr-preview/pr-1358/developers/ibc-relayer#ibc-relaying-guide","270":"/pr-preview/pr-1358/developers/ibc-relayer#hermes","271":"/pr-preview/pr-1358/developers/ibc-relayer#configuration","272":"/pr-preview/pr-1358/developers/ibc-relayer#add-relayer-wallets","273":"/pr-preview/pr-1358/developers/ibc-relayer#verify-configuration-files","274":"/pr-preview/pr-1358/developers/ibc-relayer#create-a-connection-between-2-chains","275":"/pr-preview/pr-1358/developers/ibc-relayer#create-clients","276":"/pr-preview/pr-1358/developers/ibc-relayer#open-connection-over-new-clients","277":"/pr-preview/pr-1358/developers/ibc-relayer#configure-channels-in-hermes","278":"/pr-preview/pr-1358/developers/ibc-relayer#start-the-relayer","279":"/pr-preview/pr-1358/developers/ibc-relayer#transfer","280":"/pr-preview/pr-1358/developers/ibc-relayer#token-filter","281":"/pr-preview/pr-1358/developers/integrate-celestia#integrate-celestia-for-service-providers","282":"/pr-preview/pr-1358/developers/integrate-celestia#getting-started","283":"/pr-preview/pr-1358/developers/integrate-celestia#celestia-service-provider-notes","284":"/pr-preview/pr-1358/developers/integrate-celestia#custody-and-key-management","285":"/pr-preview/pr-1358/developers/integrate-celestia#rpc-and-querying","286":"/pr-preview/pr-1358/developers/integrate-celestia#compatibility","287":"/pr-preview/pr-1358/developers/integrate-celestia#syncing","288":"/pr-preview/pr-1358/developers/integrate-celestia#notable-exceptions-relative-to-other-blockchains","289":"/pr-preview/pr-1358/developers/intro-to-op-stack#introduction-to-op-stack-integration","290":"/pr-preview/pr-1358/developers/intro-to-op-stack#about-the-integration","291":"/pr-preview/pr-1358/developers/intro-to-op-stack#table-of-contents-of-the-category","292":"/pr-preview/pr-1358/developers/intro-to-op-stack#celestia-and-op-stack-repository","293":"/pr-preview/pr-1358/developers/intro-to-op-stack#what-are-optimism-and-the-op-stack","294":"/pr-preview/pr-1358/developers/intro-to-op-stack#what-is-celestia","295":"/pr-preview/pr-1358/developers/intro-to-op-stack#op-stack-and-celestia","296":"/pr-preview/pr-1358/developers/intro-to-op-stack#next-steps","297":"/pr-preview/pr-1358/developers/keplr#keplr-integration-with-celestia","298":"/pr-preview/pr-1358/developers/keplr#add-celestia-network-to-keplr","299":"/pr-preview/pr-1358/developers/leap#leap-integration-with-celestia","300":"/pr-preview/pr-1358/developers/leap#install-leap","301":"/pr-preview/pr-1358/developers/leap#add-mocha-testnet","302":"/pr-preview/pr-1358/developers/leap#adding-a-custom-chain-to-leap","303":"/pr-preview/pr-1358/developers/nitrogen#nitrogen-testnet","304":"/pr-preview/pr-1358/developers/nitrogen#getting-started-with-nitrogen","305":"/pr-preview/pr-1358/developers/nitrogen#nitrogen-tokens","306":"/pr-preview/pr-1358/developers/nitrogen#optional-bridging-tokens","307":"/pr-preview/pr-1358/developers/node-api#node-api","308":"/pr-preview/pr-1358/developers/node-api#rpc-api","309":"/pr-preview/pr-1358/developers/node-api#library","310":"/pr-preview/pr-1358/developers/node-api#rpc","311":"/pr-preview/pr-1358/developers/node-api#rpc-api-tutorial","312":"/pr-preview/pr-1358/developers/node-api#gateway-api","313":"/pr-preview/pr-1358/developers/node-api#gateway-api-tutorial","314":"/pr-preview/pr-1358/developers/node-tutorial#celestia-node-rpc-cli-tutorial","315":"/pr-preview/pr-1358/developers/node-tutorial#introduction","316":"/pr-preview/pr-1358/developers/node-tutorial#blobs","317":"/pr-preview/pr-1358/developers/node-tutorial#namespaces","318":"/pr-preview/pr-1358/developers/node-tutorial#hardware-requirements","319":"/pr-preview/pr-1358/developers/node-tutorial#setting-up-dependencies","320":"/pr-preview/pr-1358/developers/node-tutorial#install-golang","321":"/pr-preview/pr-1358/developers/node-tutorial#celestia-node","322":"/pr-preview/pr-1358/developers/node-tutorial#install-celestia-node","323":"/pr-preview/pr-1358/developers/node-tutorial#instantiate-a-celestia-light-node","324":"/pr-preview/pr-1358/developers/node-tutorial#connect-to-a-public-core-endpoint","325":"/pr-preview/pr-1358/developers/node-tutorial#keys-and-wallets","326":"/pr-preview/pr-1358/developers/node-tutorial#rpc-cli-guide","327":"/pr-preview/pr-1358/developers/node-tutorial#command-formatting","328":"/pr-preview/pr-1358/developers/node-tutorial#basic-flags","329":"/pr-preview/pr-1358/developers/node-tutorial#auth-token","330":"/pr-preview/pr-1358/developers/node-tutorial#node-store","331":"/pr-preview/pr-1358/developers/node-tutorial#auth-token-on-custom-or-private-network","332":"/pr-preview/pr-1358/developers/node-tutorial#submitting-data","333":"/pr-preview/pr-1358/developers/node-tutorial#retrieving-data","334":"/pr-preview/pr-1358/developers/node-tutorial#setting-the-gas-fee-and-limit","335":"/pr-preview/pr-1358/developers/node-tutorial#examples","336":"/pr-preview/pr-1358/developers/node-tutorial#check-your-balance","337":"/pr-preview/pr-1358/developers/node-tutorial#check-the-balance-of-another-address","338":"/pr-preview/pr-1358/developers/node-tutorial#get-your-node-id","339":"/pr-preview/pr-1358/developers/node-tutorial#get-your-account-address","340":"/pr-preview/pr-1358/developers/node-tutorial#get-block-header-by-height","341":"/pr-preview/pr-1358/developers/node-tutorial#combined-commands","342":"/pr-preview/pr-1358/developers/node-tutorial#get-data-availability-sampler-stats","343":"/pr-preview/pr-1358/developers/node-tutorial#transfer-balance-of-utia-to-another-account","344":"/pr-preview/pr-1358/developers/node-tutorial#api-version","345":"/pr-preview/pr-1358/developers/node-tutorial#help","346":"/pr-preview/pr-1358/developers/node-tutorial#advanced-example","347":"/pr-preview/pr-1358/developers/node-tutorial#additional-resources","348":"/pr-preview/pr-1358/developers/node-tutorial#post-an-svg-as-a-pfb","349":"/pr-preview/pr-1358/developers/node-tutorial#golang-guide","350":"/pr-preview/pr-1358/developers/node-tutorial#troubleshooting","351":"/pr-preview/pr-1358/developers/optimism-devnet#deploy-an-op-stack-devnet","352":"/pr-preview/pr-1358/developers/optimism-devnet#dependency-setup","353":"/pr-preview/pr-1358/developers/optimism-devnet#environment-setup-and-golang-installation","354":"/pr-preview/pr-1358/developers/optimism-devnet#clone-repository","355":"/pr-preview/pr-1358/developers/optimism-devnet#build-devnet","356":"/pr-preview/pr-1358/developers/optimism-devnet#start-devnet","357":"/pr-preview/pr-1358/developers/optimism-devnet#view-the-logs-of-the-devnet","358":"/pr-preview/pr-1358/developers/optimism-devnet#stop-devnet","359":"/pr-preview/pr-1358/developers/optimism-devnet#viewing-containers","360":"/pr-preview/pr-1358/developers/optimism-devnet#find-a-transaction","361":"/pr-preview/pr-1358/developers/optimism-devnet#read-the-transaction-call-data","362":"/pr-preview/pr-1358/developers/optimism-devnet#find-the-data-on-celestia","363":"/pr-preview/pr-1358/developers/optimism-devnet#ethereum-fallback-mechanism-in-op-stack","364":"/pr-preview/pr-1358/developers/optimism-devnet#implementation-of-fallback","365":"/pr-preview/pr-1358/developers/optimism-devnet#testing-the-fallback","366":"/pr-preview/pr-1358/developers/optimism-devnet#span-batches","367":"/pr-preview/pr-1358/developers/optimism#deploy-an-op-stack-devnet-to-celestia","368":"/pr-preview/pr-1358/developers/optimism#pick-your-deployment-type","369":"/pr-preview/pr-1358/developers/optimism#using-a-local-devnet","370":"/pr-preview/pr-1358/developers/optimism#using-a-light-node","371":"/pr-preview/pr-1358/developers/optimism#using-a-raas-provider","372":"/pr-preview/pr-1358/developers/optimism#build-the-devnet","373":"/pr-preview/pr-1358/developers/optimism#start-the-devnet","374":"/pr-preview/pr-1358/developers/optimism#view-the-logs-of-the-devnet","375":"/pr-preview/pr-1358/developers/optimism#stop-the-devnet","376":"/pr-preview/pr-1358/developers/optimism#clean-the-devnet","377":"/pr-preview/pr-1358/developers/optimism#deploying-to-an-l1-or-l2","378":"/pr-preview/pr-1358/developers/prompt-scavenger#prompt-scavenger","379":"/pr-preview/pr-1358/developers/prompt-scavenger#dependencies","380":"/pr-preview/pr-1358/developers/prompt-scavenger#install-celestia-node-and-run-a-light-node","381":"/pr-preview/pr-1358/developers/prompt-scavenger#node-api-authentication-key","382":"/pr-preview/pr-1358/developers/prompt-scavenger#openai-key","383":"/pr-preview/pr-1358/developers/prompt-scavenger#building-the-prompt-scavenger","384":"/pr-preview/pr-1358/developers/prompt-scavenger#copy-over-go-files","385":"/pr-preview/pr-1358/developers/prompt-scavenger#build-your-import-statements","386":"/pr-preview/pr-1358/developers/prompt-scavenger#helpful-functions","387":"/pr-preview/pr-1358/developers/prompt-scavenger#wrapping-up-the-functions","388":"/pr-preview/pr-1358/developers/prompt-scavenger#next-steps","389":"/pr-preview/pr-1358/developers/retrievability#data-retrievability-and-pruning","390":"/pr-preview/pr-1358/developers/retrievability#data-retrievability-and-pruning-in-celestia-node","391":"/pr-preview/pr-1358/developers/retrievability#suggested-practices-for-rollups","392":"/pr-preview/pr-1358/developers/rollkit#rollkit","393":"/pr-preview/pr-1358/developers/rollkit#tutorials","394":"/pr-preview/pr-1358/developers/rollup-overview#deploy-a-rollup","395":"/pr-preview/pr-1358/developers/rollup-overview#what-is-a-rollup","396":"/pr-preview/pr-1358/developers/rollup-overview#section-contents","397":"/pr-preview/pr-1358/developers/staking#staking-on-celestia","398":"/pr-preview/pr-1358/developers/staking#mainnet-beta","399":"/pr-preview/pr-1358/developers/staking#mocha-testnet","400":"/pr-preview/pr-1358/developers/submit-data#submitting-data-blobs-to-celestia","401":"/pr-preview/pr-1358/developers/submit-data#fee-market-and-mempool","402":"/pr-preview/pr-1358/developers/submit-data#fees-and-gas-limits","403":"/pr-preview/pr-1358/developers/submit-data#estimating-pfb-gas","404":"/pr-preview/pr-1358/developers/submit-data#gas-fee-calculation","405":"/pr-preview/pr-1358/developers/submit-data#estimating-gas-programmatically","406":"/pr-preview/pr-1358/developers/submit-data#submitting-multiple-transactions-in-one-block-from-the-same-account","407":"/pr-preview/pr-1358/developers/submit-data#api","408":"/pr-preview/pr-1358/developers/submit-data#the-celestia-app-consensus-node-cli","409":"/pr-preview/pr-1358/developers/submit-data#the-celestia-node-light-node-cli","410":"/pr-preview/pr-1358/developers/submit-data#grpc-to-a-consensus-node-via-the-user-package","411":"/pr-preview/pr-1358/developers/submit-data#rpc-to-a-celestia-node","412":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#data-availability-faq","413":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-data-availability","414":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-the-data-availability-problem","415":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#how-do-nodes-verify-data-availability-in-celestia","416":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-data-availability-sampling","417":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-are-some-of-the-security-assumptions-that-celestia-makes-for-data-availability-sampling","418":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#why-is-block-reconstruction-necessary-for-security","419":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-data-storage","420":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-the-problem-around-data-storage","421":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-is-the-difference-between-data-availability-and-data-storage","422":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#where-does-blockchain-state-fit-into-this","423":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#why-doesn-t-celestia-incentivize-storage-of-historical-data","424":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#who-may-store-historical-data-if-there-is-no-reward","425":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq#what-are-some-things-blockchains-can-do-to-provide-stronger-assurances-of-data-retrievability","426":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#celestia-s-data-availability-layer","427":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#data-availability-sampling-das","428":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#scalability","429":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#fraud-proofs-of-incorrectly-extended-data","430":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#namespaced-merkle-trees-nmts","431":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#building-a-pos-blockchain-for-da","432":"/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer#providing-data-availability","433":"/pr-preview/pr-1358/learn/how-celestia-works/monolithic-vs-modular#monolithic-vs-modular-blockchains","434":"/pr-preview/pr-1358/learn/how-celestia-works/overview#introduction","435":"/pr-preview/pr-1358/learn/how-celestia-works/transaction-lifecycle#the-lifecycle-of-a-celestia-app-transaction","436":"/pr-preview/pr-1358/learn/how-celestia-works/transaction-lifecycle#checking-data-availability","437":"/pr-preview/pr-1358/learn/paying-for-blobspace#paying-for-blobspace","438":"/pr-preview/pr-1358/learn/paying-for-blobspace#payforblobs-transactions","439":"/pr-preview/pr-1358/learn/paying-for-blobspace#fee-market-overview","440":"/pr-preview/pr-1358/learn/staking-governance-supply#staking-governance-supply","441":"/pr-preview/pr-1358/learn/staking-governance-supply#proof-of-stake-on-celestia","442":"/pr-preview/pr-1358/learn/staking-governance-supply#inflation","443":"/pr-preview/pr-1358/learn/staking-governance-supply#decentralised-governance","444":"/pr-preview/pr-1358/learn/staking-governance-supply#network-parameters","445":"/pr-preview/pr-1358/learn/staking-governance-supply#community-pool","446":"/pr-preview/pr-1358/learn/staking-governance-supply#tia-allocation-at-genesis","447":"/pr-preview/pr-1358/learn/staking-governance-supply#unlocks","448":"/pr-preview/pr-1358/learn/tia#overview-of-tia","449":"/pr-preview/pr-1358/learn/tia#tia-at-a-glance","450":"/pr-preview/pr-1358/learn/tia#role-of-tia","451":"/pr-preview/pr-1358/learn/tia#paying-for-blobspace","452":"/pr-preview/pr-1358/learn/tia#bootstrapping-new-rollups","453":"/pr-preview/pr-1358/learn/tia#proof-of-stake","454":"/pr-preview/pr-1358/learn/tia#decentralised-governance","455":"/pr-preview/pr-1358/learn/tia#denominations","456":"/pr-preview/pr-1358/learn/tia#tia-display-token","457":"/pr-preview/pr-1358/learn/tia#utia-staking-denomination","458":"/pr-preview/pr-1358/learn/tia#microtia-staking-denomination-alias","459":"/pr-preview/pr-1358/nodes/arabica-9#arabica-9-devnet","460":"/pr-preview/pr-1358/nodes/arabica-9#software-version-numbers","461":"/pr-preview/pr-1358/nodes/arabica-9#integrations","462":"/pr-preview/pr-1358/nodes/arabica-9#rpc-endpoints","463":"/pr-preview/pr-1358/nodes/arabica-9#bridge-full-and-light-nodes","464":"/pr-preview/pr-1358/nodes/arabica-9#full-and-light-nodes-only","465":"/pr-preview/pr-1358/nodes/arabica-9#api-endpoints","466":"/pr-preview/pr-1358/nodes/arabica-9#grpc-endpoints","467":"/pr-preview/pr-1358/nodes/arabica-9#arabica-devnet-faucet","468":"/pr-preview/pr-1358/nodes/arabica-9#web","469":"/pr-preview/pr-1358/nodes/arabica-9#explorers","470":"/pr-preview/pr-1358/nodes/arabica-9#network-upgrades","471":"/pr-preview/pr-1358/nodes/arabica-devnet#arabica-devnet","472":"/pr-preview/pr-1358/nodes/arabica-devnet#network-stability-and-upgrades","473":"/pr-preview/pr-1358/nodes/arabica-devnet#network-details","474":"/pr-preview/pr-1358/nodes/arabica-devnet#software-version-numbers","475":"/pr-preview/pr-1358/nodes/arabica-devnet#integrations","476":"/pr-preview/pr-1358/nodes/arabica-devnet#rpc-endpoints","477":"/pr-preview/pr-1358/nodes/arabica-devnet#using-consensus-endpoints-with-da-nodes","478":"/pr-preview/pr-1358/nodes/arabica-devnet#arabica-devnet-faucet","479":"/pr-preview/pr-1358/nodes/arabica-devnet#discord","480":"/pr-preview/pr-1358/nodes/arabica-devnet#web","481":"/pr-preview/pr-1358/nodes/arabica-devnet#explorers","482":"/pr-preview/pr-1358/nodes/arabica-devnet#network-upgrades","483":"/pr-preview/pr-1358/nodes/blobstream-binary#blobstream-for-validators","484":"/pr-preview/pr-1358/nodes/blobstream-binary#install-the-blobstream-binary","485":"/pr-preview/pr-1358/nodes/blobstream-binary#install","486":"/pr-preview/pr-1358/nodes/blobstream-binary#usage","487":"/pr-preview/pr-1358/nodes/blobstream-binary#next-steps","488":"/pr-preview/pr-1358/nodes/blobstream-binary#useful-links","489":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#blobstream-bootstrapper","490":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#how-to-run","491":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#install-the-blobstream-binary","492":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#init-the-store","493":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#add-keys","494":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#open-the-p2p-port","495":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#start-the-bootstrapper","496":"/pr-preview/pr-1358/nodes/blobstream-bootstrapper#systemd-service","497":"/pr-preview/pr-1358/nodes/blobstream-deploy#deploy-the-blobstream-contract","498":"/pr-preview/pr-1358/nodes/blobstream-deploy#how-to-run","499":"/pr-preview/pr-1358/nodes/blobstream-deploy#install-the-blobstream-binary","500":"/pr-preview/pr-1358/nodes/blobstream-deploy#add-keys","501":"/pr-preview/pr-1358/nodes/blobstream-deploy#deploy-the-contract","502":"/pr-preview/pr-1358/nodes/blobstream-keys#key-management","503":"/pr-preview/pr-1358/nodes/blobstream-keys#orchestrator-command","504":"/pr-preview/pr-1358/nodes/blobstream-keys#relayer-command","505":"/pr-preview/pr-1358/nodes/blobstream-keys#deploy-command","506":"/pr-preview/pr-1358/nodes/blobstream-keys#store-initialization","507":"/pr-preview/pr-1358/nodes/blobstream-keys#options","508":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-keystore","509":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-add-subcommand","510":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-delete-subcommand","511":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-list-subcommand","512":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-update-subcommand","513":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-import-subcommand","514":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-import-ecdsa","515":"/pr-preview/pr-1358/nodes/blobstream-keys#evm-import-file","516":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-keystore","517":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-add-subcommand","518":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-delete-subcommand","519":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-import-subcommand","520":"/pr-preview/pr-1358/nodes/blobstream-keys#p2p-list-subcommand","521":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#blobstream-orchestrator","522":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#how-it-works","523":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#how-to-run","524":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#requirements","525":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#install-the-blobstream-binary","526":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#init-the-store","527":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#add-keys","528":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#evm-key","529":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#open-the-p2p-port","530":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#start-the-orchestrator","531":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#known-issues","532":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#transport-authentication-handshake-failed","533":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#failed-to-query-last-valset-before-nonce-most-likely-pruned","534":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#register-evm-address","535":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#updating-the-evm-address-if-its-corresponding-private-key-is-lost","536":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#systemd-service","537":"/pr-preview/pr-1358/nodes/blobstream-orchestrator#issue-journald-not-outputting-the-logs","538":"/pr-preview/pr-1358/nodes/blobstream-relayer#blobstream-relayer","539":"/pr-preview/pr-1358/nodes/blobstream-relayer#how-it-works","540":"/pr-preview/pr-1358/nodes/blobstream-relayer#how-to-run","541":"/pr-preview/pr-1358/nodes/blobstream-relayer#install-the-blobstream-binary","542":"/pr-preview/pr-1358/nodes/blobstream-relayer#init-the-store","543":"/pr-preview/pr-1358/nodes/blobstream-relayer#add-keys","544":"/pr-preview/pr-1358/nodes/blobstream-relayer#evm-key","545":"/pr-preview/pr-1358/nodes/blobstream-relayer#start-the-relayer","546":"/pr-preview/pr-1358/nodes/bridge-node#setting-up-a-celestia-bridge-node","547":"/pr-preview/pr-1358/nodes/bridge-node#overview-of-bridge-nodes","548":"/pr-preview/pr-1358/nodes/bridge-node#hardware-requirements","549":"/pr-preview/pr-1358/nodes/bridge-node#setting-up-your-bridge-node","550":"/pr-preview/pr-1358/nodes/bridge-node#setup-the-dependencies","551":"/pr-preview/pr-1358/nodes/bridge-node#deploy-the-celestia-bridge-node","552":"/pr-preview/pr-1358/nodes/bridge-node#install-celestia-node","553":"/pr-preview/pr-1358/nodes/bridge-node#initialize-the-bridge-node","554":"/pr-preview/pr-1358/nodes/bridge-node#run-the-bridge-node","555":"/pr-preview/pr-1358/nodes/bridge-node#optional-run-the-bridge-node-with-a-custom-key","556":"/pr-preview/pr-1358/nodes/bridge-node#optional-start-the-bridge-node-with-systemd","557":"/pr-preview/pr-1358/nodes/celestia-app-commands#helpful-cli-commands","558":"/pr-preview/pr-1358/nodes/celestia-app-commands#creating-a-wallet","559":"/pr-preview/pr-1358/nodes/celestia-app-commands#key-management","560":"/pr-preview/pr-1358/nodes/celestia-app-commands#importing-and-exporting-keys","561":"/pr-preview/pr-1358/nodes/celestia-app-commands#querying-subcommands","562":"/pr-preview/pr-1358/nodes/celestia-app-commands#token-management","563":"/pr-preview/pr-1358/nodes/celestia-app-commands#governance","564":"/pr-preview/pr-1358/nodes/celestia-app-commands#community-pool","565":"/pr-preview/pr-1358/nodes/celestia-app-commands#claim-validator-rewards","566":"/pr-preview/pr-1358/nodes/celestia-app-commands#delegate-undelegate-tokens","567":"/pr-preview/pr-1358/nodes/celestia-app-commands#unjailing-the-validator","568":"/pr-preview/pr-1358/nodes/celestia-app-commands#how-to-export-logs-with-systemd","569":"/pr-preview/pr-1358/nodes/celestia-app-commands#signing-genesis-for-a-new-network","570":"/pr-preview/pr-1358/nodes/celestia-app-metrics#metrics","571":"/pr-preview/pr-1358/nodes/celestia-app-metrics#setup","572":"/pr-preview/pr-1358/nodes/celestia-app-metrics#visualization","573":"/pr-preview/pr-1358/nodes/celestia-app-metrics#node-exporter","574":"/pr-preview/pr-1358/nodes/celestia-app-metrics#alerts","575":"/pr-preview/pr-1358/nodes/celestia-app-multisig#multisig","576":"/pr-preview/pr-1358/nodes/celestia-app-multisig#command-line","577":"/pr-preview/pr-1358/nodes/celestia-app-multisig#resources","578":"/pr-preview/pr-1358/nodes/celestia-app-upgrade-monitor#upgrade-monitor","579":"/pr-preview/pr-1358/nodes/celestia-app#install-celestia-app","580":"/pr-preview/pr-1358/nodes/celestia-app#building-binary-from-source","581":"/pr-preview/pr-1358/nodes/celestia-app#installing-a-pre-built-binary","582":"/pr-preview/pr-1358/nodes/celestia-app#ports","583":"/pr-preview/pr-1358/nodes/celestia-node-custom-networks#custom-networks-and-values","584":"/pr-preview/pr-1358/nodes/celestia-node-metrics#celestia-node-metrics","585":"/pr-preview/pr-1358/nodes/celestia-node-metrics#running-metrics-flags","586":"/pr-preview/pr-1358/nodes/celestia-node-metrics#tls-connections","587":"/pr-preview/pr-1358/nodes/celestia-node-metrics#metrics-endpoint-design-considerations","588":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#troubleshooting","589":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#network-selection","590":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#chain-id","591":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#ports","592":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#changing-the-location-of-your-node-store","593":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#resetting-your-config","594":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#clearing-the-data-store","595":"/pr-preview/pr-1358/nodes/celestia-node-troubleshooting#fatal-headers-given-to-the-heightsub-are-in-the-wrong-order","596":"/pr-preview/pr-1358/nodes/celestia-node#install-celestia-node","597":"/pr-preview/pr-1358/nodes/celestia-node#next-steps","598":"/pr-preview/pr-1358/nodes/celestia-node#upgrading-your-binary","599":"/pr-preview/pr-1358/nodes/config-toml#config-toml-guide","600":"/pr-preview/pr-1358/nodes/config-toml#pre-requisites","601":"/pr-preview/pr-1358/nodes/config-toml#understanding-config-toml","602":"/pr-preview/pr-1358/nodes/config-toml#core","603":"/pr-preview/pr-1358/nodes/config-toml#p2p","604":"/pr-preview/pr-1358/nodes/config-toml#bootstrap","605":"/pr-preview/pr-1358/nodes/config-toml#mutual-peers","606":"/pr-preview/pr-1358/nodes/config-toml#services","607":"/pr-preview/pr-1358/nodes/config-toml#trustedhash-and-trustedpeer","608":"/pr-preview/pr-1358/nodes/consensus-node#setting-up-a-celestia-full-consensus-node","609":"/pr-preview/pr-1358/nodes/consensus-node#hardware-requirements","610":"/pr-preview/pr-1358/nodes/consensus-node#setting-up-a-full-consensus-node","611":"/pr-preview/pr-1358/nodes/consensus-node#setup-the-dependencies","612":"/pr-preview/pr-1358/nodes/consensus-node#install-celestia-app","613":"/pr-preview/pr-1358/nodes/consensus-node#setup-the-p2p-networks","614":"/pr-preview/pr-1358/nodes/consensus-node#storage-and-pruning-configurations","615":"/pr-preview/pr-1358/nodes/consensus-node#connecting-a-consensus-node-to-a-bridge-node","616":"/pr-preview/pr-1358/nodes/consensus-node#enable-transaction-indexing","617":"/pr-preview/pr-1358/nodes/consensus-node#retain-all-block-data","618":"/pr-preview/pr-1358/nodes/consensus-node#querying-transactions-by-hash","619":"/pr-preview/pr-1358/nodes/consensus-node#accessing-historical-state","620":"/pr-preview/pr-1358/nodes/consensus-node#saving-on-storage-requirements","621":"/pr-preview/pr-1358/nodes/consensus-node#syncing","622":"/pr-preview/pr-1358/nodes/consensus-node#state-sync","623":"/pr-preview/pr-1358/nodes/consensus-node#quick-sync","624":"/pr-preview/pr-1358/nodes/consensus-node#start-the-consensus-node","625":"/pr-preview/pr-1358/nodes/consensus-node#optional-setting-up-a-validator","626":"/pr-preview/pr-1358/nodes/consensus-node#setting-up-a-celestia-validator-node","627":"/pr-preview/pr-1358/nodes/consensus-node#validator-hardware-requirements","628":"/pr-preview/pr-1358/nodes/consensus-node#wallet","629":"/pr-preview/pr-1358/nodes/consensus-node#delegate-stake-to-a-validator","630":"/pr-preview/pr-1358/nodes/consensus-node#optional-deploy-the-celestia-node","631":"/pr-preview/pr-1358/nodes/consensus-node#install-celestia-node","632":"/pr-preview/pr-1358/nodes/consensus-node#initialize-the-bridge-node","633":"/pr-preview/pr-1358/nodes/consensus-node#run-the-bridge-node","634":"/pr-preview/pr-1358/nodes/consensus-node#optional-start-the-bridge-node-with-systemd","635":"/pr-preview/pr-1358/nodes/consensus-node#setup-blobstream-keys","636":"/pr-preview/pr-1358/nodes/consensus-node#run-the-validator-node","637":"/pr-preview/pr-1358/nodes/consensus-node#register-your-validators-evm-address","638":"/pr-preview/pr-1358/nodes/consensus-node#run-a-blobstream-orchestrator","639":"/pr-preview/pr-1358/nodes/consensus-node#submit-your-validator-information","640":"/pr-preview/pr-1358/nodes/consensus-node#extra-resources-for-consensus-nodes","641":"/pr-preview/pr-1358/nodes/consensus-node#optional-reset-network","642":"/pr-preview/pr-1358/nodes/consensus-node#optional-configuring-an-rpc-endpoint","643":"/pr-preview/pr-1358/nodes/consensus-node#expose-rpc","644":"/pr-preview/pr-1358/nodes/consensus-node#note-on-external-address","645":"/pr-preview/pr-1358/nodes/consensus-node#restart-the-node","646":"/pr-preview/pr-1358/nodes/consensus-node#optional-transaction-indexer-configuration-options","647":"/pr-preview/pr-1358/nodes/consensus-node#optional-discard-abci-responses-configuration","648":"/pr-preview/pr-1358/nodes/decide-node#deciding-which-node-to-run","649":"/pr-preview/pr-1358/nodes/decide-node#beginner","650":"/pr-preview/pr-1358/nodes/decide-node#advanced","651":"/pr-preview/pr-1358/nodes/docker-images#🐳-docker-setup","652":"/pr-preview/pr-1358/nodes/docker-images#prerequisites","653":"/pr-preview/pr-1358/nodes/docker-images#quick-start","654":"/pr-preview/pr-1358/nodes/docker-images#light-node-setup-with-persistent-storage","655":"/pr-preview/pr-1358/nodes/docker-images#initialize-the-node-store-and-key","656":"/pr-preview/pr-1358/nodes/docker-images#start-the-node","657":"/pr-preview/pr-1358/nodes/docker-images#video-walkthrough","658":"/pr-preview/pr-1358/nodes/docker-images#_2-5-minute-version","659":"/pr-preview/pr-1358/nodes/docker-images#troubleshooting","660":"/pr-preview/pr-1358/nodes/environment#development-environment","661":"/pr-preview/pr-1358/nodes/environment#install-dependencies","662":"/pr-preview/pr-1358/nodes/environment#install-golang","663":"/pr-preview/pr-1358/nodes/full-storage-node#setting-up-a-celestia-full-storage-node","664":"/pr-preview/pr-1358/nodes/full-storage-node#overview-of-full-storage-nodes","665":"/pr-preview/pr-1358/nodes/full-storage-node#hardware-requirements","666":"/pr-preview/pr-1358/nodes/full-storage-node#setting-up-your-full-storage-node","667":"/pr-preview/pr-1358/nodes/full-storage-node#setup-the-dependencies","668":"/pr-preview/pr-1358/nodes/full-storage-node#install-celestia-node","669":"/pr-preview/pr-1358/nodes/full-storage-node#run-the-full-storage-node","670":"/pr-preview/pr-1358/nodes/full-storage-node#initialize-the-full-storage-node","671":"/pr-preview/pr-1358/nodes/full-storage-node#start-the-full-storage-node","672":"/pr-preview/pr-1358/nodes/full-storage-node#optional-run-the-full-storage-node-with-a-custom-key","673":"/pr-preview/pr-1358/nodes/full-storage-node#optional-start-the-full-storage-node-with-systemd","674":"/pr-preview/pr-1358/nodes/full-storage-node#stop-the-full-storage-node","675":"/pr-preview/pr-1358/nodes/hardfork-process#celestia-hardfork-process","676":"/pr-preview/pr-1358/nodes/hardfork-process#general-process","677":"/pr-preview/pr-1358/nodes/hardfork-process#mocha-hardfork","678":"/pr-preview/pr-1358/nodes/instantiate-testnet#celestia-app-network-instantiation-guide","679":"/pr-preview/pr-1358/nodes/instantiate-testnet#hardware-requirements","680":"/pr-preview/pr-1358/nodes/instantiate-testnet#setup-dependencies","681":"/pr-preview/pr-1358/nodes/instantiate-testnet#celestia-app-installation","682":"/pr-preview/pr-1358/nodes/instantiate-testnet#spin-up-a-celestia-testnet","683":"/pr-preview/pr-1358/nodes/instantiate-testnet#optional-reset-working-directory","684":"/pr-preview/pr-1358/nodes/instantiate-testnet#initialize-a-working-directory","685":"/pr-preview/pr-1358/nodes/instantiate-testnet#create-a-new-key","686":"/pr-preview/pr-1358/nodes/instantiate-testnet#add-genesis-account-keyname","687":"/pr-preview/pr-1358/nodes/instantiate-testnet#optional-adding-other-validators","688":"/pr-preview/pr-1358/nodes/instantiate-testnet#create-the-genesis-transaction-for-new-chain","689":"/pr-preview/pr-1358/nodes/instantiate-testnet#creating-the-genesis-json-file","690":"/pr-preview/pr-1358/nodes/instantiate-testnet#modify-your-config-file","691":"/pr-preview/pr-1358/nodes/instantiate-testnet#add-your-node-as-a-persistent-peer","692":"/pr-preview/pr-1358/nodes/instantiate-testnet#instantiate-the-network","693":"/pr-preview/pr-1358/nodes/light-node#setting-up-a-celestia-light-node","694":"/pr-preview/pr-1358/nodes/light-node#overview-of-light-nodes","695":"/pr-preview/pr-1358/nodes/light-node#hardware-requirements","696":"/pr-preview/pr-1358/nodes/light-node#setting-up-your-light-node","697":"/pr-preview/pr-1358/nodes/light-node#install-celestia-node","698":"/pr-preview/pr-1358/nodes/light-node#initialize-the-light-node","699":"/pr-preview/pr-1358/nodes/light-node#start-the-light-node","700":"/pr-preview/pr-1358/nodes/light-node#keys-and-wallets","701":"/pr-preview/pr-1358/nodes/light-node#testnet-tokens","702":"/pr-preview/pr-1358/nodes/light-node#optional-run-the-light-node-with-a-custom-key","703":"/pr-preview/pr-1358/nodes/light-node#optional-start-light-node-with-systemd","704":"/pr-preview/pr-1358/nodes/light-node#data-availability-sampling","705":"/pr-preview/pr-1358/nodes/mainnet#mainnet-beta","706":"/pr-preview/pr-1358/nodes/mainnet#network-stability-and-upgrades","707":"/pr-preview/pr-1358/nodes/mainnet#software-version-numbers","708":"/pr-preview/pr-1358/nodes/mainnet#network-parameters","709":"/pr-preview/pr-1358/nodes/mainnet#maximum-bytes","710":"/pr-preview/pr-1358/nodes/mainnet#integrations","711":"/pr-preview/pr-1358/nodes/mainnet#consensus-nodes","712":"/pr-preview/pr-1358/nodes/mainnet#consensus-rpc-endpoints","713":"/pr-preview/pr-1358/nodes/mainnet#api-endpoints","714":"/pr-preview/pr-1358/nodes/mainnet#grpc-endpoints","715":"/pr-preview/pr-1358/nodes/mainnet#data-availability-nodes","716":"/pr-preview/pr-1358/nodes/mainnet#da-rpc-endpoints","717":"/pr-preview/pr-1358/nodes/mainnet#explorers","718":"/pr-preview/pr-1358/nodes/mainnet#analytics","719":"/pr-preview/pr-1358/nodes/mainnet#network-upgrades","720":"/pr-preview/pr-1358/nodes/mocha-testnet#mocha-testnet","721":"/pr-preview/pr-1358/nodes/mocha-testnet#software-version-numbers","722":"/pr-preview/pr-1358/nodes/mocha-testnet#rpc-endpoints","723":"/pr-preview/pr-1358/nodes/mocha-testnet#bridge-full-and-light-nodes","724":"/pr-preview/pr-1358/nodes/mocha-testnet#full-and-light-nodes-only","725":"/pr-preview/pr-1358/nodes/mocha-testnet#api-endpoints","726":"/pr-preview/pr-1358/nodes/mocha-testnet#grpc-endpoints","727":"/pr-preview/pr-1358/nodes/mocha-testnet#bridge-and-full-node-endpoints","728":"/pr-preview/pr-1358/nodes/mocha-testnet#mocha-testnet-faucet","729":"/pr-preview/pr-1358/nodes/mocha-testnet#explorers","730":"/pr-preview/pr-1358/nodes/mocha-testnet#network-upgrades","731":"/pr-preview/pr-1358/nodes/overview#overview-to-running-nodes-on-celestia","732":"/pr-preview/pr-1358/nodes/participate#participate-in-the-celestia-networks","733":"/pr-preview/pr-1358/nodes/participate#mainnet-beta","734":"/pr-preview/pr-1358/nodes/participate#testnets","735":"/pr-preview/pr-1358/nodes/participate#network-upgrades","736":"/pr-preview/pr-1358/nodes/quick-start#quick-start-guide","737":"/pr-preview/pr-1358/nodes/quick-start#celestia-node","738":"/pr-preview/pr-1358/nodes/quick-start#celestia-app","739":"/pr-preview/pr-1358/nodes/quick-start#getting-started","740":"/pr-preview/pr-1358/nodes/systemd#setting-up-your-node-as-a-background-process-with-systemd","741":"/pr-preview/pr-1358/nodes/systemd#consensus-nodes","742":"/pr-preview/pr-1358/nodes/systemd#start-the-celestia-app-with-systemd","743":"/pr-preview/pr-1358/nodes/systemd#data-availability-nodes","744":"/pr-preview/pr-1358/nodes/systemd#celestia-full-storage-node","745":"/pr-preview/pr-1358/nodes/systemd#celestia-bridge-node","746":"/pr-preview/pr-1358/nodes/systemd#celestia-light-node","747":"/pr-preview/pr-1358/nodes/transaction-resubmission#transaction-resubmission","748":"/pr-preview/pr-1358/nodes/transaction-resubmission#monitoring-and-resubmission","749":"/pr-preview/pr-1358/nodes/transaction-resubmission#notes"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[3,1,24],"1":[3,3,22],"2":[2,3,69],"3":[2,3,34],"4":[3,3,25],"5":[2,1,32],"6":[5,1,1],"7":[2,5,62],"8":[2,5,114],"9":[2,5,57],"10":[1,5,43],"11":[1,5,39],"12":[2,5,22],"13":[2,7,38],"14":[2,7,57],"15":[3,7,50],"16":[3,7,34],"17":[1,5,47],"18":[5,1,1],"19":[12,5,11],"20":[4,17,14],"21":[4,17,44],"22":[4,17,43],"23":[4,17,14],"24":[8,5,8],"25":[4,12,78],"26":[4,12,13],"27":[3,12,46],"28":[4,12,37],"29":[4,12,79],"30":[10,5,8],"31":[4,15,41],"32":[4,15,13],"33":[3,15,91],"34":[10,15,13],"35":[10,15,1],"36":[10,15,13],"37":[6,15,32],"38":[2,5,1],"39":[2,7,16],"40":[2,7,13],"41":[4,1,150],"42":[3,4,229],"43":[2,4,69],"44":[4,4,137],"45":[4,4,460],"46":[2,1,58],"47":[1,2,1],"48":[1,3,81],"49":[2,2,73],"50":[1,2,75],"51":[1,2,53],"52":[2,3,104],"53":[3,1,31],"54":[3,3,129],"55":[3,3,69],"56":[3,3,72],"57":[3,3,39],"58":[1,6,164],"59":[3,6,124],"60":[1,6,150],"61":[1,6,190],"62":[1,6,170],"63":[3,6,159],"64":[1,6,132],"65":[4,6,145],"66":[9,6,167],"67":[4,1,28],"68":[2,4,64],"69":[2,4,1],"70":[6,6,71],"71":[2,6,70],"72":[1,6,35],"73":[1,6,28],"74":[1,6,48],"75":[3,1,37],"76":[3,3,12],"77":[6,3,44],"78":[8,3,58],"79":[7,3,48],"80":[6,3,23],"81":[2,3,37],"82":[2,1,26],"83":[2,1,143],"84":[8,1,17],"85":[1,8,14],"86":[4,8,85],"87":[4,12,94],"88":[3,8,51],"89":[4,8,15],"90":[5,1,27],"91":[1,5,12],"92":[1,6,25],"93":[1,6,19],"94":[1,6,35],"95":[1,6,42],"96":[2,6,11],"97":[3,5,28],"98":[4,5,98],"99":[3,9,37],"100":[2,5,14],"101":[8,1,1],"102":[1,8,129],"103":[1,9,86],"104":[5,9,116],"105":[2,8,17],"106":[7,1,22],"107":[1,7,23],"108":[5,7,171],"109":[6,7,45],"110":[8,1,1],"111":[1,8,33],"112":[1,8,18],"113":[1,8,35],"114":[4,8,103],"115":[4,8,139],"116":[4,8,1],"117":[2,9,51],"118":[4,9,87],"119":[5,8,91],"120":[2,8,28],"121":[4,1,1],"122":[2,4,1],"123":[1,6,9],"124":[3,6,28],"125":[2,6,90],"126":[2,4,43],"127":[1,4,50],"128":[3,4,30],"129":[6,4,123],"130":[4,1,1],"131":[3,4,72],"132":[3,4,149],"133":[2,4,168],"134":[3,6,101],"135":[2,6,115],"136":[3,4,1],"137":[3,7,164],"138":[2,7,1],"139":[4,9,10],"140":[8,9,13],"141":[4,9,39],"142":[3,1,1],"143":[1,3,26],"144":[3,3,21],"145":[5,5,108],"146":[4,5,130],"147":[9,3,83],"148":[1,11,54],"149":[1,11,148],"150":[1,11,71],"151":[1,11,52],"152":[1,11,79],"153":[1,11,122],"154":[3,3,46],"155":[3,6,1],"156":[3,6,1],"157":[1,3,48],"158":[3,1,79],"159":[1,3,105],"160":[3,3,89],"161":[4,5,31],"162":[3,3,28],"163":[2,6,34],"164":[7,3,1],"165":[3,9,58],"166":[3,9,42],"167":[3,9,69],"168":[2,1,30],"169":[7,2,114],"170":[3,2,45],"171":[2,4,34],"172":[1,6,6],"173":[1,6,38],"174":[1,4,12],"175":[1,4,10],"176":[2,2,32],"177":[2,1,43],"178":[6,2,100],"179":[5,2,81],"180":[1,2,123],"181":[1,2,107],"182":[3,2,22],"183":[2,5,20],"184":[2,5,20],"185":[1,5,18],"186":[9,1,42],"187":[2,9,18],"188":[5,11,1],"189":[3,15,20],"190":[5,15,79],"191":[5,15,22],"192":[2,15,53],"193":[6,11,17],"194":[4,14,89],"195":[3,14,32],"196":[2,14,20],"197":[5,14,144],"198":[6,14,62],"199":[6,14,42],"200":[6,14,62],"201":[1,9,42],"202":[3,10,50],"203":[3,10,10],"204":[6,10,91],"205":[9,10,40],"206":[5,10,88],"207":[1,9,25],"208":[1,9,20],"209":[6,1,18],"210":[1,6,20],"211":[3,6,57],"212":[3,6,75],"213":[6,1,42],"214":[5,6,42],"215":[1,11,56],"216":[5,11,111],"217":[5,11,32],"218":[5,11,33],"219":[6,11,5],"220":[4,6,1],"221":[1,10,16],"222":[3,10,144],"223":[5,10,147],"224":[4,1,32],"225":[2,4,34],"226":[4,4,100],"227":[7,1,14],"228":[1,7,24],"229":[1,7,35],"230":[4,7,103],"231":[4,7,139],"232":[4,7,1],"233":[2,9,62],"234":[2,9,89],"235":[5,7,90],"236":[2,7,27],"237":[2,1,97],"238":[6,1,89],"239":[2,6,34],"240":[2,8,34],"241":[2,8,26],"242":[5,10,193],"243":[3,10,18],"244":[4,10,70],"245":[2,10,120],"246":[6,8,142],"247":[3,8,97],"248":[3,11,75],"249":[3,8,121],"250":[4,8,270],"251":[5,8,60],"252":[5,8,98],"253":[6,8,32],"254":[6,1,155],"255":[3,6,51],"256":[4,6,15],"257":[2,6,34],"258":[4,1,43],"259":[4,4,1],"260":[5,4,1],"261":[6,8,20],"262":[9,8,15],"263":[5,8,25],"264":[6,8,22],"265":[5,4,1],"266":[6,8,17],"267":[7,8,29],"268":[6,8,22],"269":[3,1,93],"270":[1,3,85],"271":[1,4,180],"272":[3,4,84],"273":[3,4,49],"274":[6,3,52],"275":[2,3,31],"276":[5,5,85],"277":[4,5,44],"278":[3,3,7],"279":[1,3,41],"280":[2,4,37],"281":[5,1,18],"282":[2,5,28],"283":[4,5,84],"284":[4,7,27],"285":[3,7,62],"286":[1,7,36],"287":[1,7,28],"288":[6,7,81],"289":[5,1,31],"290":[3,5,65],"291":[5,7,16],"292":[5,5,13],"293":[8,8,77],"294":[4,8,49],"295":[4,5,116],"296":[2,5,35],"297":[4,1,48],"298":[5,4,199],"299":[4,1,33],"300":[2,4,33],"301":[3,4,34],"302":[6,4,82],"303":[2,1,23],"304":[4,2,26],"305":[2,2,33],"306":[3,3,23],"307":[2,1,28],"308":[2,2,46],"309":[1,3,16],"310":[1,3,48],"311":[3,3,19],"312":[2,2,66],"313":[3,3,12],"314":[5,1,60],"315":[1,5,1],"316":[1,6,19],"317":[1,6,66],"318":[2,5,30],"319":[3,5,105],"320":[2,5,97],"321":[2,5,1],"322":[3,5,129],"323":[5,5,55],"324":[6,5,119],"325":[3,5,107],"326":[3,5,39],"327":[2,6,104],"328":[2,6,71],"329":[3,8,67],"330":[2,8,56],"331":[7,10,69],"332":[2,6,124],"333":[2,6,113],"334":[6,6,61],"335":[1,6,1],"336":[3,7,49],"337":[6,7,45],"338":[4,7,52],"339":[4,7,31],"340":[5,7,112],"341":[2,7,24],"342":[5,7,10],"343":[7,7,75],"344":[2,7,20],"345":[1,7,25],"346":[2,6,39],"347":[2,5,1],"348":[6,7,21],"349":[2,7,21],"350":[1,7,46],"351":[5,1,14],"352":[2,5,1],"353":[5,7,10],"354":[2,7,45],"355":[2,5,28],"356":[2,6,30],"357":[5,6,23],"358":[2,6,28],"359":[2,6,52],"360":[3,5,83],"361":[5,5,84],"362":[5,5,50],"363":[6,5,24],"364":[3,9,165],"365":[3,9,80],"366":[2,5,57],"367":[7,1,29],"368":[4,7,31],"369":[4,11,28],"370":[4,11,108],"371":[4,11,22],"372":[3,7,28],"373":[3,7,136],"374":[5,7,20],"375":[3,7,12],"376":[3,7,14],"377":[7,7,18],"378":[2,1,84],"379":[1,2,28],"380":[8,3,174],"381":[4,3,43],"382":[2,3,23],"383":[4,2,73],"384":[4,5,38],"385":[4,5,60],"386":[2,5,244],"387":[4,5,119],"388":[2,2,52],"389":[4,1,61],"390":[7,4,85],"391":[4,4,143],"392":[1,1,98],"393":[1,1,44],"394":[3,1,17],"395":[5,3,51],"396":[2,3,50],"397":[3,1,30],"398":[2,3,34],"399":[2,3,31],"400":[5,1,27],"401":[4,5,26],"402":[4,9,104],"403":[3,12,140],"404":[3,12,152],"405":[3,12,78],"406":[10,9,118],"407":[1,5,11],"408":[6,6,14],"409":[5,6,19],"410":[9,6,200],"411":[5,6,21],"412":[3,1,1],"413":[5,3,82],"414":[7,3,73],"415":[9,3,41],"416":[6,3,62],"417":[15,3,80],"418":[8,3,65],"419":[5,3,33],"420":[8,3,70],"421":[10,3,26],"422":[8,3,51],"423":[10,3,73],"424":[11,3,42],"425":[15,3,34],"426":[5,1,69],"427":[5,5,122],"428":[1,9,86],"429":[6,9,122],"430":[5,5,130],"431":[6,5,1],"432":[3,11,120],"433":[4,1,172],"434":[1,1,90],"435":[7,1,158],"436":[3,7,163],"437":[3,1,1],"438":[2,3,70],"439":[3,3,44],"440":[4,1,1],"441":[5,4,68],"442":[1,4,73],"443":[2,4,1],"444":[2,5,35],"445":[2,5,37],"446":[4,4,82],"447":[1,8,109],"448":[3,1,1],"449":[4,3,33],"450":[3,3,1],"451":[3,4,33],"452":[3,4,68],"453":[3,4,41],"454":[2,4,41],"455":[1,4,1],"456":[3,5,15],"457":[3,5,27],"458":[4,5,9],"459":[3,1,20],"460":[3,3,18],"461":[1,3,73],"462":[2,3,38],"463":[5,5,8],"464":[5,5,36],"465":[2,3,50],"466":[2,3,44],"467":[3,3,24],"468":[1,4,12],"469":[1,3,15],"470":[2,3,9],"471":[2,1,45],"472":[4,2,64],"473":[2,2,1],"474":[3,4,1],"475":[1,2,49],"476":[2,3,74],"477":[6,3,117],"478":[3,2,24],"479":[1,3,41],"480":[1,3,12],"481":[1,2,17],"482":[2,2,9],"483":[3,1,47],"484":[4,3,48],"485":[1,6,32],"486":[1,6,5],"487":[2,6,66],"488":[2,6,25],"489":[2,1,27],"490":[3,2,1],"491":[4,5,14],"492":[3,5,46],"493":[2,5,36],"494":[4,5,20],"495":[3,5,13],"496":[2,7,18],"497":[4,1,37],"498":[3,4,1],"499":[4,7,14],"500":[2,7,76],"501":[3,7,69],"502":[2,1,36],"503":[2,2,44],"504":[2,2,44],"505":[2,2,45],"506":[3,2,53],"507":[1,2,56],"508":[2,3,91],"509":[3,5,80],"510":[3,5,116],"511":[3,5,42],"512":[3,5,89],"513":[3,5,53],"514":[3,5,69],"515":[3,5,95],"516":[2,3,97],"517":[3,5,97],"518":[3,5,27],"519":[3,5,40],"520":[3,5,20],"521":[2,1,73],"522":[3,2,138],"523":[3,2,1],"524":[1,5,48],"525":[4,5,14],"526":[3,5,46],"527":[2,5,54],"528":[2,7,91],"529":[4,5,33],"530":[3,5,200],"531":[2,5,1],"532":[4,7,48],"533":[11,7,47],"534":[3,5,203],"535":[11,5,82],"536":[2,16,89],"537":[6,18,30],"538":[2,1,79],"539":[3,2,115],"540":[3,2,1],"541":[4,5,16],"542":[3,5,46],"543":[2,5,57],"544":[2,7,77],"545":[3,5,104],"546":[6,1,23],"547":[4,6,108],"548":[2,6,30],"549":[5,6,16],"550":[3,7,7],"551":[5,6,1],"552":[3,8,17],"553":[4,8,85],"554":[4,8,112],"555":[9,9,49],"556":[7,8,23],"557":[3,1,102],"558":[3,3,27],"559":[2,3,19],"560":[4,5,52],"561":[2,3,19],"562":[2,3,46],"563":[1,3,175],"564":[2,4,89],"565":[3,3,28],"566":[4,3,28],"567":[3,3,24],"568":[6,3,38],"569":[6,3,93],"570":[1,1,41],"571":[1,1,80],"572":[1,1,243],"573":[2,1,52],"574":[1,1,63],"575":[1,1,40],"576":[2,1,97],"577":[1,1,29],"578":[2,1,24],"579":[3,1,19],"580":[4,3,111],"581":[5,3,108],"582":[1,3,90],"583":[4,1,82],"584":[3,1,28],"585":[3,3,67],"586":[2,5,78],"587":[4,3,80],"588":[1,1,1],"589":[2,1,64],"590":[2,3,48],"591":[1,1,106],"592":[7,1,81],"593":[3,1,81],"594":[4,1,26],"595":[10,1,71],"596":[3,1,132],"597":[2,3,39],"598":[3,3,26],"599":[3,1,1],"600":[2,3,12],"601":[3,3,34],"602":[1,4,35],"603":[1,4,1],"604":[1,5,45],"605":[2,5,31],"606":[1,4,1],"607":[3,5,61],"608":[7,1,78],"609":[2,7,72],"610":[6,7,16],"611":[3,7,7],"612":[3,7,8],"613":[4,7,162],"614":[4,7,1],"615":[6,11,34],"616":[3,14,6],"617":[4,14,25],"618":[4,11,27],"619":[3,11,49],"620":[4,11,54],"621":[1,7,41],"622":[2,8,105],"623":[2,8,70],"624":[4,7,46],"625":[5,7,1],"626":[6,9,12],"627":[3,9,54],"628":[1,9,8],"629":[5,9,113],"630":[5,9,48],"631":[3,12,10],"632":[4,12,47],"633":[4,12,8],"634":[7,12,23],"635":[3,12,27],"636":[4,9,148],"637":[6,9,58],"638":[4,9,26],"639":[4,9,16],"640":[5,7,1],"641":[3,11,22],"642":[5,11,29],"643":[2,16,65],"644":[4,16,56],"645":[3,16,13],"646":[5,11,94],"647":[5,11,90],"648":[5,1,16],"649":[1,5,38],"650":[1,5,29],"651":[3,1,71],"652":[1,3,14],"653":[2,3,105],"654":[6,3,77],"655":[6,8,79],"656":[3,8,64],"657":[2,3,1],"658":[4,5,1],"659":[1,3,54],"660":[2,1,24],"661":[2,2,79],"662":[2,2,97],"663":[7,1,31],"664":[5,7,26],"665":[2,7,31],"666":[6,7,16],"667":[3,9,11],"668":[3,7,10],"669":[5,10,1],"670":[5,12,17],"671":[5,12,131],"672":[10,10,50],"673":[8,10,24],"674":[5,10,32],"675":[3,1,65],"676":[2,3,84],"677":[2,4,97],"678":[5,1,42],"679":[2,5,8],"680":[2,5,11],"681":[3,5,12],"682":[5,5,32],"683":[4,9,38],"684":[4,9,44],"685":[4,9,49],"686":[4,9,29],"687":[4,9,48],"688":[7,9,76],"689":[5,9,74],"690":[4,9,38],"691":[7,9,66],"692":[3,9,42],"693":[6,1,25],"694":[4,6,42],"695":[2,6,30],"696":[5,6,22],"697":[3,7,10],"698":[4,6,37],"699":[4,8,106],"700":[3,8,79],"701":[2,11,38],"702":[9,8,49],"703":[6,8,15],"704":[3,6,16],"705":[2,1,49],"706":[4,2,66],"707":[3,2,1],"708":[2,2,31],"709":[2,4,104],"710":[1,2,56],"711":[2,3,5],"712":[3,5,31],"713":[2,5,36],"714":[2,5,36],"715":[3,3,6],"716":[3,6,124],"717":[1,2,24],"718":[1,2,16],"719":[2,2,10],"720":[2,1,107],"721":[3,2,1],"722":[2,2,37],"723":[5,4,22],"724":[5,4,35],"725":[2,2,65],"726":[2,2,63],"727":[5,2,33],"728":[3,2,63],"729":[1,2,23],"730":[2,2,9],"731":[6,1,89],"732":[5,1,1],"733":[2,5,43],"734":[1,5,86],"735":[2,5,9],"736":[3,1,25],"737":[2,3,48],"738":[2,3,29],"739":[2,3,76],"740":[10,1,13],"741":[2,10,22],"742":[6,12,113],"743":[3,10,1],"744":[4,13,72],"745":[3,13,106],"746":[3,13,94],"747":[2,1,53],"748":[3,2,42],"749":[1,2,37]},"averageFieldLength":[3.458666666666667,5.521333333333342,53.7],"storedFields":{"0":{"title":"Celestia Documentation Site","titles":[]},"1":{"title":"Building the site","titles":["Celestia Documentation Site"]},"2":{"title":"Contribution Guidelines","titles":["Celestia Documentation Site"]},"3":{"title":"Directory Structure","titles":["Celestia Documentation Site"]},"4":{"title":"Feedback & Suggestions","titles":["Celestia Documentation Site"]},"5":{"title":"Community calendar","titles":[]},"6":{"title":"Celestia.org Code of Conduct","titles":[]},"7":{"title":"Our Pledge","titles":["Celestia.org Code of Conduct"]},"8":{"title":"Our Standards","titles":["Celestia.org Code of Conduct"]},"9":{"title":"Enforcement Responsibilities","titles":["Celestia.org Code of Conduct"]},"10":{"title":"Scope","titles":["Celestia.org Code of Conduct"]},"11":{"title":"Enforcement","titles":["Celestia.org Code of Conduct"]},"12":{"title":"Enforcement Guidelines","titles":["Celestia.org Code of Conduct"]},"13":{"title":"1. Correction","titles":["Celestia.org Code of Conduct","Enforcement Guidelines"]},"14":{"title":"2. Warning","titles":["Celestia.org Code of Conduct","Enforcement Guidelines"]},"15":{"title":"3. Temporary Ban","titles":["Celestia.org Code of Conduct","Enforcement Guidelines"]},"16":{"title":"4. Permanent Ban","titles":["Celestia.org Code of Conduct","Enforcement Guidelines"]},"17":{"title":"Attribution","titles":["Celestia.org Code of Conduct"]},"18":{"title":"Cohort one content & calendar","titles":[]},"19":{"title":"Month 1 - learning and exploring (start building whenever you’re ready)","titles":["Cohort one content & calendar"]},"20":{"title":"Week 1 - 26 September","titles":["Cohort one content & calendar","Month 1 - learning and exploring (start building whenever you’re ready)"]},"21":{"title":"Week 2 - 3 October","titles":["Cohort one content & calendar","Month 1 - learning and exploring (start building whenever you’re ready)"]},"22":{"title":"Week 3 - 10 October","titles":["Cohort one content & calendar","Month 1 - learning and exploring (start building whenever you’re ready)"]},"23":{"title":"Week 4 - 17 October","titles":["Cohort one content & calendar","Month 1 - learning and exploring (start building whenever you’re ready)"]},"24":{"title":"Month 2 - designing & implementing a basic prototype","titles":["Cohort one content & calendar"]},"25":{"title":"Week 5 - 24 October","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"26":{"title":"Week 6 - 31 October","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"27":{"title":"Week 7 - 7 November","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"28":{"title":"Week 8 - 14 November","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"29":{"title":"Week 9 - 21 November","titles":["Cohort one content & calendar","Month 2 - designing & implementing a basic prototype"]},"30":{"title":"Month 3 - build out the prototype into a functional product","titles":["Cohort one content & calendar"]},"31":{"title":"Week 10 - 28 November","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"32":{"title":"Week 11 - 5 December","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"33":{"title":"Dec 12 - Week 12","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"34":{"title":"Dec 19 - Week 13 - no scheduled events, meet with mentors","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"35":{"title":"Dec 26 - Week 14 - no scheduled events, holiday break 🎉","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"36":{"title":"Jan 2 - Week 15 - no scheduled events, meet with mentors","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"37":{"title":"Jan 9 - Week 16 - submissions due","titles":["Cohort one content & calendar","Month 3 - build out the prototype into a functional product"]},"38":{"title":"Project repositories","titles":["Cohort one content & calendar"]},"39":{"title":"Individual fellows","titles":["Cohort one content & calendar","Project repositories"]},"40":{"title":"Team fellows","titles":["Cohort one content & calendar","Project repositories"]},"41":{"title":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS","titles":[]},"42":{"title":"1. General Terms","titles":["SUPPLEMENTAL INCENTIVIZED TESTNET TERMS"]},"43":{"title":"2. Taxes","titles":["SUPPLEMENTAL INCENTIVIZED TESTNET TERMS"]},"44":{"title":"3. Supplemental Privacy Information","titles":["SUPPLEMENTAL INCENTIVIZED TESTNET TERMS"]},"45":{"title":"4. Certain Additional Representations","titles":["SUPPLEMENTAL INCENTIVIZED TESTNET TERMS"]},"46":{"title":"Modular Fellows","titles":[]},"47":{"title":"Overview","titles":["Modular Fellows"]},"48":{"title":"Milestones","titles":["Modular Fellows","Overview"]},"49":{"title":"Project ideas","titles":["Modular Fellows"]},"50":{"title":"Support","titles":["Modular Fellows"]},"51":{"title":"Continuation","titles":["Modular Fellows"]},"52":{"title":"Modular Mentors","titles":["Modular Fellows","Continuation"]},"53":{"title":"Modular Meetup guide","titles":[]},"54":{"title":"Before the Meetup","titles":["Modular Meetup guide"]},"55":{"title":"During the Meetup","titles":["Modular Meetup guide"]},"56":{"title":"After the Meetup","titles":["Modular Meetup guide"]},"57":{"title":"Logistics and guidance","titles":["Modular Meetup guide"]},"58":{"title":"Venue","titles":["Modular Meetup guide","Logistics and guidance"]},"59":{"title":"Catering and refreshments","titles":["Modular Meetup guide","Logistics and guidance"]},"60":{"title":"Audience","titles":["Modular Meetup guide","Logistics and guidance"]},"61":{"title":"Speakers","titles":["Modular Meetup guide","Logistics and guidance"]},"62":{"title":"Sponsors","titles":["Modular Meetup guide","Logistics and guidance"]},"63":{"title":"Communications and marketing","titles":["Modular Meetup guide","Logistics and guidance"]},"64":{"title":"Recording","titles":["Modular Meetup guide","Logistics and guidance"]},"65":{"title":"Utilizing Meetup.com platform","titles":["Modular Meetup guide","Logistics and guidance"]},"66":{"title":"Onboarding questions for community members joining a Modular Meetup","titles":["Modular Meetup guide","Logistics and guidance"]},"67":{"title":"Celestia Modular Meetup program","titles":[]},"68":{"title":"Program description","titles":["Celestia Modular Meetup program"]},"69":{"title":"Important info","titles":["Celestia Modular Meetup program"]},"70":{"title":"Celestia.org Community Code of Conduct","titles":["Celestia Modular Meetup program","Important info"]},"71":{"title":"Signup form","titles":["Celestia Modular Meetup program","Important info"]},"72":{"title":"Emails","titles":["Celestia Modular Meetup program","Important info"]},"73":{"title":"Discord","titles":["Celestia Modular Meetup program","Important info"]},"74":{"title":"Materials","titles":["Celestia Modular Meetup program","Important info"]},"75":{"title":"Modular Meetup Toolkit","titles":[]},"76":{"title":"Celestia branding guidelines","titles":["Modular Meetup Toolkit"]},"77":{"title":"Sample “Introduction to Modularity” workshop presentation","titles":["Modular Meetup Toolkit"]},"78":{"title":"Sample “Run a Celestia light node” workshop presentation","titles":["Modular Meetup Toolkit"]},"79":{"title":"Sample “Deploy a Sovereign Rollup” workshop presentation","titles":["Modular Meetup Toolkit"]},"80":{"title":"Sample “Modular Meetup Introduction” workshop presentation","titles":["Modular Meetup Toolkit"]},"81":{"title":"Swag logistics","titles":["Modular Meetup Toolkit"]},"82":{"title":"Community overview","titles":[]},"83":{"title":"Speaker list","titles":[]},"84":{"title":"Deploy a dapp on your Arbitrum rollup devnet","titles":[]},"85":{"title":"Dependencies","titles":["Deploy a dapp on your Arbitrum rollup devnet"]},"86":{"title":"Setup and contract deployment","titles":["Deploy a dapp on your Arbitrum rollup devnet"]},"87":{"title":"Interact with the contract","titles":["Deploy a dapp on your Arbitrum rollup devnet","Setup and contract deployment"]},"88":{"title":"Update the frontend","titles":["Deploy a dapp on your Arbitrum rollup devnet"]},"89":{"title":"Interact with the frontend","titles":["Deploy a dapp on your Arbitrum rollup devnet"]},"90":{"title":"Deploy an Arbitrum rollup devnet","titles":[]},"91":{"title":"Dependencies","titles":["Deploy an Arbitrum rollup devnet"]},"92":{"title":"General","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"93":{"title":"Rust","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"94":{"title":"Golang","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"95":{"title":"Node","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"96":{"title":"Other Dependencies","titles":["Deploy an Arbitrum rollup devnet","Dependencies"]},"97":{"title":"Clone the repository","titles":["Deploy an Arbitrum rollup devnet"]},"98":{"title":"Installing Nitro from Source","titles":["Deploy an Arbitrum rollup devnet"]},"99":{"title":"Validating with WASM","titles":["Deploy an Arbitrum rollup devnet","Installing Nitro from Source"]},"100":{"title":"Next steps","titles":["Deploy an Arbitrum rollup devnet"]},"101":{"title":"Introduction to Arbitrum rollups with Celestia as DA","titles":[]},"102":{"title":"Overview","titles":["Introduction to Arbitrum rollups with Celestia as DA"]},"103":{"title":"Blobstream","titles":["Introduction to Arbitrum rollups with Celestia as DA","Overview"]},"104":{"title":"Ethereum fallback mechanism in Nitro","titles":["Introduction to Arbitrum rollups with Celestia as DA","Overview"]},"105":{"title":"Next steps","titles":["Introduction to Arbitrum rollups with Celestia as DA"]},"106":{"title":"Deploy an Arbitrum rollup to Mocha testnet","titles":[]},"107":{"title":"Dependencies","titles":["Deploy an Arbitrum rollup to Mocha testnet"]},"108":{"title":"Setting up your light node","titles":["Deploy an Arbitrum rollup to Mocha testnet"]},"109":{"title":"Run your Nitro rollup on Mocha","titles":["Deploy an Arbitrum rollup to Mocha testnet"]},"110":{"title":"Deploy a smart contract to your Arbitrum rollup","titles":[]},"111":{"title":"Overview","titles":["Deploy a smart contract to your Arbitrum rollup"]},"112":{"title":"Prerequisites","titles":["Deploy a smart contract to your Arbitrum rollup"]},"113":{"title":"Setup","titles":["Deploy a smart contract to your Arbitrum rollup"]},"114":{"title":"Create your smart contract","titles":["Deploy a smart contract to your Arbitrum rollup"]},"115":{"title":"Test your smart contract","titles":["Deploy a smart contract to your Arbitrum rollup"]},"116":{"title":"Deploying your smart contract","titles":["Deploy a smart contract to your Arbitrum rollup"]},"117":{"title":"Funded accounts","titles":["Deploy a smart contract to your Arbitrum rollup","Deploying your smart contract"]},"118":{"title":"Using our Arbitrum devnet","titles":["Deploy a smart contract to your Arbitrum rollup","Deploying your smart contract"]},"119":{"title":"Interacting with your smart contract","titles":["Deploy a smart contract to your Arbitrum rollup"]},"120":{"title":"Next steps","titles":["Deploy a smart contract to your Arbitrum rollup"]},"121":{"title":"Integrate with Blobstream contracts","titles":[]},"122":{"title":"Getting started","titles":["Integrate with Blobstream contracts"]},"123":{"title":"Prerequisites","titles":["Integrate with Blobstream contracts","Getting started"]},"124":{"title":"Installing Blobstream contracts","titles":["Integrate with Blobstream contracts","Getting started"]},"125":{"title":"Example usage","titles":["Integrate with Blobstream contracts","Getting started"]},"126":{"title":"Data structures","titles":["Integrate with Blobstream contracts"]},"127":{"title":"Interface","titles":["Integrate with Blobstream contracts"]},"128":{"title":"Querying the proof","titles":["Integrate with Blobstream contracts"]},"129":{"title":"Verifying data inclusion for fraud proofs","titles":["Integrate with Blobstream contracts"]},"130":{"title":"Integrate with Blobstream client","titles":[]},"131":{"title":"Blobstream demo rollup","titles":["Integrate with Blobstream client"]},"132":{"title":"Defining a chain","titles":["Integrate with Blobstream client"]},"133":{"title":"Rollup sequencer","titles":["Integrate with Blobstream client"]},"134":{"title":"Committing to data","titles":["Integrate with Blobstream client","Rollup sequencer"]},"135":{"title":"Creating blocks","titles":["Integrate with Blobstream client","Rollup sequencer"]},"136":{"title":"Rollup full node","titles":["Integrate with Blobstream client"]},"137":{"title":"Downloading the block","titles":["Integrate with Blobstream client","Rollup full node"]},"138":{"title":"More documentation","titles":["Integrate with Blobstream client","Rollup full node"]},"139":{"title":"Proving inclusion via Blobstream","titles":["Integrate with Blobstream client","Rollup full node","More documentation"]},"140":{"title":"Submitting block data to Celestia via light node","titles":["Integrate with Blobstream client","Rollup full node","More documentation"]},"141":{"title":"Posting headers to Ethereum","titles":["Integrate with Blobstream client","Rollup full node","More documentation"]},"142":{"title":"Blobstream proofs queries","titles":[]},"143":{"title":"Prerequisites","titles":["Blobstream proofs queries"]},"144":{"title":"Querying the proofs","titles":["Blobstream proofs queries"]},"145":{"title":"1. Data root inclusion proof","titles":["Blobstream proofs queries","Querying the proofs"]},"146":{"title":"2. Transaction inclusion proof","titles":["Blobstream proofs queries","Querying the proofs"]},"147":{"title":"Converting the proofs to be usable in the DAVerifier contract","titles":["Blobstream proofs queries"]},"148":{"title":"data","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"149":{"title":"shareProofs","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"150":{"title":"namespace","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"151":{"title":"rowRoots","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"152":{"title":"rowProofs","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"153":{"title":"attestationProof","titles":["Blobstream proofs queries","Converting the proofs to be usable in the DAVerifier contract"]},"154":{"title":"High-level diagrams","titles":["Blobstream proofs queries"]},"155":{"title":"The Celestia square","titles":["Blobstream proofs queries","High-level diagrams"]},"156":{"title":"The commitment scheme","titles":["Blobstream proofs queries","High-level diagrams"]},"157":{"title":"Conclusion","titles":["Blobstream proofs queries"]},"158":{"title":"Integrate with Blobstream","titles":[]},"159":{"title":"Overview","titles":["Integrate with Blobstream"]},"160":{"title":"How Blobstream works","titles":["Integrate with Blobstream"]},"161":{"title":"Events and messages relayed","titles":["Integrate with Blobstream","How Blobstream works"]},"162":{"title":"How to integrate","titles":["Integrate with Blobstream"]},"163":{"title":"Deployed contracts","titles":["Integrate with Blobstream","How to integrate"]},"164":{"title":"Blobstream vs. data availability committees (DACs)","titles":["Integrate with Blobstream"]},"165":{"title":"Decentralization and security","titles":["Integrate with Blobstream","Blobstream vs. data availability committees (DACs)"]},"166":{"title":"Mechanism of verification","titles":["Integrate with Blobstream","Blobstream vs. data availability committees (DACs)"]},"167":{"title":"Flexibility and scalability","titles":["Integrate with Blobstream","Blobstream vs. data availability committees (DACs)"]},"168":{"title":"Bubs testnet","titles":[]},"169":{"title":"Built with the OP Stack and Celestia","titles":["Bubs testnet"]},"170":{"title":"Building on Bubs","titles":["Bubs testnet"]},"171":{"title":"RPC URLs","titles":["Bubs testnet","Building on Bubs"]},"172":{"title":"HTTPS","titles":["Bubs testnet","Building on Bubs","RPC URLs"]},"173":{"title":"WSS","titles":["Bubs testnet","Building on Bubs","RPC URLs"]},"174":{"title":"Faucet","titles":["Bubs testnet","Building on Bubs"]},"175":{"title":"Explorer","titles":["Bubs testnet","Building on Bubs"]},"176":{"title":"Next steps","titles":["Bubs testnet"]},"177":{"title":"Build modular","titles":[]},"178":{"title":"What is a modular blockchain?","titles":["Build modular"]},"179":{"title":"Ease of deploying a chain","titles":["Build modular"]},"180":{"title":"Scaling","titles":["Build modular"]},"181":{"title":"Customizability","titles":["Build modular"]},"182":{"title":"Building on Celestia","titles":["Build modular"]},"183":{"title":"Smart contracts","titles":["Build modular","Building on Celestia"]},"184":{"title":"Sovereign rollups","titles":["Build modular","Building on Celestia"]},"185":{"title":"Rollups","titles":["Build modular","Building on Celestia"]},"186":{"title":"How to create a vesting account with celestia-app","titles":[]},"187":{"title":"Local devnet","titles":["How to create a vesting account with celestia-app"]},"188":{"title":"Setting up the local devnet","titles":["How to create a vesting account with celestia-app","Local devnet"]},"189":{"title":"Run the devnet","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up the local devnet"]},"190":{"title":"Save the home directory path","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up the local devnet"]},"191":{"title":"Check the version of the devnet","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up the local devnet"]},"192":{"title":"Next steps","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up the local devnet"]},"193":{"title":"Setting up vesting account on devnet","titles":["How to create a vesting account with celestia-app","Local devnet"]},"194":{"title":"Create a new key","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"195":{"title":"List your keys","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"196":{"title":"Set variables","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"197":{"title":"Create your devnet vesting account","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"198":{"title":"Query the devnet vesting account details","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"199":{"title":"Query the devnet base account details","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"200":{"title":"Query the balances of the devnet accounts","titles":["How to create a vesting account with celestia-app","Local devnet","Setting up vesting account on devnet"]},"201":{"title":"Mocha","titles":["How to create a vesting account with celestia-app"]},"202":{"title":"Create a wallet","titles":["How to create a vesting account with celestia-app","Mocha"]},"203":{"title":"Fund your account","titles":["How to create a vesting account with celestia-app","Mocha"]},"204":{"title":"Create a vesting account on Mocha","titles":["How to create a vesting account with celestia-app","Mocha"]},"205":{"title":"Optional: Set up a full consensus node or validator","titles":["How to create a vesting account with celestia-app","Mocha"]},"206":{"title":"Optional: Change your client.toml","titles":["How to create a vesting account with celestia-app","Mocha"]},"207":{"title":"Notes","titles":["How to create a vesting account with celestia-app"]},"208":{"title":"Conclusion","titles":["How to create a vesting account with celestia-app"]},"209":{"title":"Create a wallet with celestia-app","titles":[]},"210":{"title":"Prerequisites","titles":["Create a wallet with celestia-app"]},"211":{"title":"Create a wallet","titles":["Create a wallet with celestia-app"]},"212":{"title":"Fund a wallet","titles":["Create a wallet with celestia-app"]},"213":{"title":"Create a wallet with celestia-node","titles":[]},"214":{"title":"Using the cel-key utility","titles":["Create a wallet with celestia-node"]},"215":{"title":"Installation","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"216":{"title":"Steps for generating node keys","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"217":{"title":"Steps for exporting node keys","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"218":{"title":"Steps for importing node keys","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"219":{"title":"View all options for cel-key","titles":["Create a wallet with celestia-node","Using the cel-key utility"]},"220":{"title":"Docker and cel-key","titles":["Create a wallet with celestia-node"]},"221":{"title":"Prerequisites","titles":["Create a wallet with celestia-node","Docker and cel-key"]},"222":{"title":"Running your node","titles":["Create a wallet with celestia-node","Docker and cel-key"]},"223":{"title":"Mounting existing keys to container","titles":["Create a wallet with celestia-node","Docker and cel-key"]},"224":{"title":"Cosmostation integration with Celestia","titles":[]},"225":{"title":"Install Cosmostation","titles":["Cosmostation integration with Celestia"]},"226":{"title":"Add Celestia network parameters","titles":["Cosmostation integration with Celestia"]},"227":{"title":"Deploy a smart contract on Bubs testnet","titles":[]},"228":{"title":"Dependencies","titles":["Deploy a smart contract on Bubs testnet"]},"229":{"title":"Setup","titles":["Deploy a smart contract on Bubs testnet"]},"230":{"title":"Create your smart contract","titles":["Deploy a smart contract on Bubs testnet"]},"231":{"title":"Test your smart contract","titles":["Deploy a smart contract on Bubs testnet"]},"232":{"title":"Deploying your smart contract","titles":["Deploy a smart contract on Bubs testnet"]},"233":{"title":"Using Anvil","titles":["Deploy a smart contract on Bubs testnet","Deploying your smart contract"]},"234":{"title":"Using Bubs","titles":["Deploy a smart contract on Bubs testnet","Deploying your smart contract"]},"235":{"title":"Interacting with your smart contract","titles":["Deploy a smart contract on Bubs testnet"]},"236":{"title":"Next steps","titles":["Deploy a smart contract on Bubs testnet"]},"237":{"title":"Ethereum fallback","titles":[]},"238":{"title":"Full stack modular blockchain development guide","titles":[]},"239":{"title":"Getting started","titles":["Full stack modular blockchain development guide"]},"240":{"title":"Pre-requisites","titles":["Full stack modular blockchain development guide","Getting started"]},"241":{"title":"Project setup","titles":["Full stack modular blockchain development guide","Getting started"]},"242":{"title":"Updating the contract and tests","titles":["Full stack modular blockchain development guide","Getting started","Project setup"]},"243":{"title":"Running the test","titles":["Full stack modular blockchain development guide","Getting started","Project setup"]},"244":{"title":"Updating the deployment script","titles":["Full stack modular blockchain development guide","Getting started","Project setup"]},"245":{"title":"Deploying locally","titles":["Full stack modular blockchain development guide","Getting started","Project setup"]},"246":{"title":"Deploying to the Ethermint Sovereign Rollup","titles":["Full stack modular blockchain development guide","Getting started"]},"247":{"title":"Building the frontend","titles":["Full stack modular blockchain development guide","Getting started"]},"248":{"title":"Configuring environment variables","titles":["Full stack modular blockchain development guide","Getting started","Building the frontend"]},"249":{"title":"Configuring the entrypoint","titles":["Full stack modular blockchain development guide","Getting started"]},"250":{"title":"Creating and reading posts","titles":["Full stack modular blockchain development guide","Getting started"]},"251":{"title":"Adding Ethermint Chain to MetaMask","titles":["Full stack modular blockchain development guide","Getting started"]},"252":{"title":"Testing it out on Ethermint","titles":["Full stack modular blockchain development guide","Getting started"]},"253":{"title":"Now give it a spin 🌀","titles":["Full stack modular blockchain development guide","Getting started"]},"254":{"title":"Deploying a dapp on Bubs testnet","titles":[]},"255":{"title":"Update the frontend","titles":["Deploying a dapp on Bubs testnet"]},"256":{"title":"Interact with the frontend","titles":["Deploying a dapp on Bubs testnet"]},"257":{"title":"Next steps","titles":["Deploying a dapp on Bubs testnet"]},"258":{"title":"How to stake TIA","titles":[]},"259":{"title":"Select your preferred wallet","titles":["How to stake TIA"]},"260":{"title":"Stake TIA with Keplr wallet","titles":["How to stake TIA"]},"261":{"title":"1️⃣ Open your Keplr browser extension","titles":["How to stake TIA","Stake TIA with Keplr wallet"]},"262":{"title":"2️⃣ Select Celestia network and search for a validator","titles":["How to stake TIA","Stake TIA with Keplr wallet"]},"263":{"title":"3️⃣ Stake your TIA tokens","titles":["How to stake TIA","Stake TIA with Keplr wallet"]},"264":{"title":"4️⃣ Confirm and manage your TIA","titles":["How to stake TIA","Stake TIA with Keplr wallet"]},"265":{"title":"Stake TIA with Leap wallet","titles":["How to stake TIA"]},"266":{"title":"1️⃣ Open your Leap browser extension","titles":["How to stake TIA","Stake TIA with Leap wallet"]},"267":{"title":"2️⃣ Select a validator and stake TIA","titles":["How to stake TIA","Stake TIA with Leap wallet"]},"268":{"title":"3️⃣ Confirm and manage your TIA","titles":["How to stake TIA","Stake TIA with Leap wallet"]},"269":{"title":"IBC relaying guide","titles":[]},"270":{"title":"Hermes","titles":["IBC relaying guide"]},"271":{"title":"Configuration","titles":["IBC relaying guide","Hermes"]},"272":{"title":"Add relayer wallets","titles":["IBC relaying guide","Hermes"]},"273":{"title":"Verify configuration files","titles":["IBC relaying guide","Hermes"]},"274":{"title":"Create a connection between 2 chains","titles":["IBC relaying guide"]},"275":{"title":"Create clients","titles":["IBC relaying guide"]},"276":{"title":"Open connection over new clients","titles":["IBC relaying guide","Create clients"]},"277":{"title":"Configure channels in Hermes","titles":["IBC relaying guide","Create clients"]},"278":{"title":"Start the relayer","titles":["IBC relaying guide"]},"279":{"title":"Transfer","titles":["IBC relaying guide"]},"280":{"title":"Token filter","titles":["IBC relaying guide","Transfer"]},"281":{"title":"Integrate Celestia for service providers","titles":[]},"282":{"title":"Getting started","titles":["Integrate Celestia for service providers"]},"283":{"title":"Celestia service provider notes","titles":["Integrate Celestia for service providers"]},"284":{"title":"Custody and key management","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"285":{"title":"RPC and querying","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"286":{"title":"Compatibility","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"287":{"title":"Syncing","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"288":{"title":"Notable exceptions relative to other blockchains","titles":["Integrate Celestia for service providers","Celestia service provider notes"]},"289":{"title":"Introduction to OP Stack integration","titles":[]},"290":{"title":"About the integration","titles":["Introduction to OP Stack integration"]},"291":{"title":"Table of contents of the category","titles":["Introduction to OP Stack integration","About the integration"]},"292":{"title":"Celestia and OP Stack repository","titles":["Introduction to OP Stack integration"]},"293":{"title":"What are Optimism and the OP Stack?","titles":["Introduction to OP Stack integration","Celestia and OP Stack repository"]},"294":{"title":"What is Celestia?","titles":["Introduction to OP Stack integration","Celestia and OP Stack repository"]},"295":{"title":"OP Stack and Celestia","titles":["Introduction to OP Stack integration"]},"296":{"title":"Next steps","titles":["Introduction to OP Stack integration"]},"297":{"title":"Keplr integration with Celestia","titles":[]},"298":{"title":"Add Celestia network to Keplr","titles":["Keplr integration with Celestia"]},"299":{"title":"Leap integration with Celestia","titles":[]},"300":{"title":"Install Leap","titles":["Leap integration with Celestia"]},"301":{"title":"Add Mocha Testnet","titles":["Leap integration with Celestia"]},"302":{"title":"Adding a custom chain to Leap","titles":["Leap integration with Celestia"]},"303":{"title":"Nitrogen testnet","titles":[]},"304":{"title":"Getting Started with Nitrogen","titles":["Nitrogen testnet"]},"305":{"title":"Nitrogen tokens","titles":["Nitrogen testnet"]},"306":{"title":"Optional: Bridging tokens","titles":["Nitrogen testnet","Nitrogen tokens"]},"307":{"title":"Node API","titles":[]},"308":{"title":"RPC API","titles":["Node API"]},"309":{"title":"Library","titles":["Node API","RPC API"]},"310":{"title":"RPC","titles":["Node API","RPC API"]},"311":{"title":"RPC API tutorial","titles":["Node API","RPC API"]},"312":{"title":"Gateway API","titles":["Node API"]},"313":{"title":"Gateway API tutorial","titles":["Node API","Gateway API"]},"314":{"title":"Celestia-node RPC CLI tutorial","titles":[]},"315":{"title":"Introduction","titles":["Celestia-node RPC CLI tutorial"]},"316":{"title":"Blobs","titles":["Celestia-node RPC CLI tutorial","Introduction"]},"317":{"title":"Namespaces","titles":["Celestia-node RPC CLI tutorial","Introduction"]},"318":{"title":"Hardware requirements","titles":["Celestia-node RPC CLI tutorial"]},"319":{"title":"Setting up dependencies","titles":["Celestia-node RPC CLI tutorial"]},"320":{"title":"Install Golang","titles":["Celestia-node RPC CLI tutorial"]},"321":{"title":"Celestia-node","titles":["Celestia-node RPC CLI tutorial"]},"322":{"title":"Install celestia-node","titles":["Celestia-node RPC CLI tutorial","Celestia-node"]},"323":{"title":"Instantiate a Celestia light node","titles":["Celestia-node RPC CLI tutorial","Celestia-node"]},"324":{"title":"Connect to a public core endpoint","titles":["Celestia-node RPC CLI tutorial","Celestia-node"]},"325":{"title":"Keys and wallets","titles":["Celestia-node RPC CLI tutorial","Celestia-node"]},"326":{"title":"RPC CLI guide","titles":["Celestia-node RPC CLI tutorial"]},"327":{"title":"Command formatting","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"328":{"title":"Basic flags","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"329":{"title":"Auth token 🔐","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Basic flags"]},"330":{"title":"Node store","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Basic flags"]},"331":{"title":"Auth token on custom or private network","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Basic flags","Node store"]},"332":{"title":"Submitting data","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"333":{"title":"Retrieving data","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"334":{"title":"Setting the gas fee and limit","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"335":{"title":"Examples","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"336":{"title":"Check your balance","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"337":{"title":"Check the balance of another address","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"338":{"title":"Get your node ID","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"339":{"title":"Get your account address","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"340":{"title":"Get block header by height","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"341":{"title":"Combined commands","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"342":{"title":"Get data availability sampler stats","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"343":{"title":"Transfer balance of utia to another account","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"344":{"title":"API version","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"345":{"title":"Help","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide","Examples"]},"346":{"title":"Advanced example","titles":["Celestia-node RPC CLI tutorial","RPC CLI guide"]},"347":{"title":"Additional resources","titles":["Celestia-node RPC CLI tutorial"]},"348":{"title":"Post an SVG as a PFB","titles":["Celestia-node RPC CLI tutorial","Additional resources"]},"349":{"title":"Golang guide","titles":["Celestia-node RPC CLI tutorial","Additional resources"]},"350":{"title":"Troubleshooting","titles":["Celestia-node RPC CLI tutorial","Additional resources"]},"351":{"title":"Deploy an OP Stack devnet","titles":[]},"352":{"title":"Dependency setup","titles":["Deploy an OP Stack devnet"]},"353":{"title":"Environment setup and Golang installation","titles":["Deploy an OP Stack devnet","Dependency setup"]},"354":{"title":"Clone repository","titles":["Deploy an OP Stack devnet","Dependency setup"]},"355":{"title":"Build devnet","titles":["Deploy an OP Stack devnet"]},"356":{"title":"Start devnet","titles":["Deploy an OP Stack devnet","Build devnet"]},"357":{"title":"View the logs of the devnet","titles":["Deploy an OP Stack devnet","Build devnet"]},"358":{"title":"Stop devnet","titles":["Deploy an OP Stack devnet","Build devnet"]},"359":{"title":"Viewing containers","titles":["Deploy an OP Stack devnet","Build devnet"]},"360":{"title":"Find a transaction","titles":["Deploy an OP Stack devnet"]},"361":{"title":"Read the transaction call data","titles":["Deploy an OP Stack devnet"]},"362":{"title":"Find the data on Celestia","titles":["Deploy an OP Stack devnet"]},"363":{"title":"Ethereum fallback mechanism in OP Stack","titles":["Deploy an OP Stack devnet"]},"364":{"title":"Implementation of fallback","titles":["Deploy an OP Stack devnet","Ethereum fallback mechanism in OP Stack"]},"365":{"title":"Testing the fallback","titles":["Deploy an OP Stack devnet","Ethereum fallback mechanism in OP Stack"]},"366":{"title":"Span batches","titles":["Deploy an OP Stack devnet"]},"367":{"title":"Deploy an OP Stack devnet to Celestia","titles":[]},"368":{"title":"Pick your deployment type","titles":["Deploy an OP Stack devnet to Celestia"]},"369":{"title":"Using a local devnet","titles":["Deploy an OP Stack devnet to Celestia","Pick your deployment type"]},"370":{"title":"Using a light node","titles":["Deploy an OP Stack devnet to Celestia","Pick your deployment type"]},"371":{"title":"Using a RaaS provider","titles":["Deploy an OP Stack devnet to Celestia","Pick your deployment type"]},"372":{"title":"Build the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"373":{"title":"Start the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"374":{"title":"View the logs of the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"375":{"title":"Stop the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"376":{"title":"Clean the devnet","titles":["Deploy an OP Stack devnet to Celestia"]},"377":{"title":"Deploying to an L1 (or L2)","titles":["Deploy an OP Stack devnet to Celestia"]},"378":{"title":"Prompt scavenger","titles":[]},"379":{"title":"Dependencies","titles":["Prompt scavenger"]},"380":{"title":"Install Celestia Node and run a light node","titles":["Prompt scavenger","Dependencies"]},"381":{"title":"Node API authentication key","titles":["Prompt scavenger","Dependencies"]},"382":{"title":"OpenAI key","titles":["Prompt scavenger","Dependencies"]},"383":{"title":"Building the Prompt Scavenger","titles":["Prompt scavenger"]},"384":{"title":"Copy over Go files","titles":["Prompt scavenger","Building the Prompt Scavenger"]},"385":{"title":"Build your import statements","titles":["Prompt scavenger","Building the Prompt Scavenger"]},"386":{"title":"Helpful functions","titles":["Prompt scavenger","Building the Prompt Scavenger"]},"387":{"title":"Wrapping up the functions","titles":["Prompt scavenger","Building the Prompt Scavenger"]},"388":{"title":"Next steps","titles":["Prompt scavenger"]},"389":{"title":"Data retrievability and pruning","titles":[]},"390":{"title":"Data retrievability and pruning in celestia-node","titles":["Data retrievability and pruning"]},"391":{"title":"Suggested practices for rollups","titles":["Data retrievability and pruning"]},"392":{"title":"Rollkit","titles":[]},"393":{"title":"Tutorials","titles":["Rollkit"]},"394":{"title":"Deploy a rollup","titles":[]},"395":{"title":"What is a rollup?","titles":["Deploy a rollup"]},"396":{"title":"Section contents","titles":["Deploy a rollup"]},"397":{"title":"Staking on Celestia","titles":[]},"398":{"title":"Mainnet Beta","titles":["Staking on Celestia"]},"399":{"title":"Mocha testnet","titles":["Staking on Celestia"]},"400":{"title":"Submitting data blobs to Celestia","titles":[]},"401":{"title":"Fee market and mempool","titles":["Submitting data blobs to Celestia"]},"402":{"title":"Fees and gas limits","titles":["Submitting data blobs to Celestia","Fee market and mempool"]},"403":{"title":"Estimating PFB gas","titles":["Submitting data blobs to Celestia","Fee market and mempool","Fees and gas limits"]},"404":{"title":"Gas fee calculation","titles":["Submitting data blobs to Celestia","Fee market and mempool","Fees and gas limits"]},"405":{"title":"Estimating gas programmatically","titles":["Submitting data blobs to Celestia","Fee market and mempool","Fees and gas limits"]},"406":{"title":"Submitting multiple transactions in one block from the same account","titles":["Submitting data blobs to Celestia","Fee market and mempool"]},"407":{"title":"API","titles":["Submitting data blobs to Celestia"]},"408":{"title":"The celestia-app consensus node CLI","titles":["Submitting data blobs to Celestia","API"]},"409":{"title":"The celestia-node light node CLI","titles":["Submitting data blobs to Celestia","API"]},"410":{"title":"GRPC to a consensus node via the user package","titles":["Submitting data blobs to Celestia","API"]},"411":{"title":"RPC to a celestia-node","titles":["Submitting data blobs to Celestia","API"]},"412":{"title":"Data availability FAQ","titles":[]},"413":{"title":"What is data availability?","titles":["Data availability FAQ"]},"414":{"title":"What is the data availability problem?","titles":["Data availability FAQ"]},"415":{"title":"How do nodes verify data availability in Celestia?","titles":["Data availability FAQ"]},"416":{"title":"What is data availability sampling?","titles":["Data availability FAQ"]},"417":{"title":"What are some of the security assumptions that Celestia makes for data availability sampling?","titles":["Data availability FAQ"]},"418":{"title":"Why is block reconstruction necessary for security?","titles":["Data availability FAQ"]},"419":{"title":"What is data storage?","titles":["Data availability FAQ"]},"420":{"title":"What is the problem around data storage?","titles":["Data availability FAQ"]},"421":{"title":"What is the difference between data availability and data storage?","titles":["Data availability FAQ"]},"422":{"title":"Where does blockchain state fit into this?","titles":["Data availability FAQ"]},"423":{"title":"Why doesn’t Celestia incentivize storage of historical data?","titles":["Data availability FAQ"]},"424":{"title":"Who may store historical data if there is no reward?","titles":["Data availability FAQ"]},"425":{"title":"What are some things blockchains can do to provide stronger assurances of data retrievability?","titles":["Data availability FAQ"]},"426":{"title":"Celestia\'s data availability layer","titles":[]},"427":{"title":"Data availability sampling (DAS)","titles":["Celestia\'s data availability layer"]},"428":{"title":"Scalability","titles":["Celestia\'s data availability layer","Data availability sampling (DAS)"]},"429":{"title":"Fraud proofs of incorrectly extended data","titles":["Celestia\'s data availability layer","Data availability sampling (DAS)"]},"430":{"title":"Namespaced Merkle trees (NMTs)","titles":["Celestia\'s data availability layer"]},"431":{"title":"Building a PoS blockchain for DA","titles":["Celestia\'s data availability layer"]},"432":{"title":"Providing data availability","titles":["Celestia\'s data availability layer","Building a PoS blockchain for DA"]},"433":{"title":"Monolithic vs. modular blockchains","titles":[]},"434":{"title":"Introduction","titles":[]},"435":{"title":"The lifecycle of a celestia-app transaction","titles":[]},"436":{"title":"Checking data availability","titles":["The lifecycle of a celestia-app transaction"]},"437":{"title":"Paying for blobspace","titles":[]},"438":{"title":"PayForBlobs transactions","titles":["Paying for blobspace"]},"439":{"title":"Fee market overview","titles":["Paying for blobspace"]},"440":{"title":"Staking, governance, & supply","titles":[]},"441":{"title":"Proof-of-stake on Celestia","titles":["Staking, governance, & supply"]},"442":{"title":"Inflation","titles":["Staking, governance, & supply"]},"443":{"title":"Decentralised governance","titles":["Staking, governance, & supply"]},"444":{"title":"Network parameters","titles":["Staking, governance, & supply","Decentralised governance"]},"445":{"title":"Community pool","titles":["Staking, governance, & supply","Decentralised governance"]},"446":{"title":"TIA allocation at genesis","titles":["Staking, governance, & supply"]},"447":{"title":"Unlocks","titles":["Staking, governance, & supply","TIA allocation at genesis"]},"448":{"title":"Overview of TIA","titles":[]},"449":{"title":"TIA at a glance","titles":["Overview of TIA"]},"450":{"title":"Role of TIA","titles":["Overview of TIA"]},"451":{"title":"Paying for blobspace","titles":["Overview of TIA","Role of TIA"]},"452":{"title":"Bootstrapping new rollups","titles":["Overview of TIA","Role of TIA"]},"453":{"title":"Proof-of-stake","titles":["Overview of TIA","Role of TIA"]},"454":{"title":"Decentralised governance","titles":["Overview of TIA","Role of TIA"]},"455":{"title":"Denominations","titles":["Overview of TIA","Role of TIA"]},"456":{"title":"TIA: display token","titles":["Overview of TIA","Role of TIA","Denominations"]},"457":{"title":"utia: staking denomination","titles":["Overview of TIA","Role of TIA","Denominations"]},"458":{"title":"microtia: staking denomination alias","titles":["Overview of TIA","Role of TIA","Denominations"]},"459":{"title":"Arabica-9 devnet","titles":[]},"460":{"title":"Software version numbers","titles":["Arabica-9 devnet"]},"461":{"title":"Integrations","titles":["Arabica-9 devnet"]},"462":{"title":"RPC endpoints","titles":["Arabica-9 devnet"]},"463":{"title":"Bridge, full, and light nodes","titles":["Arabica-9 devnet","RPC endpoints"]},"464":{"title":"Full and light nodes ONLY","titles":["Arabica-9 devnet","RPC endpoints"]},"465":{"title":"API endpoints","titles":["Arabica-9 devnet"]},"466":{"title":"gRPC endpoints","titles":["Arabica-9 devnet"]},"467":{"title":"Arabica devnet faucet","titles":["Arabica-9 devnet"]},"468":{"title":"Web","titles":["Arabica-9 devnet","Arabica devnet faucet"]},"469":{"title":"Explorers","titles":["Arabica-9 devnet"]},"470":{"title":"Network upgrades","titles":["Arabica-9 devnet"]},"471":{"title":"Arabica devnet","titles":[]},"472":{"title":"Network stability and upgrades","titles":["Arabica devnet"]},"473":{"title":"Network details","titles":["Arabica devnet"]},"474":{"title":"Software version numbers","titles":["Arabica devnet","Network details"]},"475":{"title":"Integrations","titles":["Arabica devnet"]},"476":{"title":"RPC endpoints","titles":["Arabica devnet","Integrations"]},"477":{"title":"Using consensus endpoints with DA nodes","titles":["Arabica devnet","Integrations"]},"478":{"title":"Arabica devnet faucet","titles":["Arabica devnet"]},"479":{"title":"Discord","titles":["Arabica devnet","Arabica devnet faucet"]},"480":{"title":"Web","titles":["Arabica devnet","Arabica devnet faucet"]},"481":{"title":"Explorers","titles":["Arabica devnet"]},"482":{"title":"Network upgrades","titles":["Arabica devnet"]},"483":{"title":"Blobstream for validators","titles":[]},"484":{"title":"Install the Blobstream binary","titles":["Blobstream for validators"]},"485":{"title":"Install","titles":["Blobstream for validators","Install the Blobstream binary"]},"486":{"title":"Usage","titles":["Blobstream for validators","Install the Blobstream binary"]},"487":{"title":"Next steps","titles":["Blobstream for validators","Install the Blobstream binary"]},"488":{"title":"Useful links","titles":["Blobstream for validators","Install the Blobstream binary"]},"489":{"title":"Blobstream bootstrapper","titles":[]},"490":{"title":"How to run","titles":["Blobstream bootstrapper"]},"491":{"title":"Install the Blobstream binary","titles":["Blobstream bootstrapper","How to run"]},"492":{"title":"Init the store","titles":["Blobstream bootstrapper","How to run"]},"493":{"title":"Add keys","titles":["Blobstream bootstrapper","How to run"]},"494":{"title":"Open the P2P port","titles":["Blobstream bootstrapper","How to run"]},"495":{"title":"Start the bootstrapper","titles":["Blobstream bootstrapper","How to run"]},"496":{"title":"Systemd service","titles":["Blobstream bootstrapper","How to run","Start the bootstrapper"]},"497":{"title":"Deploy the Blobstream contract","titles":[]},"498":{"title":"How to run","titles":["Deploy the Blobstream contract"]},"499":{"title":"Install the Blobstream binary","titles":["Deploy the Blobstream contract","How to run"]},"500":{"title":"Add keys","titles":["Deploy the Blobstream contract","How to run"]},"501":{"title":"Deploy the contract","titles":["Deploy the Blobstream contract","How to run"]},"502":{"title":"Key management","titles":[]},"503":{"title":"Orchestrator command","titles":["Key management"]},"504":{"title":"Relayer command","titles":["Key management"]},"505":{"title":"Deploy command","titles":["Key management"]},"506":{"title":"Store initialization (!)","titles":["Key management"]},"507":{"title":"Options","titles":["Key management"]},"508":{"title":"EVM keystore","titles":["Key management","Options"]},"509":{"title":"EVM: Add subcommand","titles":["Key management","Options","EVM keystore"]},"510":{"title":"EVM: Delete subcommand","titles":["Key management","Options","EVM keystore"]},"511":{"title":"EVM: List subcommand","titles":["Key management","Options","EVM keystore"]},"512":{"title":"EVM: Update subcommand","titles":["Key management","Options","EVM keystore"]},"513":{"title":"EVM: Import subcommand","titles":["Key management","Options","EVM keystore"]},"514":{"title":"EVM: Import ECDSA","titles":["Key management","Options","EVM keystore"]},"515":{"title":"EVM: Import file","titles":["Key management","Options","EVM keystore"]},"516":{"title":"P2P keystore","titles":["Key management","Options"]},"517":{"title":"P2P: Add subcommand","titles":["Key management","Options","P2P keystore"]},"518":{"title":"P2P: Delete subcommand","titles":["Key management","Options","P2P keystore"]},"519":{"title":"P2P: Import subcommand","titles":["Key management","Options","P2P keystore"]},"520":{"title":"P2P: List subcommand","titles":["Key management","Options","P2P keystore"]},"521":{"title":"Blobstream Orchestrator","titles":[]},"522":{"title":"How it works","titles":["Blobstream Orchestrator"]},"523":{"title":"How to run","titles":["Blobstream Orchestrator"]},"524":{"title":"Requirements","titles":["Blobstream Orchestrator","How to run"]},"525":{"title":"Install the Blobstream binary","titles":["Blobstream Orchestrator","How to run"]},"526":{"title":"Init the store","titles":["Blobstream Orchestrator","How to run"]},"527":{"title":"Add keys","titles":["Blobstream Orchestrator","How to run"]},"528":{"title":"EVM key","titles":["Blobstream Orchestrator","How to run","Add keys"]},"529":{"title":"Open the P2P port","titles":["Blobstream Orchestrator","How to run"]},"530":{"title":"Start the orchestrator","titles":["Blobstream Orchestrator","How to run"]},"531":{"title":"Known issues","titles":["Blobstream Orchestrator","How to run"]},"532":{"title":"transport: authentication handshake failed","titles":["Blobstream Orchestrator","How to run","Known issues"]},"533":{"title":"failed to query last valset before nonce (most likely pruned)","titles":["Blobstream Orchestrator","How to run","Known issues"]},"534":{"title":"Register EVM Address","titles":["Blobstream Orchestrator","How to run"]},"535":{"title":"Updating the EVM address if its corresponding private key is lost","titles":["Blobstream Orchestrator","How to run"]},"536":{"title":"Systemd service","titles":["Blobstream Orchestrator","How to run","Updating the EVM address if its corresponding private key is lost"]},"537":{"title":"Issue: Journald not outputting the logs","titles":["Blobstream Orchestrator","How to run","Updating the EVM address if its corresponding private key is lost","Systemd service"]},"538":{"title":"Blobstream Relayer","titles":[]},"539":{"title":"How it works","titles":["Blobstream Relayer"]},"540":{"title":"How to run","titles":["Blobstream Relayer"]},"541":{"title":"Install the Blobstream binary","titles":["Blobstream Relayer","How to run"]},"542":{"title":"Init the store","titles":["Blobstream Relayer","How to run"]},"543":{"title":"Add keys","titles":["Blobstream Relayer","How to run"]},"544":{"title":"EVM key","titles":["Blobstream Relayer","How to run","Add keys"]},"545":{"title":"Start the relayer","titles":["Blobstream Relayer","How to run"]},"546":{"title":"Setting up a Celestia bridge node","titles":[]},"547":{"title":"Overview of bridge nodes","titles":["Setting up a Celestia bridge node"]},"548":{"title":"Hardware requirements","titles":["Setting up a Celestia bridge node"]},"549":{"title":"Setting up your bridge node","titles":["Setting up a Celestia bridge node"]},"550":{"title":"Setup the dependencies","titles":["Setting up a Celestia bridge node","Setting up your bridge node"]},"551":{"title":"Deploy the Celestia bridge node","titles":["Setting up a Celestia bridge node"]},"552":{"title":"Install Celestia Node","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node"]},"553":{"title":"Initialize the bridge node","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node"]},"554":{"title":"Run the bridge node","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node"]},"555":{"title":"Optional: run the bridge node with a custom key","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node","Run the bridge node"]},"556":{"title":"Optional: start the bridge node with SystemD","titles":["Setting up a Celestia bridge node","Deploy the Celestia bridge node"]},"557":{"title":"Helpful CLI commands","titles":[]},"558":{"title":"Creating a wallet","titles":["Helpful CLI commands"]},"559":{"title":"Key management","titles":["Helpful CLI commands"]},"560":{"title":"Importing and exporting keys","titles":["Helpful CLI commands","Key management"]},"561":{"title":"Querying subcommands","titles":["Helpful CLI commands"]},"562":{"title":"Token management","titles":["Helpful CLI commands"]},"563":{"title":"Governance","titles":["Helpful CLI commands"]},"564":{"title":"Community Pool","titles":["Helpful CLI commands","Governance"]},"565":{"title":"Claim validator rewards","titles":["Helpful CLI commands"]},"566":{"title":"Delegate & undelegate tokens","titles":["Helpful CLI commands"]},"567":{"title":"Unjailing the validator","titles":["Helpful CLI commands"]},"568":{"title":"How to export logs with SystemD","titles":["Helpful CLI commands"]},"569":{"title":"Signing genesis for a new network","titles":["Helpful CLI commands"]},"570":{"title":"Metrics","titles":[]},"571":{"title":"Setup","titles":["Metrics"]},"572":{"title":"Visualization","titles":["Metrics"]},"573":{"title":"Node exporter","titles":["Metrics"]},"574":{"title":"Alerts","titles":["Metrics"]},"575":{"title":"Multisig","titles":[]},"576":{"title":"Command line","titles":["Multisig"]},"577":{"title":"Resources","titles":["Multisig"]},"578":{"title":"Upgrade Monitor","titles":[]},"579":{"title":"Install celestia-app","titles":[]},"580":{"title":"Building binary from source","titles":["Install celestia-app"]},"581":{"title":"Installing a pre-built binary","titles":["Install celestia-app"]},"582":{"title":"Ports","titles":["Install celestia-app"]},"583":{"title":"Custom networks and values","titles":[]},"584":{"title":"celestia-node metrics","titles":[]},"585":{"title":"Running metrics flags","titles":["celestia-node metrics"]},"586":{"title":"TLS connections","titles":["celestia-node metrics","Running metrics flags"]},"587":{"title":"Metrics endpoint design considerations","titles":["celestia-node metrics"]},"588":{"title":"Troubleshooting","titles":[]},"589":{"title":"Network selection","titles":["Troubleshooting"]},"590":{"title":"Chain ID","titles":["Troubleshooting","Network selection"]},"591":{"title":"Ports","titles":["Troubleshooting"]},"592":{"title":"Changing the location of your node store","titles":["Troubleshooting"]},"593":{"title":"Resetting your config","titles":["Troubleshooting"]},"594":{"title":"Clearing the data store","titles":["Troubleshooting"]},"595":{"title":"FATAL headers given to the heightSub are in the wrong order","titles":["Troubleshooting"]},"596":{"title":"Install celestia-node","titles":[]},"597":{"title":"Next steps","titles":["Install celestia-node"]},"598":{"title":"Upgrading your binary","titles":["Install celestia-node"]},"599":{"title":"config.toml guide","titles":[]},"600":{"title":"Pre-requisites","titles":["config.toml guide"]},"601":{"title":"Understanding config.toml","titles":["config.toml guide"]},"602":{"title":"Core","titles":["config.toml guide","Understanding config.toml"]},"603":{"title":"P2P","titles":["config.toml guide","Understanding config.toml"]},"604":{"title":"Bootstrap","titles":["config.toml guide","Understanding config.toml","P2P"]},"605":{"title":"Mutual peers","titles":["config.toml guide","Understanding config.toml","P2P"]},"606":{"title":"Services","titles":["config.toml guide","Understanding config.toml"]},"607":{"title":"TrustedHash and TrustedPeer","titles":["config.toml guide","Understanding config.toml","Services"]},"608":{"title":"Setting up a Celestia full consensus node","titles":[]},"609":{"title":"Hardware requirements","titles":["Setting up a Celestia full consensus node"]},"610":{"title":"Setting up a full consensus node","titles":["Setting up a Celestia full consensus node"]},"611":{"title":"Setup the dependencies","titles":["Setting up a Celestia full consensus node","Setting up a full consensus node"]},"612":{"title":"Install celestia-app","titles":["Setting up a Celestia full consensus node","Setting up a full consensus node"]},"613":{"title":"Setup the P2P networks","titles":["Setting up a Celestia full consensus node","Setting up a full consensus node"]},"614":{"title":"Storage and pruning configurations","titles":["Setting up a Celestia full consensus node"]},"615":{"title":"Connecting a consensus node to a bridge node","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations"]},"616":{"title":"Enable transaction indexing","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations","Connecting a consensus node to a bridge node"]},"617":{"title":"Retain all block data","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations","Connecting a consensus node to a bridge node"]},"618":{"title":"Querying transactions by hash","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations"]},"619":{"title":"Accessing historical state","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations"]},"620":{"title":"Saving on storage requirements","titles":["Setting up a Celestia full consensus node","Storage and pruning configurations"]},"621":{"title":"Syncing","titles":["Setting up a Celestia full consensus node"]},"622":{"title":"State sync","titles":["Setting up a Celestia full consensus node","Syncing"]},"623":{"title":"Quick sync","titles":["Setting up a Celestia full consensus node","Syncing"]},"624":{"title":"Start the consensus node","titles":["Setting up a Celestia full consensus node"]},"625":{"title":"Optional: Setting up a validator","titles":["Setting up a Celestia full consensus node"]},"626":{"title":"Setting up a Celestia validator node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"627":{"title":"Validator hardware requirements","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Setting up a Celestia validator node"]},"628":{"title":"Wallet","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Setting up a Celestia validator node"]},"629":{"title":"Delegate stake to a validator","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Setting up a Celestia validator node"]},"630":{"title":"Optional: Deploy the celestia-node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"631":{"title":"Install celestia-node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"632":{"title":"Initialize the bridge node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"633":{"title":"Run the bridge node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"634":{"title":"Optional: start the bridge node with SystemD","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"635":{"title":"Setup Blobstream keys","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator","Optional: Deploy the celestia-node"]},"636":{"title":"Run the validator node","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"637":{"title":"Register your validator\'s EVM address","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"638":{"title":"Run a Blobstream orchestrator","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"639":{"title":"Submit your validator information","titles":["Setting up a Celestia full consensus node","Optional: Setting up a validator"]},"640":{"title":"Extra resources for consensus nodes","titles":["Setting up a Celestia full consensus node"]},"641":{"title":"Optional: Reset network","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes"]},"642":{"title":"Optional: Configuring an RPC endpoint","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes"]},"643":{"title":"Expose RPC","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes","Optional: Configuring an RPC endpoint"]},"644":{"title":"Note on external-address","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes","Optional: Configuring an RPC endpoint"]},"645":{"title":"Restart the node","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes","Optional: Configuring an RPC endpoint"]},"646":{"title":"Optional: Transaction indexer configuration options","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes"]},"647":{"title":"Optional: Discard ABCI responses configuration","titles":["Setting up a Celestia full consensus node","Extra resources for consensus nodes"]},"648":{"title":"Deciding which node to run","titles":[]},"649":{"title":"Beginner","titles":["Deciding which node to run"]},"650":{"title":"Advanced","titles":["Deciding which node to run"]},"651":{"title":"🐳 Docker setup","titles":[]},"652":{"title":"Prerequisites","titles":["🐳 Docker setup"]},"653":{"title":"Quick start","titles":["🐳 Docker setup"]},"654":{"title":"Light node setup with persistent storage","titles":["🐳 Docker setup"]},"655":{"title":"Initialize the node store and key","titles":["🐳 Docker setup","Light node setup with persistent storage"]},"656":{"title":"Start the node","titles":["🐳 Docker setup","Light node setup with persistent storage"]},"657":{"title":"Video walkthrough","titles":["🐳 Docker setup"]},"658":{"title":"2.5 minute version","titles":["🐳 Docker setup","Video walkthrough"]},"659":{"title":"Troubleshooting","titles":["🐳 Docker setup"]},"660":{"title":"Development environment","titles":[]},"661":{"title":"Install dependencies","titles":["Development environment"]},"662":{"title":"Install Golang","titles":["Development environment"]},"663":{"title":"Setting up a Celestia full storage Node","titles":[]},"664":{"title":"Overview of full storage nodes","titles":["Setting up a Celestia full storage Node"]},"665":{"title":"Hardware requirements","titles":["Setting up a Celestia full storage Node"]},"666":{"title":"Setting up your full storage node","titles":["Setting up a Celestia full storage Node"]},"667":{"title":"Setup the dependencies","titles":["Setting up a Celestia full storage Node","Setting up your full storage node"]},"668":{"title":"Install celestia-node","titles":["Setting up a Celestia full storage Node"]},"669":{"title":"Run the full storage node","titles":["Setting up a Celestia full storage Node","Install celestia-node"]},"670":{"title":"Initialize the full storage node","titles":["Setting up a Celestia full storage Node","Install celestia-node","Run the full storage node"]},"671":{"title":"Start the full storage node","titles":["Setting up a Celestia full storage Node","Install celestia-node","Run the full storage node"]},"672":{"title":"Optional: run the full storage node with a custom key","titles":["Setting up a Celestia full storage Node","Install celestia-node"]},"673":{"title":"Optional: start the full storage node with SystemD","titles":["Setting up a Celestia full storage Node","Install celestia-node"]},"674":{"title":"Stop the full storage node","titles":["Setting up a Celestia full storage Node","Install celestia-node"]},"675":{"title":"Celestia hardfork process","titles":[]},"676":{"title":"General process","titles":["Celestia hardfork process"]},"677":{"title":"Mocha hardfork","titles":["Celestia hardfork process","General process"]},"678":{"title":"Celestia App network instantiation guide","titles":[]},"679":{"title":"Hardware requirements","titles":["Celestia App network instantiation guide"]},"680":{"title":"Setup dependencies","titles":["Celestia App network instantiation guide"]},"681":{"title":"celestia-app installation","titles":["Celestia App network instantiation guide"]},"682":{"title":"Spin up a Celestia testnet","titles":["Celestia App network instantiation guide"]},"683":{"title":"Optional: Reset working directory","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"684":{"title":"Initialize a working directory","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"685":{"title":"Create a new key","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"686":{"title":"Add genesis account KeyName","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"687":{"title":"Optional: Adding other validators","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"688":{"title":"Create the genesis transaction for new chain","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"689":{"title":"Creating the genesis JSON file","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"690":{"title":"Modify your config file","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"691":{"title":"Add your node as a persistent peer","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"692":{"title":"Instantiate the network","titles":["Celestia App network instantiation guide","Spin up a Celestia testnet"]},"693":{"title":"Setting up a Celestia light node","titles":[]},"694":{"title":"Overview of light nodes","titles":["Setting up a Celestia light node"]},"695":{"title":"Hardware requirements","titles":["Setting up a Celestia light node"]},"696":{"title":"Setting up your light node","titles":["Setting up a Celestia light node"]},"697":{"title":"Install celestia-node","titles":["Setting up a Celestia light node","Setting up your light node"]},"698":{"title":"Initialize the light node","titles":["Setting up a Celestia light node"]},"699":{"title":"Start the light node","titles":["Setting up a Celestia light node","Initialize the light node"]},"700":{"title":"Keys and wallets","titles":["Setting up a Celestia light node","Initialize the light node"]},"701":{"title":"Testnet tokens","titles":["Setting up a Celestia light node","Initialize the light node","Keys and wallets"]},"702":{"title":"Optional: run the light node with a custom key","titles":["Setting up a Celestia light node","Initialize the light node"]},"703":{"title":"Optional: start light node with SystemD","titles":["Setting up a Celestia light node","Initialize the light node"]},"704":{"title":"Data availability sampling","titles":["Setting up a Celestia light node"]},"705":{"title":"Mainnet Beta","titles":[]},"706":{"title":"Network stability and upgrades","titles":["Mainnet Beta"]},"707":{"title":"Software version numbers","titles":["Mainnet Beta"]},"708":{"title":"Network parameters","titles":["Mainnet Beta"]},"709":{"title":"Maximum bytes","titles":["Mainnet Beta","Network parameters"]},"710":{"title":"Integrations","titles":["Mainnet Beta"]},"711":{"title":"Consensus nodes","titles":["Mainnet Beta","Integrations"]},"712":{"title":"Consensus RPC endpoints","titles":["Mainnet Beta","Integrations","Consensus nodes"]},"713":{"title":"API endpoints","titles":["Mainnet Beta","Integrations","Consensus nodes"]},"714":{"title":"gRPC endpoints","titles":["Mainnet Beta","Integrations","Consensus nodes"]},"715":{"title":"Data availability nodes","titles":["Mainnet Beta","Integrations"]},"716":{"title":"DA RPC endpoints","titles":["Mainnet Beta","Integrations","Data availability nodes"]},"717":{"title":"Explorers","titles":["Mainnet Beta"]},"718":{"title":"Analytics","titles":["Mainnet Beta"]},"719":{"title":"Network upgrades","titles":["Mainnet Beta"]},"720":{"title":"Mocha testnet","titles":[]},"721":{"title":"Software version numbers","titles":["Mocha testnet"]},"722":{"title":"RPC endpoints","titles":["Mocha testnet"]},"723":{"title":"Bridge, full, and light nodes","titles":["Mocha testnet","RPC endpoints"]},"724":{"title":"Full and light nodes ONLY","titles":["Mocha testnet","RPC endpoints"]},"725":{"title":"API endpoints","titles":["Mocha testnet"]},"726":{"title":"gRPC endpoints","titles":["Mocha testnet"]},"727":{"title":"Bridge and full node endpoints","titles":["Mocha testnet"]},"728":{"title":"Mocha testnet faucet","titles":["Mocha testnet"]},"729":{"title":"Explorers","titles":["Mocha testnet"]},"730":{"title":"Network upgrades","titles":["Mocha testnet"]},"731":{"title":"Overview to running nodes on Celestia","titles":[]},"732":{"title":"Participate in the Celestia networks","titles":[]},"733":{"title":"Mainnet Beta","titles":["Participate in the Celestia networks"]},"734":{"title":"Testnets","titles":["Participate in the Celestia networks"]},"735":{"title":"Network upgrades","titles":["Participate in the Celestia networks"]},"736":{"title":"Quick start guide","titles":[]},"737":{"title":"Celestia Node","titles":["Quick start guide"]},"738":{"title":"Celestia App","titles":["Quick start guide"]},"739":{"title":"Getting started","titles":["Quick start guide"]},"740":{"title":"Setting up your node as a background process with SystemD","titles":[]},"741":{"title":"Consensus nodes","titles":["Setting up your node as a background process with SystemD"]},"742":{"title":"Start the celestia-app with SystemD","titles":["Setting up your node as a background process with SystemD","Consensus nodes"]},"743":{"title":"Data availability nodes","titles":["Setting up your node as a background process with SystemD"]},"744":{"title":"Celestia full storage node","titles":["Setting up your node as a background process with SystemD","Data availability nodes"]},"745":{"title":"Celestia bridge node","titles":["Setting up your node as a background process with SystemD","Data availability nodes"]},"746":{"title":"Celestia light node","titles":["Setting up your node as a background process with SystemD","Data availability nodes"]},"747":{"title":"Transaction resubmission","titles":[]},"748":{"title":"Monitoring and resubmission","titles":["Transaction resubmission"]},"749":{"title":"Notes","titles":["Transaction resubmission"]}},"dirtCount":0,"index":[["^external",{"2":{"644":2}}],["^persistent",{"2":{"613":6}}],["^seeds",{"2":{"613":4}}],["^0",{"2":{"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2}}],["∑i=1nssn",{"2":{"404":1}}],["×ss×gcpbb",{"2":{"404":1}}],["✨",{"2":{"250":2}}],["+qdel2aq==",{"2":{"362":2}}],["+stake",{"2":{"266":1}}],["+sgf6mfzmmtdkz5mllh+y7mpv9moo2x5rljle3gbfqo=",{"2":{"145":2}}],["+1",{"2":{"135":2,"137":4}}],["+",{"2":{"135":2,"137":2,"242":4,"250":6,"298":10,"305":1,"310":1,"369":1,"592":1,"674":1,"709":1}}],["`$home",{"2":{"613":2}}],["`job=",{"2":{"572":2}}],["`json",{"2":{"132":22}}],["```json",{"2":{"340":2}}],["`https",{"2":{"250":4}}],["`cel",{"2":{"215":2}}],["`celestia",{"2":{"108":2,"410":4}}],["`availabledataroot`",{"2":{"153":2}}],["`",{"2":{"132":22,"215":2,"250":4,"298":12,"572":2}}],["~2",{"2":{"709":1}}],["~",{"2":{"115":2,"223":2,"231":2,"492":2,"503":2,"504":2,"505":2,"526":2,"542":2,"555":1,"595":4,"613":2,"623":18,"643":2,"672":1,"702":1}}],["μ",{"2":{"115":2,"231":2}}],["⠆",{"2":{"115":2,"118":2,"231":2,"234":2}}],["⠑",{"2":{"114":2,"230":2}}],["⠔",{"2":{"114":2,"230":2}}],["⠢",{"2":{"114":2,"230":2}}],["=1",{"2":{"709":1}}],["===",{"2":{"250":6}}],["==",{"2":{"149":6,"152":3,"242":2,"403":1,"655":2,"656":2}}],["=",{"2":{"114":2,"115":2,"125":2,"135":28,"137":14,"153":4,"206":10,"230":2,"231":2,"242":62,"249":10,"250":80,"252":2,"271":170,"277":8,"298":8,"350":4,"386":52,"387":20,"402":1,"404":4,"405":2,"410":44,"457":1,"508":2,"532":6,"571":8,"602":1,"604":2,"613":22,"616":2,"617":2,"618":2,"619":3,"620":6,"622":6,"644":4,"646":2,"647":2,"690":2}}],["=https",{"2":{"93":2}}],["🌀",{"0":{"253":1}}],["🏎️",{"2":{"109":1}}],["🏗️",{"2":{"106":1}}],["🎉",{"0":{"35":1}}],["0blockhash",{"2":{"361":1}}],["084",{"2":{"511":8}}],["08",{"2":{"343":1,"511":8,"522":2,"539":2}}],["06",{"2":{"340":4}}],["0mfhykqui2bu+u1jxpzg7qy2bvv1lb3kiu+zak7nuiy=",{"2":{"332":2}}],["02",{"2":{"298":2,"340":2}}],["025",{"2":{"271":2}}],["048091bc7ddc283f77bfbf91d73c44da58c3df8a9cbc867405d8b7f3daada22f",{"2":{"340":2}}],["04",{"2":{"286":1,"509":8,"510":12,"511":8,"512":12,"514":10,"515":14,"517":8,"522":12,"539":12,"549":1,"610":1,"627":1,"666":1,"696":1}}],["07",{"2":{"276":8}}],["0ns",{"2":{"276":4}}],["010",{"2":{"587":1}}],["01",{"2":{"271":6,"298":2,"510":12,"569":2,"636":2,"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["0+",{"2":{"270":1}}],["0px",{"2":{"250":2}}],["0x966e6f22781ef6a6a82bbb4db3df8e225dfd9488",{"2":{"530":1}}],["0x966e6f22781ef6a6a82bbb4db3df8e225dfd9488blobstream",{"2":{"530":1}}],["0x9f4dfae061b5ddd86f95a81be5daa0d7fe32e7f7f770f86dc375e0007d249bd2",{"2":{"361":2}}],["0x7dd8f9cafe6d25165249a454f2d0b72fd149bbba",{"2":{"511":2,"512":2}}],["0x79a0a7a1b4936aafe7a37dbfb07a6a9e55c145a4ed6fd54f962649b4b7db8de7",{"2":{"360":2}}],["0x27a1f8ce94187e4b043f4d57548ef2348ed556c7",{"2":{"510":2}}],["0xce",{"2":{"361":2,"364":3}}],["0xce3500000000000000769074a923011bdda721eacc34c8a77c69c10f2b6c8e659f987e82f217a5340f",{"2":{"361":2}}],["0xaf5c1505c7dfcebca94d9a6a8c0caf99b6c87a8ed6d6c0b3161c9026f270a84f",{"2":{"361":2}}],["0xaf8ff6af1180c8be9e4e8f3a5f882b3b227233f4abbefa479836d3721682a389",{"2":{"360":2}}],["0xadd3a5dc0b8c605aeac891098e87cbaff43bb642896ebbf74f964c0690e46df2",{"2":{"361":2}}],["0xd4b998a35d20d98ed3488221f0c161a0a9572d3de66399482553c8e3d2fae751",{"2":{"360":2}}],["0xd883010d04846765746888676f312e32312e33856c696e7578000000000000006b3afa42dce1f87f1f07a1ef569c4d43e41738ef93c865098bfa1458645f384e2e4498bcfe4ad9353ff1913a2e16162f496fafe5b0939a6c78fb5b503248d6da01",{"2":{"360":2}}],["0x664bf4bb4a57dd5768a0a98991d77c58fb7a4e164c2581c79fb33ce9c3d4c250",{"2":{"360":2}}],["0x676d",{"2":{"332":3}}],["0x67ea962864cdad3f2202118dc6f65ff510f7bb4d",{"2":{"163":1}}],["0x",{"2":{"332":2,"510":1,"512":1,"519":3,"677":1}}],["0x42690c204d39600fddd3",{"2":{"327":4,"332":5,"333":8,"334":6,"341":2,"346":2}}],["0x02",{"2":{"387":2}}],["0x01",{"2":{"387":2}}],["0x00",{"2":{"387":2}}],["0x0000000000000000",{"2":{"360":2}}],["0x0000000000000000000000000000000000000000",{"2":{"360":2}}],["0x0000000000000000000000000000000000000000000000000000000000000000",{"2":{"360":2}}],["0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",{"2":{"119":2,"235":2,"360":2}}],["0x000000000000000000000000000000000000000000000000000000000000000a",{"2":{"119":2,"235":2}}],["0x0",{"2":{"366":1}}],["0x040769edbca5218e616c8eb16e4faea49ced5e33",{"2":{"163":1}}],["0x383ed2debf9f9055920cd7340418dda7e2bca6b989eb6992d83d123d4e322f2a",{"2":{"361":2}}],["0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc",{"2":{"361":2}}],["0x3a5cbb6ef4756da0b3f6dae7ab6430fd8c46d247",{"2":{"163":1}}],["0x3f1eae7d46d88f08fc2f8ed27fcb2ab183eb2d0e",{"2":{"117":1}}],["0x8f15d6004598f0662dd673a9898dceef77be8cc28408cecc284b28d7be32307d",{"2":{"119":2,"235":2}}],["0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",{"2":{"360":2}}],["0x1cb54d2369752ef73511c202ff9cdfd0eadf3a77b7aef0092bea63f2b5d57659",{"2":{"360":2}}],["0x1",{"2":{"242":2}}],["0x131822bef6eb59656d7e1387c19b75be667e587006710365ec5cf58030786c42",{"2":{"119":2,"235":2}}],["0x1111222233334444555566667777888899990000",{"2":{"109":2}}],["0xff00000000000000000000000000000000000901",{"2":{"361":3}}],["0xf1a793a793cd9fc588f5132d99008565ea361eb3535d66499575e9e1908200b2",{"2":{"118":2,"234":2}}],["0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",{"2":{"118":2,"234":2}}],["0x5fbdb2315678afecb367f032d93f642f64180aa3",{"2":{"118":2,"234":2}}],["0xb6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659",{"2":{"117":1}}],["0",{"2":{"95":4,"114":4,"115":5,"119":2,"124":1,"125":2,"135":2,"145":2,"146":11,"149":1,"153":2,"197":10,"198":2,"199":2,"200":4,"226":3,"230":4,"231":5,"233":2,"235":2,"242":4,"248":6,"249":2,"250":4,"271":14,"276":14,"277":2,"298":6,"310":1,"333":8,"336":2,"337":2,"338":10,"339":2,"340":10,"343":3,"354":9,"361":7,"362":4,"364":2,"365":4,"373":6,"380":4,"386":2,"402":4,"403":1,"406":2,"410":8,"460":3,"522":2,"530":8,"534":6,"571":2,"572":4,"581":1,"582":4,"617":3,"620":4,"622":2,"629":8,"636":8,"643":20,"677":1}}],["008",{"2":{"343":1}}],["001hermes",{"2":{"275":2,"276":1}}],["001",{"2":{"271":3,"272":2,"274":1,"275":4,"276":7,"277":3}}],["00",{"2":{"50":1,"514":10,"515":2}}],["00pm",{"2":{"50":1}}],["00am",{"2":{"50":1}}],["00000000ce1e571a",{"2":{"383":2}}],["000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000121312324243243288993946154604701154f739f3d1b5475786ddd960f06d8708d4e870da6501c51750",{"2":{"146":2}}],["000008e5f679bf7116cb",{"2":{"108":2}}],["000",{"2":{"46":1,"50":1,"403":2,"404":1,"446":3,"449":3,"457":2}}],["z20=",{"2":{"333":2}}],["zshrcecho",{"2":{"320":1,"662":1}}],["zshrc",{"2":{"320":3,"613":1,"662":3}}],["zhsjrh",{"2":{"145":2}}],["zkp",{"2":{"125":2}}],["zk",{"2":{"125":7,"134":2,"395":1,"396":1}}],["z",{"2":{"95":2}}],["zaki",{"2":{"28":1,"52":1}}],["xf",{"2":{"623":6}}],["x64",{"2":{"549":1,"610":1,"627":1,"666":1,"696":1}}],["xxd",{"2":{"361":2}}],["xxxxxxxxxxxxx",{"2":{"190":4}}],["xv92a3qxexport",{"2":{"190":1}}],["xv92a3qx",{"2":{"190":3}}],["xthp6xws=",{"2":{"146":2}}],["xiijl+gqm0fqxiw0z0o",{"2":{"146":2}}],["x",{"2":{"115":9,"163":1,"231":9,"405":2,"410":2,"488":1,"563":1}}],["x86",{"2":{"98":2,"108":2,"581":1}}],["xdg",{"2":{"95":4}}],["xzf",{"2":{"94":2,"320":8,"662":8}}],["xyz",{"2":{"39":1,"172":1,"173":1,"234":2,"254":2,"271":6,"712":2,"713":2,"714":2,"716":2}}],["||",{"2":{"95":2,"214":2}}],["|",{"2":{"93":2,"95":2,"252":2,"332":4,"333":2,"341":2,"343":2,"346":2,"361":4,"366":1,"561":4,"613":20,"623":18,"742":4}}],["$ip",{"2":{"691":2}}],["$input",{"2":{"361":2}}],["$external",{"2":{"644":2}}],["$evm",{"2":{"637":2}}],["$encoded",{"2":{"362":2}}],["$seeds",{"2":{"613":8}}],["$staking",{"2":{"569":2,"688":3}}],["$broadcast",{"2":{"576":2}}],["$bubs",{"2":{"234":4,"235":6,"254":10}}],["$multisig",{"2":{"576":10}}],["$keyring",{"2":{"576":4}}],["$key",{"2":{"569":6,"685":3,"686":3,"688":3}}],["$keynamecelestia",{"2":{"380":1}}],["$keyname",{"2":{"380":3}}],["$validator",{"2":{"569":2,"576":6,"629":2,"637":6,"684":3}}],["$tia",{"2":{"686":2}}],["$tx",{"2":{"361":2}}],["$to",{"2":{"197":6,"198":2,"200":2,"204":2}}],["$networkdocker",{"2":{"653":3,"655":3}}],["$network",{"2":{"380":4,"653":3,"655":3}}],["$nodetype",{"2":{"380":2,"381":2}}],["$node",{"2":{"327":2,"330":3,"332":2,"333":8,"334":6,"336":2,"337":4,"338":2,"339":2,"340":4,"341":4,"342":2,"343":6,"344":2,"345":2,"346":4,"653":6,"655":2,"691":2,"745":2}}],["$nvm",{"2":{"95":4}}],["$peer",{"2":{"691":1}}],["$peerpeer=",{"2":{"691":1}}],["$persistent",{"2":{"613":12}}],["$port",{"2":{"691":2}}],["$path",{"2":{"320":1,"662":1}}],["$private",{"2":{"86":2,"87":4,"233":2,"245":4,"246":4,"252":2,"254":6}}],["$address",{"2":{"343":6}}],["$authtype",{"2":{"381":2}}],["$auth",{"2":{"327":2,"381":2}}],["$anvil",{"2":{"233":2}}],["$arb",{"2":{"86":2,"87":8,"118":2,"119":4}}],["$request",{"2":{"325":1,"479":1,"701":1,"728":1}}],["$receiver",{"2":{"87":2,"254":2}}],["$rpc",{"2":{"204":2,"653":6,"656":6}}],["$from",{"2":{"197":6,"199":2,"200":2,"204":2}}],["$celes",{"2":{"569":2}}],["$celestia",{"2":{"194":2,"195":2,"197":6,"198":2,"199":2,"200":4}}],["$chain",{"2":{"569":4,"576":10,"684":4,"688":2}}],["$core",{"2":{"380":2}}],["$contract",{"2":{"87":6,"119":4,"235":4,"245":4,"246":4,"254":6}}],["$l2",{"2":{"118":2,"119":2}}],["$",{"2":{"95":8,"108":8,"119":2,"223":2,"235":2,"250":4,"319":2,"341":2,"346":2,"581":2,"583":12,"623":6,"661":2}}],["$home",{"2":{"86":4,"88":2,"93":2,"94":8,"108":3,"113":3,"114":1,"189":3,"190":1,"191":2,"194":2,"229":3,"230":1,"254":4,"255":2,"271":2,"320":20,"322":2,"331":4,"332":2,"354":2,"355":2,"362":2,"370":2,"372":2,"373":3,"572":3,"580":3,"581":1,"596":2,"601":3,"613":25,"622":1,"623":6,"641":2,"644":2,"654":4,"655":8,"656":8,"662":20,"683":2,"687":1,"688":1,"689":4,"690":1}}],["$3",{"2":{"46":1,"50":1}}],["qo",{"2":{"644":2}}],["qmaezrnbtgexcryc8pcvgrbs+umukniborae4qye7osgwcrwbvys",{"2":{"340":2}}],["qgb",{"2":{"153":1,"158":1,"534":6,"637":2}}],["q5",{"2":{"66":1}}],["q4",{"2":{"66":1}}],["q3",{"2":{"66":1}}],["q2",{"2":{"66":1}}],["q1",{"2":{"66":1}}],["q",{"2":{"62":1,"77":1,"78":1,"79":1,"83":1,"561":6,"562":4,"563":4,"564":2}}],["qubelabs",{"2":{"623":12}}],["quorum",{"2":{"563":1}}],["quot",{"2":{"41":18,"42":6,"45":6,"65":2,"71":2,"87":20,"93":4,"94":20,"95":24,"108":84,"114":6,"115":40,"119":8,"125":12,"132":44,"137":8,"145":64,"146":120,"149":24,"151":12,"152":52,"190":2,"194":16,"195":32,"197":66,"198":20,"199":8,"200":16,"206":20,"211":2,"222":4,"223":24,"226":4,"230":6,"231":40,"233":2,"235":8,"242":68,"244":12,"245":16,"246":16,"249":76,"250":232,"251":6,"252":4,"254":20,"271":188,"273":4,"276":64,"298":96,"301":2,"302":2,"305":2,"319":4,"320":68,"332":36,"333":128,"334":16,"336":32,"337":32,"338":52,"339":20,"340":364,"341":4,"346":4,"350":4,"361":4,"362":28,"363":2,"365":12,"366":4,"373":28,"380":20,"383":16,"385":48,"386":56,"387":4,"391":2,"392":2,"405":4,"410":64,"435":2,"457":2,"476":2,"477":2,"507":4,"508":4,"513":4,"516":4,"530":26,"532":4,"534":64,"563":156,"564":40,"569":4,"571":8,"572":36,"576":16,"581":4,"583":16,"595":2,"613":58,"616":4,"618":6,"619":6,"620":10,"622":8,"623":24,"629":28,"636":36,"637":4,"643":8,"644":12,"646":4,"661":4,"662":68,"686":4,"690":4,"691":4,"742":2}}],["quic",{"2":{"338":6}}],["quicker",{"2":{"621":1}}],["quick",{"0":{"623":1,"653":1,"736":1},"1":{"737":1,"738":1,"739":1},"2":{"210":1,"270":1,"287":1,"623":2,"655":1,"682":1,"739":1}}],["quickly",{"2":{"33":1,"452":1}}],["quite",{"2":{"252":1}}],["quests",{"2":{"388":1}}],["question",{"2":{"66":3,"274":1,"413":1,"629":1}}],["questions",{"0":{"66":1},"2":{"17":1,"50":1,"65":2}}],["queue",{"2":{"364":4}}],["queried",{"2":{"143":1,"147":1,"153":1,"337":1}}],["queries",{"0":{"142":1},"1":{"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1},"2":{"128":1,"145":1,"146":1,"159":1,"424":1,"427":1,"436":3,"466":1,"522":1,"539":2,"646":2,"647":3,"726":1}}],["queryable",{"2":{"153":2}}],["querying",{"0":{"128":1,"144":1,"285":1,"561":1,"618":1},"1":{"145":1,"146":1},"2":{"133":2,"145":1,"146":1,"162":1,"171":1,"198":1,"285":1,"462":1,"477":1,"557":2,"622":1,"716":1,"722":1}}],["query",{"0":{"198":1,"199":1,"200":1,"533":1},"2":{"87":1,"127":1,"128":1,"144":1,"145":1,"146":1,"148":1,"149":4,"150":1,"151":1,"152":5,"153":2,"198":2,"199":2,"200":4,"212":2,"254":1,"275":2,"336":1,"337":1,"344":1,"390":1,"410":2,"427":1,"529":1,"534":4,"557":6,"561":2,"563":1,"583":1,"618":1,"619":1,"646":1,"671":1,"699":1}}],["quad",{"2":{"609":1}}],["quadratic",{"2":{"428":1}}],["quality",{"2":{"64":1,"65":1,"83":1}}],["qualify",{"2":{"45":1}}],["qualification",{"2":{"45":3}}],["qualified",{"2":{"45":1}}],["quarterly",{"2":{"60":1}}],["quantum",{"2":{"29":3,"158":1}}],["kv",{"2":{"616":2,"618":3,"646":5}}],["k×k",{"2":{"427":3,"429":1,"435":1}}],["kr",{"2":{"410":6}}],["krenzke",{"2":{"52":1}}],["kjnodes",{"2":{"399":1}}],["kbps",{"2":{"318":2,"695":2}}],["known",{"0":{"531":1},"1":{"532":1,"533":1},"2":{"158":1,"534":1}}],["knowing",{"2":{"66":1}}],["know",{"2":{"62":1,"63":1,"65":2,"177":2,"178":1,"389":1,"619":1}}],["knowledgeable",{"2":{"60":1,"61":1}}],["knowledge",{"2":{"45":1,"61":1,"64":1,"83":1}}],["kept",{"2":{"414":1}}],["keplrbutton",{"2":{"298":2}}],["keplr",{"0":{"260":1,"261":1,"297":1,"298":1},"1":{"261":1,"262":1,"263":1,"264":1,"298":1},"2":{"258":1,"261":2,"262":1,"263":1,"297":3,"298":18,"398":1,"399":1,"575":1}}],["keeping",{"2":{"428":1}}],["keeps",{"2":{"160":1}}],["keep",{"2":{"51":1,"59":1,"60":1,"134":1,"216":2,"472":1,"530":1,"535":1,"573":1,"613":1,"620":3,"636":1,"690":2}}],["keyname",{"0":{"686":1}}],["keyname=",{"2":{"380":1}}],["keybase",{"2":{"560":1}}],["keyfile",{"2":{"515":1,"560":2}}],["keymake",{"2":{"322":1,"596":1}}],["key=ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",{"2":{"254":2}}],["key=",{"2":{"250":2,"383":2}}],["key=$",{"2":{"246":2,"252":2}}],["key=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",{"2":{"233":2,"234":2}}],["key=0xe887f7d17d07cc7b8004053fb8826f6657084e88904bb61590e498ca04704cf2",{"2":{"118":2}}],["key=0xb6b15c8cb491557369f3c7d2c287b053eb229daa9c22138887752191c9520659",{"2":{"86":2}}],["key`",{"2":{"215":4}}],["keyring",{"2":{"202":3,"206":4,"211":2,"216":6,"217":7,"218":6,"222":2,"223":4,"246":2,"252":2,"308":1,"325":10,"380":4,"410":10,"554":2,"555":7,"558":4,"560":1,"576":6,"592":3,"629":2,"636":2,"671":2,"672":7,"685":2,"686":2,"688":2,"700":10,"702":7}}],["keycast",{"2":{"119":1,"235":1,"245":1,"246":1}}],["key",{"0":{"194":1,"214":1,"219":1,"220":1,"284":1,"381":1,"382":1,"502":1,"528":1,"535":1,"544":1,"555":1,"559":1,"655":1,"672":1,"685":1,"702":1},"1":{"215":1,"216":1,"217":1,"218":1,"219":1,"221":1,"222":1,"223":1,"503":1,"504":1,"505":1,"506":1,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"516":1,"517":1,"518":1,"519":1,"520":1,"536":1,"537":1,"560":1},"2":{"50":1,"56":2,"61":1,"73":1,"86":5,"87":9,"102":1,"103":2,"117":3,"118":5,"119":3,"135":2,"149":4,"152":5,"192":1,"193":1,"194":8,"195":6,"196":1,"198":2,"199":4,"200":4,"202":1,"213":2,"214":2,"215":5,"216":18,"217":13,"218":12,"219":2,"222":5,"223":11,"233":5,"234":5,"235":3,"245":7,"246":12,"248":4,"252":6,"254":14,"271":12,"284":1,"322":2,"325":15,"336":1,"340":4,"370":1,"379":1,"380":5,"382":2,"383":2,"386":2,"410":2,"426":1,"454":1,"487":1,"493":2,"500":5,"508":5,"509":3,"510":9,"512":2,"513":4,"514":2,"515":5,"516":5,"517":9,"518":3,"519":7,"521":1,"522":2,"524":1,"527":5,"528":4,"530":5,"534":7,"535":1,"536":1,"543":5,"544":3,"545":1,"554":5,"555":9,"559":8,"560":13,"563":4,"576":2,"592":3,"596":2,"635":1,"646":1,"651":2,"655":1,"671":5,"672":9,"677":2,"685":2,"686":1,"700":16,"702":9}}],["keystore",{"0":{"508":1,"516":1},"1":{"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"517":1,"518":1,"519":1,"520":1},"2":{"500":1,"503":1,"504":1,"505":1,"508":9,"509":1,"511":1,"513":3,"514":1,"515":1,"516":2,"528":4,"530":2,"534":2,"544":4}}],["keys`",{"2":{"410":4}}],["keys",{"0":{"195":1,"216":1,"217":1,"218":1,"223":1,"325":1,"493":1,"500":1,"527":1,"543":1,"560":1,"635":1,"700":1},"1":{"528":1,"544":1,"701":1},"2":{"42":1,"111":1,"194":2,"195":2,"196":1,"202":8,"206":2,"211":4,"214":2,"216":2,"222":1,"223":8,"245":2,"246":2,"252":2,"272":6,"273":1,"283":1,"323":1,"497":4,"500":9,"502":3,"503":3,"504":3,"505":3,"506":3,"507":17,"508":15,"509":6,"510":6,"511":4,"512":2,"513":9,"514":2,"515":6,"516":9,"517":6,"518":4,"519":4,"520":5,"522":1,"527":5,"528":8,"534":2,"543":5,"544":8,"555":1,"557":4,"558":1,"559":16,"560":6,"569":2,"576":10,"592":3,"629":2,"637":2,"659":1,"672":1,"677":5,"685":2,"687":1,"702":1}}],["k",{"2":{"42":1,"45":3,"429":3}}],["khoffi",{"2":{"29":2,"52":1}}],["kit",{"2":{"75":2,"76":1,"81":1}}],["kickstarting",{"2":{"57":1}}],["kickoff",{"2":{"20":2}}],["kindly",{"2":{"70":1}}],["kind",{"2":{"8":1,"45":1}}],["kindness",{"2":{"8":1}}],["✋",{"2":{"28":3,"29":1,"33":1}}],["87",{"2":{"595":2}}],["80000",{"2":{"343":4}}],["8000",{"2":{"343":4,"572":1}}],["800px",{"2":{"250":4}}],["8gb",{"2":{"290":1}}],["8dxemrbwrpwj6hi+3uesz+0p5vrf3v8ssaqeabelorfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=",{"2":{"146":2}}],["8548",{"2":{"117":1}}],["8545blobstream",{"2":{"501":1}}],["8545cast",{"2":{"246":1,"360":1,"361":1}}],["8545export",{"2":{"233":1}}],["8545",{"2":{"117":1,"233":2,"245":1,"246":5,"249":2,"251":1,"252":1,"360":1,"361":1,"501":1}}],["8547",{"2":{"86":1,"117":1,"118":2}}],["8547export",{"2":{"86":1,"118":1}}],["8",{"0":{"28":1},"2":{"45":1,"50":1,"91":1,"114":6,"115":4,"124":1,"125":2,"146":2,"190":4,"223":2,"230":6,"231":4,"242":4,"244":2,"248":4,"364":2,"386":2,"442":1,"446":1,"449":1,"609":1,"627":1}}],["9390",{"2":{"726":1}}],["973",{"2":{"709":2}}],["989",{"2":{"514":2}}],["9anbaxno1b4x5lr2qy5qwqwrmnozejkctxwzq9bexsg=",{"2":{"340":4}}],["91e04695cf9cf531bc0891e7b1d602b3e8022c86",{"2":{"340":8}}],["9099",{"2":{"726":1}}],["9090",{"2":{"324":1,"380":1,"466":3,"476":1,"477":1,"501":2,"530":2,"553":1,"554":1,"572":2,"582":2,"591":1,"671":1,"699":2,"714":2,"716":6,"726":3}}],["90",{"2":{"250":2}}],["90vw",{"2":{"250":2}}],["900px",{"2":{"249":2}}],["9000000utia",{"2":{"688":1}}],["9000",{"2":{"249":2,"251":1}}],["902",{"2":{"42":1,"45":5}}],["9545",{"2":{"245":4}}],["9545anvil",{"2":{"245":1}}],["990",{"2":{"514":2}}],["99",{"2":{"416":1}}],["999994999800000",{"2":{"200":2}}],["997edce",{"2":{"98":2}}],["966e6f22781ef6a6a82bbb4db3df8e225dfd9488",{"2":{"515":2}}],["96112",{"2":{"197":4}}],["96ms",{"2":{"115":2,"231":2}}],["9",{"0":{"29":1,"37":1,"459":1},"1":{"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1,"469":1,"470":1},"2":{"27":1,"37":1,"44":1,"45":1,"446":1,"459":1,"460":1,"461":3,"462":1,"463":3,"464":2,"465":2,"466":4,"468":1,"469":2}}],["jwttoken",{"2":{"386":4}}],["jwt",{"2":{"383":3,"386":3}}],["jemalloc",{"2":{"322":2,"596":2}}],["jemallocmake",{"2":{"322":1,"596":1}}],["javascriptyarn",{"2":{"247":1}}],["javascript",{"2":{"247":2}}],["january",{"2":{"36":1,"37":3}}],["jan",{"0":{"36":1,"37":1}}],["jsimport",{"2":{"298":3}}],["jsximport",{"2":{"249":1,"250":1,"298":1}}],["jsx",{"2":{"249":1,"250":1,"252":3}}],["jsxnpm",{"2":{"248":1}}],["jsxyarn",{"2":{"247":1}}],["js",{"2":{"112":2,"228":2,"240":1,"247":1}}],["json|plain",{"2":{"530":2}}],["jsonrpc",{"2":{"145":2,"146":2,"336":2,"337":2,"338":2,"339":2,"340":2}}],["json",{"0":{"689":1},"2":{"88":4,"132":2,"135":2,"145":1,"146":1,"149":1,"151":1,"152":1,"247":3,"250":2,"255":4,"285":1,"310":1,"332":2,"333":4,"334":1,"336":1,"337":1,"338":1,"339":1,"366":1,"411":1,"500":1,"513":1,"515":1,"528":1,"544":1,"557":6,"563":9,"564":5,"569":1,"576":18,"613":7,"687":3,"688":3,"689":6}}],["jq",{"2":{"92":2,"319":10,"341":2,"343":3,"346":3,"661":10,"742":4}}],["jcstein",{"2":{"86":2,"254":2}}],["jurisdiction",{"2":{"45":5}}],["justifycontent",{"2":{"250":6}}],["just",{"2":{"8":1,"133":1,"186":1,"214":1,"245":1,"298":1,"343":1,"373":1,"380":1,"386":1,"398":1,"399":1,"436":1,"444":1,"472":1,"517":1,"534":1,"572":1,"671":1,"734":1,"739":1}}],["journaldsudo",{"2":{"537":1}}],["journald",{"0":{"537":1},"2":{"537":2}}],["journalctl",{"2":{"536":2,"568":6,"742":2,"744":2,"745":2,"746":2}}],["journey",{"2":{"53":1,"68":1}}],["joho",{"2":{"385":2}}],["john",{"2":{"33":2,"52":1}}],["jotzla2v3g2q7y+18ih5j0uxk",{"2":{"146":2}}],["join",{"2":{"68":1,"470":1,"482":1,"719":1,"730":1,"735":1}}],["joining",{"0":{"66":1},"2":{"60":1,"65":1,"71":1,"83":1}}],["job",{"2":{"66":1,"395":1,"423":1,"572":8}}],["joshstein",{"2":{"530":2}}],["josh",{"2":{"27":3}}],["786bytes",{"2":{"709":1}}],["786",{"2":{"709":1}}],["75",{"2":{"447":1,"747":1,"748":1,"749":1}}],["767",{"2":{"360":2}}],["7a5fabb19713d732d967b1da84fa0df5e87a7b62302d783f78743e216c1a3550",{"2":{"340":2}}],["741743z",{"2":{"340":2}}],["71",{"2":{"338":4}}],["7pm",{"2":{"33":1}}],["7",{"0":{"27":2},"2":{"27":1,"32":1,"33":2,"42":1,"45":1,"108":2,"198":2,"270":1,"340":4,"360":2,"446":2}}],["66959",{"2":{"534":2}}],["617",{"2":{"514":6}}],["67",{"2":{"447":3}}],["6000000",{"2":{"387":2}}],["6093df76dba90f04ff63d197fc1569f04ed3dbe64081a0bba9bad4e69aa570d2",{"2":{"197":1}}],["6093df76dba90f04ff63d197fc1569f04ed3dbe64081a0bba9bad4e69aa570d2gas",{"2":{"197":1}}],["6363c68770c200fd794445668f9b18f5b1dd1125180d6e8d5ab004f7dd7a0f48",{"2":{"340":4}}],["65",{"2":{"338":4,"403":1,"404":1}}],["62562",{"2":{"334":2}}],["6962",{"2":{"126":1}}],["64x64",{"2":{"709":1}}],["64",{"2":{"98":2,"108":2,"581":1,"709":1}}],["6pm",{"2":{"31":1,"33":2}}],["6",{"0":{"26":1},"2":{"33":2,"42":1,"45":1,"50":1,"226":1,"298":6,"302":1,"446":2,"449":1,"548":1,"627":1,"665":1}}],["🤪",{"2":{"133":1}}],["🧠",{"2":{"25":1,"31":2}}],["🪧",{"2":{"23":1,"29":1,"37":2}}],["🧑‍🏫",{"2":{"21":1,"22":1,"25":1,"26":1,"27":1,"28":1,"31":1,"32":1,"34":1,"36":1,"37":1}}],["58",{"2":{"515":4}}],["54",{"2":{"515":2}}],["51",{"2":{"514":4}}],["53",{"2":{"515":6}}],["532",{"2":{"510":2}}],["534",{"2":{"509":2,"510":2}}],["533",{"2":{"509":2}}],["5iieerohbmff+ser3jpvroieejzjby+tre0ntadqll3",{"2":{"340":4}}],["56",{"2":{"318":2,"695":2}}],["50",{"2":{"318":1,"515":2,"695":1}}],["5000100000000utia",{"2":{"569":2}}],["500000000",{"2":{"340":4}}],["500ms",{"2":{"271":4}}],["500",{"2":{"271":2,"318":1,"609":1,"627":1,"695":1}}],["5001",{"2":{"250":2}}],["50px",{"2":{"250":2}}],["5s",{"2":{"108":2,"271":4,"373":2,"572":2}}],["59pm",{"2":{"37":1}}],["5",{"0":{"25":1,"32":1,"658":1},"2":{"21":1,"29":3,"42":1,"45":1,"108":2,"145":2,"226":1,"250":4,"271":4,"373":2,"378":2,"379":1,"386":1,"388":1,"406":2,"442":1,"449":1,"534":1,"572":2}}],["5pm",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"27":2,"28":3,"29":2,"31":3,"32":1,"33":2,"34":1,"36":1,"37":2}}],["😎",{"2":{"654":2}}],["🐳",{"0":{"651":1},"1":{"652":1,"653":1,"654":1,"655":1,"656":1,"657":1,"658":1,"659":1}}],["🔐",{"0":{"329":1}}],["🙂",{"2":{"131":1}}],["📗",{"2":{"21":1,"22":1,"25":1,"27":1,"29":1,"33":2}}],["🚀",{"2":{"20":1}}],["⛳",{"2":{"19":1,"24":1,"30":1}}],["478",{"2":{"709":1}}],["440",{"2":{"515":2}}],["443",{"2":{"204":1,"206":2,"271":2,"466":2,"476":1,"714":4,"726":3}}],["443export",{"2":{"204":1}}],["482",{"2":{"709":1}}],["48",{"2":{"514":6}}],["420",{"2":{"512":2}}],["45",{"2":{"510":4,"511":8}}],["437",{"2":{"515":2}}],["436",{"2":{"515":2}}],["43",{"2":{"510":2}}],["43494",{"2":{"119":4,"235":4}}],["4199ea959a2cfefcd4726d8d8f7b536458a46a27318d3483a4e9614f560606bc",{"2":{"534":1}}],["4199ea959a2cfefcd4726d8d8f7b536458a46a27318d3483a4e9614f560606bccode",{"2":{"534":1}}],["41",{"2":{"510":6}}],["4k",{"2":{"427":1,"428":1,"429":1,"435":1,"436":1}}],["4hermes",{"2":{"275":1}}],["4️⃣",{"0":{"264":1}}],["4094×482bytes",{"2":{"709":1}}],["4095",{"2":{"709":1}}],["4096",{"2":{"709":1}}],["403",{"2":{"512":2}}],["400000",{"2":{"271":4}}],["400px",{"2":{"250":2}}],["40px",{"2":{"250":2}}],["40",{"2":{"61":1,"340":2}}],["4pm",{"2":{"27":2,"28":4,"29":2,"31":2,"32":1,"33":1,"37":1}}],["4",{"0":{"16":1,"23":1,"45":1},"2":{"27":2,"29":1,"36":1,"42":1,"45":13,"223":4,"271":3,"272":2,"274":1,"275":5,"276":10,"277":3,"290":1,"332":2,"354":3,"361":2,"373":2,"399":1,"446":1,"447":1,"476":2,"501":2,"548":1,"665":1,"723":3,"725":1,"726":3,"727":8}}],["3s",{"2":{"539":1}}],["38",{"2":{"517":8}}],["387",{"2":{"509":4}}],["33",{"2":{"447":3,"583":2}}],["33554432",{"2":{"271":4}}],["3d96b7d238e7e0456f6af8e7cdf0a67bd6cf9c2089ecb559c659dcaa1f880353",{"2":{"340":2}}],["3dmfzfawzmtzvxhphf5txlcj+ct3evmmfopixfh+id4=",{"2":{"146":2}}],["3663",{"2":{"270":1}}],["3623",{"2":{"270":1}}],["34",{"2":{"270":1}}],["3️⃣",{"0":{"263":1,"268":1}}],["3+fuhlzufkjnzd8yg",{"2":{"146":2}}],["3767182372",{"2":{"119":2,"235":2}}],["32",{"2":{"103":6,"149":1,"364":2}}],["39",{"2":{"93":4,"95":2,"98":4,"108":6,"137":2,"194":4,"195":8,"197":8,"198":4,"199":8,"206":2,"223":4,"277":24,"298":62,"327":8,"332":8,"334":12,"340":2,"341":4,"346":4,"365":4,"410":8,"510":8,"534":4,"557":2,"572":2,"608":1,"613":40,"629":4,"636":4,"643":4,"654":2}}],["307",{"2":{"515":4}}],["302148204z",{"2":{"515":2}}],["309",{"2":{"510":4}}],["308",{"2":{"510":2,"515":2}}],["30t08",{"2":{"340":2}}],["3001",{"2":{"271":2}}],["30000utia",{"2":{"534":2,"637":2}}],["30000000",{"2":{"360":2}}],["30000",{"2":{"271":2,"494":1,"522":2,"529":1,"530":2}}],["3000",{"2":{"271":2,"572":1}}],["300xzo8tilwpnurey6ojcrkzthq4y6yy6qh0waummrc=",{"2":{"146":2}}],["30s",{"2":{"108":1,"271":4,"373":1}}],["30sda",{"2":{"108":1,"373":1}}],["30",{"2":{"31":1,"271":4,"390":1,"509":4}}],["30pm",{"2":{"29":2}}],["30am",{"2":{"29":1}}],["3152",{"2":{"276":2}}],["3108",{"2":{"271":2,"277":2}}],["31",{"0":{"26":1},"2":{"515":12}}],["3pm",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"28":1,"34":1,"36":1,"37":1}}],["3",{"0":{"15":1,"21":1,"22":1,"30":1,"44":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"21":1,"25":2,"26":1,"41":1,"42":1,"45":1,"48":1,"51":1,"61":1,"108":2,"119":2,"160":1,"223":2,"235":2,"271":4,"378":2,"379":1,"386":3,"388":1,"447":1,"476":2,"534":2,"563":1,"571":2,"576":4,"581":1}}],["2k",{"2":{"429":1}}],["2k×2k",{"2":{"427":2,"435":1}}],["27t13",{"2":{"340":2}}],["2727",{"2":{"276":6}}],["27709",{"2":{"115":2,"231":2}}],["2️⃣",{"0":{"262":1,"267":1}}],["250",{"2":{"609":2}}],["252614",{"2":{"332":3,"333":9,"346":2}}],["252607",{"2":{"332":2}}],["255",{"2":{"250":6}}],["25",{"2":{"226":1,"447":1}}],["25630",{"2":{"338":4}}],["256",{"2":{"115":2,"231":2}}],["291",{"2":{"517":4}}],["290",{"2":{"517":2}}],["299137127z",{"2":{"340":2}}],["29",{"2":{"149":3}}],["2blockhash",{"2":{"119":1,"235":1}}],["2019",{"2":{"705":1}}],["200",{"2":{"338":4}}],["20000",{"2":{"271":2}}],["20+",{"2":{"247":1}}],["2023",{"2":{"41":1,"340":4,"509":8,"510":12,"511":8,"512":12,"514":10,"515":14,"517":8,"522":6,"539":6}}],["20",{"2":{"34":1,"61":1,"94":2,"95":4,"145":1,"286":1,"446":1,"549":1,"610":1,"627":1,"666":1,"696":1}}],["23+",{"2":{"322":1,"596":1}}],["2382",{"2":{"276":4}}],["23",{"2":{"29":1}}],["2283",{"2":{"360":2}}],["22",{"2":{"29":1,"222":2,"223":2,"290":1,"331":4,"512":4}}],["2s",{"2":{"29":1,"178":1,"488":1}}],["210000",{"2":{"534":2}}],["21572",{"2":{"361":2}}],["21568",{"2":{"360":2}}],["2121",{"2":{"222":2,"223":2,"338":8,"476":4,"582":2,"583":4,"591":2,"745":2}}],["21",{"0":{"29":1},"2":{"29":1,"114":2,"222":2,"223":2,"230":2,"512":12}}],["289",{"2":{"517":2}}],["28409",{"2":{"115":2,"231":2}}],["28334",{"2":{"115":2,"231":2}}],["287",{"2":{"108":2}}],["28",{"0":{"31":1},"2":{"25":1,"31":1,"149":1,"150":1,"522":2,"539":2}}],["24s",{"2":{"114":2,"230":2}}],["24",{"0":{"25":1},"2":{"25":1,"361":2}}],["26660",{"2":{"571":4,"572":2}}],["26656",{"2":{"476":1,"644":2,"691":1}}],["26650",{"2":{"362":2,"365":2,"373":7}}],["26659version",{"2":{"223":1}}],["26659",{"2":{"108":6,"222":4,"223":3,"373":6,"380":2,"591":1}}],["26658",{"2":{"108":4,"328":1,"373":4,"383":2,"591":1}}],["26657celestia",{"2":{"554":1}}],["26657",{"2":{"108":8,"271":4,"462":1,"476":1,"477":1,"501":2,"530":2,"554":1,"582":2,"591":1,"643":4,"716":6,"722":1,"742":2}}],["26|00",{"2":{"522":6,"539":6}}],["268",{"2":{"510":2}}],["26",{"0":{"20":1,"35":1},"2":{"20":1,"25":1,"446":1}}],["2",{"0":{"14":1,"21":1,"24":1,"36":1,"43":1,"146":1,"274":1,"658":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"17":2,"22":3,"25":1,"29":1,"31":1,"42":1,"43":1,"45":1,"48":1,"59":1,"61":1,"66":1,"93":2,"102":1,"115":4,"119":1,"125":2,"145":2,"146":3,"159":1,"160":1,"199":2,"231":4,"235":1,"250":2,"310":1,"336":2,"337":2,"338":2,"339":2,"340":4,"356":1,"360":2,"427":1,"429":3,"430":3,"432":1,"435":1,"445":1,"447":2,"454":1,"460":1,"464":1,"465":1,"466":1,"476":2,"477":2,"484":1,"522":1,"539":2,"569":2,"576":4,"630":1,"636":2,"677":2,"716":2,"724":1,"725":1,"726":1,"727":6}}],["1×478bytes",{"2":{"709":1}}],["1utia",{"2":{"410":2,"576":2}}],["1celestia",{"2":{"354":1}}],["1container",{"2":{"222":1,"223":1}}],["1️⃣",{"0":{"261":1,"266":1}}],["1px",{"2":{"250":2}}],["1pm",{"2":{"33":1}}],["1em",{"2":{"250":2}}],["1ether",{"2":{"87":2,"254":2}}],["1s",{"2":{"178":1,"395":1}}],["13t15",{"2":{"515":2}}],["134",{"2":{"512":2}}],["139",{"2":{"512":2}}],["13|17",{"2":{"514":10,"515":12,"517":8}}],["13|16",{"2":{"511":8,"512":12}}],["13|15",{"2":{"510":12}}],["13|14",{"2":{"509":8}}],["1317",{"2":{"465":1,"476":1,"725":1}}],["13",{"0":{"34":1},"2":{"33":1,"37":1,"114":2,"115":2,"230":2,"231":2,"242":4,"244":2,"708":1}}],["115",{"2":{"583":2}}],["11036",{"2":{"572":1}}],["1141",{"2":{"360":2}}],["118",{"2":{"226":1,"298":2,"302":1}}],["11",{"0":{"32":1},"2":{"29":1,"37":2,"45":1,"340":4,"460":1,"476":11,"477":2,"480":1,"481":1,"509":4}}],["11am",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"27":2,"28":3,"29":2,"31":2,"32":1,"33":2,"34":1,"36":1,"37":2}}],["180000",{"2":{"271":4}}],["18",{"2":{"28":1,"42":1,"249":2,"512":2,"522":2,"539":2}}],["1699638350",{"2":{"360":2}}],["16002",{"2":{"726":1}}],["160",{"2":{"290":1}}],["16px",{"2":{"250":2}}],["1687908352",{"2":{"198":2}}],["1686748051",{"2":{"197":8,"198":2,"204":2}}],["16",{"0":{"37":1},"2":{"28":1,"41":1,"95":4,"509":8}}],["15002",{"2":{"714":1}}],["151",{"2":{"583":2}}],["15s",{"2":{"572":2}}],["1559",{"2":{"402":1}}],["15",{"0":{"36":1},"2":{"28":1,"33":1,"145":1,"146":1,"153":1,"250":4,"288":1,"446":1,"572":2}}],["1443",{"2":{"726":1}}],["140",{"2":{"512":4}}],["147105",{"2":{"341":2}}],["14",{"0":{"28":1,"35":1},"2":{"28":1,"583":2}}],["19000000utia",{"2":{"562":2}}],["1933",{"2":{"42":2,"45":3}}],["19",{"0":{"34":1},"2":{"23":1,"114":4,"124":1,"125":2,"230":4,"340":2,"446":1}}],["175",{"2":{"522":6,"539":6}}],["171",{"2":{"338":4}}],["172118057",{"2":{"336":2}}],["17",{"0":{"23":1},"2":{"446":1,"512":6,"517":8}}],["12300a2e2f63656c65737469612e7167622e76312e4d7367526567697374657245564d41646472657373526573706f6e7365",{"2":{"534":2}}],["1234567890",{"2":{"410":2}}],["12345",{"2":{"242":14,"245":2,"246":2}}],["12d3koowd5wcbjxkqudjhxfjtfmrzoysgvltvht5hmovbslcbv22",{"2":{"745":1}}],["12d3koowd5wcbjxkqudjhxfjtfmrzoysgvltvht5hmovbslcbv22node",{"2":{"745":1}}],["12d3koowkeertzvmpudxyszo2edqps6ms67n6lt5mpdulskpsxbq",{"2":{"583":2}}],["12d3koowlrw6eqgdwvgqrqt8wlnjoqyn3sdazaaxjgyita2xowyf",{"2":{"522":2}}],["12d3koowlt1yssrd7xwsbjh7tu1hqanf5m64dhv6aum6cyejxmpk",{"2":{"476":1}}],["12d3koowewuqrjulanpukdfgvohw3roeuu53ec9t9v5cww3mkvdq",{"2":{"476":1}}],["12d3koowcmgm5ezwvfcn9zlavigfluwafxp5pcm78nfkb9jpbtua",{"2":{"476":1}}],["12d3koowgqwzdeqm54dce6lxzffr97bnhvm6rn7km7mfwdomfm4s",{"2":{"476":1}}],["12d3koowffhcaaqy56oeqy3plzudlsv4ryafvwkatzrepupdoslp",{"2":{"338":2}}],["127",{"2":{"233":1,"271":4,"362":2,"365":2,"380":2,"643":2}}],["12pm",{"2":{"31":1}}],["12",{"0":{"33":2},"2":{"22":1,"33":1,"108":4,"354":3,"373":4,"446":1}}],["1089",{"2":{"748":1}}],["103",{"2":{"563":2}}],["105",{"2":{"563":3}}],["1040676758",{"2":{"361":2}}],["106",{"2":{"338":4}}],["10px",{"2":{"250":6}}],["10001",{"2":{"654":4}}],["1000utia",{"2":{"576":4}}],["10000",{"2":{"334":8,"387":2}}],["10000000utia",{"2":{"686":2}}],["100000000000utia",{"2":{"564":2}}],["1000000000",{"2":{"563":2}}],["1000000000utia",{"2":{"563":2,"564":2}}],["1000000utia",{"2":{"629":2}}],["1000000",{"2":{"337":2,"568":2}}],["100000",{"2":{"197":4,"198":2,"200":2,"204":2,"271":4,"334":8,"343":4}}],["100000utia",{"2":{"197":12,"204":4,"576":2}}],["1000",{"2":{"271":2}}],["100",{"2":{"250":2,"271":2,"441":2}}],["100vh",{"2":{"250":2}}],["10bytenamespace",{"2":{"108":3}}],["10s",{"2":{"108":2,"271":4,"373":2}}],["10+",{"2":{"58":1}}],["10am",{"2":{"28":1}}],["10",{"0":{"22":1,"31":1},"2":{"22":1,"45":1,"108":1,"119":3,"145":3,"235":3,"248":2,"271":4,"290":1,"302":3,"324":2,"332":1,"338":4,"403":1,"442":1,"449":1,"460":1,"479":1,"484":1,"548":1,"554":2,"665":1,"699":2,"700":2,"728":1}}],["1",{"0":{"13":1,"19":1,"20":1,"42":1,"145":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"17":2,"21":3,"33":1,"37":1,"41":1,"42":8,"43":1,"45":2,"48":1,"59":1,"66":1,"94":2,"95":2,"108":6,"114":2,"115":3,"119":2,"135":4,"137":2,"145":2,"146":6,"153":2,"178":1,"222":1,"223":1,"226":1,"230":2,"231":3,"233":1,"235":2,"242":12,"271":14,"298":2,"336":2,"337":2,"338":6,"339":2,"340":13,"343":1,"354":2,"356":1,"359":1,"362":2,"365":2,"366":1,"373":4,"380":2,"395":2,"406":1,"410":2,"420":1,"429":1,"442":1,"446":1,"447":8,"449":3,"457":2,"460":1,"476":2,"477":2,"484":1,"517":1,"548":2,"563":1,"568":2,"569":2,"609":2,"613":10,"627":2,"636":2,"643":2,"665":2,"677":2,"709":1,"727":4}}],["udp",{"2":{"338":6,"582":1,"591":1}}],["uri",{"2":{"324":6,"325":6,"477":1,"553":8,"554":2,"555":6,"562":4,"585":6,"586":8,"589":2,"632":2,"671":2,"672":6,"699":2,"702":6,"745":2,"746":2}}],["urldocker",{"2":{"656":3}}],["url=this",{"2":{"653":2}}],["url=https",{"2":{"204":2,"234":2,"254":2}}],["url=http",{"2":{"86":2,"118":2,"233":2}}],["urlexport",{"2":{"87":1,"254":1}}],["urlcast",{"2":{"87":3,"119":1,"235":1,"254":3}}],["url",{"2":{"65":2,"86":5,"87":12,"118":4,"119":7,"173":1,"204":5,"206":1,"226":4,"228":1,"233":4,"234":5,"235":7,"245":2,"246":6,"251":1,"254":17,"271":4,"302":3,"327":1,"328":1,"360":2,"361":2,"373":3,"477":2,"572":2,"653":9,"656":3,"716":3}}],["urls",{"0":{"171":1},"1":{"172":1,"173":1},"2":{"65":2,"171":2}}],["uatom",{"2":{"271":2}}],["ugp0sv9ynei5poiyr7rdodswwlfbh2o3xirsmmnmbks=",{"2":{"146":2}}],["uhhb3u6dpayj1pjnefrwq5he=",{"2":{"145":2}}],["uint32",{"2":{"405":4,"410":4}}],["uint",{"2":{"242":18}}],["uint256",{"2":{"114":4,"115":4,"119":2,"125":2,"147":2,"149":4,"152":4,"153":4,"230":4,"231":4,"235":2}}],["uint64",{"2":{"103":12,"132":8,"133":4,"135":4,"137":4,"386":8,"387":2}}],["ubuntumac",{"2":{"322":1,"596":1}}],["ubuntu",{"2":{"90":1,"286":1,"290":1,"319":1,"320":2,"549":1,"610":1,"627":1,"651":1,"661":1,"662":2,"666":1,"696":1}}],["ultimately",{"2":{"165":1}}],["ultimate",{"2":{"67":1}}],["utility",{"0":{"214":1},"1":{"215":1,"216":1,"217":1,"218":1,"219":1},"2":{"213":1,"214":3,"216":1,"322":1,"596":1,"700":1}}],["utilizing",{"0":{"65":1}}],["utilize",{"2":{"61":1,"63":2,"64":1,"287":1}}],["utia=tia×10−6",{"2":{"449":1}}],["utia",{"0":{"343":1,"457":1},"2":{"197":4,"198":2,"200":4,"226":1,"271":2,"298":6,"302":1,"334":2,"336":2,"337":2,"343":6,"457":3,"458":1,"563":2}}],["utc",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"27":2,"28":4,"29":3,"31":3,"32":1,"33":3,"34":1,"36":1,"37":2,"515":2}}],["u",{"2":{"42":2,"45":5,"536":2,"568":6,"742":2,"744":2,"745":2,"746":2}}],["upper",{"2":{"709":1}}],["upgrading",{"0":{"598":1}}],["upgrades",{"0":{"470":1,"472":1,"482":1,"706":1,"719":1,"730":1,"735":1},"2":{"470":1,"471":1,"472":1,"482":1,"563":1,"578":1,"675":2,"676":1,"705":1,"706":1,"719":1,"730":1,"734":1,"735":1}}],["upgrade",{"0":{"578":1},"2":{"92":2,"283":1,"319":3,"578":1,"598":1,"661":3,"675":3,"676":4,"677":2}}],["upmake",{"2":{"356":1,"373":1}}],["upload",{"2":{"250":1,"272":1,"288":1,"318":1,"548":1,"609":1,"627":1,"665":1,"695":1}}],["uploaded",{"2":{"246":1}}],["uploading",{"2":{"240":1}}],["updocker",{"2":{"223":1}}],["updating",{"0":{"242":1,"244":1,"535":1},"1":{"536":1,"537":1},"2":{"160":1,"190":2,"512":2}}],["updatepost",{"2":{"242":6}}],["updatename",{"2":{"242":2}}],["updatevalidatorset",{"2":{"160":1,"161":1}}],["updateheaders",{"2":{"135":2}}],["updatesudo",{"2":{"319":1,"661":1}}],["updates",{"2":{"115":1,"231":1,"242":4,"459":1,"472":1,"706":1,"733":1,"734":1}}],["update",{"0":{"88":1,"255":1,"512":1},"2":{"88":2,"92":2,"97":4,"178":1,"242":2,"244":1,"249":1,"250":1,"252":1,"255":2,"319":4,"354":4,"387":1,"406":1,"414":1,"433":1,"506":1,"508":4,"512":9,"563":2,"593":4,"661":4,"689":1}}],["updatedpost",{"2":{"242":4}}],["updated",{"2":{"5":1,"135":1,"238":1,"378":1,"472":1,"512":2,"534":1,"734":1}}],["upcoming",{"2":{"71":1,"675":1}}],["upstream",{"2":{"354":1}}],["ups",{"2":{"57":1}}],["upon",{"2":{"45":3,"74":1,"135":1,"141":1,"333":1,"447":1,"555":1,"672":1,"702":1}}],["uptime",{"2":{"44":1,"585":1,"716":1}}],["up",{"0":{"108":1,"188":1,"193":1,"205":1,"319":1,"387":1,"546":1,"549":1,"608":1,"610":1,"625":1,"626":1,"663":1,"666":1,"682":1,"693":1,"696":1,"740":1},"1":{"189":1,"190":1,"191":1,"192":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"547":1,"548":1,"549":1,"550":2,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":2,"627":3,"628":3,"629":3,"630":2,"631":2,"632":2,"633":2,"634":2,"635":2,"636":2,"637":2,"638":2,"639":2,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"694":1,"695":1,"696":1,"697":2,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"30":1,"37":1,"48":3,"54":1,"55":1,"56":1,"65":3,"66":1,"72":1,"78":1,"79":1,"108":1,"113":1,"169":1,"178":1,"192":1,"201":2,"204":1,"205":1,"213":1,"216":1,"222":2,"223":3,"229":1,"250":1,"273":1,"290":1,"295":1,"314":1,"319":2,"323":1,"331":1,"356":2,"373":1,"379":1,"380":1,"382":1,"386":2,"392":1,"422":1,"423":1,"493":1,"500":1,"527":1,"543":1,"546":1,"556":2,"570":1,"572":1,"573":1,"580":1,"586":1,"596":1,"605":1,"608":4,"621":2,"627":1,"634":2,"636":1,"660":1,"663":1,"667":1,"682":1,"683":1,"693":1,"696":2,"703":1,"731":1,"741":1,"742":1,"747":1}}],["unexplored",{"2":{"706":1}}],["unexpectedly",{"2":{"472":1}}],["unjail",{"2":{"567":3}}],["unjailing",{"0":{"567":1}}],["unbond",{"2":{"566":3}}],["un",{"2":{"542":1}}],["undelegate",{"0":{"566":1},"2":{"566":1}}],["undergoes",{"2":{"472":1}}],["underlying",{"2":{"104":1,"364":1}}],["underwriter",{"2":{"45":1}}],["undertake",{"2":{"45":1}}],["undertaking",{"2":{"45":1}}],["understanding",{"0":{"601":1},"1":{"602":1,"603":1,"604":1,"605":1,"606":1,"607":1},"2":{"60":1,"83":1,"112":2,"176":1,"178":1,"221":1,"228":2,"442":1,"652":2}}],["understand",{"2":{"41":1,"44":1,"45":4,"65":1,"66":3,"83":1,"128":1,"204":1,"296":1,"439":1}}],["under",{"2":{"33":1,"41":1,"42":1,"45":10,"106":1,"127":1,"214":1,"216":1,"380":1,"402":1,"519":1,"526":1,"530":1,"536":1,"545":1,"571":2,"622":1}}],["undone",{"2":{"510":2}}],["unused",{"2":{"402":1,"404":1}}],["untested",{"2":{"286":1}}],["until",{"2":{"137":1,"270":1,"406":1,"410":2,"422":1,"442":1,"449":1,"472":1,"534":1,"742":1}}],["unordered",{"2":{"276":2}}],["unstable",{"2":{"734":1}}],["unstake",{"2":{"264":1,"268":1}}],["unsafe",{"2":{"246":2,"252":2,"594":4,"641":2,"683":2}}],["unsignedtx",{"2":{"576":8}}],["unsigned",{"2":{"114":1,"115":1,"230":1,"231":1}}],["unsolicited",{"2":{"14":1,"15":1}}],["unknowncargo",{"2":{"96":1}}],["unknown",{"2":{"96":3,"153":1}}],["unlocked",{"2":{"447":9}}],["unlock",{"2":{"298":2,"447":3}}],["unlocks",{"0":{"447":1},"2":{"294":1,"447":4}}],["unlocking",{"2":{"73":1}}],["unlimited",{"2":{"571":2}}],["unlike",{"2":{"134":1,"308":1}}],["unlicensed",{"2":{"114":2,"115":2,"230":2,"231":2}}],["unless",{"2":{"42":2,"45":4,"682":1}}],["unit",{"2":{"115":1,"231":1,"410":2,"536":2,"742":2,"744":2,"745":2,"746":2}}],["united",{"2":{"45":9}}],["university",{"2":{"58":1}}],["universities",{"2":{"58":2,"62":1}}],["unique",{"2":{"44":1,"65":1,"179":1,"190":1,"427":2,"429":1,"677":1}}],["unaffected",{"2":{"180":1}}],["unaffiliated",{"2":{"42":1}}],["unavailable",{"2":{"137":1,"532":2}}],["unavailability",{"2":{"104":1,"237":1}}],["unable",{"2":{"42":3,"406":1,"420":1}}],["unacceptable",{"2":{"8":1,"11":1}}],["unwelcome",{"2":{"13":1}}],["unprofessional",{"2":{"13":1}}],["usually",{"2":{"554":1,"605":1,"671":1,"699":2}}],["usable",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1},"2":{"128":1,"145":1,"146":1}}],["usage",{"0":{"125":1,"486":1},"2":{"322":1,"497":2,"507":2,"508":2,"509":2,"510":2,"512":2,"513":2,"515":2,"516":2,"517":2,"518":2,"519":2,"520":2,"530":2,"545":2,"557":2,"560":1,"561":1,"562":2,"573":1,"596":1}}],["usr",{"2":{"94":6,"320":21,"581":1,"662":21}}],["using",{"0":{"118":1,"214":1,"233":1,"234":1,"369":1,"370":1,"371":1,"477":1},"1":{"215":1,"216":1,"217":1,"218":1,"219":1},"2":{"10":1,"22":1,"31":1,"44":1,"54":1,"55":1,"66":1,"86":2,"104":1,"105":1,"106":1,"108":3,"111":1,"117":1,"119":1,"124":1,"129":3,"133":1,"134":2,"137":1,"145":1,"146":2,"148":1,"153":2,"158":1,"169":2,"181":1,"185":1,"186":1,"196":1,"204":1,"209":1,"213":1,"215":1,"222":1,"223":3,"235":1,"237":1,"242":1,"244":1,"245":1,"247":2,"248":1,"250":1,"252":3,"254":2,"269":1,"271":1,"283":1,"295":2,"298":3,"300":1,"316":1,"325":1,"326":1,"329":1,"330":1,"331":2,"334":1,"346":1,"368":1,"373":2,"378":3,"386":2,"391":2,"396":1,"405":2,"409":1,"410":4,"411":2,"429":1,"430":2,"432":3,"435":2,"438":1,"452":1,"459":1,"465":2,"466":1,"467":1,"477":1,"478":1,"483":1,"497":2,"500":1,"503":1,"504":1,"505":1,"508":1,"511":1,"514":1,"521":1,"522":2,"528":1,"532":1,"534":3,"535":5,"536":1,"538":1,"544":1,"545":2,"553":1,"555":1,"563":1,"564":1,"574":1,"575":1,"580":1,"583":1,"592":3,"593":1,"609":2,"618":1,"620":1,"621":1,"629":1,"651":3,"653":1,"655":2,"659":1,"671":1,"672":1,"699":1,"700":1,"701":1,"702":1,"725":2,"726":1,"728":1}}],["useaccount",{"2":{"250":4}}],["useeffect",{"2":{"250":6}}],["useful",{"0":{"488":1},"2":{"66":1,"75":1,"465":1,"472":1,"725":1,"740":1,"742":1}}],["useshareexchange",{"2":{"370":1}}],["usestate",{"2":{"250":10}}],["uses",{"2":{"58":1,"102":1,"104":1,"119":1,"133":4,"137":1,"165":1,"166":1,"169":1,"214":1,"235":1,"242":1,"269":1,"280":1,"290":1,"295":1,"311":1,"364":1,"402":1,"404":1,"405":1,"406":1,"418":1,"427":1,"439":1,"442":1,"453":1,"503":1,"504":1,"505":1,"508":2,"528":1,"544":1,"571":1,"622":1}}],["username",{"2":{"536":2}}],["user=$user",{"2":{"742":2,"744":2,"745":2,"746":2}}],["user=",{"2":{"536":2}}],["users",{"2":{"41":1,"104":1,"158":1,"180":1,"237":1,"250":3,"310":1,"312":1,"331":1,"388":1,"391":1,"397":1,"400":1,"402":3,"404":3,"405":1,"406":2,"407":1,"413":2,"420":2,"423":2,"424":1,"434":1,"435":1,"462":1,"465":1,"466":1,"530":2,"613":1,"651":1,"659":1,"706":1,"716":1,"722":1,"725":1,"726":1,"733":1}}],["user",{"0":{"410":1},"2":{"25":1,"60":1,"65":2,"66":1,"104":1,"108":3,"129":2,"131":1,"237":1,"242":2,"247":1,"249":1,"280":2,"283":1,"298":4,"307":1,"308":1,"328":2,"332":1,"395":1,"402":2,"404":3,"406":1,"410":8,"453":1,"456":1,"536":2,"572":1,"577":1,"592":8,"607":1,"654":1,"742":2,"744":2,"745":2,"746":2,"749":1}}],["use",{"2":{"8":1,"13":1,"29":1,"42":3,"44":3,"45":1,"63":1,"65":1,"66":2,"95":2,"108":2,"117":1,"118":1,"119":1,"131":1,"132":2,"134":2,"135":1,"140":1,"144":1,"149":2,"173":1,"180":1,"183":1,"187":1,"190":1,"191":1,"197":1,"202":1,"204":2,"205":1,"206":1,"215":1,"216":2,"218":1,"235":1,"242":2,"244":1,"245":4,"246":1,"252":1,"270":1,"272":1,"274":1,"275":2,"276":1,"277":1,"283":2,"285":1,"306":2,"312":1,"314":1,"317":1,"322":1,"324":1,"327":4,"328":1,"329":1,"330":2,"332":4,"333":5,"334":4,"343":1,"344":1,"345":2,"349":1,"358":1,"369":1,"370":1,"371":1,"373":2,"380":1,"383":1,"384":1,"385":2,"391":1,"401":1,"402":1,"403":1,"410":6,"432":1,"433":1,"451":1,"462":1,"469":1,"481":1,"489":1,"492":2,"493":1,"507":3,"508":2,"513":2,"514":1,"516":3,"517":3,"526":2,"528":1,"530":7,"532":1,"533":1,"536":1,"542":2,"545":1,"553":1,"563":2,"564":1,"572":2,"578":1,"580":1,"586":1,"591":1,"596":1,"602":1,"613":1,"635":1,"651":1,"671":1,"674":1,"684":2,"689":1,"717":1,"722":1,"729":1,"739":1}}],["used",{"2":{"3":1,"41":1,"102":1,"109":2,"132":2,"134":1,"135":2,"137":1,"148":1,"150":1,"159":1,"197":2,"211":1,"214":1,"224":1,"269":1,"272":1,"283":1,"286":1,"288":1,"299":1,"309":1,"319":1,"324":1,"328":2,"346":1,"364":1,"381":1,"402":1,"403":2,"404":1,"405":2,"427":1,"432":1,"435":1,"466":1,"471":1,"477":1,"496":1,"501":1,"508":1,"515":2,"516":1,"521":1,"530":2,"534":3,"552":1,"554":1,"563":1,"570":1,"580":1,"582":1,"591":1,"601":1,"629":2,"636":2,"644":1,"647":1,"654":1,"660":1,"671":2,"676":1,"726":1,"727":1}}],["us",{"2":{"8":1,"25":1,"27":1,"29":1,"41":1,"42":3,"44":2,"45":1,"50":1,"66":6,"180":1,"298":1,"346":1,"386":3,"709":2}}],["huzwottdmd36n1f75a9bshxnlrascnnpqiwqihdvhcu",{"2":{"340":4}}],["hub",{"2":{"269":1,"271":1,"272":1}}],["h2",{"2":{"250":8}}],["h3",{"2":{"250":8}}],["h1",{"2":{"250":8}}],["history",{"2":{"420":1,"424":1,"477":1,"608":1,"609":1,"716":1,"731":1}}],["historic",{"2":{"390":1,"391":3}}],["historical",{"0":{"423":1,"424":1,"619":1},"2":{"389":1,"390":1,"391":9,"420":2,"423":2,"424":2,"425":1,"608":1,"619":1}}],["hidden",{"2":{"133":1,"378":1}}],["hiring",{"2":{"62":1}}],["highly",{"2":{"554":1,"649":1,"671":1}}],["highlighted",{"2":{"154":1}}],["highlight",{"2":{"62":1,"82":1}}],["highlights",{"2":{"56":1,"102":1}}],["higher",{"2":{"180":1,"401":1,"406":1,"439":1,"442":1}}],["highest",{"2":{"25":1}}],["high",{"0":{"154":1},"1":{"155":1,"156":1},"2":{"21":1,"64":1,"83":1,"102":1,"129":1,"131":1,"158":1,"167":1,"298":2,"427":1,"466":1,"483":1,"726":1}}],["h",{"2":{"45":1,"507":2,"508":2,"513":2,"516":2,"530":2}}],["honesty",{"2":{"420":1}}],["honest",{"2":{"417":2,"427":1,"429":1,"436":2}}],["hooks",{"2":{"247":1}}],["hood",{"2":{"214":1,"402":1}}],["host",{"2":{"178":1,"206":2,"250":2,"271":4,"275":6,"383":1,"395":1,"654":3}}],["hosted",{"2":{"169":1,"303":1,"586":1}}],["hosting",{"2":{"61":1,"64":1,"66":2,"102":1}}],["hope",{"2":{"66":2}}],["hollow",{"2":{"194":2}}],["holders",{"2":{"444":1,"564":1}}],["holder",{"2":{"45":1}}],["hold",{"2":{"45":1,"60":1}}],["holdings",{"2":{"52":1}}],["holding",{"2":{"45":2}}],["holiday",{"0":{"35":1}}],["homebrew",{"2":{"319":4,"661":4}}],["homecd",{"2":{"194":1}}],["home=",{"2":{"190":2}}],["home",{"0":{"190":1},"2":{"31":1,"95":6,"108":6,"190":4,"194":3,"195":4,"197":12,"198":4,"199":4,"200":8,"328":1,"373":2,"492":3,"503":5,"504":5,"505":5,"506":1,"507":1,"509":4,"510":4,"511":7,"512":5,"514":4,"515":4,"516":1,"517":4,"522":1,"526":3,"530":7,"534":1,"535":2,"542":3,"545":3,"582":1,"591":1,"592":8,"641":2,"655":8,"656":8,"683":2}}],["however",{"2":{"62":1,"65":1,"133":1,"137":1,"390":1,"402":1,"403":1,"418":1,"428":1,"430":1,"432":1,"492":1,"503":1,"504":1,"505":1,"506":1,"507":1,"516":1,"517":1,"526":1,"532":1,"533":1,"542":1,"563":1,"586":1,"607":1,"647":1}}],["how",{"0":{"160":1,"162":1,"186":1,"258":1,"415":1,"490":1,"498":1,"522":1,"523":1,"539":1,"540":1,"568":1},"1":{"161":1,"163":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"499":1,"500":1,"501":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"541":1,"542":1,"543":1,"544":1,"545":1},"2":{"22":1,"33":1,"59":1,"60":1,"62":2,"65":1,"66":1,"78":1,"105":1,"111":1,"120":2,"128":1,"129":1,"131":1,"133":1,"134":1,"141":2,"154":1,"158":2,"159":1,"181":1,"186":1,"200":1,"201":2,"205":1,"208":2,"209":1,"221":1,"222":1,"224":1,"236":1,"238":2,"258":1,"269":2,"285":1,"290":1,"295":1,"297":1,"298":2,"299":1,"306":1,"314":1,"326":1,"327":2,"329":1,"351":1,"378":1,"386":1,"387":1,"403":2,"404":1,"405":2,"410":2,"416":1,"438":1,"439":1,"441":2,"442":1,"444":1,"445":1,"451":1,"453":1,"461":3,"475":2,"483":2,"487":2,"536":1,"570":2,"577":1,"578":1,"586":1,"608":1,"637":1,"646":1,"647":1,"710":2,"720":3,"731":1,"736":1}}],["hours",{"2":{"50":1}}],["hour",{"2":{"21":1,"22":1,"25":1,"26":1,"27":1,"28":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"66":1}}],["http2",{"2":{"465":1,"725":1}}],["httpexport",{"2":{"234":1,"254":1}}],["http",{"2":{"108":6,"117":2,"118":1,"172":1,"234":1,"245":2,"246":6,"248":2,"249":4,"250":2,"251":1,"254":1,"312":1,"328":1,"373":2,"383":2,"501":2,"582":1,"591":2,"653":1,"725":1}}],["https",{"0":{"172":1},"2":{"17":3,"86":2,"93":2,"94":2,"95":2,"97":2,"98":2,"149":2,"150":2,"153":2,"172":1,"174":1,"175":1,"206":2,"215":2,"226":4,"250":2,"251":1,"254":2,"271":8,"272":2,"292":1,"302":3,"304":1,"319":2,"320":8,"322":2,"354":2,"362":2,"384":2,"398":3,"399":3,"465":2,"468":1,"469":1,"476":2,"480":1,"481":2,"485":3,"562":4,"577":4,"580":2,"581":2,"596":2,"613":12,"623":12,"653":1,"661":2,"662":8,"717":6,"718":2,"725":9,"726":1,"729":5}}],["html",{"2":{"17":1,"149":2,"150":2}}],["halo",{"2":{"547":1}}],["halting",{"2":{"414":1}}],["hamburger",{"2":{"226":1}}],["happens",{"2":{"676":1}}],["happen",{"2":{"436":1,"676":1,"677":1}}],["happening",{"2":{"5":1}}],["happy",{"2":{"65":1,"81":1}}],["having",{"2":{"58":2,"59":1,"416":2,"506":1,"651":1}}],["haven",{"2":{"298":2,"597":1}}],["have",{"2":{"4":1,"9":1,"41":1,"42":5,"43":3,"45":8,"49":1,"58":4,"59":1,"60":1,"61":1,"63":1,"64":2,"65":1,"81":1,"87":1,"98":1,"108":2,"117":1,"123":1,"133":1,"147":4,"176":1,"181":1,"192":1,"193":1,"201":1,"212":2,"216":1,"238":1,"247":1,"249":2,"253":1,"254":1,"271":2,"272":1,"274":1,"276":1,"277":1,"288":2,"297":1,"298":1,"312":1,"317":2,"320":1,"326":1,"328":1,"350":1,"367":1,"368":1,"370":2,"380":1,"387":1,"391":1,"406":1,"414":1,"415":2,"418":1,"424":1,"430":1,"436":2,"446":1,"461":1,"484":1,"491":1,"495":1,"499":1,"501":1,"515":1,"524":1,"525":1,"530":3,"534":1,"536":1,"541":1,"545":3,"547":1,"556":1,"581":1,"583":1,"584":1,"591":1,"600":1,"609":2,"634":1,"635":1,"636":1,"648":1,"653":1,"656":1,"662":1,"677":1,"683":1,"688":1,"689":1,"692":1,"694":1,"701":1,"709":1,"716":1,"720":1,"742":1}}],["handpicking",{"2":{"572":1}}],["handshake",{"0":{"532":1},"2":{"532":4}}],["handful",{"2":{"245":1}}],["handling",{"2":{"104":1,"169":2,"295":2,"516":1}}],["handled",{"2":{"402":1}}],["handles",{"2":{"169":1,"295":1,"328":1,"507":1}}],["handle",{"2":{"42":1,"364":1,"410":4,"434":1}}],["hand",{"2":{"52":1,"167":1}}],["hashaccessing",{"2":{"608":1}}],["hash=580b3dff8a7c716968161d91116a1e171f486298d582874e93714e489c9e6e88",{"2":{"583":2}}],["hash=",{"2":{"583":2}}],["hash=0x79a0a7a1b4936aafe7a37dbfb07a6a9e55c145a4ed6fd54f962649b4b7db8de7",{"2":{"360":1}}],["hash=0x79a0a7a1b4936aafe7a37dbfb07a6a9e55c145a4ed6fd54f962649b4b7db8de7export",{"2":{"360":1}}],["hashtopost",{"2":{"242":8}}],["hashtags",{"2":{"63":1}}],["hashes",{"2":{"125":4}}],["hash",{"0":{"618":1},"2":{"118":2,"125":10,"132":2,"135":2,"145":2,"146":2,"152":2,"153":1,"234":2,"242":30,"250":1,"322":1,"340":24,"343":1,"360":4,"361":4,"430":1,"501":1,"583":6,"596":1,"607":2,"618":1,"622":3,"629":3,"636":2,"646":2}}],["has",{"2":{"43":1,"45":2,"65":1,"68":1,"103":2,"104":2,"125":3,"198":1,"237":1,"241":1,"245":1,"246":1,"276":1,"295":1,"312":1,"350":1,"364":1,"365":1,"386":1,"391":1,"403":2,"413":1,"423":1,"428":1,"430":1,"472":1,"479":1,"510":2,"513":1,"516":1,"521":1,"533":1,"534":1,"535":1,"547":1,"572":1,"574":1,"623":1,"651":1,"671":1,"698":1,"708":1,"709":1,"728":1,"734":1,"742":1,"746":1}}],["had",{"2":{"43":1,"239":1}}],["hard",{"2":{"709":2}}],["hardforks",{"2":{"675":1,"676":1,"734":1}}],["hardfork",{"0":{"675":1,"677":1},"1":{"676":1,"677":1},"2":{"472":1,"675":2,"676":2,"677":3}}],["hardware",{"0":{"318":1,"548":1,"609":1,"627":1,"665":1,"679":1,"695":1},"2":{"78":1,"79":1,"318":1,"484":1,"508":1,"548":1,"608":1,"609":1,"627":1,"665":1,"679":1,"695":1}}],["harassing",{"2":{"11":1}}],["harassment",{"2":{"7":1,"8":1,"16":1}}],["harmful",{"2":{"9":1}}],["hello",{"2":{"332":1}}],["helpblobstream",{"2":{"493":1,"500":2,"527":1,"528":1,"543":1,"544":1}}],["helpful",{"0":{"386":1,"557":1},"1":{"558":1,"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1},"2":{"386":4,"580":1,"581":1}}],["helpcelestia",{"2":{"204":1,"279":1,"345":2,"561":1,"562":1,"580":1}}],["helper",{"2":{"139":1,"386":2,"497":1}}],["helped",{"2":{"52":1}}],["helping",{"2":{"65":1,"104":1,"237":1,"557":2,"678":1}}],["helps",{"2":{"2":1,"61":1,"64":1,"66":4}}],["help",{"0":{"345":1},"2":{"0":1,"25":1,"44":1,"46":1,"50":1,"52":1,"53":2,"54":1,"57":1,"58":1,"59":1,"60":3,"61":2,"62":1,"63":2,"64":2,"65":3,"66":2,"75":2,"129":1,"180":1,"204":2,"219":2,"279":2,"345":4,"388":1,"393":1,"453":1,"486":4,"493":2,"497":2,"500":3,"507":8,"508":8,"509":2,"510":2,"512":2,"513":8,"515":2,"516":6,"517":2,"518":2,"519":2,"520":2,"527":2,"528":2,"530":6,"543":2,"544":2,"545":2,"557":6,"561":1,"562":1,"580":2,"587":1,"604":1,"720":1,"736":1}}],["hence",{"2":{"169":1,"295":1,"403":1,"663":1}}],["heightsub",{"0":{"595":1},"2":{"595":4}}],["height=15",{"2":{"145":1,"146":1,"153":1}}],["height",{"0":{"340":1},"2":{"126":1,"132":8,"133":4,"135":2,"137":6,"145":3,"146":1,"153":13,"197":4,"250":4,"332":5,"333":6,"334":3,"340":10,"341":2,"346":3,"364":2,"386":20,"387":6,"430":1,"442":1,"534":2,"557":4,"619":1,"621":1,"622":3,"629":2,"636":2,"646":2}}],["hexadecimal",{"2":{"108":1,"119":1,"235":1,"332":1}}],["hex",{"2":{"87":1,"148":1,"149":1,"150":1,"151":1,"152":1,"254":1,"332":8,"333":2,"385":2,"386":5,"408":4,"409":4,"510":2,"512":2,"519":3}}],["hesitate",{"2":{"58":1,"63":1}}],["hea",{"2":{"386":2}}],["health",{"2":{"273":4,"570":1,"716":1}}],["healthcheck",{"2":{"108":2,"373":2}}],["healthy",{"2":{"7":1,"273":1}}],["heard",{"2":{"178":1}}],["hear",{"2":{"66":2}}],["head=ghead",{"2":{"613":1}}],["head=gheadalias",{"2":{"613":1}}],["headerparam",{"2":{"386":2}}],["headers",{"0":{"141":1,"595":1},"2":{"135":1,"137":5,"141":1,"160":1,"250":2,"427":1,"428":1,"429":1,"436":5,"547":2,"595":3,"664":2,"694":3,"745":1,"746":1}}],["header",{"0":{"340":1},"2":{"108":2,"125":2,"126":1,"127":1,"132":11,"133":9,"134":1,"135":18,"137":19,"153":2,"160":2,"340":8,"341":2,"346":4,"373":2,"385":2,"386":2,"427":1,"430":1,"435":1,"436":4,"438":1,"595":2,"622":1}}],["head",{"2":{"52":1,"129":1,"133":1,"178":1,"203":1,"319":2,"325":1,"369":1,"380":1,"574":1,"613":12,"621":1,"661":2}}],["hedging",{"2":{"45":1}}],["hermes",{"0":{"270":1,"277":1},"1":{"271":1,"272":1,"273":1},"2":{"269":2,"270":9,"271":4,"272":4,"273":2,"274":1,"278":1}}],["herbert",{"2":{"25":3}}],["hereby",{"2":{"43":1,"45":4}}],["herein",{"2":{"41":1}}],["here",{"2":{"0":1,"49":1,"70":1,"78":1,"79":1,"82":1,"115":1,"132":1,"133":1,"135":1,"137":1,"182":1,"204":1,"231":1,"242":3,"246":1,"249":1,"298":1,"329":1,"332":2,"333":3,"337":1,"340":2,"343":1,"380":1,"385":1,"386":4,"410":4,"553":1,"554":1,"563":1,"572":2,"585":1,"586":1,"587":1,"622":1,"636":1,"685":2,"686":1,"688":1,"710":1,"741":1}}],["v",{"2":{"282":1,"361":2,"386":14,"655":11,"656":10}}],["vv",{"2":{"243":1}}],["vvforge",{"2":{"243":1}}],["vs",{"0":{"164":1,"433":1},"1":{"165":1,"166":1,"167":1}}],["v1beta1",{"2":{"197":2,"198":2,"199":2,"563":4}}],["v1",{"2":{"153":1,"270":1,"322":1,"338":6,"354":6,"364":1,"402":2,"406":1,"460":1,"534":4,"581":1,"596":1}}],["vkrarg7fgtz",{"2":{"145":2}}],["v0",{"2":{"95":2,"108":4,"270":1,"354":3,"373":4,"460":2}}],["vote",{"2":{"258":1,"444":2,"445":1,"563":5,"564":1}}],["voting",{"2":{"160":1,"340":4,"454":1,"563":1,"731":1}}],["void",{"2":{"194":2}}],["voice",{"2":{"58":1}}],["vouch",{"2":{"165":1}}],["volume",{"2":{"373":1,"654":2,"655":6,"656":2,"659":1}}],["volumes",{"2":{"108":2,"223":2,"373":2}}],["volunteer",{"2":{"54":1}}],["volunteers",{"2":{"54":1,"56":1,"70":1}}],["vanilla",{"2":{"432":1}}],["vastly",{"2":{"180":1}}],["val",{"2":{"534":1,"629":2,"637":2}}],["valcelestia",{"2":{"534":1}}],["valconspub",{"2":{"298":2}}],["valcons",{"2":{"298":2}}],["valset",{"0":{"533":1},"2":{"501":2,"530":1}}],["valoperpub",{"2":{"298":2}}],["valoper",{"2":{"298":2,"534":8,"565":2,"566":4}}],["validiums",{"2":{"414":1}}],["validity",{"2":{"180":3,"392":1}}],["valid",{"2":{"129":2,"180":1,"273":2,"427":1,"433":2,"436":1}}],["validation",{"2":{"137":2}}],["validating",{"0":{"99":1},"2":{"143":1,"675":1}}],["validated",{"2":{"539":1}}],["validates",{"2":{"432":1,"557":2}}],["validatehermes",{"2":{"273":1}}],["validatebatchdata",{"2":{"103":1}}],["validate",{"2":{"99":5,"273":1,"428":1,"429":1,"547":1,"557":2,"621":1,"734":1}}],["validator1",{"2":{"684":1}}],["validatorsetting",{"2":{"608":1}}],["validators",{"0":{"483":1,"687":1},"1":{"484":1,"485":1,"486":1,"487":1,"488":1},"2":{"131":1,"132":1,"161":1,"165":1,"179":1,"288":1,"340":6,"401":1,"418":1,"439":1,"441":1,"472":1,"483":1,"534":1,"563":3,"638":2,"675":3,"676":2,"677":2,"687":3,"688":1,"691":1,"720":1,"734":3}}],["validator",{"0":{"205":1,"262":1,"267":1,"565":1,"567":1,"625":1,"626":1,"627":1,"629":1,"636":1,"637":1,"639":1},"1":{"626":1,"627":2,"628":2,"629":2,"630":1,"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1},"2":{"99":1,"135":1,"158":1,"159":2,"160":4,"161":1,"179":1,"192":2,"195":2,"196":1,"200":1,"204":1,"205":2,"211":4,"262":1,"267":1,"340":4,"392":1,"397":1,"422":1,"441":3,"453":2,"463":2,"466":2,"471":3,"476":4,"477":2,"484":1,"487":1,"501":1,"521":2,"522":2,"527":1,"528":1,"530":7,"534":13,"535":3,"538":3,"539":1,"547":1,"554":5,"557":2,"565":5,"566":6,"567":3,"569":2,"576":6,"582":1,"591":1,"608":5,"626":1,"627":1,"629":7,"630":2,"635":1,"636":16,"637":3,"650":1,"671":3,"685":1,"690":4,"691":2,"699":5,"700":2,"711":1,"720":1,"731":1,"734":1,"738":1,"739":1,"741":1}}],["valuable",{"2":{"58":1,"61":2,"66":1,"83":1}}],["values",{"0":{"583":1},"2":{"145":1,"146":1,"149":1,"151":1,"152":2,"216":1,"332":1,"444":1,"501":1,"583":2,"593":3}}],["value",{"2":{"4":1,"62":1,"87":3,"114":2,"119":1,"149":6,"150":1,"230":2,"235":1,"250":15,"254":3,"332":2,"338":1,"340":4,"361":2,"362":4,"365":2,"402":1,"403":1,"404":1,"492":1,"503":1,"504":1,"505":1,"522":1,"526":1,"534":4,"535":1,"542":1,"563":4,"586":1,"620":2,"646":2,"647":1,"684":2,"685":1}}],["vars",{"2":{"380":1,"386":3}}],["var",{"2":{"135":2,"190":4,"381":1,"386":2,"387":6}}],["variant",{"2":{"247":2}}],["variables",{"0":{"196":1,"248":1},"2":{"196":1,"202":1,"248":1,"355":1,"372":1,"386":2,"404":1,"655":1}}],["variable",{"2":{"86":2,"114":2,"115":2,"118":1,"119":1,"148":1,"190":1,"230":2,"231":2,"234":2,"235":1,"245":1,"246":1,"252":1,"254":2,"330":1,"343":1,"360":1,"361":1,"373":1,"404":1,"439":1,"492":2,"503":2,"504":2,"505":2,"526":2,"542":2,"629":1}}],["variety",{"2":{"59":1,"181":1}}],["various",{"2":{"45":1,"54":1,"65":1,"83":1,"394":1}}],["vary",{"2":{"59":1,"403":1,"442":1,"709":1}}],["veto",{"2":{"563":2}}],["vest",{"2":{"197":1}}],["vestingcelestia",{"2":{"202":1}}],["vesting",{"0":{"186":1,"193":1,"197":1,"198":1,"204":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":2,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1},"2":{"186":4,"192":1,"193":1,"194":5,"195":2,"196":1,"197":19,"198":8,"200":3,"201":2,"202":4,"204":10,"207":1,"208":2,"283":1,"403":1}}],["ve",{"2":{"63":1,"83":1,"87":1,"118":1,"120":1,"177":1,"178":1,"200":1,"208":1,"234":1,"236":1,"239":1,"244":1,"246":1,"254":1,"378":1,"597":1}}],["venue",{"0":{"58":1},"2":{"54":2,"55":1,"58":4,"62":2,"63":2}}],["venture",{"2":{"52":1}}],["vendors",{"2":{"42":1}}],["ver=",{"2":{"320":3,"662":3}}],["very",{"2":{"131":1,"288":1}}],["verifymultirowrootstodataroottupleroot",{"2":{"129":1}}],["verifyrowroottodataroottupleroot",{"2":{"129":2}}],["verifysharestodataroottupleroot",{"2":{"129":2}}],["verifying",{"0":{"129":1},"2":{"126":2,"133":2,"134":1,"157":1,"283":1,"284":1,"415":1,"421":1,"429":1}}],["verifyzkp",{"2":{"125":4}}],["verify",{"0":{"273":1,"415":1},"2":{"125":4,"129":4,"134":1,"147":2,"149":6,"152":4,"153":3,"157":1,"159":2,"180":2,"194":2,"197":1,"270":1,"274":1,"320":1,"322":1,"413":5,"415":2,"416":1,"417":1,"418":1,"423":1,"426":1,"427":1,"429":1,"430":1,"433":1,"434":2,"510":1,"530":1,"534":1,"596":1,"622":1,"662":1}}],["verifyattestation",{"2":{"104":1,"125":2,"127":1}}],["verified",{"2":{"413":1,"414":1,"415":1,"423":1}}],["verifier",{"2":{"128":1,"129":1,"139":1}}],["verifies",{"2":{"115":2,"127":2,"129":3,"231":2}}],["verification",{"0":{"166":1},"2":{"42":1,"129":1,"153":1,"403":1,"622":1}}],["versatility",{"2":{"102":1}}],["versed",{"2":{"83":1}}],["versioned",{"2":{"709":1}}],["versiongo",{"2":{"320":1,"662":1}}],["versioncelestia",{"2":{"322":1,"596":1}}],["versioncd",{"2":{"191":1}}],["versioncurl",{"2":{"95":1}}],["versionver=",{"2":{"94":1}}],["versions",{"2":{"49":1,"675":1,"733":1,"734":2}}],["version",{"0":{"191":1,"344":1,"460":1,"474":1,"658":1,"707":1,"721":1},"2":{"17":2,"94":1,"95":3,"98":1,"103":1,"108":2,"124":1,"146":2,"149":7,"150":7,"169":1,"187":1,"191":2,"201":1,"204":1,"269":1,"270":1,"276":12,"283":1,"295":1,"320":4,"322":8,"332":1,"333":8,"340":2,"344":1,"354":3,"364":1,"367":2,"380":1,"387":1,"391":1,"402":2,"432":1,"557":6,"580":1,"596":7,"598":1,"662":4}}],["vpn",{"2":{"42":1}}],["vms",{"2":{"181":1}}],["vm",{"2":{"31":1,"180":1,"181":4,"242":4,"244":4}}],["visualize",{"2":{"572":1}}],["visualizer",{"2":{"572":1}}],["visualization",{"0":{"572":1}}],["vistara",{"2":{"396":1}}],["vision",{"2":{"452":1}}],["visited",{"2":{"298":2}}],["visit",{"2":{"174":1,"175":1,"305":1,"370":2,"651":1}}],["visibility",{"2":{"63":1}}],["visible",{"2":{"7":1}}],["vite",{"2":{"238":1,"247":4,"248":2,"250":4}}],["vitepress",{"2":{"1":1}}],["virtual",{"2":{"170":1}}],["virtually",{"2":{"83":1}}],["vibrant",{"2":{"73":1}}],["video",{"0":{"657":1},"1":{"658":1},"2":{"58":1,"64":1,"78":1,"79":1}}],["videos",{"2":{"55":1,"64":1}}],["violate",{"2":{"45":1}}],["violating",{"2":{"14":1,"15":1}}],["violation",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"42":1}}],["viewed",{"2":{"587":1}}],["viewing",{"0":{"359":1},"2":{"563":1}}],["viewstate",{"2":{"250":6}}],["view",{"0":{"219":1,"357":1,"374":1},"2":{"45":2,"119":1,"160":2,"204":1,"226":1,"235":1,"242":5,"250":15,"302":1,"307":1,"345":2,"357":1,"359":1,"374":1,"483":1,"557":1,"564":1,"581":1}}],["viewpoints",{"2":{"8":1}}],["via",{"0":{"139":1,"140":1,"410":1},"2":{"10":1,"63":2,"98":1,"131":1,"132":1,"134":1,"137":1,"146":1,"149":1,"150":1,"212":1,"215":4,"216":1,"258":1,"272":1,"278":1,"279":1,"393":1,"410":2,"435":1,"500":1,"510":1,"522":2,"528":1,"539":1,"544":1,"563":1,"589":1,"734":1}}],["eofsudo",{"2":{"742":1,"744":1,"745":1,"746":1}}],["eof",{"2":{"742":3,"744":3,"745":3,"746":3}}],["egrep",{"2":{"623":6}}],["egg",{"2":{"194":2}}],["eye",{"2":{"573":1}}],["e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"2":{"340":8}}],["ephemeral",{"2":{"180":1}}],["era",{"2":{"452":1}}],["erasure",{"2":{"154":1,"286":1,"417":1,"418":3,"432":1,"435":1,"438":1,"547":2}}],["err",{"2":{"135":18,"137":12,"386":40,"410":50}}],["errors",{"2":{"272":1,"363":1,"370":2}}],["errorf",{"2":{"137":4}}],["error",{"2":{"133":10,"135":4,"137":4,"237":3,"350":3,"364":2,"365":1,"386":16,"410":2,"532":5,"593":3,"688":1}}],["eric",{"2":{"52":1}}],["equally",{"2":{"434":1}}],["equality",{"2":{"242":1}}],["equal",{"2":{"115":1,"231":1}}],["equipments",{"2":{"58":1}}],["equipment",{"2":{"54":2,"55":1,"58":2,"64":1}}],["equivalent",{"2":{"45":2}}],["eight",{"2":{"430":1}}],["eighteen",{"2":{"42":1}}],["eip",{"2":{"402":1}}],["either",{"2":{"83":1,"212":1,"215":1,"244":1,"248":1,"325":1,"328":1,"354":1,"368":1,"373":1,"402":1,"436":1,"447":1,"500":1,"503":1,"504":1,"505":1,"528":1,"534":1,"544":1,"572":3,"581":1,"653":1}}],["es",{"2":{"712":1,"713":1,"714":1}}],["especially",{"2":{"58":1,"68":1,"747":1}}],["essentially",{"2":{"587":1}}],["essential",{"2":{"58":1,"63":1,"65":1,"71":1,"92":2,"171":1,"319":5,"397":1,"451":1,"582":1,"591":1,"661":5}}],["estimates",{"2":{"404":1}}],["estimategas",{"2":{"404":2}}],["estimated",{"2":{"404":1,"410":2}}],["estimate",{"2":{"60":1,"197":2,"404":1,"405":1}}],["estimating",{"0":{"403":1,"405":1},"2":{"60":2,"404":1,"410":2}}],["established",{"2":{"276":1,"390":1}}],["establish",{"2":{"60":1,"269":1}}],["est",{"2":{"27":2,"28":4,"29":3,"31":3,"32":1,"33":3,"37":2}}],["efficiently",{"2":{"413":1}}],["efficient",{"2":{"180":1,"405":1,"434":1}}],["effect",{"2":{"428":1}}],["effectivegasprice",{"2":{"119":2,"235":2}}],["effectively",{"2":{"63":1,"75":1,"623":1}}],["effective",{"2":{"62":1,"66":1,"709":1}}],["effected",{"2":{"45":1}}],["efforts",{"2":{"45":2,"65":1}}],["eu",{"2":{"45":2}}],["etc",{"2":{"44":1,"54":2,"56":1,"66":1,"154":1,"247":1,"327":2,"477":1,"534":1,"536":1,"613":1,"716":1,"742":4,"744":4,"745":4,"746":4}}],["eth0",{"2":{"644":2}}],["eth",{"2":{"87":2,"228":1,"246":2,"252":2,"254":2,"356":1,"364":2,"452":1,"515":1}}],["ethers",{"2":{"248":2,"250":12}}],["etheruem",{"2":{"137":2}}],["ethereumclient",{"2":{"133":6,"135":4,"137":2}}],["ethereum",{"0":{"104":1,"141":1,"237":1,"363":1},"1":{"364":1,"365":1},"2":{"29":1,"57":1,"87":1,"102":6,"103":2,"104":6,"112":1,"119":1,"127":1,"131":2,"132":4,"133":12,"135":3,"137":2,"141":3,"158":3,"159":1,"163":1,"166":1,"167":2,"169":3,"170":1,"228":1,"234":1,"235":1,"237":6,"238":1,"250":8,"251":1,"254":1,"289":1,"290":3,"293":1,"295":3,"363":2,"364":6,"365":3,"402":1,"452":1,"483":1,"515":1,"534":1}}],["ethermintd",{"2":{"246":2,"252":2}}],["ethermint",{"0":{"246":1,"251":1,"252":1},"2":{"27":1,"239":1,"245":1,"246":4,"249":15,"250":4,"251":1,"252":7,"253":1}}],["ethnicity",{"2":{"7":1}}],["else",{"2":{"272":1,"298":2}}],["elastic",{"2":{"57":1}}],["eli",{"2":{"52":1}}],["eligibility",{"2":{"42":1,"44":1,"45":2}}],["eligible",{"2":{"41":1,"42":1}}],["electronic",{"2":{"45":1}}],["element",{"2":{"41":1}}],["earliest",{"2":{"501":1}}],["earlier",{"2":{"383":1}}],["early",{"2":{"194":2,"446":4,"447":2}}],["earn",{"2":{"41":1,"42":1,"441":1}}],["eager",{"2":{"66":1}}],["ease",{"0":{"179":1}}],["easiest",{"2":{"305":1,"651":2}}],["easier",{"2":{"66":1}}],["easily",{"2":{"33":1,"289":1,"294":1}}],["easy2stake",{"2":{"712":1,"713":1}}],["easy",{"2":{"65":1,"169":1,"179":1,"247":1,"295":1,"434":1,"452":1,"537":1}}],["each",{"2":{"48":1,"50":1,"60":1,"70":1,"83":1,"114":1,"126":1,"132":1,"134":1,"137":1,"153":2,"160":2,"206":1,"230":1,"272":2,"283":1,"391":1,"402":1,"403":3,"404":2,"405":2,"406":2,"427":1,"428":1,"434":1,"435":2,"436":1,"438":1,"439":1,"442":1,"461":2,"475":1,"592":1,"709":1,"710":1,"720":2,"731":2}}],["ecdsa",{"0":{"514":1},"2":{"500":1,"508":1,"513":5,"514":2,"528":1,"544":1}}],["ecfg",{"2":{"410":4}}],["echo",{"2":{"94":2,"119":1,"235":1,"252":2,"361":2,"613":10,"691":2}}],["eclipse",{"2":{"31":3,"40":1,"417":1}}],["ecosystem",{"2":{"8":1,"33":1,"52":1,"61":3,"66":1,"68":1,"71":1,"78":1,"79":1,"83":3,"102":2,"238":1,"293":3,"445":1,"446":2,"447":2,"572":1,"705":1}}],["economic",{"2":{"7":1}}],["evolution",{"2":{"432":1,"705":1}}],["evolves",{"2":{"293":1}}],["evolved",{"2":{"238":1}}],["evidence",{"2":{"283":1,"340":2}}],["evaluate",{"2":{"45":1,"56":1}}],["evan",{"2":{"28":2,"29":3,"52":1}}],["evmks",{"2":{"508":1}}],["evmkeystorepath",{"2":{"508":2}}],["evm+",{"2":{"102":1}}],["evm",{"0":{"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"528":1,"534":1,"535":1,"544":1,"637":1},"1":{"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"536":1,"537":1},"2":{"27":1,"159":4,"160":2,"163":1,"168":2,"170":2,"181":1,"183":1,"239":1,"240":2,"246":3,"363":1,"377":1,"393":1,"484":1,"487":1,"497":1,"500":6,"501":5,"502":1,"507":4,"508":23,"509":9,"510":10,"511":2,"512":10,"513":12,"514":3,"515":8,"516":1,"521":1,"522":2,"524":2,"527":4,"528":8,"530":18,"534":13,"535":4,"536":9,"538":1,"543":4,"544":6,"545":7,"569":6,"608":1,"635":2,"637":8,"677":3}}],["ever",{"2":{"45":1,"194":2}}],["everything",{"2":{"81":1,"125":2,"273":1,"536":1,"620":5}}],["everyone",{"2":{"7":1,"59":1,"70":2,"682":1,"684":1,"687":1,"689":1,"720":1}}],["every",{"2":{"2":1,"180":2,"190":1,"202":1,"206":1,"317":1,"427":3,"428":1,"430":3,"433":1,"435":5,"436":1,"442":1,"538":2,"572":4,"621":1,"682":1}}],["even",{"2":{"42":1,"45":1,"58":2,"364":1,"429":1,"433":1,"522":1,"534":1,"539":1,"654":1,"676":1,"747":1}}],["eventually",{"2":{"406":1,"436":1,"521":1}}],["event",{"2":{"10":1,"42":1,"54":5,"55":2,"56":3,"58":2,"59":2,"60":1,"61":5,"62":11,"63":9,"64":5,"70":2,"74":1,"104":1,"160":2,"237":2,"242":4,"271":4,"647":1}}],["events",{"0":{"34":1,"35":1,"36":1,"161":1},"2":{"5":2,"60":6,"70":1,"72":1,"74":1,"83":1,"160":1,"197":2,"242":4,"534":6,"647":2,"675":1}}],["e",{"2":{"10":1,"42":1,"44":1,"49":4,"56":1,"66":2,"126":1,"153":1,"159":1,"160":1,"222":4,"242":2,"250":8,"295":1,"327":1,"392":1,"406":1,"416":1,"427":3,"428":1,"429":4,"430":4,"432":2,"433":6,"435":4,"436":9,"535":1,"572":1,"590":1,"613":10,"644":2,"653":12,"655":12,"656":12,"694":1}}],["ed25519",{"2":{"283":1,"516":5,"517":4,"518":2,"519":1}}],["edt",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"34":1,"36":1,"37":1}}],["edited",{"2":{"534":1}}],["editing",{"2":{"273":1,"643":1}}],["edits",{"2":{"9":1}}],["edit",{"2":{"9":1,"206":1,"271":2,"277":1,"370":1,"512":1,"530":2,"534":2}}],["education",{"2":{"7":1,"68":1}}],["embedded",{"2":{"547":1}}],["embark",{"2":{"378":1}}],["emerged",{"2":{"395":1}}],["emit",{"2":{"242":4}}],["emily",{"2":{"25":3}}],["employ",{"2":{"413":1}}],["employees",{"2":{"65":1}}],["empty",{"2":{"149":1,"604":1}}],["emphasizing",{"2":{"58":1}}],["empowering",{"2":{"70":1}}],["empower",{"2":{"46":1,"68":1}}],["empathy",{"2":{"8":1}}],["emails",{"0":{"72":1},"2":{"72":2}}],["email",{"2":{"8":1,"54":1,"63":2,"65":2,"71":1,"72":1,"81":1}}],["encrypt",{"2":{"515":1,"560":2}}],["encrypting",{"2":{"514":1}}],["encryption",{"2":{"509":1}}],["encrypted",{"2":{"217":1,"500":1,"510":1,"528":1,"544":1,"560":5}}],["encounter",{"2":{"350":1,"593":1,"688":1,"706":1}}],["encouraging",{"2":{"68":1}}],["encouraged",{"2":{"324":1,"593":1,"720":1}}],["encourages",{"2":{"59":1,"62":1,"65":1}}],["encourage",{"2":{"55":1,"61":1,"62":1,"63":1}}],["encodetostring",{"2":{"386":2}}],["encode",{"2":{"148":1,"361":1,"386":3,"410":2,"427":1}}],["encoded",{"2":{"132":1,"134":1,"145":1,"146":1,"148":1,"154":1,"332":9,"333":2,"361":2,"364":1,"408":4,"409":4,"563":1}}],["encoding",{"2":{"132":1,"385":4,"410":6,"418":2,"427":2,"429":8,"432":1,"435":1}}],["encompasses",{"2":{"547":1}}],["encompass",{"2":{"65":1}}],["enough",{"2":{"143":1,"427":1}}],["enhancing",{"2":{"102":2}}],["enhanced",{"2":{"471":1}}],["enhances",{"2":{"59":1,"62":1}}],["enhance",{"2":{"56":1,"436":1}}],["enabling",{"2":{"102":2,"298":2,"434":1,"586":1,"734":1}}],["enabled",{"2":{"271":12,"279":1,"366":1,"571":1,"582":1,"591":1}}],["enable",{"0":{"616":1},"2":{"269":1,"289":1,"294":1,"298":2,"312":1,"366":1,"392":1,"426":1,"429":1,"432":1,"585":1,"586":2,"615":1,"742":3,"744":3,"745":3,"746":3}}],["enables",{"2":{"102":1,"104":1,"158":1,"180":1,"181":1,"237":1,"322":1,"426":1,"428":1,"432":2,"433":1,"434":1,"441":1,"585":1,"586":1,"596":1,"630":1,"638":1}}],["enablement",{"2":{"42":1}}],["env",{"2":{"93":2,"248":1,"250":4,"380":1,"381":1,"383":1,"386":11}}],["environments",{"2":{"102":1}}],["environment",{"0":{"248":1,"353":1,"660":1},"1":{"661":1,"662":1},"2":{"8":1,"41":1,"70":1,"108":2,"170":1,"173":1,"213":1,"223":2,"239":1,"245":1,"248":1,"296":1,"319":2,"355":1,"367":1,"372":1,"373":2,"379":1,"386":2,"433":1,"492":1,"503":1,"504":1,"505":1,"526":1,"542":1,"580":1,"586":1,"596":1,"629":1,"651":1,"660":2,"696":1,"705":1}}],["enjoyed",{"2":{"253":1}}],["enjoy",{"2":{"70":1,"83":1}}],["enjoyable",{"2":{"59":1}}],["enlightening",{"2":{"68":1}}],["entails",{"2":{"429":1,"433":4,"434":1}}],["entering",{"2":{"629":1}}],["enter",{"2":{"194":2,"218":1,"251":1,"263":1,"267":1,"509":1,"510":3,"530":1,"545":1,"560":2,"572":1}}],["entrypoint",{"0":{"249":1},"2":{"222":2,"223":2,"249":1}}],["entry",{"2":{"173":1}}],["enthusiastic",{"2":{"67":1}}],["enthusiasts",{"2":{"61":1,"68":1}}],["entire",{"2":{"53":1,"223":1,"364":1,"417":1,"426":1,"436":1,"609":1,"623":1}}],["entirely",{"2":{"45":1,"141":1}}],["entitle",{"2":{"467":1,"478":1,"728":1}}],["entitles",{"2":{"42":1}}],["entities",{"2":{"165":1,"423":1}}],["entity",{"2":{"42":5,"44":1,"45":2,"538":1,"586":1}}],["ensuring",{"2":{"63":1,"83":1,"165":1}}],["ensures",{"2":{"104":1,"237":1,"413":1,"417":1,"433":1,"647":1}}],["ensure",{"2":{"2":1,"55":1,"60":1,"61":1,"63":1,"64":2,"65":1,"104":1,"167":1,"237":1,"273":1,"350":1,"364":1,"389":2,"433":1,"609":2,"676":1,"689":1,"694":1,"706":1}}],["ens",{"2":{"49":1,"247":1}}],["endian",{"2":{"364":1}}],["ending",{"2":{"149":2,"433":1}}],["endkey",{"2":{"149":3}}],["endshare=1",{"2":{"146":1}}],["end=20",{"2":{"145":1}}],["endpointoptional",{"2":{"608":1}}],["endpointkeys",{"2":{"314":1}}],["endpoint",{"0":{"324":1,"587":1,"642":1},"1":{"643":1,"644":1,"645":1},"2":{"118":1,"143":1,"145":1,"146":1,"153":2,"233":1,"245":1,"250":4,"324":3,"332":1,"462":1,"465":1,"466":1,"475":1,"476":2,"477":1,"532":1,"547":1,"554":1,"572":4,"585":8,"586":4,"587":1,"622":1,"642":1,"644":1,"653":1,"671":2,"699":3,"710":1,"716":1,"722":1,"725":1,"726":1}}],["endpoints",{"0":{"462":1,"465":1,"466":1,"476":1,"477":1,"712":1,"713":1,"714":1,"716":1,"722":1,"725":1,"726":1,"727":1},"1":{"463":1,"464":1,"723":1,"724":1},"2":{"44":1,"171":1,"204":1,"285":1,"312":1,"317":1,"323":1,"380":3,"462":1,"464":1,"465":2,"476":6,"477":3,"591":1,"622":2,"632":1,"716":3,"722":1,"724":1,"725":2,"727":1,"738":1}}],["end",{"2":{"49":1,"62":1,"132":2,"145":1,"146":5,"149":3,"177":1,"197":2,"198":2,"271":4,"430":1,"435":1}}],["engine",{"2":{"652":1,"654":1}}],["engineer",{"2":{"52":1}}],["engineering",{"2":{"46":1,"52":1}}],["engaging",{"2":{"59":1,"61":1,"65":1,"73":1,"81":1,"83":1}}],["engaged",{"2":{"60":1}}],["engagement",{"2":{"56":1,"61":1}}],["engage",{"2":{"45":1,"62":1,"63":1,"64":1,"68":1,"397":1}}],["enforced",{"2":{"402":1,"521":1,"659":1}}],["enforce",{"2":{"70":1}}],["enforcement",{"0":{"9":1,"11":1,"12":1},"1":{"13":1,"14":1,"15":1,"16":1},"2":{"11":1,"17":1}}],["enforcing",{"2":{"9":1,"14":1,"15":1}}],["extra",{"0":{"640":1},"1":{"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1},"2":{"404":1}}],["extradata",{"2":{"360":2}}],["extends",{"2":{"435":1}}],["extendedheaders",{"2":{"694":1}}],["extended",{"0":{"429":1},"2":{"346":1,"427":4,"429":6,"435":4,"436":2,"438":1}}],["extension",{"0":{"261":1,"266":1},"2":{"197":4,"225":1,"298":2}}],["extent",{"2":{"45":1}}],["external",{"0":{"644":1},"2":{"14":1,"87":1,"102":1,"179":1,"254":1,"312":1,"572":4,"644":3}}],["exact",{"2":{"405":1,"442":1,"521":1,"709":1}}],["exactly",{"2":{"283":1,"572":2}}],["exampleadditional",{"2":{"314":1}}],["example",{"0":{"125":1,"346":1},"2":{"125":1,"145":2,"146":2,"148":1,"149":2,"150":1,"152":1,"153":3,"178":1,"197":1,"204":1,"211":1,"222":1,"223":1,"224":1,"241":1,"242":1,"253":1,"274":1,"297":1,"298":1,"299":1,"324":2,"327":1,"329":1,"331":2,"332":4,"333":3,"337":1,"340":1,"343":1,"346":1,"373":3,"391":1,"403":1,"430":2,"433":1,"436":1,"477":2,"496":1,"500":1,"512":1,"514":1,"515":1,"517":1,"528":1,"534":1,"544":1,"553":1,"554":1,"560":1,"562":2,"582":1,"585":1,"591":1,"592":1,"619":1,"629":1,"646":1,"647":1,"654":1,"655":1,"699":1,"745":1}}],["examples",{"0":{"335":1},"1":{"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1},"2":{"8":2,"10":1,"141":1,"334":1,"507":1,"583":1,"586":1}}],["exciting",{"2":{"677":1}}],["exceptions",{"0":{"288":1}}],["exceptional",{"2":{"61":1}}],["except",{"2":{"151":1,"747":1}}],["exclusively",{"2":{"471":1}}],["exclusive",{"2":{"71":1,"83":1}}],["exchange",{"2":{"45":3}}],["existent",{"2":{"134":1}}],["existing",{"0":{"223":1},"2":{"60":1,"65":1,"78":1,"79":1,"169":1,"181":2,"222":1,"223":2,"242":2,"274":1,"276":1,"277":1,"284":1,"290":1,"295":1,"322":1,"370":1,"406":1,"511":1,"513":1,"516":4,"519":3,"520":3,"530":2,"572":1,"580":1,"593":1,"595":1,"596":1,"677":1,"689":1,"734":1}}],["exist",{"2":{"45":1,"390":1,"391":1,"398":1,"399":1,"555":1,"672":1,"702":1}}],["exists",{"2":{"45":1,"275":1,"390":1}}],["exercises",{"2":{"133":1}}],["execstart=$",{"2":{"742":2,"744":2,"745":2,"746":2}}],["execstart=",{"2":{"536":2}}],["exec",{"2":{"108":4,"222":2,"223":2}}],["executable",{"2":{"435":4,"438":2}}],["executing",{"2":{"433":1,"647":1}}],["execution",{"2":{"25":1,"49":1,"102":1,"137":1,"161":2,"168":1,"169":1,"170":1,"178":2,"180":3,"181":3,"239":1,"288":1,"294":1,"295":1,"426":2,"432":1,"433":7,"434":1,"452":1,"517":1}}],["executed",{"2":{"433":1,"435":1}}],["execute",{"2":{"75":1,"81":1,"178":1,"180":1,"197":1,"294":1,"319":1,"392":1,"432":1,"592":1,"621":1,"661":1}}],["exemptions",{"2":{"45":1}}],["exemption",{"2":{"45":8}}],["expose",{"0":{"643":1},"2":{"494":1,"529":1}}],["exposes",{"2":{"465":1,"725":1}}],["exposed",{"2":{"133":1,"285":1,"310":1,"323":1,"554":1,"671":1,"699":2}}],["exporter",{"0":{"573":1},"2":{"573":1}}],["exported",{"2":{"560":2}}],["exporting",{"0":{"217":1,"560":1}}],["export",{"0":{"568":1},"2":{"86":3,"94":2,"95":2,"108":4,"118":2,"196":2,"202":2,"217":7,"222":1,"233":2,"234":2,"245":1,"246":4,"250":2,"252":2,"254":3,"298":10,"320":4,"329":2,"330":1,"331":2,"355":2,"361":3,"372":2,"381":1,"557":4,"560":3,"568":1,"572":1,"583":15,"662":4}}],["expenses",{"2":{"62":1}}],["experiment",{"2":{"678":1}}],["experimental",{"2":{"322":2,"390":1,"596":2,"706":1,"733":1}}],["experimentalsuggestchain",{"2":{"298":4}}],["experimentation",{"2":{"102":1,"181":1}}],["experimenting",{"2":{"182":1}}],["experiences",{"2":{"8":1,"25":1}}],["experience",{"2":{"7":2,"8":1,"45":1,"56":1,"59":1,"62":1,"70":1,"308":1,"378":1,"733":1}}],["experts",{"2":{"61":2,"83":1}}],["expertise",{"2":{"61":1,"66":1,"83":1}}],["expectrevert",{"2":{"242":2}}],["expects",{"2":{"216":1,"585":1,"659":1}}],["expect",{"2":{"72":1,"83":1,"131":1,"223":1}}],["expectations",{"2":{"60":1}}],["expected",{"2":{"54":1,"137":2,"198":1,"390":1,"391":2,"537":1}}],["expand",{"2":{"48":1,"64":1,"70":1}}],["expiration",{"2":{"45":1}}],["express",{"2":{"62":1}}],["expressed",{"2":{"45":1}}],["expression",{"2":{"7":1}}],["explained",{"2":{"488":1}}],["explains",{"2":{"269":1}}],["explaining",{"2":{"50":1}}],["explain",{"2":{"48":1,"238":1}}],["explanation",{"2":{"13":1,"416":1,"492":1,"503":1,"504":1,"505":1,"526":1,"542":1}}],["exploring",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"48":1,"176":1,"648":1}}],["explorers",{"0":{"469":1,"481":1,"717":1,"729":1},"2":{"281":1,"424":1,"481":1,"636":1,"717":2,"729":1}}],["explorer",{"0":{"175":1},"2":{"175":2,"226":1,"302":2,"380":2,"399":1,"469":2,"481":1,"629":1,"637":1,"717":2,"729":1}}],["explore",{"2":{"5":1,"58":1,"74":1,"75":1,"296":1,"359":1,"396":1}}],["explicit",{"2":{"8":1}}],["pfb",{"0":{"348":1,"403":1},"2":{"333":3,"388":1,"403":4,"439":1,"709":2}}],["pfbgolang",{"2":{"314":1}}],["pfbs",{"2":{"144":1,"240":1,"405":1}}],["pbcopy",{"2":{"252":1}}],["pbcopyprivate",{"2":{"252":1}}],["pnpm",{"2":{"248":1}}],["pwd",{"2":{"223":2}}],["psql",{"2":{"646":2}}],["ps",{"2":{"222":1,"223":1,"359":1}}],["psdocker",{"2":{"222":1,"223":1,"359":1}}],["p",{"2":{"222":2,"250":12,"361":2,"623":6}}],["p2p",{"0":{"494":1,"516":1,"517":1,"518":1,"519":1,"520":1,"529":1,"603":1,"613":1},"1":{"517":1,"518":1,"519":1,"520":1,"604":1,"605":1},"2":{"108":4,"133":1,"159":2,"216":9,"217":6,"218":6,"222":4,"223":3,"323":4,"324":8,"325":8,"327":2,"329":4,"331":4,"338":2,"373":5,"380":6,"432":1,"476":5,"477":2,"487":1,"489":1,"493":4,"494":1,"502":1,"507":4,"516":21,"517":11,"518":7,"519":6,"520":7,"522":5,"524":1,"527":2,"529":1,"530":15,"533":1,"535":1,"539":2,"543":2,"545":1,"553":4,"554":4,"555":4,"557":2,"582":2,"583":4,"585":2,"586":4,"589":4,"590":5,"591":2,"592":6,"593":4,"594":4,"595":4,"608":1,"613":1,"653":12,"655":12,"656":6,"670":4,"671":2,"672":4,"698":4,"699":6,"700":8,"702":4,"727":1,"745":2}}],["pkg",{"2":{"92":2,"319":4,"410":6,"661":4}}],["phase",{"2":{"607":1}}],["phone",{"2":{"225":1,"300":1}}],["photos",{"2":{"55":1,"56":1}}],["phrase",{"2":{"194":2,"272":1}}],["physical",{"2":{"8":1}}],["pinnacle",{"2":{"705":1}}],["pinning",{"2":{"391":1}}],["pin",{"2":{"391":1}}],["pink",{"2":{"154":1}}],["pick",{"0":{"368":1},"1":{"369":1,"370":1,"371":1},"2":{"108":2,"211":1,"216":1,"262":1,"300":1,"597":1,"613":1,"636":1}}],["picked",{"2":{"52":1}}],["pitches",{"2":{"62":1}}],["pitch",{"2":{"62":2}}],["pizza",{"2":{"59":1}}],["pieces",{"2":{"33":1}}],["plugin",{"2":{"574":1}}],["plus",{"2":{"385":1}}],["plain",{"2":{"332":1,"333":1,"398":1,"509":1,"530":2}}],["plaintext",{"2":{"332":1,"362":2,"365":2,"500":1,"513":1,"514":1,"528":1,"544":1}}],["play",{"2":{"454":1,"649":1,"692":1}}],["playbook",{"2":{"68":1}}],["playlist",{"2":{"64":1}}],["placeholder=",{"2":{"250":4}}],["place",{"2":{"62":1,"177":1,"194":2,"274":1,"380":1,"572":1}}],["plastic",{"2":{"59":1}}],["planned",{"2":{"60":1,"63":1}}],["planning",{"2":{"56":1,"66":1,"597":1,"677":1,"739":1}}],["plans",{"2":{"59":1}}],["plan",{"2":{"54":1,"59":1,"60":1,"63":1,"64":1,"65":1,"75":1,"81":1,"739":1}}],["platforms",{"2":{"49":1,"54":1,"63":1,"64":1,"238":2,"286":1}}],["platform",{"0":{"65":1},"2":{"33":1,"73":1,"98":3,"108":2,"170":1,"651":1,"705":1}}],["plethora",{"2":{"573":1}}],["pledge",{"0":{"7":1},"2":{"7":2,"45":1}}],["please",{"2":{"2":1,"4":1,"41":3,"54":1,"71":2,"81":1,"131":1,"141":1,"216":1,"270":2,"272":1,"298":2,"509":2,"510":4,"512":4,"514":2,"515":4,"595":2,"600":1,"609":1,"639":1,"650":1,"651":1,"709":1,"731":1}}],["point",{"2":{"173":1,"194":2,"216":1,"383":1,"406":1,"433":2,"572":2}}],["pointer",{"2":{"104":1,"132":2,"134":1}}],["portid",{"2":{"276":4}}],["portions",{"2":{"416":1,"417":1,"418":1}}],["portion",{"2":{"154":1,"201":1,"205":1,"319":1,"428":1,"447":1,"453":1}}],["port",{"0":{"494":1,"529":1},"2":{"206":2,"245":3,"250":2,"251":1,"271":4,"276":8,"324":5,"373":1,"380":7,"462":1,"465":1,"466":1,"477":8,"494":1,"529":1,"553":5,"554":1,"572":3,"573":1,"582":2,"591":4,"671":1,"690":4,"691":3,"699":2,"716":18,"722":1,"725":1,"726":1}}],["ports",{"0":{"582":1,"591":1},"2":{"108":2,"212":2,"222":4,"223":4,"324":2,"373":2,"380":2,"476":3,"477":4,"524":1,"535":2,"553":2,"582":7,"589":2,"591":7,"624":2,"632":2,"653":2,"671":2,"692":2,"699":2,"716":2}}],["portal",{"2":{"86":8,"88":8,"89":1,"176":1,"236":1,"254":8,"255":8,"256":1,"291":1}}],["populating",{"2":{"644":1}}],["populate",{"2":{"522":6,"539":6}}],["populates",{"2":{"477":1,"716":1}}],["popularity",{"2":{"60":1}}],["popular",{"2":{"49":1,"60":1,"63":1,"225":1,"297":1,"300":1}}],["popup",{"2":{"263":1}}],["pops",{"2":{"108":4,"204":2,"206":2,"222":2,"223":2,"226":2,"271":2,"324":2,"554":2,"562":4,"592":2,"699":2,"700":2,"713":1,"714":1,"716":1,"723":1,"725":1,"726":1}}],["poolcelestia",{"2":{"564":1}}],["pool",{"0":{"445":1,"564":1},"2":{"60":1,"445":2,"454":1,"564":9}}],["potentially",{"2":{"60":1,"64":1,"286":1,"403":1,"404":1,"521":1}}],["potential",{"2":{"54":1,"60":1,"61":2,"62":2,"73":1,"167":1}}],["polaris",{"2":{"393":1}}],["polypore",{"2":{"271":6}}],["polyfills",{"2":{"249":2}}],["polychain",{"2":{"52":1}}],["policies",{"2":{"42":1,"44":1}}],["policy",{"2":{"41":2,"44":3,"271":4,"277":4}}],["political",{"2":{"8":1}}],["powerful",{"2":{"570":1}}],["powered",{"2":{"293":1}}],["power",{"2":{"25":1,"160":1,"161":1,"340":4,"378":1,"435":1,"534":1}}],["pos",{"0":{"431":1},"1":{"432":1},"2":{"432":2}}],["possibly",{"2":{"749":1}}],["possible",{"2":{"63":1,"137":2,"180":1,"283":1,"350":1,"389":1,"391":1,"427":1,"429":1,"436":1,"595":1}}],["possibilities",{"2":{"257":1,"294":1,"296":1,"433":1}}],["position",{"2":{"45":3}}],["positiveerror",{"2":{"593":1}}],["positives",{"2":{"436":1}}],["positive",{"2":{"8":1,"70":1,"293":1,"436":1,"593":3}}],["postgresql",{"2":{"646":1}}],["postdataandgetheight",{"2":{"386":5,"387":2}}],["poster",{"2":{"304":1}}],["posted",{"2":{"29":1,"87":1,"104":1,"125":1,"129":1,"131":1,"132":2,"133":1,"137":3,"141":1,"147":4,"169":1,"254":1,"295":1,"316":1}}],["postcontainerstyle",{"2":{"250":4}}],["postcontent",{"2":{"250":4}}],["postcreated",{"2":{"242":4}}],["postupdated",{"2":{"242":4}}],["postid",{"2":{"242":20}}],["posting",{"0":{"141":1},"2":{"10":1,"104":2,"109":1,"131":1,"135":1,"169":3,"237":2,"295":3,"365":1,"649":1}}],["post",{"0":{"348":1},"2":{"58":1,"61":1,"63":1,"89":1,"131":1,"135":2,"159":1,"240":1,"242":72,"245":2,"246":3,"250":28,"253":1,"256":1,"348":1,"370":1,"387":1,"487":1,"488":1}}],["posts",{"0":{"250":1},"2":{"54":1,"56":1,"169":1,"242":24,"250":25,"290":1,"295":1,"392":1}}],["pessimistic",{"2":{"392":1}}],["peerexchange",{"2":{"605":1}}],["peers=$",{"2":{"613":6}}],["peers",{"0":{"605":1},"2":{"530":2,"604":2,"607":3,"613":33,"622":1,"644":1,"690":3,"727":1}}],["peer",{"0":{"691":1},"2":{"391":6,"489":1,"530":2,"607":3,"639":1,"691":3,"747":1}}],["peerid",{"2":{"338":1}}],["penalized",{"2":{"165":1}}],["percentage",{"2":{"441":1,"564":1}}],["persist",{"2":{"654":1}}],["persisted",{"2":{"647":1,"659":1}}],["persistent",{"0":{"654":1,"691":1},"1":{"655":1,"656":1},"2":{"613":9,"656":1,"690":5,"691":1}}],["perspective",{"2":{"436":1,"547":1}}],["persons",{"2":{"45":1}}],["person",{"2":{"42":3,"45":7,"64":2,"83":1}}],["personal",{"2":{"5":1,"7":1,"8":1,"61":1,"62":1,"102":1}}],["perfect",{"2":{"58":1}}],["perform",{"2":{"137":2,"245":1,"246":1,"390":1,"433":2,"436":1,"693":1,"694":1}}],["performing",{"2":{"119":1,"171":1,"235":1,"428":1,"436":2}}],["performs",{"2":{"115":1,"231":1,"327":1,"435":1}}],["performance",{"2":{"44":1,"56":1,"181":1,"322":1,"466":1,"471":1,"570":1,"596":1,"706":1,"726":1,"733":1}}],["performed",{"2":{"44":1,"273":2,"287":1,"428":1,"696":1}}],["per",{"2":{"50":1,"61":1,"403":2,"404":2,"405":1,"410":2,"439":1,"442":1,"449":1,"479":2,"728":2}}],["pertain",{"2":{"45":1}}],["permit",{"2":{"45":1}}],["permissionless",{"2":{"426":1,"433":1,"453":1}}],["permissioned",{"2":{"166":1}}],["permissions",{"2":{"108":1,"310":1,"654":1,"659":2}}],["permission",{"2":{"8":1}}],["permanently",{"2":{"42":1,"389":1}}],["permanent",{"0":{"16":1},"2":{"14":1,"15":1,"16":1,"510":2}}],["periods",{"2":{"364":1}}],["period",{"2":{"14":1,"15":2,"45":5,"108":2,"276":2,"373":2}}],["people",{"2":{"8":1,"14":1,"15":1,"58":1,"60":1,"65":1,"66":1}}],["paired",{"2":{"572":1}}],["paid",{"2":{"50":1,"391":1}}],["padded",{"2":{"435":1}}],["padding",{"2":{"250":6}}],["package",{"0":{"410":1},"2":{"385":1,"410":2,"558":1,"572":1,"613":1}}],["packages",{"2":{"319":1,"661":1,"736":1}}],["packaged",{"2":{"33":1}}],["packet",{"2":{"271":8,"277":4}}],["packets",{"2":{"269":3,"270":1,"271":2}}],["pagination",{"2":{"200":4}}],["page",{"2":{"100":1,"105":1,"177":1,"204":1,"212":1,"216":1,"222":2,"228":1,"238":1,"254":1,"261":1,"304":1,"306":1,"324":3,"325":1,"369":1,"380":2,"435":1,"459":2,"461":2,"483":1,"487":3,"491":1,"499":1,"525":1,"541":1,"553":3,"554":1,"572":2,"574":1,"580":1,"581":1,"589":1,"624":1,"632":3,"635":1,"651":2,"653":2,"660":1,"671":4,"677":1,"692":1,"696":1,"699":4,"720":2}}],["pages",{"2":{"84":1,"370":1}}],["paying",{"0":{"437":1,"451":1},"1":{"438":1,"439":1},"2":{"452":1}}],["payforblob",{"2":{"387":1,"554":1,"671":2,"700":1,"704":1}}],["payforblobs",{"0":{"438":1},"2":{"237":1,"325":1,"350":1,"370":1,"404":1,"408":2,"435":3,"436":1,"438":3,"451":1,"699":1}}],["payload",{"2":{"386":4}}],["pay",{"2":{"325":1,"386":2,"402":1,"404":1,"554":1,"671":1,"700":1}}],["payee",{"2":{"271":2}}],["payer",{"2":{"197":2}}],["payment",{"2":{"43":1,"283":1,"438":2}}],["parity",{"2":{"427":1,"429":1}}],["parenthash",{"2":{"360":2}}],["parse",{"2":{"346":1}}],["paradigm",{"2":{"433":2}}],["param",{"2":{"563":2}}],["paramfilter",{"2":{"563":1}}],["params=",{"2":{"298":6}}],["params",{"2":{"283":1,"298":30,"563":3,"607":1}}],["parameterchangeproposal",{"2":{"563":2}}],["parameters",{"0":{"226":1,"444":1,"708":1},"1":{"709":1},"2":{"147":4,"153":2,"224":1,"226":1,"297":1,"298":2,"299":1,"302":1,"327":1,"403":2,"404":1,"436":1,"444":2,"454":1,"530":1,"545":1,"563":1,"708":2}}],["parameter",{"2":{"129":1,"403":1,"404":1,"405":1,"563":3,"636":1,"709":2}}],["parallel",{"2":{"181":1,"508":1}}],["parts",{"2":{"340":4,"438":1,"454":1}}],["partnering",{"2":{"58":1,"62":1}}],["partner",{"2":{"52":3}}],["part",{"2":{"45":1,"71":1,"103":1,"146":1,"159":1,"179":1,"270":1,"364":1,"430":2,"433":1,"447":1,"451":1,"452":1,"530":2,"630":1,"708":1,"739":1}}],["partitioned",{"2":{"430":1,"435":1}}],["partitions",{"2":{"317":1,"430":1}}],["particular",{"2":{"386":1}}],["particularly",{"2":{"286":1,"413":1}}],["participant",{"2":{"72":1}}],["participants",{"2":{"42":1,"50":1,"64":1,"66":3,"70":1,"83":1,"687":1,"689":4,"690":2,"691":1}}],["participating",{"2":{"41":1,"42":1,"45":1,"66":1,"70":1,"83":1,"461":1,"475":1,"569":1,"684":1,"710":1,"720":1,"737":1}}],["participations",{"2":{"45":1}}],["participation",{"2":{"7":1,"41":2,"42":2,"43":4,"45":4,"56":1,"73":1}}],["participates",{"2":{"731":1}}],["participate",{"0":{"732":1},"1":{"733":1,"734":1,"735":1},"2":{"41":3,"42":5,"44":1,"45":2,"62":1,"71":1,"83":1,"392":1,"434":1,"461":1,"476":1,"626":1,"636":1,"682":1,"710":1,"720":1,"731":1,"734":2}}],["parties",{"2":{"44":1,"423":1}}],["party",{"2":{"42":10,"44":4,"159":1,"281":1,"423":1,"534":1,"623":1}}],["path",{"0":{"190":1},"2":{"108":4,"190":1,"215":2,"216":1,"250":2,"328":1,"364":2,"373":1,"508":2,"515":2,"536":2,"555":1,"563":4,"564":2,"601":1,"655":6,"656":4,"659":1,"672":1,"702":1}}],["path=",{"2":{"108":4,"509":4,"510":4,"511":4,"512":4,"514":4,"515":4,"517":4}}],["path=$path",{"2":{"94":2,"320":4,"662":4}}],["pattern",{"2":{"16":1}}],["paper",{"2":{"45":1,"427":1,"430":1,"436":1}}],["passphrases",{"2":{"512":1}}],["passphrase",{"2":{"500":1,"508":2,"509":3,"510":3,"512":9,"513":1,"514":5,"515":8,"516":1,"528":2,"530":5,"536":4,"544":2,"545":1,"560":2,"629":3}}],["passport",{"2":{"44":1}}],["passes",{"2":{"328":1,"435":1}}],["passed",{"2":{"115":2,"231":2,"386":1,"509":1,"510":1,"514":1,"545":1,"555":1,"557":2,"671":1,"672":1,"699":1,"702":1}}],["passing",{"2":{"298":1}}],["passionate",{"2":{"83":1}}],["password",{"2":{"194":2,"508":1,"560":3,"572":1}}],["pass",{"2":{"115":4,"129":1,"231":4,"298":2,"328":1,"509":1,"512":1,"563":1}}],["pasted",{"2":{"383":1}}],["paste",{"2":{"131":1,"380":1}}],["past",{"2":{"5":1,"51":1,"62":1,"197":1,"419":1,"420":3,"421":1,"423":1,"424":2,"619":1,"683":1}}],["put",{"2":{"438":1,"536":1}}],["pub",{"2":{"198":2,"199":2,"298":2,"340":4}}],["pubkey=$",{"2":{"569":2,"636":2}}],["pubkeyed25519",{"2":{"340":4}}],["pubkey",{"2":{"194":4,"195":8,"199":2,"223":4}}],["pubs",{"2":{"60":1}}],["publish",{"2":{"425":1,"438":1,"571":1}}],["publishes",{"2":{"294":1}}],["published",{"2":{"33":1,"128":1,"157":1,"159":2,"166":1,"178":1,"242":14,"250":4,"364":2,"389":2,"391":1,"395":1,"413":2}}],["publishing",{"2":{"8":1,"572":3}}],["publicprovider",{"2":{"249":4}}],["publicly",{"2":{"45":1,"83":1,"643":1}}],["public",{"0":{"324":1},"2":{"3":1,"8":1,"10":1,"13":1,"15":2,"16":1,"44":1,"45":4,"52":1,"61":1,"102":1,"111":1,"114":8,"115":9,"117":2,"125":6,"212":2,"230":8,"231":9,"242":26,"244":4,"249":2,"293":1,"304":1,"312":1,"314":1,"324":1,"380":1,"390":1,"391":2,"421":1,"446":1,"447":1,"467":1,"478":1,"636":1,"642":1,"643":1,"644":1,"687":1,"712":1,"713":1,"714":1,"716":1,"728":1}}],["pure",{"2":{"125":2}}],["purchasers",{"2":{"45":1}}],["purchased",{"2":{"8":1}}],["purposes",{"2":{"102":1,"111":1,"133":1,"324":1,"419":1,"659":1,"720":1}}],["purpose",{"2":{"45":1,"70":1,"169":1,"215":1,"295":1,"389":1,"423":1,"605":1}}],["pursuant",{"2":{"41":1,"42":2,"45":3}}],["pursue",{"2":{"19":1,"48":1}}],["pulled",{"2":{"387":1}}],["pull",{"2":{"2":2,"215":1,"593":1,"689":1,"731":1}}],["pushes",{"2":{"522":1}}],["push",{"2":{"2":2,"125":2,"271":4}}],["prune",{"2":{"390":1,"620":2}}],["pruned",{"0":{"533":1},"2":{"390":4,"533":1,"749":1}}],["pruning",{"0":{"389":1,"390":1,"614":1},"1":{"390":1,"391":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1},"2":{"389":1,"390":1,"477":1,"608":1,"609":2,"619":2,"620":1,"716":1}}],["pragma",{"2":{"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2}}],["practices",{"0":{"391":1},"2":{"42":1,"44":1,"78":1}}],["precise",{"2":{"709":1}}],["precedence",{"2":{"530":1,"545":1}}],["precompiles",{"2":{"181":1}}],["presence",{"2":{"747":1}}],["presenters",{"2":{"61":1}}],["presented",{"2":{"45":1}}],["presenting",{"2":{"61":1}}],["presentation",{"0":{"77":1,"78":1,"79":1,"80":1},"2":{"48":1,"54":1,"61":1,"62":1,"77":3,"78":3,"79":3,"80":2}}],["presentations",{"2":{"29":1,"50":2,"54":1,"55":1,"61":1,"78":1,"79":1,"83":1}}],["presently",{"2":{"45":1}}],["present",{"2":{"19":1,"23":1,"24":1,"29":1,"45":1,"48":2,"166":1,"589":1,"593":1}}],["preserved",{"2":{"593":1}}],["presumes",{"2":{"580":1}}],["presume",{"2":{"484":1}}],["predetermined",{"2":{"416":1}}],["preferences",{"2":{"581":1}}],["prefer",{"2":{"324":1,"380":1,"553":1}}],["preferred",{"0":{"259":1}}],["prefixed",{"2":{"332":1,"435":1,"510":1,"512":1}}],["prefix",{"2":{"226":1,"271":12,"302":1,"361":2,"364":4}}],["pre",{"0":{"240":1,"581":1,"600":1},"2":{"246":1,"579":1,"581":3}}],["prerequisites",{"0":{"112":1,"123":1,"143":1,"210":1,"221":1,"652":1},"2":{"213":1}}],["prerequisite",{"2":{"71":1,"213":1,"576":2}}],["preparing",{"2":{"55":1}}],["prepare",{"2":{"54":2,"63":1,"635":1}}],["previoushash",{"2":{"132":2,"135":2}}],["previous",{"2":{"56":1,"104":1,"115":1,"132":2,"197":1,"201":1,"205":1,"231":1,"266":1,"369":1,"419":1,"595":1,"627":1,"688":1,"739":1}}],["previously",{"2":{"42":1,"169":1,"212":1,"295":1,"535":1,"636":1}}],["prev",{"2":{"52":1}}],["prevents",{"2":{"293":1}}],["preventing",{"2":{"104":1,"237":1}}],["prevent",{"2":{"44":1,"205":1,"206":1,"280":1}}],["propagation",{"2":{"529":1}}],["proposal",{"2":{"445":1,"563":14,"564":5}}],["proposalscelestia",{"2":{"563":1}}],["proposals",{"2":{"258":1,"444":2,"454":1,"563":6,"564":3}}],["proposing",{"2":{"435":1}}],["propose",{"2":{"444":1}}],["proposer",{"2":{"169":1,"295":1,"340":8,"356":1,"563":4}}],["proposed",{"2":{"45":1,"293":1,"390":1,"414":1}}],["property",{"2":{"436":1,"449":1}}],["properties",{"2":{"180":1,"547":1}}],["properly",{"2":{"243":1,"607":1}}],["probabilistically",{"2":{"436":1}}],["probability",{"2":{"427":1}}],["probably",{"2":{"178":1,"530":1}}],["problem",{"0":{"414":1,"420":1},"2":{"414":2,"423":2,"426":1,"433":1,"434":1,"533":1}}],["problematic",{"2":{"413":1}}],["problems",{"2":{"52":1,"420":1,"422":1}}],["proceed",{"2":{"213":1,"534":1,"649":1,"687":1,"739":1}}],["proceeding",{"2":{"137":1,"270":1}}],["procedure",{"2":{"171":1,"326":1}}],["processed",{"2":{"395":1,"747":1}}],["processes",{"2":{"42":1,"269":1,"386":2,"424":1,"547":1,"740":1,"742":1,"748":1}}],["processing",{"2":{"181":1}}],["process",{"0":{"675":1,"676":1,"740":1},"1":{"676":1,"677":2,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"42":1,"54":1,"65":1,"104":1,"134":1,"137":3,"169":1,"213":1,"295":1,"378":1,"395":1,"418":1,"433":1,"535":1,"547":3,"556":1,"587":1,"592":1,"624":1,"634":1,"673":1,"675":1,"676":1,"703":1,"708":1,"741":1,"746":1}}],["producers",{"2":{"429":2,"436":1}}],["producer",{"2":{"414":2,"435":4}}],["produceblock",{"2":{"135":2}}],["producing",{"2":{"133":2,"574":1,"731":1}}],["production",{"2":{"108":1,"179":1,"547":1,"705":1,"733":1}}],["products",{"2":{"42":2,"472":1}}],["product",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"30":1,"48":3,"403":1,"404":2}}],["profileecho",{"2":{"320":1,"662":1}}],["profile",{"2":{"94":4,"320":3,"662":3}}],["professionals",{"2":{"64":1}}],["professional",{"2":{"8":1,"45":1,"391":2}}],["prospectus",{"2":{"45":1}}],["proofs",{"0":{"129":1,"142":1,"144":1,"147":1,"429":1},"1":{"143":1,"144":1,"145":2,"146":2,"147":1,"148":2,"149":2,"150":2,"151":2,"152":2,"153":2,"154":1,"155":1,"156":1,"157":1},"2":{"128":1,"129":2,"134":1,"143":1,"144":1,"146":9,"147":4,"149":3,"152":3,"157":1,"162":1,"180":1,"269":1,"392":1,"417":1,"418":1,"427":1,"429":2,"430":1,"433":1,"436":1,"664":2}}],["proof",{"0":{"128":1,"145":1,"146":1,"441":1,"453":1},"2":{"44":1,"125":10,"126":2,"127":1,"128":1,"129":5,"134":5,"137":2,"139":1,"145":8,"146":10,"147":10,"148":1,"149":2,"151":2,"152":4,"153":7,"157":2,"165":1,"180":3,"258":1,"397":1,"418":2,"427":1,"430":1,"436":1,"441":3,"453":2,"547":1}}],["protected",{"2":{"528":1,"544":1}}],["protection",{"2":{"310":1}}],["protect",{"2":{"42":1,"310":1}}],["proto",{"2":{"93":2,"362":7,"365":5,"410":2}}],["protocols",{"2":{"48":1,"49":1}}],["protocol",{"2":{"25":3,"40":1,"41":2,"49":1,"61":1,"102":1,"133":1,"250":2,"269":1,"402":1,"441":1,"446":1,"521":1,"582":1,"586":1,"591":1}}],["prototype",{"0":{"24":1,"30":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"24":1,"29":1,"48":5}}],["prohibited",{"2":{"42":1}}],["prompted",{"2":{"509":1,"510":2,"530":1,"545":1,"560":2,"636":1}}],["prompts",{"2":{"514":1}}],["promptstring",{"2":{"387":4}}],["promptscavenger",{"2":{"384":6}}],["prompt",{"0":{"378":1,"383":1},"1":{"379":1,"380":1,"381":1,"382":1,"383":1,"384":2,"385":2,"386":2,"387":2,"388":1},"2":{"313":1,"378":1,"386":1,"387":13}}],["promptly",{"2":{"11":1}}],["prometheuslistenaddr",{"2":{"571":2}}],["prometheus",{"2":{"270":1,"571":9,"572":17,"573":1,"587":1}}],["promise",{"2":{"250":2}}],["promised",{"2":{"42":1}}],["prominent",{"2":{"83":1}}],["promote",{"2":{"60":1,"63":2,"64":3,"83":1,"181":1}}],["promotions",{"2":{"55":1}}],["promotional",{"2":{"54":1,"55":1}}],["programs",{"2":{"446":1}}],["programmatic",{"2":{"309":1}}],["programmatically",{"0":{"405":1},"2":{"141":1,"410":2}}],["programming",{"2":{"114":1,"157":1,"230":1}}],["program",{"0":{"67":1,"68":1},"1":{"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"41":11,"42":9,"43":2,"44":4,"45":10,"46":3,"48":1,"49":1,"51":1,"57":1,"60":1,"61":1,"68":1,"71":2,"72":1,"74":1,"80":3,"83":3}}],["proxy",{"2":{"39":1}}],["projector",{"2":{"58":1}}],["projectors",{"2":{"54":1,"58":1}}],["projects",{"2":{"33":1,"62":1,"247":1,"257":1,"308":1}}],["project",{"0":{"38":1,"49":1,"241":1},"1":{"39":1,"40":1,"242":1,"243":1,"244":1,"245":1},"2":{"29":1,"37":1,"46":1,"48":1,"49":1,"51":1,"113":7,"114":2,"229":7,"230":2,"241":1,"247":5,"248":7,"564":2}}],["provably",{"2":{"389":1}}],["proved",{"2":{"134":1}}],["prove",{"2":{"128":1,"132":3,"135":1,"137":1,"144":1,"145":1,"146":2,"147":2,"150":1,"151":1,"152":1,"157":1,"178":1,"430":1,"435":1}}],["proveshares",{"2":{"146":1}}],["proves",{"2":{"29":1,"149":2}}],["proving",{"0":{"139":1},"2":{"131":1,"146":1,"413":1}}],["provisions",{"2":{"45":2,"442":1}}],["provider",{"0":{"283":1,"371":1},"1":{"284":1,"285":1,"286":1,"287":1,"288":1},"2":{"42":1,"58":1,"249":4,"250":8,"371":1,"623":1}}],["providers",{"0":{"281":1},"1":{"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1},"2":{"42":1,"58":1,"179":1,"249":3,"250":4,"281":1,"312":1,"391":2}}],["provided",{"2":{"41":1,"43":1,"44":1,"45":2,"57":1,"61":1,"68":1,"111":1,"214":1,"283":1,"386":3,"430":3,"493":1,"497":2,"500":1,"501":1,"510":1,"512":1,"517":2,"522":2,"527":2,"528":1,"530":4,"543":1,"544":1,"604":1,"607":1,"622":2,"676":1}}],["provides",{"2":{"41":1,"65":1,"129":1,"170":1,"308":1,"310":1,"391":1,"394":1,"426":1,"430":1,"432":1,"433":1,"434":1,"570":1,"709":1}}],["provide",{"0":{"425":1},"2":{"29":1,"41":2,"42":1,"43":1,"44":1,"51":1,"52":1,"55":1,"59":1,"64":1,"65":1,"102":1,"103":1,"145":1,"146":1,"184":1,"197":1,"242":1,"332":1,"373":1,"391":1,"418":1,"423":2,"424":2,"426":1,"430":2,"477":2,"501":1,"509":2,"510":2,"512":4,"514":2,"515":4,"517":1,"528":1,"534":1,"539":1,"544":1,"570":1,"604":1,"636":1,"688":1,"716":2,"718":1,"731":1,"738":1}}],["providing",{"0":{"432":1},"2":{"13":1,"59":1,"68":1,"73":1,"104":1,"168":1,"181":1,"310":1,"471":1,"510":1}}],["pride",{"2":{"723":1,"725":1,"726":1}}],["primitive",{"2":{"415":1,"434":1}}],["primitives",{"2":{"413":1}}],["primarily",{"2":{"308":1}}],["primary",{"2":{"73":1,"104":1,"395":1}}],["principle",{"2":{"293":1}}],["printed",{"2":{"509":1}}],["println",{"2":{"386":2,"410":6}}],["prints",{"2":{"386":2}}],["printf",{"2":{"95":4,"386":6}}],["print",{"2":{"54":1,"486":2,"557":2}}],["priced",{"2":{"401":1}}],["price",{"2":{"271":8,"364":1,"402":4,"404":3,"410":2,"439":1}}],["prices",{"2":{"8":1,"102":1,"401":1}}],["pricing",{"2":{"167":1}}],["prioritised",{"2":{"439":2}}],["prioritized",{"2":{"401":2}}],["priority",{"2":{"340":4}}],["prior",{"2":{"45":3,"54":1,"63":1,"576":2,"675":1,"676":1}}],["privacy",{"0":{"44":1},"2":{"11":1,"41":2,"42":1,"44":3,"83":1,"102":1}}],["privatecelestia",{"2":{"331":1}}],["private",{"0":{"331":1,"535":1},"1":{"536":1,"537":1},"2":{"8":2,"13":1,"15":1,"58":1,"86":5,"87":5,"111":1,"117":2,"118":7,"119":4,"125":4,"181":1,"192":1,"197":6,"217":1,"233":5,"234":7,"235":4,"242":6,"245":6,"246":6,"252":2,"254":10,"331":7,"493":1,"500":3,"502":1,"509":1,"510":7,"512":2,"513":5,"514":1,"515":2,"516":5,"517":4,"518":3,"519":7,"520":1,"521":1,"522":2,"524":1,"527":6,"528":4,"530":4,"534":3,"535":1,"536":1,"543":6,"544":3,"557":2,"560":4,"576":2,"595":4,"635":1}}],["pr",{"2":{"2":1}}],["ntfs",{"2":{"659":1}}],["nw",{"2":{"577":1}}],["n11",{"2":{"430":2}}],["n12",{"2":{"430":2}}],["n14",{"2":{"430":1}}],["n7",{"2":{"430":1}}],["n8",{"2":{"430":1}}],["n2",{"2":{"428":1,"429":1,"430":1}}],["ns",{"2":{"410":6}}],["nsoy0rgl7hqt4vwlg441gqkjsz2fbunzxipgns8ov",{"2":{"223":2}}],["n",{"2":{"197":2,"386":2,"420":1,"428":1,"429":2,"568":2,"582":1,"591":1,"613":10,"636":2}}],["nmts",{"0":{"430":1},"2":{"317":1,"426":2,"430":2,"435":1}}],["nmt",{"2":{"146":2,"147":2,"385":2,"430":2}}],["nmbwwwhpiphwagai7maqm",{"2":{"145":2}}],["nyzlbfjjnskofrzur8xvjijla+wbptwm0kbyglilxlg=",{"2":{"145":2}}],["nvm",{"2":{"95":20}}],["ncdu",{"2":{"92":2,"319":4,"661":4}}],["nickname=1",{"2":{"517":4}}],["nickname",{"2":{"517":8,"518":3,"519":3,"530":4}}],["nice",{"2":{"58":1,"249":1}}],["nidstring",{"2":{"386":4}}],["nil",{"2":{"135":10,"137":6,"386":14,"410":16}}],["nitrogen",{"0":{"303":1,"304":1,"305":1},"1":{"304":1,"305":1,"306":2},"2":{"303":1,"304":2,"305":2,"306":4}}],["nitrovroom",{"2":{"109":1}}],["nitro",{"0":{"98":1,"104":1,"109":1},"1":{"99":1},"2":{"90":1,"97":4,"98":5,"99":1,"102":1,"104":2,"106":1,"108":5,"109":1,"111":1,"112":1,"117":2,"237":1,"303":1}}],["null",{"2":{"197":4,"198":2,"200":4,"250":4,"534":2,"629":2,"636":2,"646":1,"742":2,"744":2,"745":2,"746":2}}],["numia",{"2":{"712":1,"713":1,"714":1,"716":1}}],["numerous",{"2":{"414":1}}],["numerator",{"2":{"271":4}}],["num",{"2":{"271":4}}],["numleaves",{"2":{"103":2,"152":3}}],["number=26656",{"2":{"691":1}}],["number=26656ip",{"2":{"691":1}}],["numbers",{"0":{"460":1,"474":1,"707":1,"721":1},"2":{"613":1}}],["number++",{"2":{"114":2,"230":2}}],["number",{"2":{"54":1,"60":1,"87":1,"114":7,"115":9,"119":3,"152":2,"158":1,"180":1,"198":2,"199":2,"230":7,"231":9,"235":3,"254":1,"360":2,"403":3,"404":1,"406":1,"410":2,"417":1,"428":1,"434":2,"436":2,"571":4,"573":1,"676":2,"691":2}}],["nurturing",{"2":{"71":1}}],["nfx",{"2":{"52":1}}],["nfts",{"2":{"61":1}}],["nft",{"2":{"49":1,"257":1,"419":1}}],["npm",{"2":{"33":1,"95":2,"113":3,"229":3,"248":1}}],["necessitate",{"2":{"587":1}}],["necessity",{"2":{"586":1}}],["necessary",{"0":{"418":1},"2":{"44":1,"54":1,"58":3,"90":1,"147":4,"153":2,"166":1,"180":1,"271":1,"319":1,"386":1,"417":1,"432":1,"436":1,"530":2,"545":2,"636":2,"644":1,"661":1,"747":1}}],["netowrk",{"2":{"477":2}}],["netcelestia",{"2":{"324":1,"700":1}}],["net",{"2":{"194":2,"324":1,"700":1,"712":1,"713":1,"714":1,"716":1}}],["networkoptional",{"2":{"608":1}}],["network=$network",{"2":{"653":6,"655":6,"656":6}}],["network=arabica",{"2":{"653":1}}],["network=arabicaexport",{"2":{"653":1}}],["network=celestia",{"2":{"653":1}}],["network=celestiaexport",{"2":{"653":1}}],["network=custom",{"2":{"583":2}}],["network=",{"2":{"373":4,"380":2,"583":2}}],["network=mochaexport",{"2":{"653":1}}],["network=mocha",{"2":{"108":2,"222":2,"653":1}}],["networking",{"2":{"55":1,"59":1,"66":2}}],["networksstorage",{"2":{"608":1}}],["networks",{"0":{"583":1,"613":1,"732":1},"1":{"733":1,"734":1,"735":1},"2":{"46":1,"133":1,"238":1,"269":1,"274":1,"276":1,"426":1,"453":1,"461":1,"522":1,"569":1,"589":1,"590":1,"613":23,"622":1,"636":1,"639":1,"675":1,"691":1,"694":1,"701":1,"716":1,"720":1,"731":1,"739":1}}],["network",{"0":{"226":1,"262":1,"298":1,"331":1,"444":1,"470":1,"472":1,"473":1,"482":1,"569":1,"589":1,"641":1,"678":1,"692":1,"706":1,"708":1,"719":1,"730":1,"735":1},"1":{"474":1,"590":1,"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"709":1},"2":{"42":1,"51":2,"61":1,"62":1,"108":2,"133":1,"137":2,"147":2,"159":2,"163":1,"178":1,"180":1,"187":1,"192":1,"206":2,"207":1,"216":20,"217":12,"218":12,"222":3,"223":3,"224":2,"244":1,"249":4,"250":2,"251":3,"258":1,"262":1,"266":1,"281":1,"289":1,"294":1,"297":1,"298":3,"299":2,"312":1,"316":1,"320":1,"322":2,"323":4,"324":8,"325":13,"329":8,"331":8,"332":2,"355":1,"356":1,"358":1,"370":1,"372":1,"373":12,"380":7,"390":1,"391":3,"392":1,"397":3,"413":1,"422":1,"427":1,"428":1,"432":1,"433":3,"434":2,"436":4,"441":1,"444":1,"451":2,"453":2,"454":1,"461":1,"462":1,"470":1,"475":1,"477":1,"482":1,"487":2,"489":1,"517":1,"522":4,"524":2,"529":1,"530":1,"533":1,"534":2,"539":4,"545":1,"547":5,"553":4,"554":7,"555":4,"556":1,"569":1,"577":1,"578":1,"580":2,"583":8,"585":4,"586":8,"589":10,"590":6,"592":6,"593":8,"594":6,"595":10,"596":1,"604":1,"613":1,"622":1,"626":1,"630":2,"634":1,"636":1,"643":2,"653":7,"655":6,"662":1,"670":4,"671":5,"672":4,"675":4,"676":3,"677":1,"678":1,"684":1,"688":1,"693":1,"698":4,"699":9,"700":12,"702":4,"705":2,"706":2,"708":1,"710":1,"716":2,"719":1,"720":2,"722":1,"727":1,"730":1,"731":4,"733":2,"734":1,"735":1,"747":2}}],["nearby",{"2":{"63":1}}],["neatly",{"2":{"33":1}}],["negative",{"2":{"613":1}}],["negatives",{"2":{"436":1}}],["negatively",{"2":{"62":1}}],["negotiate",{"2":{"58":1}}],["nextheight",{"2":{"137":4}}],["next",{"0":{"100":1,"105":1,"120":1,"176":1,"192":1,"236":1,"257":1,"296":1,"388":1,"487":1,"597":1},"2":{"56":1,"87":2,"88":1,"100":1,"105":1,"113":1,"120":2,"129":1,"137":2,"145":1,"146":1,"162":1,"189":1,"200":6,"222":1,"229":1,"236":1,"242":1,"245":2,"247":1,"248":1,"249":1,"252":2,"254":3,"255":1,"325":1,"332":1,"340":2,"354":1,"380":2,"386":2,"388":1,"434":1,"435":2,"527":1,"543":1,"569":1,"572":1,"592":1,"685":1,"739":1}}],["neither",{"2":{"42":2,"432":1}}],["needing",{"2":{"197":1,"205":1,"206":1,"245":1,"391":1,"415":1,"426":1}}],["needs",{"2":{"62":1,"65":1,"66":1,"159":2,"180":1,"238":1,"378":1,"420":1,"430":1,"517":1,"527":1,"534":2,"538":2,"543":1}}],["needed",{"2":{"54":1,"55":1,"58":1,"61":1,"90":1,"132":1,"147":2,"151":1,"153":2,"319":1,"379":1,"382":1,"386":2,"403":1,"404":1,"417":1,"418":1,"419":1,"432":1,"517":1,"533":1,"572":1,"575":1,"602":1,"607":1,"677":2,"736":1,"745":1}}],["need",{"2":{"33":1,"45":1,"49":2,"65":1,"81":1,"87":2,"88":1,"98":2,"99":1,"108":1,"133":5,"134":1,"143":1,"145":2,"146":2,"147":1,"179":2,"180":1,"193":1,"202":1,"204":2,"207":1,"210":1,"215":1,"216":1,"222":1,"245":1,"246":2,"248":1,"250":4,"251":1,"252":2,"254":3,"255":1,"272":2,"276":1,"277":1,"298":2,"325":2,"326":1,"327":1,"328":1,"329":1,"331":1,"367":1,"370":1,"373":2,"383":1,"385":1,"386":3,"388":1,"391":1,"392":1,"418":1,"428":1,"429":1,"452":1,"477":1,"487":3,"492":1,"494":1,"500":1,"516":1,"524":2,"526":1,"527":1,"528":1,"529":1,"534":1,"538":1,"542":1,"543":1,"554":2,"572":4,"576":2,"582":2,"585":1,"586":1,"590":1,"591":2,"592":1,"604":1,"605":1,"615":1,"629":1,"632":1,"643":1,"644":1,"646":1,"654":2,"655":1,"671":2,"675":2,"677":3,"679":1,"680":1,"681":1,"685":1,"687":1,"688":1,"699":1,"700":1,"716":1,"734":1,"739":1}}],["newmetric",{"2":{"712":1,"713":1,"714":1,"716":1}}],["newkeystore",{"2":{"508":2}}],["newblob",{"2":{"410":2}}],["newcredentials",{"2":{"410":2}}],["newclient",{"2":{"386":4}}],["newint",{"2":{"387":2}}],["newly",{"2":{"277":1,"414":1,"517":1,"530":2}}],["newowner",{"2":{"242":4}}],["newer",{"2":{"238":1,"563":1}}],["newnumber",{"2":{"114":4,"230":4}}],["newsletters",{"2":{"56":1}}],["newspaper",{"2":{"45":1}}],["new",{"0":{"194":1,"276":1,"452":1,"569":1,"685":1,"688":1},"2":{"2":2,"33":1,"49":1,"60":1,"61":1,"65":3,"66":1,"86":1,"113":1,"114":1,"115":3,"132":1,"160":1,"161":1,"179":2,"180":2,"181":1,"192":1,"202":1,"226":1,"229":1,"230":1,"231":3,"238":1,"241":1,"242":7,"244":2,"246":2,"247":1,"248":1,"249":1,"250":8,"251":1,"253":1,"254":1,"261":1,"269":1,"274":3,"275":1,"276":3,"277":1,"293":1,"294":1,"302":3,"359":1,"370":1,"378":1,"384":1,"386":4,"389":1,"391":2,"406":1,"413":2,"414":1,"415":2,"421":1,"434":1,"487":2,"493":1,"497":1,"501":1,"506":2,"508":2,"509":4,"512":3,"515":4,"516":2,"517":5,"522":2,"527":1,"530":1,"534":3,"535":5,"539":1,"543":1,"559":2,"572":1,"592":1,"593":2,"604":1,"613":1,"645":1,"646":1,"647":1,"675":1,"676":2,"677":5,"678":2,"683":1,"685":1,"688":1,"689":1,"692":1,"694":1,"734":1,"737":1,"747":1}}],["navigate",{"2":{"261":1,"266":1}}],["name=$",{"2":{"623":6}}],["name=",{"2":{"576":2}}],["name=validator",{"2":{"569":2,"685":2}}],["name=validator1",{"2":{"569":2,"684":2}}],["namekey",{"2":{"569":1}}],["namevalidator",{"2":{"569":1}}],["namepace",{"2":{"410":2}}],["names",{"2":{"222":2,"223":2}}],["namespa",{"2":{"386":2}}],["namespaceid",{"2":{"386":10,"387":6}}],["namespace=000008e5f679bf7116cb",{"2":{"373":2}}],["namespaced",{"0":{"430":1},"2":{"317":1,"426":1,"430":1,"432":1,"435":3}}],["namespaces",{"0":{"317":1},"2":{"317":1,"390":1,"391":1,"430":3,"435":1}}],["namespacenode",{"2":{"147":2,"149":6,"151":1}}],["namespacemerklemultiproof",{"2":{"147":2,"149":4}}],["namespace",{"0":{"150":1},"2":{"108":5,"109":2,"132":8,"135":2,"146":6,"147":6,"149":23,"150":12,"314":1,"332":7,"333":12,"341":2,"346":3,"383":3,"385":2,"386":11,"387":3,"391":1,"408":2,"409":2,"410":4,"430":6,"435":5,"438":3,"571":4}}],["namespce",{"2":{"135":2}}],["named",{"2":{"114":1,"230":1,"242":1,"247":1,"248":1,"370":1,"580":1,"581":1}}],["name",{"2":{"39":1,"54":1,"98":2,"108":4,"180":1,"194":2,"195":4,"211":2,"216":7,"217":6,"218":6,"222":2,"223":2,"226":1,"242":18,"246":2,"247":2,"249":4,"251":1,"271":4,"302":1,"325":8,"517":1,"555":7,"559":8,"560":4,"569":8,"572":6,"583":2,"613":7,"623":6,"629":2,"636":2,"654":2,"672":7,"684":4,"685":4,"686":4,"688":3,"700":2,"702":7}}],["naming",{"2":{"2":1,"49":1,"65":3}}],["nader",{"2":{"21":2}}],["natural",{"2":{"423":1}}],["nature",{"2":{"13":1,"45":1,"167":1,"422":1,"426":1,"564":1}}],["native",{"2":{"258":1,"272":1,"279":1,"280":1,"302":1,"451":1,"457":1}}],["nativecurrency",{"2":{"249":2}}],["nationality",{"2":{"7":1}}],["natnet",{"2":{"81":1}}],["nat",{"2":{"54":1,"644":1}}],["novel",{"2":{"426":1}}],["november",{"0":{"27":1,"28":1,"29":1,"31":1},"2":{"26":1,"27":2,"28":4,"29":3,"31":2}}],["nova",{"2":{"102":1}}],["novi",{"2":{"52":1}}],["none",{"2":{"276":4,"493":1,"527":1,"543":1}}],["nonce",{"0":{"533":1},"2":{"125":4,"127":1,"147":4,"153":5,"237":1,"360":2,"361":2,"406":2,"410":2,"501":6,"539":1}}],["non",{"2":{"45":1,"134":1,"160":1,"197":2,"280":1,"444":1}}],["now",{"0":{"253":1},"2":{"45":1,"87":1,"89":1,"98":1,"109":1,"115":2,"118":2,"119":1,"169":1,"176":1,"192":2,"200":1,"222":1,"223":1,"226":1,"231":2,"233":2,"234":1,"235":1,"236":1,"239":1,"243":1,"244":2,"245":1,"246":2,"247":1,"248":1,"250":1,"252":4,"253":1,"254":2,"256":1,"271":1,"272":1,"276":1,"277":1,"295":1,"296":1,"301":1,"302":1,"323":1,"324":1,"340":1,"360":1,"361":2,"362":1,"373":1,"380":1,"381":1,"383":1,"386":2,"387":2,"422":1,"495":1,"501":2,"530":1,"534":2,"545":1,"572":1,"597":1,"613":1,"636":2,"637":1,"648":1,"653":1,"654":1,"656":1,"673":1,"689":1,"691":1,"692":1,"716":1,"745":1,"746":1}}],["nominee",{"2":{"45":1}}],["normal",{"2":{"137":3,"403":1,"413":1,"622":1}}],["normally",{"2":{"58":1}}],["nor",{"2":{"42":2,"45":1,"432":1}}],["no",{"0":{"34":1,"35":1,"36":1,"424":1},"2":{"14":1,"15":1,"41":1,"42":5,"45":8,"49":1,"58":1,"115":2,"118":2,"124":2,"151":1,"169":1,"179":1,"231":2,"234":2,"250":2,"312":1,"402":1,"413":1,"429":1,"436":1,"452":1,"457":1,"467":1,"477":1,"478":1,"510":3,"516":1,"530":1,"563":5,"574":1,"590":2,"607":1,"716":1,"728":1}}],["notify",{"2":{"694":1}}],["notice",{"2":{"147":4,"149":6,"150":2,"152":2,"153":4,"198":1,"199":1,"332":1,"432":1,"731":1}}],["notably",{"2":{"403":1}}],["notable",{"0":{"288":1},"2":{"417":1}}],["notfound",{"2":{"350":2}}],["nothing",{"2":{"45":1,"506":1,"619":3}}],["noted",{"2":{"288":1,"682":1}}],["note",{"0":{"644":1},"2":{"41":1,"71":1,"103":1,"108":2,"124":1,"131":1,"132":1,"133":3,"135":1,"137":2,"145":1,"146":2,"149":1,"157":1,"159":1,"186":1,"190":1,"197":1,"205":1,"210":1,"216":1,"238":1,"245":2,"246":2,"272":1,"298":1,"322":1,"324":1,"366":1,"378":1,"380":1,"403":2,"410":2,"430":1,"433":1,"435":2,"436":1,"479":1,"521":1,"530":4,"534":2,"545":2,"554":1,"563":1,"572":1,"576":2,"585":1,"589":2,"596":1,"619":1,"650":1,"671":1,"677":1,"688":1,"691":1,"709":1,"728":1,"739":1,"745":1}}],["notes",{"0":{"207":1,"283":1,"749":1},"1":{"284":1,"285":1,"286":1,"287":1,"288":1},"2":{"5":1,"72":1}}],["not",{"0":{"537":1},"2":{"8":1,"9":1,"41":6,"42":11,"43":3,"44":3,"45":24,"49":1,"58":1,"59":2,"83":1,"104":2,"108":1,"131":2,"134":1,"135":1,"149":1,"159":1,"160":1,"165":1,"190":1,"207":1,"210":1,"216":2,"222":1,"237":1,"238":1,"246":1,"272":1,"285":1,"286":1,"288":1,"294":1,"317":1,"320":1,"324":1,"325":1,"326":1,"329":3,"350":2,"364":1,"370":1,"373":1,"380":1,"389":1,"390":2,"391":2,"392":1,"402":3,"403":1,"404":1,"406":3,"410":2,"417":1,"418":1,"423":1,"429":2,"435":1,"436":2,"444":1,"464":1,"465":1,"467":1,"471":1,"477":2,"478":1,"501":1,"506":2,"509":1,"510":1,"512":1,"514":1,"516":1,"517":2,"521":2,"522":1,"524":1,"529":3,"530":10,"532":3,"533":2,"534":2,"538":1,"539":1,"553":1,"554":1,"563":1,"572":1,"583":1,"589":1,"590":1,"593":1,"607":2,"609":1,"613":1,"620":1,"630":2,"644":1,"647":2,"659":1,"662":1,"663":1,"671":1,"674":1,"675":1,"676":1,"677":1,"699":1,"716":2,"724":1,"725":1,"728":1,"731":1,"734":1,"747":3,"748":1,"749":1}}],["noderegister",{"2":{"608":1}}],["noderun",{"2":{"608":1}}],["noderpcip",{"2":{"386":4}}],["nodeoptional",{"2":{"608":2}}],["nodequerying",{"2":{"608":1}}],["nodebuilder",{"2":{"593":6}}],["nodeheader",{"2":{"385":2}}],["nodetype=",{"2":{"380":2}}],["nodeconnect",{"2":{"314":1}}],["nodeinstantiate",{"2":{"314":1}}],["nodeinstall",{"2":{"314":1}}],["node",{"0":{"78":1,"95":1,"108":1,"136":1,"140":1,"205":1,"213":1,"216":1,"217":1,"218":1,"222":1,"307":1,"314":1,"321":1,"322":1,"323":1,"330":1,"338":1,"370":1,"380":2,"381":1,"390":1,"408":1,"409":2,"410":1,"411":1,"546":1,"549":1,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"573":1,"584":1,"592":1,"596":1,"608":1,"610":1,"615":2,"624":1,"626":1,"630":1,"631":1,"632":1,"633":1,"634":1,"636":1,"645":1,"648":1,"654":1,"655":1,"656":1,"663":1,"666":1,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"691":1,"693":1,"696":1,"697":1,"698":1,"699":1,"702":1,"703":1,"727":1,"737":1,"740":1,"744":1,"745":1,"746":1},"1":{"137":1,"138":1,"139":1,"140":1,"141":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":2,"323":2,"324":2,"325":2,"326":1,"327":1,"328":1,"329":1,"330":1,"331":2,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"547":1,"548":1,"549":1,"550":2,"551":1,"552":2,"553":2,"554":2,"555":3,"556":2,"585":1,"586":1,"587":1,"597":1,"598":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":3,"617":3,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":2,"628":2,"629":2,"630":1,"631":2,"632":2,"633":2,"634":2,"635":2,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"649":1,"650":1,"655":1,"656":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":2,"670":3,"671":3,"672":2,"673":2,"674":2,"694":1,"695":1,"696":1,"697":2,"698":1,"699":2,"700":2,"701":2,"702":2,"703":2,"704":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"3":1,"66":1,"78":6,"95":2,"98":4,"99":2,"104":1,"107":1,"108":25,"109":4,"112":2,"133":13,"137":1,"140":1,"143":5,"144":1,"149":4,"169":2,"180":1,"189":3,"190":2,"201":1,"202":1,"204":3,"205":2,"206":3,"210":1,"212":1,"213":1,"214":2,"215":5,"216":14,"217":6,"218":6,"221":1,"222":15,"223":9,"228":2,"240":2,"247":1,"271":4,"285":2,"288":1,"295":2,"307":2,"308":1,"309":1,"310":1,"311":2,"314":1,"317":1,"318":1,"319":2,"320":2,"322":17,"323":4,"324":2,"325":9,"326":2,"327":7,"328":6,"329":6,"330":9,"331":7,"332":11,"333":11,"334":6,"336":4,"337":5,"338":4,"339":3,"340":4,"341":4,"342":2,"343":6,"344":5,"345":2,"346":4,"349":1,"354":3,"356":1,"364":2,"368":1,"370":7,"373":4,"378":2,"379":1,"380":10,"381":2,"383":6,"384":1,"385":4,"386":12,"390":1,"391":3,"392":1,"396":1,"402":3,"405":1,"409":1,"410":6,"411":1,"413":3,"416":2,"417":4,"419":1,"427":1,"428":2,"430":1,"436":8,"446":1,"460":1,"461":7,"462":1,"464":2,"465":1,"466":1,"475":3,"476":2,"477":7,"484":1,"487":1,"489":1,"494":1,"522":4,"524":1,"530":1,"533":1,"539":3,"545":1,"546":1,"547":4,"548":1,"552":3,"553":3,"554":8,"555":2,"556":2,"557":4,"562":12,"568":6,"571":1,"572":1,"573":1,"574":1,"576":4,"577":1,"580":1,"581":1,"582":5,"583":6,"584":4,"585":8,"586":4,"587":3,"589":5,"590":1,"591":5,"592":26,"593":6,"594":2,"595":6,"596":17,"597":6,"598":1,"600":1,"601":4,"602":1,"604":1,"607":7,"608":3,"609":5,"613":9,"615":3,"619":1,"621":1,"622":1,"623":2,"624":2,"627":2,"630":5,"631":1,"632":1,"634":2,"636":1,"639":2,"642":1,"644":1,"646":1,"649":3,"650":3,"651":7,"653":30,"654":5,"655":27,"656":30,"659":1,"661":1,"662":2,"663":3,"665":1,"668":1,"671":11,"672":2,"673":2,"674":2,"684":1,"688":1,"691":7,"692":2,"693":1,"695":1,"697":1,"698":2,"699":8,"700":9,"702":2,"703":1,"704":1,"706":1,"710":3,"711":2,"715":3,"716":5,"720":10,"722":1,"724":2,"725":1,"726":1,"727":4,"731":11,"736":1,"737":3,"738":2,"739":4,"741":1,"742":1,"744":2,"745":4,"746":6,"747":1}}],["nodestake",{"2":{"712":1,"713":1,"714":1,"717":1,"729":1}}],["nodesoptional",{"2":{"608":1}}],["nodesetup",{"2":{"608":1}}],["nodes",{"0":{"415":1,"463":1,"464":1,"477":1,"547":1,"640":1,"664":1,"694":1,"711":1,"715":1,"723":1,"724":1,"731":1,"741":1,"743":1},"1":{"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"712":1,"713":1,"714":1,"716":1,"742":1,"744":1,"745":1,"746":1},"2":{"3":2,"78":1,"128":1,"132":2,"133":1,"146":2,"149":6,"152":2,"180":2,"282":1,"308":1,"312":1,"319":1,"323":1,"389":1,"390":10,"391":12,"392":2,"406":1,"413":1,"414":1,"415":2,"416":2,"417":5,"418":5,"420":1,"425":1,"426":1,"427":6,"428":6,"429":3,"430":3,"432":1,"433":3,"434":2,"436":5,"461":1,"462":1,"476":3,"477":2,"546":1,"547":4,"572":2,"582":3,"587":1,"591":3,"594":1,"604":1,"605":1,"607":2,"608":1,"613":2,"626":1,"630":1,"642":1,"648":1,"660":1,"664":5,"676":1,"677":1,"690":2,"694":3,"710":1,"712":1,"713":1,"714":1,"716":4,"720":1,"722":1,"727":1,"734":1,"737":4,"738":1,"745":1}}],["ignore",{"2":{"430":1}}],["ignite",{"2":{"22":3}}],["ixg+08hv5rspf3lle8ph+b2tugsgusbiseflxh6wb5e=",{"2":{"332":2,"333":12,"334":2}}],["ibctransfer",{"2":{"283":1}}],["ibchost",{"2":{"283":1}}],["ibc",{"0":{"269":1},"1":{"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1},"2":{"269":3,"270":2,"271":4,"276":1,"279":4}}],["icon",{"2":{"226":1}}],["icons",{"2":{"76":1}}],["i++",{"2":{"135":2,"242":2}}],["illustrate",{"2":{"131":1}}],["illustrations",{"2":{"76":1}}],["i",{"2":{"109":1,"126":1,"135":6,"153":1,"159":1,"160":1,"177":2,"242":10,"295":1,"392":1,"406":1,"427":3,"428":1,"429":4,"430":3,"432":2,"433":6,"435":3,"436":8,"509":8,"510":12,"511":8,"512":12,"514":10,"515":12,"517":8,"522":4,"535":1,"539":4,"590":1,"613":10,"643":2,"644":2,"694":1}}],["idvalidator",{"2":{"684":1}}],["id=$",{"2":{"691":2}}],["id=testnet",{"2":{"569":2,"684":2}}],["id=",{"2":{"383":2,"576":2,"629":2,"636":2}}],["id=your",{"2":{"248":2}}],["ids",{"2":{"362":2,"583":1,"590":1}}],["idtopost",{"2":{"242":10}}],["idaoracle",{"2":{"125":6,"127":1,"129":1}}],["id",{"0":{"338":1,"590":1},"2":{"108":4,"132":1,"145":2,"146":4,"149":7,"150":7,"197":6,"204":3,"206":5,"216":1,"222":9,"223":10,"242":12,"248":1,"249":2,"250":8,"251":1,"271":4,"276":40,"302":1,"325":1,"333":1,"336":2,"337":2,"338":6,"339":2,"340":10,"359":6,"383":1,"386":9,"387":3,"435":1,"460":1,"479":1,"501":2,"554":1,"562":6,"563":14,"565":4,"566":8,"567":4,"569":8,"572":1,"576":20,"583":5,"590":2,"613":6,"629":1,"671":1,"677":1,"684":5,"688":4,"691":4,"699":1,"728":1}}],["identities",{"2":{"502":1}}],["identity",{"2":{"7":2,"42":1,"435":1,"438":1,"516":1}}],["identically",{"2":{"131":1}}],["identify",{"2":{"59":1,"66":1,"132":2,"430":1}}],["identifying",{"2":{"42":1,"56":1}}],["identification",{"2":{"44":2}}],["identifiers",{"2":{"430":1}}],["identifier",{"2":{"44":1,"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2,"364":3}}],["ideally",{"2":{"61":1}}],["ideal",{"2":{"58":1,"170":1}}],["ideas",{"0":{"49":1},"2":{"48":1,"49":1,"59":1}}],["idea",{"2":{"19":1,"23":1,"48":2,"49":1,"178":1}}],["ip=",{"2":{"380":2,"383":2,"745":2}}],["ip6",{"2":{"338":4}}],["ip4",{"2":{"338":8,"530":2,"583":4,"745":2}}],["ipfs",{"2":{"240":1,"242":2,"246":1,"248":3,"250":22}}],["ip",{"2":{"108":2,"222":2,"223":2,"251":1,"324":14,"325":6,"373":3,"380":7,"383":1,"386":3,"476":1,"477":6,"553":10,"554":6,"555":6,"583":2,"585":4,"586":4,"589":2,"592":2,"593":2,"632":2,"643":2,"653":6,"656":6,"671":2,"672":6,"690":4,"699":6,"700":6,"702":6,"716":4,"745":2,"746":2}}],["io",{"2":{"108":4,"149":2,"150":2,"222":2,"226":1,"250":6,"304":1,"359":1,"373":4,"385":2,"398":1,"577":1,"623":12,"653":6,"655":6,"656":6,"712":1,"713":1,"714":1,"717":3,"718":1,"723":1,"725":1,"726":1,"729":3}}],["iqlusion",{"2":{"52":1}}],["irrevocably",{"2":{"42":1}}],["ifconfig",{"2":{"691":2}}],["if",{"0":{"424":1,"535":1},"1":{"536":1,"537":1},"2":{"4":1,"41":1,"42":4,"44":1,"45":3,"54":2,"55":1,"58":3,"59":1,"60":2,"61":1,"62":2,"63":1,"64":2,"65":3,"66":3,"87":1,"88":1,"98":1,"99":1,"104":2,"108":1,"115":2,"132":1,"133":1,"134":1,"135":8,"137":10,"146":1,"147":4,"148":1,"149":3,"153":1,"159":1,"166":1,"177":1,"178":1,"180":2,"186":1,"191":1,"194":2,"197":2,"206":1,"212":2,"216":2,"231":2,"238":1,"250":2,"251":1,"252":1,"253":1,"254":1,"255":1,"273":1,"274":2,"275":1,"280":1,"295":1,"298":8,"302":1,"312":1,"317":2,"319":1,"320":1,"322":1,"324":2,"325":1,"326":1,"328":2,"329":2,"331":1,"332":2,"343":1,"348":1,"349":1,"350":1,"357":1,"358":1,"364":4,"369":1,"370":3,"371":1,"374":1,"377":1,"378":1,"380":2,"386":15,"402":1,"403":2,"405":1,"406":4,"410":26,"413":1,"415":1,"417":1,"418":1,"427":1,"429":2,"430":1,"436":3,"457":1,"464":1,"465":1,"471":1,"472":1,"483":1,"487":2,"492":1,"493":2,"501":1,"506":2,"510":2,"512":1,"515":1,"517":2,"522":2,"524":1,"526":1,"527":1,"529":1,"530":10,"533":1,"534":3,"535":2,"536":2,"538":2,"539":4,"542":1,"543":1,"553":2,"554":1,"563":1,"568":1,"571":3,"572":3,"574":1,"580":1,"582":2,"583":1,"586":1,"589":1,"591":3,"592":1,"593":1,"595":1,"596":1,"597":2,"598":1,"604":2,"607":2,"609":2,"613":2,"615":1,"618":1,"619":1,"620":2,"624":1,"629":3,"630":1,"632":1,"636":1,"646":1,"649":1,"650":1,"651":2,"653":1,"654":1,"661":1,"662":1,"671":1,"673":1,"676":1,"677":1,"678":2,"682":1,"683":1,"687":1,"688":2,"724":1,"725":1,"731":1,"737":1,"739":3,"741":1,"742":3,"744":1,"745":1,"746":2,"748":1,"749":1}}],["inability",{"2":{"420":1}}],["inappropriate",{"2":{"8":1,"9":1,"13":2,"15":1,"16":1}}],["inherently",{"2":{"389":1}}],["inherits",{"2":{"575":1}}],["inherit",{"2":{"179":1}}],["inbox",{"2":{"355":2,"364":2,"372":2}}],["innercontainerstyle",{"2":{"250":4}}],["innovative",{"2":{"180":1}}],["injectedwallet",{"2":{"249":4}}],["inputting",{"2":{"629":1,"636":1}}],["input=$",{"2":{"361":2}}],["input=ce3500000000000000769074a923011bdda721eacc34c8a77c69c10f2b6c8e659f987e82f217a5340f",{"2":{"361":2}}],["inputstyle",{"2":{"250":6}}],["inputs",{"2":{"125":2}}],["input",{"2":{"125":2,"250":2,"361":4,"362":2,"585":1}}],["initblobstream",{"2":{"492":1,"526":1,"542":1}}],["initcelestia",{"2":{"323":1,"331":1,"670":1,"698":1}}],["initiatives",{"2":{"445":1,"446":2,"447":1}}],["initiated",{"2":{"44":1}}],["initially",{"2":{"737":1}}],["initialisation",{"2":{"589":1,"604":1}}],["initialise",{"2":{"477":1,"716":1}}],["initialization",{"0":{"506":1},"2":{"601":1,"607":1}}],["initializing",{"2":{"323":1,"553":1}}],["initialized",{"2":{"279":1,"495":1,"506":2,"530":1,"536":1,"545":1,"600":1,"683":1,"698":1}}],["initializes",{"2":{"115":1,"231":1,"386":2,"497":2}}],["initialize",{"0":{"553":1,"632":1,"655":1,"670":1,"684":1,"698":1},"1":{"699":1,"700":1,"701":1,"702":1,"703":1},"2":{"113":1,"179":1,"229":1,"331":2,"370":1,"380":1,"506":1,"535":1,"557":2,"593":1,"595":1,"607":1,"613":1,"655":1}}],["initial",{"2":{"433":2,"441":1,"446":1,"447":1,"563":2}}],["init",{"0":{"492":1,"526":1,"542":1},"2":{"97":4,"98":2,"99":2,"109":2,"113":5,"229":5,"241":2,"246":3,"323":5,"331":5,"354":4,"380":2,"492":2,"526":2,"542":2,"553":8,"557":2,"569":2,"589":3,"592":3,"595":4,"613":6,"632":2,"655":9,"670":5,"684":2,"698":5}}],["indeed",{"2":{"426":1,"435":1,"436":1}}],["indexer",{"0":{"646":1},"2":{"608":1,"616":1,"618":2,"646":3}}],["indexers",{"2":{"424":1}}],["indexed",{"2":{"127":1,"646":2}}],["indexing",{"0":{"616":1},"2":{"419":1,"615":1,"618":1,"646":1}}],["index",{"2":{"132":2,"145":2,"146":4,"152":3,"194":2,"249":2,"250":4,"534":4,"646":2}}],["independently",{"2":{"167":1,"433":1}}],["independent",{"2":{"102":1}}],["induced",{"2":{"137":1}}],["inducted",{"2":{"51":1}}],["industry",{"2":{"62":1}}],["indicates",{"2":{"364":1}}],["indicators",{"2":{"56":1}}],["individual",{"0":{"39":1},"2":{"10":1,"16":1,"83":1,"129":1,"242":2}}],["individuals",{"2":{"8":1,"16":1,"165":1,"293":1}}],["inflation",{"0":{"442":1},"2":{"442":3,"449":2}}],["infra",{"2":{"312":1}}],["infrastructure",{"2":{"25":1,"49":1,"66":1,"293":2,"391":1,"446":1,"587":1,"720":1,"734":1}}],["infura",{"2":{"240":1,"248":6,"250":12}}],["infocurl",{"2":{"742":1}}],["infos",{"2":{"197":2}}],["informs",{"2":{"161":2}}],["informative",{"2":{"66":1,"81":1,"83":1}}],["informationextra",{"2":{"608":1}}],["information$",{"2":{"557":1}}],["information",{"0":{"44":1,"639":1},"2":{"8":1,"41":4,"42":1,"43":1,"44":18,"45":1,"60":1,"66":2,"132":2,"133":2,"134":2,"145":1,"146":1,"206":2,"212":1,"216":1,"222":2,"279":1,"304":2,"324":1,"325":1,"338":1,"340":1,"380":1,"405":1,"410":2,"419":2,"420":1,"422":1,"500":1,"507":2,"508":2,"513":2,"516":2,"528":1,"530":1,"544":1,"553":1,"554":1,"557":1,"563":1,"572":2,"574":1,"589":1,"624":1,"632":1,"653":1,"671":3,"692":1,"699":3}}],["informalsystems",{"2":{"577":1}}],["informal",{"2":{"55":1}}],["info",{"0":{"69":1},"1":{"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"88":1,"197":4,"255":1,"271":2,"304":1,"327":1,"338":2,"344":2,"422":1,"530":2,"534":2,"629":2,"636":2,"742":1}}],["int",{"2":{"386":2}}],["intake",{"2":{"65":2}}],["introducing",{"2":{"434":1}}],["introduced",{"2":{"748":1}}],["introduce",{"2":{"55":1,"238":1}}],["introductionblobsnamespaceshardware",{"2":{"314":1}}],["introduction",{"0":{"77":1,"80":1,"101":1,"289":1,"315":1,"434":1},"1":{"102":1,"103":1,"104":1,"105":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"316":1,"317":1},"2":{"21":2,"25":2,"27":2,"61":1,"77":2,"79":1,"80":3,"107":1,"282":1,"396":2}}],["intel",{"2":{"320":1,"662":1}}],["integrating",{"2":{"162":1,"281":1}}],["integrations",{"0":{"461":1,"475":1,"710":1},"1":{"476":1,"477":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":1},"2":{"42":1,"237":1,"574":1}}],["integration",{"0":{"224":1,"289":1,"290":1,"297":1,"299":1},"1":{"225":1,"226":1,"290":1,"291":2,"292":1,"293":1,"294":1,"295":1,"296":1,"298":1,"300":1,"301":1,"302":1},"2":{"42":1,"84":1,"102":2,"103":2,"104":3,"158":1,"169":1,"176":1,"290":1,"292":1,"296":2,"297":1,"303":1,"370":1,"396":1,"574":1,"706":1}}],["integrate",{"0":{"121":1,"130":1,"158":1,"162":1,"281":1},"1":{"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"159":1,"160":1,"161":1,"162":1,"163":2,"164":1,"165":1,"166":1,"167":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1},"2":{"158":1,"162":2,"181":1,"290":1,"378":1,"574":1}}],["integer",{"2":{"114":1,"115":1,"230":1,"231":1}}],["interruptions",{"2":{"706":1}}],["interchangeably",{"2":{"508":1}}],["interchain",{"2":{"380":1}}],["intermediate",{"2":{"428":1,"429":1,"435":1,"436":1}}],["internet",{"2":{"389":1}}],["internally",{"2":{"547":1}}],["internal",{"2":{"308":1}}],["interpreted",{"2":{"364":1}}],["inter",{"2":{"269":1}}],["interfaces",{"2":{"133":2,"242":2,"247":1,"398":1,"399":1,"456":1,"643":2}}],["interface",{"0":{"127":1},"2":{"127":3,"129":1,"133":4,"206":2,"326":1,"392":1,"432":1,"575":1}}],["interval",{"2":{"108":2,"271":2,"373":2,"572":4,"593":4}}],["interestingly",{"2":{"434":1}}],["interested",{"2":{"62":2,"63":3,"66":3,"238":1,"349":1}}],["interest",{"2":{"60":2,"61":1,"71":1}}],["interests",{"2":{"60":1,"65":1,"66":1}}],["interoperability",{"2":{"49":1,"102":1}}],["interactively",{"2":{"509":1,"512":1,"530":2}}],["interactivecelestia",{"2":{"211":1}}],["interactive",{"2":{"83":1,"211":1}}],["interactions",{"2":{"14":1,"133":1,"171":1}}],["interaction",{"2":{"14":2,"15":3,"16":1,"42":1,"55":1,"547":1}}],["interacting",{"0":{"119":1,"235":1},"2":{"3":1,"141":1,"307":1,"311":1,"327":2,"349":1,"582":1,"590":1,"591":1}}],["interact",{"0":{"87":1,"89":1,"256":1},"2":{"7":1,"33":1,"87":2,"88":1,"118":1,"129":1,"163":1,"171":1,"173":1,"222":2,"223":2,"234":1,"254":2,"255":1,"285":1,"307":1,"326":1,"327":2,"328":1,"329":1,"330":2,"462":1,"465":1,"466":1,"659":1,"694":1,"722":1,"725":1,"726":1}}],["intensive",{"2":{"619":1}}],["intend",{"2":{"45":1}}],["intent",{"2":{"45":1}}],["intention",{"2":{"45":1}}],["into",{"0":{"30":1,"422":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"33":2,"48":1,"51":1,"77":1,"86":1,"103":1,"158":1,"177":1,"189":1,"216":1,"247":3,"250":2,"254":1,"272":1,"317":1,"322":1,"370":1,"392":1,"402":1,"427":2,"429":1,"430":2,"433":1,"435":5,"438":3,"513":1,"560":1,"570":1,"574":1,"580":1,"585":1,"590":1,"593":1,"596":1,"598":1,"676":1,"706":1}}],["inception",{"2":{"705":1}}],["incentive",{"2":{"436":1}}],["incentives",{"2":{"61":1,"423":1}}],["incentivizes",{"2":{"425":1}}],["incentivize",{"0":{"423":1},"2":{"423":1}}],["incentivized",{"0":{"41":1},"1":{"42":1,"43":1,"44":1,"45":1},"2":{"41":1,"446":1}}],["incredibly",{"2":{"521":1,"638":1}}],["incredible",{"2":{"68":1}}],["incremental",{"2":{"517":1}}],["increment",{"2":{"114":3,"115":4,"230":3,"231":4}}],["increases",{"2":{"63":1,"114":1,"115":1,"230":1,"231":1,"416":1,"434":1}}],["increase",{"2":{"62":1,"63":1,"433":1,"434":1,"571":2}}],["increasing",{"2":{"60":1,"428":1,"434":1}}],["incubators",{"2":{"58":1}}],["incomplete",{"2":{"430":1}}],["income",{"2":{"45":1}}],["incorrectly",{"0":{"429":1},"2":{"417":1,"418":1,"429":2}}],["incorrect",{"2":{"165":1,"237":1,"365":1,"418":1}}],["incorporated",{"2":{"103":1}}],["incorporate",{"2":{"41":1}}],["incident",{"2":{"11":1,"14":1}}],["inclusion",{"0":{"129":1,"139":1,"145":1,"146":1},"2":{"64":1,"126":2,"127":1,"129":4,"132":1,"134":3,"139":1,"145":2,"148":1,"149":1,"157":1,"748":1}}],["inclusive",{"2":{"7":1,"70":1}}],["including",{"2":{"14":1,"15":2,"16":1,"42":1,"44":2,"45":4,"52":1,"54":3,"55":1,"65":1,"70":1,"83":1,"404":1,"446":1,"629":1}}],["included",{"2":{"127":2,"134":2,"135":3,"153":2,"242":1,"332":1,"333":1,"334":1,"406":3,"438":1,"521":1,"677":1,"709":1,"747":1,"748":1,"749":1}}],["includes",{"2":{"14":1,"75":1,"76":1,"103":1,"115":1,"231":1,"270":1,"287":1,"422":1,"430":1,"438":1,"447":1,"689":1}}],["include",{"2":{"8":2,"10":1,"41":3,"62":1,"102":1,"169":1,"181":1,"242":1,"293":1,"328":1,"366":1,"387":1,"424":1,"438":1,"573":1,"690":1}}],["invoke",{"2":{"242":2}}],["involves",{"2":{"403":1,"421":1}}],["involve",{"2":{"133":2,"134":1}}],["involvement",{"2":{"61":1}}],["involved",{"2":{"14":1,"15":1,"169":1,"295":1,"403":1,"404":1}}],["involving",{"2":{"45":1}}],["invalid",{"2":{"134":2,"137":2,"429":2,"436":1,"593":2}}],["investigate",{"2":{"60":1,"62":1}}],["investigated",{"2":{"11":1}}],["invites",{"2":{"72":1}}],["invite",{"2":{"61":2,"63":2}}],["invitations",{"2":{"54":1}}],["invitation",{"2":{"45":2,"71":1}}],["invisible",{"2":{"7":1}}],["inspect",{"2":{"413":1}}],["inspired",{"2":{"17":1}}],["insecure",{"2":{"410":4,"530":4,"532":1}}],["inside",{"2":{"151":1,"214":1,"216":1,"385":1,"522":1,"539":1,"555":1,"580":1,"672":1,"688":1,"689":1,"690":1,"702":1}}],["insight",{"2":{"570":1}}],["insightful",{"2":{"68":1}}],["insights",{"2":{"5":1,"25":2,"31":4,"56":1,"61":1,"83":1,"577":1}}],["instrumentation",{"2":{"571":6}}],["instructions",{"2":{"186":1,"197":1,"300":1,"319":2,"461":2,"554":1,"578":1,"581":1,"598":1,"611":1,"627":1,"636":1,"651":3,"659":1,"661":2,"671":1,"720":2}}],["instead",{"2":{"104":1,"133":1,"137":3,"237":1,"333":1,"373":1,"402":3,"406":1,"452":1,"509":1}}],["instability",{"2":{"706":1,"733":1}}],["instantaneous",{"2":{"674":1}}],["instantiation",{"0":{"678":1},"1":{"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1}}],["instantiating",{"2":{"246":1,"323":1}}],["instantiate",{"0":{"323":1,"692":1},"2":{"323":1,"386":1,"387":1,"433":1,"678":1}}],["instance",{"2":{"86":1,"90":1,"115":1,"231":1,"254":1,"386":1,"549":1,"572":1,"584":1,"595":1,"610":1,"627":1,"666":1,"696":1}}],["instances",{"2":{"11":1,"535":1}}],["installer",{"2":{"651":1}}],["installed",{"2":{"90":1,"112":1,"123":1,"190":1,"201":1,"210":1,"221":1,"228":1,"270":1,"271":1,"298":2,"320":2,"379":1,"491":1,"499":1,"525":1,"541":1,"580":1,"597":1,"600":1,"648":1,"662":2}}],["installmake",{"2":{"322":2,"485":1,"580":1,"596":2}}],["installs",{"2":{"98":1,"215":2,"322":1,"596":1}}],["installing",{"0":{"98":1,"124":1,"581":1},"1":{"99":1},"2":{"98":1,"319":2,"322":2,"550":1,"552":1,"579":1,"581":1,"596":1,"611":1,"612":1,"631":1,"651":1,"659":1,"661":2,"668":1,"697":1,"736":1,"739":1}}],["install",{"0":{"225":1,"300":1,"320":1,"322":1,"380":1,"484":1,"485":1,"491":1,"499":1,"525":1,"541":1,"552":1,"579":1,"596":1,"612":1,"631":1,"661":1,"662":1,"668":1,"697":1},"1":{"485":1,"486":1,"487":1,"488":1,"580":1,"581":1,"582":1,"597":1,"598":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1},"2":{"92":2,"95":6,"96":2,"98":1,"124":3,"187":1,"210":1,"215":2,"225":1,"247":1,"248":3,"252":1,"270":1,"298":2,"300":1,"319":16,"320":2,"322":4,"326":1,"353":1,"367":1,"380":1,"485":3,"536":2,"541":1,"552":1,"572":1,"574":1,"578":1,"580":3,"581":1,"596":4,"598":1,"613":3,"651":1,"661":15,"662":2,"681":1,"697":1,"737":1,"738":1,"739":1,"742":2,"744":2,"745":2,"746":2}}],["installation",{"0":{"215":1,"353":1,"681":1},"2":{"90":1,"213":1,"246":1,"581":2}}],["insulting",{"2":{"8":1}}],["in",{"0":{"104":1,"147":1,"277":1,"363":1,"390":1,"406":1,"415":1,"595":1,"732":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"364":1,"365":1,"733":1,"734":1,"735":1},"2":{"3":1,"4":2,"5":1,"7":2,"8":1,"9":1,"10":1,"12":2,"13":1,"14":1,"25":1,"27":1,"29":1,"33":3,"41":10,"42":17,"43":3,"44":3,"45":41,"46":1,"48":5,"51":4,"53":1,"55":1,"56":1,"57":1,"58":2,"59":4,"60":3,"61":2,"62":6,"63":7,"64":4,"66":7,"68":2,"70":2,"71":2,"72":1,"74":1,"78":1,"79":1,"83":4,"86":3,"87":4,"88":1,"98":1,"99":1,"100":1,"103":2,"104":5,"105":1,"108":5,"109":2,"111":1,"113":1,"114":4,"115":8,"120":1,"126":2,"127":2,"128":1,"129":2,"132":13,"133":3,"134":12,"135":4,"137":1,"143":1,"145":1,"146":1,"148":4,"149":14,"150":1,"151":1,"152":10,"153":9,"154":3,"157":2,"158":1,"159":3,"160":2,"161":2,"165":3,"167":1,"169":5,"170":1,"173":1,"178":1,"179":1,"180":2,"181":2,"186":1,"190":1,"192":1,"194":3,"197":1,"198":1,"199":1,"201":2,"204":1,"206":1,"207":1,"211":1,"214":1,"215":4,"216":2,"217":1,"222":3,"223":3,"224":1,"226":2,"227":1,"229":1,"230":4,"231":8,"237":4,"238":2,"242":6,"245":2,"246":3,"247":2,"248":1,"253":1,"254":7,"255":1,"258":1,"261":1,"262":1,"266":1,"269":2,"270":1,"273":2,"274":5,"283":1,"284":1,"285":4,"288":2,"290":1,"295":3,"296":1,"297":2,"298":2,"299":1,"301":1,"302":2,"303":1,"305":1,"307":1,"312":1,"314":1,"317":1,"319":1,"320":1,"323":1,"324":2,"325":2,"327":1,"328":1,"329":1,"330":1,"331":1,"332":4,"333":4,"334":1,"338":2,"339":1,"343":6,"346":1,"349":2,"359":1,"363":1,"364":4,"365":1,"366":2,"367":1,"369":1,"370":4,"371":1,"378":1,"380":4,"381":1,"382":1,"383":1,"386":5,"389":3,"390":3,"391":4,"392":5,"401":1,"402":3,"403":4,"404":4,"405":2,"406":2,"407":1,"409":1,"411":1,"415":2,"418":1,"420":1,"421":1,"422":1,"423":1,"426":1,"427":4,"428":3,"430":1,"433":9,"434":1,"435":3,"436":3,"438":1,"439":2,"441":1,"442":2,"445":1,"446":1,"447":2,"449":1,"451":1,"452":3,"453":2,"454":1,"456":1,"457":1,"461":5,"464":1,"465":1,"466":1,"472":2,"475":2,"476":2,"477":2,"484":1,"488":4,"492":1,"494":1,"496":1,"500":2,"501":1,"507":2,"508":2,"509":1,"510":4,"511":4,"512":3,"513":1,"514":1,"515":3,"517":3,"519":3,"520":1,"521":2,"522":1,"524":1,"527":1,"528":2,"529":1,"530":7,"534":1,"535":4,"538":2,"543":2,"544":1,"545":3,"547":3,"553":1,"555":1,"560":1,"563":4,"564":2,"569":2,"572":3,"573":1,"580":1,"581":2,"583":1,"584":1,"585":1,"586":2,"587":3,"591":1,"592":2,"593":1,"595":2,"596":1,"601":1,"604":1,"605":1,"607":1,"608":1,"613":7,"615":1,"617":1,"618":1,"619":2,"620":2,"622":3,"624":1,"626":2,"627":1,"629":2,"635":1,"636":4,"644":1,"646":2,"647":6,"649":2,"650":1,"651":2,"655":3,"659":1,"662":1,"671":1,"672":1,"674":2,"675":2,"676":3,"677":3,"682":1,"683":1,"684":1,"687":3,"688":2,"689":2,"691":1,"698":1,"699":1,"700":2,"701":1,"702":1,"705":2,"708":1,"709":5,"710":4,"720":6,"724":1,"725":1,"726":1,"727":1,"731":2,"734":2,"736":2,"737":2,"739":4,"742":3,"746":2,"747":2,"748":1,"749":1}}],["imagine",{"2":{"181":1}}],["image",{"2":{"98":2,"108":4,"222":3,"223":6,"226":1,"373":4,"653":1}}],["imagery",{"2":{"8":1}}],["images",{"2":{"3":1,"226":1}}],["immutable",{"2":{"125":2}}],["immerse",{"2":{"48":1}}],["improperly",{"2":{"417":1}}],["improved",{"2":{"570":1}}],["improve",{"2":{"65":1,"508":1}}],["improvement",{"2":{"56":1,"428":1}}],["improvements",{"2":{"4":1,"706":1}}],["improving",{"2":{"2":1}}],["impractical",{"2":{"413":1}}],["imports",{"2":{"515":1}}],["imported",{"2":{"252":1,"514":2,"515":2,"536":1}}],["importing",{"0":{"218":1,"560":1},"2":{"513":3,"514":2,"515":2,"583":1}}],["import",{"0":{"385":1,"513":1,"514":1,"515":1,"519":1},"2":{"115":4,"125":6,"218":1,"231":4,"242":4,"244":4,"249":19,"250":17,"252":2,"272":1,"298":6,"384":1,"385":3,"405":1,"410":1,"500":6,"506":1,"508":4,"513":15,"514":2,"515":8,"516":4,"519":8,"528":6,"544":6,"547":1,"560":5,"572":2,"583":1}}],["importance",{"2":{"83":1}}],["important",{"0":{"69":1},"1":{"70":1,"71":1,"72":1,"73":1,"74":1},"2":{"41":1,"132":2,"194":2,"404":1,"432":1,"516":1,"521":1,"527":1,"528":1,"543":1,"544":1,"572":1,"573":1,"590":1,"638":1,"675":1,"747":1}}],["impose",{"2":{"45":1}}],["implement",{"2":{"48":1,"386":2,"391":2,"433":1}}],["implementations",{"2":{"133":2,"269":1}}],["implementation",{"0":{"364":1},"2":{"44":1,"129":1,"131":1,"167":1,"270":1,"392":1,"488":2,"508":2,"547":1,"676":1}}],["implemented",{"2":{"42":1,"157":1,"165":1,"364":1,"465":1,"533":1,"725":1}}],["implementing",{"0":{"24":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"48":1}}],["impact=profit",{"2":{"293":1}}],["impactful",{"2":{"61":1,"83":1}}],["impact",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"62":1}}],["ith",{"2":{"404":2}}],["itemcount",{"2":{"242":6}}],["itself",{"2":{"41":1,"521":1,"572":2}}],["its",{"0":{"535":1},"1":{"536":1,"537":1},"2":{"41":3,"45":1,"149":2,"150":2,"160":1,"166":1,"167":1,"176":2,"336":1,"388":1,"397":1,"402":1,"403":1,"415":1,"416":1,"430":2,"433":1,"453":1,"487":1,"489":1,"500":1,"508":1,"509":1,"510":1,"518":1,"521":1,"522":2,"534":3,"539":1,"572":1,"705":1,"742":1,"744":1,"745":1,"746":1}}],["itn",{"2":{"41":7,"42":11,"43":3,"44":1,"45":38}}],["it",{"0":{"252":1,"253":1,"522":1,"539":1},"2":{"2":2,"41":1,"45":1,"53":1,"59":1,"60":1,"65":2,"66":1,"71":1,"86":1,"87":1,"104":1,"108":1,"114":1,"115":5,"118":2,"126":1,"127":1,"129":6,"131":1,"133":2,"137":2,"145":2,"146":1,"147":1,"148":1,"149":2,"150":2,"153":1,"159":4,"160":2,"167":1,"169":2,"170":2,"173":1,"179":1,"190":1,"194":2,"197":1,"208":1,"211":1,"213":1,"215":1,"230":1,"231":5,"234":2,"242":3,"244":1,"245":3,"246":2,"247":2,"250":4,"252":1,"254":2,"269":1,"270":2,"272":1,"273":1,"280":1,"288":1,"295":2,"298":6,"310":1,"312":1,"324":2,"327":1,"332":1,"340":2,"348":2,"350":1,"360":1,"361":1,"364":5,"370":1,"373":1,"378":1,"380":4,"383":2,"386":9,"387":3,"388":2,"391":2,"392":3,"395":1,"403":2,"404":4,"406":4,"410":2,"413":5,"416":2,"417":1,"422":1,"423":1,"429":1,"430":1,"433":1,"434":1,"435":5,"436":1,"442":1,"464":1,"472":5,"483":1,"487":1,"497":2,"500":2,"501":1,"502":2,"503":1,"504":1,"505":1,"506":4,"509":4,"510":1,"512":2,"513":1,"514":4,"515":3,"516":2,"517":2,"519":1,"522":6,"527":2,"528":3,"530":4,"533":2,"534":2,"535":4,"537":1,"538":1,"539":3,"543":3,"544":2,"545":2,"553":2,"554":1,"570":1,"571":2,"572":6,"573":1,"574":1,"581":1,"582":1,"585":1,"586":2,"589":1,"590":1,"591":1,"593":2,"595":2,"597":1,"609":2,"613":1,"620":1,"623":1,"629":1,"630":2,"635":1,"642":1,"643":2,"647":1,"649":1,"654":2,"671":2,"675":1,"677":1,"687":1,"689":2,"690":1,"698":1,"705":1,"706":1,"709":1,"720":1,"724":1,"733":1,"734":2,"739":1,"742":2,"748":1,"749":1}}],["issuing",{"2":{"452":1}}],["issuance",{"2":{"442":2}}],["issued",{"2":{"45":1}}],["issues",{"0":{"531":1},"1":{"532":1,"533":1},"2":{"9":1,"78":1,"290":1,"370":1,"598":1}}],["issue",{"0":{"537":1},"2":{"4":1,"270":1,"406":1,"420":1,"442":1,"452":1,"533":1,"731":2}}],["isn",{"2":{"137":1,"709":1}}],["isvalid",{"2":{"137":2}}],["isolated",{"2":{"651":1}}],["isolates",{"2":{"180":1}}],["isolate",{"2":{"133":1}}],["ismail",{"2":{"29":2,"52":1}}],["is",{"0":{"178":1,"294":1,"395":1,"413":1,"414":1,"416":1,"418":1,"419":1,"420":1,"421":1,"424":1,"535":1},"1":{"536":1,"537":1},"2":{"1":1,"5":1,"8":1,"10":1,"15":1,"17":1,"21":1,"25":1,"27":1,"31":1,"33":1,"41":5,"42":3,"44":1,"45":7,"46":1,"53":1,"55":1,"58":1,"61":1,"62":1,"63":2,"65":3,"66":1,"67":1,"70":1,"71":2,"73":2,"74":1,"75":1,"77":1,"78":2,"79":2,"83":3,"102":1,"103":3,"104":4,"106":1,"108":3,"109":1,"115":7,"124":1,"125":2,"126":3,"127":2,"129":6,"131":2,"132":29,"133":5,"134":6,"135":6,"137":6,"141":1,"143":1,"145":2,"146":1,"148":2,"149":6,"150":1,"151":2,"152":1,"153":11,"154":2,"157":1,"158":1,"159":3,"160":1,"165":1,"166":2,"167":2,"168":2,"169":8,"173":1,"178":1,"179":2,"180":1,"183":1,"192":3,"194":2,"197":1,"198":1,"199":1,"206":2,"211":1,"213":1,"214":1,"224":1,"225":1,"231":7,"237":3,"239":2,"242":4,"243":1,"244":2,"245":1,"246":3,"248":1,"250":3,"252":1,"258":1,"264":1,"268":1,"269":1,"270":4,"273":3,"279":1,"280":1,"281":1,"283":2,"285":1,"286":1,"287":1,"288":3,"289":2,"290":1,"293":2,"294":2,"295":7,"296":1,"297":1,"298":6,"299":1,"300":1,"303":1,"305":1,"307":1,"310":1,"311":1,"312":2,"316":1,"320":1,"322":2,"323":1,"324":1,"325":1,"327":5,"328":2,"329":2,"331":3,"332":3,"333":3,"336":1,"337":1,"338":2,"339":1,"340":1,"343":2,"350":1,"364":5,"369":1,"370":4,"373":3,"380":1,"381":1,"383":4,"386":3,"389":5,"390":3,"391":4,"392":4,"395":1,"402":4,"403":4,"404":14,"405":2,"406":2,"410":8,"413":2,"414":3,"415":1,"416":3,"417":6,"418":3,"419":2,"420":2,"421":2,"422":3,"423":3,"425":1,"426":2,"427":6,"429":7,"430":8,"432":7,"433":3,"434":3,"435":5,"436":9,"438":2,"441":1,"447":3,"451":1,"452":1,"456":1,"457":4,"458":1,"459":1,"461":1,"462":3,"465":3,"466":3,"468":1,"469":1,"471":4,"472":1,"475":1,"479":1,"480":1,"484":2,"487":2,"488":2,"493":2,"494":1,"497":1,"500":1,"501":1,"502":2,"506":1,"507":1,"508":1,"509":1,"512":1,"516":2,"521":2,"522":4,"524":1,"527":3,"528":1,"529":1,"530":4,"532":2,"533":2,"534":4,"536":1,"538":1,"539":3,"543":4,"544":1,"545":1,"547":5,"549":1,"553":1,"554":4,"556":1,"563":3,"570":1,"572":5,"574":2,"575":1,"578":1,"581":2,"582":2,"583":1,"584":1,"585":1,"586":2,"589":2,"590":4,"591":2,"592":1,"593":3,"595":2,"596":2,"602":1,"604":1,"605":2,"607":4,"609":2,"610":1,"613":3,"615":1,"617":2,"619":1,"620":2,"621":2,"627":1,"630":3,"634":1,"636":1,"637":1,"638":1,"644":3,"646":7,"647":1,"649":1,"650":1,"651":3,"653":2,"654":1,"659":2,"662":1,"663":1,"666":1,"671":3,"674":1,"675":3,"677":3,"678":1,"684":2,"686":1,"687":1,"691":2,"694":1,"699":2,"701":1,"705":2,"706":2,"709":7,"710":2,"720":4,"722":3,"725":3,"726":3,"728":1,"733":2,"734":1,"738":1,"739":2,"740":1,"742":3,"745":1,"746":1,"747":2,"748":1,"749":1}}],["lcd",{"2":{"713":2}}],["luckily",{"2":{"420":1,"423":1}}],["luck",{"2":{"369":1}}],["lunaroasis",{"2":{"324":2,"700":2,"712":1,"713":1,"714":1,"716":1}}],["l",{"2":{"364":2}}],["l3",{"2":{"303":1,"306":2}}],["l3s",{"2":{"104":1,"237":1}}],["l5dhzjldczo",{"2":{"194":2,"195":2}}],["ljj6hspn0kn09qf9fy8kdyh40000gn",{"2":{"190":4}}],["l1",{"0":{"377":1},"2":{"117":3,"306":1,"360":1,"361":1,"365":1,"377":1,"414":1}}],["l2genesisdeltatimeoffset",{"2":{"366":1}}],["l2oo",{"2":{"355":2,"372":2}}],["l2s",{"2":{"104":2,"158":1,"167":1,"169":1,"237":2,"295":1,"483":1}}],["l2",{"0":{"377":1},"2":{"88":1,"103":1,"104":1,"109":2,"111":1,"117":4,"118":2,"127":1,"129":1,"158":1,"159":2,"162":1,"166":2,"237":1,"255":1,"289":1,"293":3,"306":2,"377":1,"414":2}}],["lts",{"2":{"286":1,"549":1,"610":1,"627":1,"666":1,"696":1}}],["lt",{"2":{"86":2,"87":2,"108":3,"135":2,"206":4,"216":13,"217":12,"218":12,"222":5,"223":8,"242":2,"245":2,"246":2,"249":14,"250":100,"254":4,"272":4,"298":14,"324":6,"325":21,"327":6,"329":6,"330":4,"332":8,"333":8,"337":2,"340":4,"343":6,"345":4,"359":4,"360":1,"373":11,"408":4,"409":4,"477":8,"479":3,"497":2,"510":2,"512":2,"515":2,"517":3,"518":2,"519":4,"522":1,"530":3,"534":10,"535":1,"536":8,"545":3,"553":8,"554":4,"555":12,"559":8,"560":6,"561":8,"562":18,"563":20,"564":4,"565":6,"566":16,"567":4,"568":6,"569":2,"572":2,"583":10,"585":14,"586":16,"589":10,"592":10,"593":8,"594":4,"595":8,"629":4,"632":2,"636":2,"656":2,"671":4,"672":12,"699":4,"700":6,"701":3,"702":12,"716":8,"728":3,"742":4,"744":4,"745":6,"746":6}}],["living",{"2":{"708":1}}],["lives",{"2":{"66":1,"192":1}}],["live",{"2":{"64":4,"192":1,"244":1,"245":1,"296":1,"706":1}}],["life",{"2":{"438":1,"705":1}}],["lifecycle",{"0":{"435":1},"1":{"436":1}}],["libp2p",{"2":{"436":1,"547":1}}],["library",{"0":{"309":1},"2":{"129":3,"242":1,"247":2,"309":1,"310":1,"384":1}}],["libraries",{"2":{"58":2,"247":1,"284":1,"286":1,"287":1,"385":1,"736":1}}],["lib",{"2":{"125":2,"129":1}}],["libssl",{"2":{"92":2,"319":4,"661":4}}],["lightdsudo",{"2":{"746":2}}],["lightd",{"2":{"746":13}}],["lightbridgefull",{"2":{"653":1}}],["light$home",{"2":{"370":1}}],["light",{"0":{"78":1,"108":1,"140":1,"323":1,"370":1,"380":1,"409":1,"463":1,"464":1,"654":1,"693":1,"694":1,"696":1,"698":1,"699":1,"702":1,"703":1,"723":1,"724":1,"746":1},"1":{"655":1,"656":1,"694":1,"695":1,"696":1,"697":2,"698":1,"699":2,"700":2,"701":2,"702":2,"703":2,"704":1},"2":{"78":7,"103":1,"107":1,"108":12,"131":1,"133":9,"140":1,"141":1,"158":1,"180":1,"214":1,"216":2,"217":2,"218":2,"222":5,"223":10,"240":1,"288":1,"312":1,"314":1,"318":1,"323":8,"324":13,"325":12,"329":3,"330":3,"331":12,"332":3,"368":1,"370":13,"373":9,"379":1,"380":9,"381":1,"383":1,"390":2,"405":1,"415":1,"416":4,"417":6,"418":2,"426":1,"427":5,"428":8,"429":3,"434":2,"436":9,"461":1,"476":1,"477":3,"547":1,"584":2,"587":1,"594":3,"597":1,"601":2,"607":6,"622":2,"649":3,"655":6,"656":6,"664":2,"693":1,"694":2,"695":1,"698":6,"699":8,"700":12,"702":9,"703":1,"704":1,"715":1,"716":1,"720":1,"731":2,"737":2,"739":2,"745":1,"746":7}}],["lightning",{"2":{"66":1,"289":1}}],["lisbon",{"2":{"68":1}}],["lists",{"2":{"520":1}}],["listing",{"2":{"511":3,"559":2}}],["listblobstream",{"2":{"500":1,"528":1,"544":1}}],["listens",{"2":{"643":1}}],["listening",{"2":{"535":1,"643":1}}],["listen",{"2":{"436":1,"522":1,"530":4,"535":1,"539":1,"571":4,"572":1,"643":1,"694":1}}],["listen=0",{"2":{"373":2}}],["listeners",{"2":{"242":2}}],["listcelestia",{"2":{"202":1,"211":1}}],["list",{"0":{"83":1,"195":1,"511":1,"520":1},"2":{"42":1,"54":1,"60":1,"61":2,"74":2,"83":6,"125":2,"149":2,"152":2,"195":2,"202":2,"211":1,"222":3,"223":3,"271":4,"277":4,"325":2,"380":1,"427":1,"444":1,"461":1,"462":1,"500":1,"506":1,"508":4,"511":4,"516":4,"520":7,"522":1,"524":1,"528":1,"539":1,"544":1,"553":2,"554":2,"559":2,"563":1,"571":2,"592":2,"613":2,"632":3,"636":1,"671":4,"690":2,"699":2,"700":2,"710":1,"720":1,"722":1}}],["lines",{"2":{"568":2}}],["linear",{"2":{"404":1}}],["line",{"0":{"576":1},"2":{"108":4,"206":1,"324":1,"326":1,"380":1,"553":1,"575":1,"595":1,"602":1,"647":1,"653":1,"690":1}}],["lineup",{"2":{"61":1}}],["linuxdocker",{"2":{"654":1}}],["linux",{"2":{"94":6,"98":2,"108":2,"286":1,"320":12,"549":1,"581":1,"610":1,"627":1,"652":1,"659":1,"662":12,"666":1,"696":1}}],["linked",{"2":{"140":1}}],["links",{"0":{"488":1},"2":{"72":1,"82":1}}],["link",{"2":{"44":1,"461":1,"475":1,"572":2,"573":1,"710":1,"720":1}}],["little",{"2":{"58":1,"288":1,"364":1,"688":1}}],["liechtenstein",{"2":{"45":3}}],["license",{"2":{"44":1,"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2}}],["limitnofile=65536",{"2":{"744":2,"745":2}}],["limitnofile=4096",{"2":{"742":2,"746":2}}],["limitnofile=infinity",{"2":{"536":2}}],["limitcore=infinity",{"2":{"536":2}}],["limit=fc+∑i=1nssn",{"2":{"404":1}}],["limit×gas",{"2":{"404":1}}],["limits",{"0":{"402":1},"1":{"403":1,"404":1,"405":1},"2":{"334":1,"433":1,"571":2}}],["limitexamplesadvanced",{"2":{"314":1}}],["limited",{"2":{"44":1,"45":2,"283":1,"428":2,"434":1,"563":1}}],["limit",{"0":{"334":1},"2":{"197":2,"332":1,"334":10,"343":1,"387":1,"402":2,"404":4,"405":1,"410":2,"479":1,"709":1,"728":1}}],["limitation",{"2":{"42":1}}],["liable",{"2":{"42":2,"44":1}}],["liability",{"2":{"41":1,"42":2}}],["likely",{"0":{"533":1},"2":{"133":5,"288":2,"424":1,"538":1,"593":1}}],["likelihood",{"2":{"63":1,"436":1}}],["like",{"2":{"14":1,"49":2,"54":1,"58":2,"59":1,"64":1,"65":2,"66":1,"102":1,"131":1,"132":1,"137":1,"177":1,"178":2,"180":2,"186":1,"187":1,"191":1,"197":3,"222":1,"223":1,"238":3,"273":1,"290":1,"293":1,"295":1,"312":2,"317":1,"319":1,"324":1,"325":1,"331":1,"333":1,"340":2,"343":3,"348":1,"350":1,"357":1,"358":1,"360":1,"369":1,"370":1,"371":1,"374":1,"377":1,"395":1,"413":1,"414":1,"416":1,"422":1,"425":1,"441":1,"453":1,"461":2,"475":1,"500":1,"528":1,"532":2,"544":1,"555":1,"572":1,"583":2,"586":1,"591":1,"592":1,"595":1,"624":1,"651":1,"653":2,"661":1,"672":1,"673":1,"699":1,"702":1,"706":1,"710":1,"720":2,"737":1}}],["laddr",{"2":{"582":1}}],["ladder",{"2":{"17":1}}],["lag",{"2":{"472":1}}],["latter",{"2":{"434":1}}],["latency",{"2":{"271":4}}],["latestrollupheight",{"2":{"133":2,"135":6}}],["latest",{"2":{"133":2,"201":1,"222":2,"269":1,"283":1,"322":6,"360":2,"391":2,"414":1,"459":1,"471":1,"472":2,"501":4,"580":12,"581":1,"596":6,"598":1,"609":1,"653":6,"655":6,"656":6,"671":1,"734":1}}],["later",{"2":{"58":1,"245":1,"247":1,"364":1,"381":1,"386":1,"420":1,"435":1,"436":1,"580":1,"635":1,"685":1,"737":1,"739":1}}],["land",{"2":{"390":1}}],["lang",{"2":{"206":2}}],["languages",{"2":{"157":1}}],["language",{"2":{"8":1,"13":1}}],["large",{"2":{"252":1,"288":2}}],["larger",{"2":{"58":1,"60":1,"288":1,"428":1,"571":2}}],["launch",{"2":{"169":1,"434":1,"447":2,"452":1,"677":1}}],["launching",{"2":{"52":1,"60":1}}],["layout",{"2":{"134":1,"154":2}}],["layers",{"2":{"27":1,"49":2,"294":1,"389":2,"426":2,"432":1,"433":7}}],["layer",{"0":{"426":1},"1":{"427":1,"428":1,"429":1,"430":1,"431":1,"432":1},"2":{"25":1,"27":1,"29":1,"102":3,"103":1,"104":1,"158":1,"159":1,"168":1,"169":5,"170":1,"178":3,"237":1,"282":1,"285":1,"290":1,"295":5,"314":1,"316":1,"356":3,"388":1,"392":2,"393":1,"395":3,"426":3,"428":2,"430":4,"432":4,"433":6,"435":1,"436":1,"438":1,"452":1,"483":1,"488":1,"546":2,"547":1,"608":1,"738":2}}],["labels",{"2":{"572":4}}],["label",{"2":{"279":1,"572":2}}],["labeled",{"2":{"71":1}}],["labs",{"2":{"40":2,"41":1,"50":1,"52":5,"61":2,"62":2,"63":2,"64":5,"65":10,"83":1,"168":1,"446":1,"471":1,"675":1}}],["law",{"2":{"45":1}}],["laws",{"2":{"45":11}}],["lastly",{"2":{"572":1}}],["lastblock",{"2":{"135":6}}],["lasts",{"2":{"51":1}}],["last",{"0":{"533":1},"2":{"41":1,"59":1,"61":1,"340":6,"568":2}}],["ledger",{"2":{"413":1}}],["less",{"2":{"178":1,"391":1,"709":1}}],["lessons",{"2":{"50":1,"56":1}}],["lesson",{"2":{"21":3,"22":3,"25":3,"27":3,"29":3,"33":4}}],["left",{"2":{"133":1,"423":1}}],["lets",{"2":{"180":1}}],["let",{"2":{"65":3,"118":1,"129":1,"233":1,"239":1,"242":2,"244":1,"248":1,"250":2,"252":1,"323":1,"324":1,"327":1,"336":1,"337":1,"340":1,"378":1,"380":3,"383":1,"386":2,"601":1}}],["leveraging",{"2":{"239":1,"276":1}}],["leverages",{"2":{"125":1}}],["leverage",{"2":{"61":1,"62":1,"63":1}}],["leveldb",{"2":{"646":1}}],["levels",{"2":{"310":1}}],["level",{"0":{"154":1},"1":{"155":1,"156":1},"2":{"7":1,"21":1,"108":2,"129":1,"131":1,"159":1,"271":2,"310":1,"397":1,"416":1,"471":1,"530":4,"573":1}}],["lemonade",{"2":{"59":1}}],["len",{"2":{"135":8,"137":6,"410":4}}],["length",{"2":{"132":2,"242":6}}],["lens",{"2":{"49":1}}],["lending",{"2":{"49":1}}],["legacy",{"2":{"563":3,"564":2}}],["legal",{"2":{"41":1,"44":1,"45":1}}],["legended",{"2":{"45":1}}],["legend",{"2":{"45":3}}],["legends",{"2":{"45":2}}],["leave",{"2":{"742":1}}],["leaves",{"2":{"125":2,"149":6,"152":2,"435":1}}],["leaving",{"2":{"709":1}}],["leapwallet",{"2":{"398":1}}],["leap",{"0":{"265":1,"266":1,"299":1,"300":1,"302":1},"1":{"266":1,"267":1,"268":1,"300":1,"301":1,"302":1},"2":{"258":1,"299":1,"300":3,"301":1,"302":3}}],["leafs",{"2":{"430":1}}],["leaf",{"2":{"145":2,"146":2,"152":4}}],["least",{"2":{"59":1,"63":1,"91":1,"417":1,"427":1,"429":1,"436":2,"576":2,"609":1,"622":1,"688":1}}],["lead",{"2":{"14":1,"15":1,"52":1,"61":1}}],["leaders",{"2":{"7":1,"9":2,"11":2,"12":1,"13":1}}],["learned",{"2":{"56":1,"120":1,"201":1,"208":1,"236":1}}],["learning",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"3":1,"8":1,"48":1,"64":1,"66":2,"238":1,"296":1}}],["learn",{"2":{"3":1,"33":3,"64":1,"70":1,"74":1,"105":1,"111":1,"114":1,"132":1,"170":1,"178":1,"186":1,"200":1,"207":1,"222":1,"225":1,"230":1,"258":1,"275":1,"282":1,"284":1,"285":1,"293":1,"294":1,"300":1,"303":1,"322":1,"334":1,"378":2,"396":1,"409":1,"411":1,"438":1,"441":2,"444":2,"445":1,"453":1,"454":1,"475":1,"483":1,"487":2,"521":1,"538":1,"558":1,"580":1,"581":2,"596":1,"651":1,"710":1,"731":1}}],["lower",{"2":{"539":1}}],["low",{"2":{"226":1,"237":1,"289":1,"298":2,"747":1}}],["loading",{"2":{"386":2}}],["loadenv",{"2":{"386":7,"387":2}}],["load",{"2":{"216":1,"386":6,"410":2,"537":1,"645":1,"646":1,"647":1}}],["loads",{"2":{"95":2,"250":2,"386":2}}],["lost",{"0":{"535":1},"1":{"536":1,"537":1},"2":{"535":1,"593":1,"654":1}}],["lose",{"2":{"211":1}}],["loss",{"2":{"42":2,"510":2}}],["locked",{"2":{"298":2,"447":1}}],["lock",{"2":{"181":1}}],["located",{"2":{"134":1,"241":1}}],["locate",{"2":{"132":1}}],["location",{"0":{"592":1},"2":{"59":2,"83":1,"132":2,"134":1,"135":1,"190":1,"331":1,"370":1,"492":1,"526":1,"542":1,"557":4,"592":10,"601":1,"689":1,"698":1}}],["localroot",{"2":{"223":1}}],["locally",{"0":{"245":1},"2":{"192":1,"239":1,"244":1,"245":2,"246":1,"402":1,"586":1}}],["localised",{"2":{"151":1}}],["localhost",{"2":{"86":2,"108":2,"117":3,"118":3,"233":2,"245":2,"246":6,"249":6,"251":1,"252":1,"328":1,"360":2,"361":2,"373":2,"380":1,"383":2,"501":6,"530":4,"571":2,"572":4,"582":3,"591":3,"643":2,"742":2}}],["local",{"0":{"187":1,"188":1,"369":1},"1":{"188":1,"189":2,"190":2,"191":2,"192":2,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1},"2":{"2":1,"58":1,"60":1,"61":2,"62":2,"63":3,"64":2,"71":1,"94":6,"98":8,"108":2,"118":1,"186":1,"191":1,"194":2,"195":4,"200":1,"201":1,"208":1,"217":1,"223":1,"233":3,"245":4,"248":1,"320":21,"359":1,"365":1,"368":2,"369":1,"373":2,"383":1,"464":1,"560":2,"581":1,"586":1,"629":1,"655":2,"656":2,"662":21,"724":1}}],["looks",{"2":{"333":1}}],["lookups",{"2":{"242":2}}],["looking",{"2":{"66":1,"170":1,"361":1,"483":1,"650":1,"651":1}}],["look",{"2":{"64":1,"114":2,"119":2,"129":1,"131":1,"197":1,"222":1,"223":1,"230":2,"235":2,"324":1,"331":1,"333":1,"336":1,"343":1,"360":1,"361":1,"362":1,"380":1,"427":1,"432":1,"436":1,"532":2,"583":2,"655":1,"656":1,"689":1,"699":1}}],["loop",{"2":{"41":1}}],["logger",{"2":{"364":2}}],["logging",{"2":{"242":1,"530":4}}],["logsmake",{"2":{"357":1,"374":1}}],["logsbloom",{"2":{"119":2,"235":2,"360":2}}],["logs",{"0":{"357":1,"374":1,"537":1,"568":1},"2":{"119":2,"197":2,"235":2,"357":2,"359":6,"365":1,"366":1,"374":2,"501":1,"522":1,"534":2,"536":1,"537":2,"539":1,"568":7,"622":1,"629":2,"636":2,"677":1,"742":1,"744":1,"745":1,"746":1}}],["log",{"2":{"108":2,"197":2,"245":1,"271":2,"364":4,"385":2,"386":12,"530":4,"534":4,"572":1,"595":1,"629":2,"636":2}}],["logos",{"2":{"65":1}}],["logo",{"2":{"62":1,"65":1,"76":1,"301":1,"302":1}}],["logic",{"2":{"104":1,"133":1,"162":2,"181":1,"387":1,"432":1,"547":1}}],["logical",{"2":{"61":1}}],["login",{"2":{"89":1,"256":1,"572":1}}],["logistics",{"0":{"57":1,"81":1},"1":{"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1},"2":{"54":1,"57":1,"61":1}}],["lot",{"2":{"57":1,"58":1,"75":1,"433":1}}],["longer",{"2":{"288":1,"413":1,"429":1,"452":1,"510":1,"530":1,"574":1}}],["long",{"2":{"39":1,"45":1,"390":1,"391":1,"427":1,"442":1}}],["love",{"2":{"2":1,"66":1}}],["ll",{"2":{"0":1,"59":1,"74":1,"81":1,"83":1,"87":1,"98":2,"118":1,"119":1,"201":1,"222":1,"223":1,"226":1,"233":2,"234":1,"235":1,"239":1,"245":2,"247":1,"249":1,"250":2,"251":1,"252":2,"254":1,"301":1,"302":1,"327":1,"360":1,"373":1,"378":4,"387":1,"413":1,"592":1,"655":1,"685":1}}],["wsl",{"2":{"659":2}}],["wss",{"0":{"173":1},"2":{"173":1}}],["ws",{"2":{"117":1,"173":1,"271":4}}],["wget",{"2":{"92":2,"94":2,"319":10,"320":8,"623":6,"644":2,"661":10,"662":8}}],["won",{"2":{"158":1,"734":1}}],["wonderful",{"2":{"57":1}}],["wouldn",{"2":{"418":1,"537":1}}],["would",{"2":{"58":1,"63":1,"66":5,"129":1,"131":1,"133":9,"134":1,"137":3,"159":1,"166":1,"167":1,"187":1,"197":1,"257":1,"312":1,"317":1,"325":1,"331":1,"343":1,"392":1,"461":2,"475":1,"516":1,"517":1,"530":1,"535":2,"537":1,"563":1,"583":1,"591":1,"624":1,"651":1,"653":2,"673":1,"710":1,"720":2}}],["worry",{"2":{"651":1}}],["words",{"2":{"127":1,"420":1,"433":1}}],["word",{"2":{"60":1,"63":1}}],["wordle",{"2":{"22":1,"393":1}}],["workflow",{"2":{"224":1,"299":1,"386":1}}],["workshop",{"0":{"77":1,"78":1,"79":1,"80":1}}],["workshops",{"2":{"58":1,"61":1}}],["works",{"0":{"160":1,"522":1,"539":1},"1":{"161":1},"2":{"52":1,"59":2,"159":1,"160":1,"198":1,"403":1,"405":1,"406":1,"416":1,"441":1,"453":1,"483":1,"539":1,"587":1}}],["work",{"2":{"52":1,"59":1,"129":1,"141":1,"286":1,"364":1,"370":1,"373":1,"395":1,"430":1,"477":1,"494":1,"516":1,"522":1,"533":1,"539":1,"675":1}}],["working",{"0":{"683":1,"684":1},"2":{"50":1,"54":1,"58":2,"215":2,"243":1,"247":1,"290":1,"322":1,"370":1,"571":1,"596":1,"683":1}}],["world",{"2":{"25":1,"67":1,"378":1,"393":2,"705":1}}],["wrapped",{"2":{"694":1}}],["wrapping",{"0":{"387":1},"2":{"133":1}}],["wrap",{"2":{"386":1}}],["wraps",{"2":{"133":2}}],["wrong",{"0":{"595":1},"2":{"49":1,"595":2}}],["writing",{"2":{"133":2,"141":1}}],["write",{"2":{"30":1,"37":1,"48":2,"57":1,"119":1,"194":2,"223":1,"235":1,"364":1,"378":1,"731":1}}],["written",{"2":{"13":1,"42":2,"169":2,"295":2,"320":1,"662":1}}],["www",{"2":{"17":3}}],["walkthrough",{"0":{"657":1},"1":{"658":1}}],["wall",{"2":{"52":1}}],["wallet=",{"2":{"629":2,"636":2}}],["walletcelestia",{"2":{"534":1}}],["wallet",{"0":{"202":1,"209":1,"211":1,"212":1,"213":1,"259":1,"260":1,"265":1,"558":1,"628":1},"1":{"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"261":1,"262":1,"263":1,"264":1,"266":1,"267":1,"268":1},"2":{"42":2,"44":4,"87":1,"89":1,"209":1,"211":3,"212":2,"213":1,"224":1,"225":1,"226":2,"234":1,"240":1,"247":1,"249":1,"250":4,"251":1,"254":1,"256":1,"273":1,"297":1,"298":5,"299":1,"300":1,"301":1,"302":2,"308":1,"310":1,"312":1,"325":5,"380":1,"398":2,"399":1,"534":1,"554":1,"562":1,"563":6,"564":2,"565":2,"566":4,"567":2,"569":1,"619":1,"628":1,"629":8,"636":4,"637":4,"671":1,"700":1,"701":2}}],["walletsrpc",{"2":{"314":1}}],["wallets",{"0":{"272":1,"325":1,"700":1},"1":{"701":1},"2":{"33":1,"211":1,"247":1,"249":4,"258":1,"272":3,"456":1}}],["wagmiclient",{"2":{"249":4}}],["wagmiconfig",{"2":{"249":6}}],["wagmi",{"2":{"247":1,"248":2,"249":4,"250":2}}],["wait",{"2":{"137":1,"212":1,"250":2,"267":1,"406":1,"410":2,"522":1,"534":1,"539":1}}],["waiting",{"2":{"133":1,"135":1,"137":3,"410":2,"522":6,"539":6}}],["waive",{"2":{"42":1}}],["watch",{"2":{"64":1}}],["watchlist",{"2":{"42":1}}],["water",{"2":{"59":2}}],["way",{"2":{"45":1,"62":1,"194":2,"211":1,"249":1,"288":1,"296":1,"305":1,"311":1,"378":1,"423":1,"426":1,"472":1,"507":1,"521":1,"563":1,"572":1,"581":1,"651":2,"694":1}}],["ways",{"2":{"7":1,"51":1,"169":1,"179":1,"295":1,"307":1,"407":1,"731":1}}],["warn",{"2":{"574":1}}],["warning",{"0":{"14":1},"2":{"13":1,"14":1,"106":1,"108":1,"312":1,"317":1,"459":1,"467":1,"472":1,"478":1,"530":1,"533":2,"591":1,"728":1}}],["warm",{"2":{"63":1}}],["warranties",{"2":{"45":1}}],["wants",{"2":{"534":1,"535":1,"682":1}}],["wanting",{"2":{"310":1}}],["wantedby=multi",{"2":{"536":2,"742":2,"744":2,"745":2,"746":2}}],["wanted",{"2":{"197":2,"534":2,"629":2,"636":2}}],["want",{"2":{"19":1,"48":1,"99":1,"177":1,"178":1,"180":1,"211":1,"216":1,"246":1,"249":2,"271":1,"302":1,"312":1,"327":2,"406":1,"410":4,"416":1,"424":1,"461":1,"487":1,"492":1,"493":1,"501":1,"510":3,"512":1,"526":1,"536":1,"538":1,"542":1,"563":1,"571":2,"587":1,"604":2,"618":1,"619":2,"620":2,"629":2,"636":1,"678":2,"682":1,"687":1,"720":1,"734":1,"739":1}}],["wasm",{"0":{"99":1},"2":{"99":2}}],["wasm32",{"2":{"96":2}}],["was",{"2":{"13":1,"29":1,"45":1,"128":1,"129":5,"131":1,"135":1,"137":1,"147":6,"148":1,"153":6,"157":1,"159":2,"169":1,"178":1,"190":1,"192":1,"222":1,"247":1,"273":1,"295":1,"320":1,"332":1,"333":2,"334":1,"364":1,"386":3,"410":4,"413":1,"430":1,"435":1,"436":1,"517":1,"530":1,"535":2,"580":1,"623":1,"629":1,"662":1,"696":1,"742":1,"744":1,"745":1,"746":1}}],["wise",{"2":{"435":1}}],["wish",{"2":{"391":1,"402":1,"406":1,"519":1}}],["wisdom",{"2":{"74":1}}],["width",{"2":{"249":2,"250":8}}],["windows",{"2":{"652":1,"659":2}}],["window",{"2":{"222":1,"223":1,"250":6,"298":8,"390":4,"674":1,"747":1,"748":1,"749":1}}],["wiki",{"2":{"9":1}}],["willingness",{"2":{"406":1}}],["willing",{"2":{"308":1,"404":1}}],["will",{"2":{"9":2,"11":1,"12":1,"22":2,"25":1,"27":1,"29":1,"33":1,"42":6,"44":1,"45":8,"46":2,"48":5,"49":1,"50":2,"51":3,"52":2,"58":1,"59":1,"60":2,"61":1,"62":1,"65":1,"66":3,"68":1,"70":1,"71":2,"82":2,"87":1,"88":1,"90":1,"99":1,"100":1,"108":3,"111":1,"117":3,"118":2,"119":2,"120":2,"131":1,"132":1,"133":3,"137":1,"145":1,"146":1,"147":5,"149":3,"151":1,"159":3,"165":1,"177":1,"179":2,"186":1,"190":3,"193":1,"194":1,"197":2,"198":1,"199":1,"200":2,"204":3,"205":1,"206":1,"209":1,"213":2,"215":1,"216":4,"222":1,"223":2,"224":1,"226":1,"227":1,"234":2,"235":2,"236":1,"238":2,"239":1,"245":3,"246":3,"250":4,"252":1,"254":2,"255":1,"258":1,"261":1,"263":1,"264":1,"268":1,"271":1,"272":1,"280":1,"288":3,"293":1,"295":1,"297":1,"298":5,"299":1,"302":1,"312":1,"314":1,"317":1,"319":1,"320":1,"322":2,"323":1,"324":1,"325":2,"326":2,"327":1,"328":1,"329":3,"330":1,"331":1,"332":5,"333":6,"334":1,"336":1,"337":1,"340":3,"343":1,"351":1,"360":1,"361":1,"362":1,"365":1,"366":1,"367":1,"368":1,"370":3,"373":3,"380":5,"381":1,"382":1,"383":1,"384":2,"385":1,"386":3,"387":1,"388":2,"389":1,"390":5,"391":2,"393":1,"401":1,"406":3,"410":4,"413":2,"414":1,"416":1,"417":1,"423":1,"424":1,"436":1,"439":1,"441":1,"446":1,"447":2,"456":1,"461":1,"472":2,"475":1,"477":2,"483":1,"487":2,"492":2,"493":2,"494":1,"500":2,"501":2,"506":3,"507":1,"509":1,"510":2,"515":1,"516":1,"517":4,"518":1,"519":1,"521":1,"522":2,"524":1,"526":2,"527":3,"528":2,"529":2,"530":7,"533":2,"534":4,"539":3,"542":2,"543":3,"544":1,"545":1,"546":1,"552":1,"553":1,"554":2,"560":3,"563":1,"572":6,"576":2,"579":1,"580":4,"581":3,"583":3,"584":1,"585":3,"587":3,"589":2,"591":1,"592":1,"593":1,"596":2,"601":1,"607":1,"613":1,"615":1,"619":1,"620":3,"621":1,"629":1,"635":1,"636":2,"637":1,"641":1,"646":2,"647":2,"654":4,"655":1,"656":1,"660":1,"662":1,"663":1,"671":2,"674":1,"675":1,"676":1,"677":7,"679":1,"680":1,"681":1,"684":2,"685":1,"688":3,"689":3,"693":2,"698":2,"700":2,"706":2,"710":1,"716":1,"720":1,"734":2,"737":1,"739":2,"742":1,"744":1,"745":2,"746":3,"747":1}}],["withdraw",{"2":{"565":2}}],["withdrawalsroot",{"2":{"360":2}}],["withheld",{"2":{"414":1}}],["withhold",{"2":{"414":1,"436":1}}],["withholding",{"2":{"414":1}}],["withtransportcredentials",{"2":{"410":2}}],["withcancel",{"2":{"386":2,"387":2}}],["within",{"2":{"10":1,"16":1,"44":2,"45":1,"58":1,"61":1,"68":1,"83":1,"293":1,"327":1,"390":1,"438":1,"521":1,"538":1,"659":1,"747":1,"748":1}}],["without",{"2":{"8":1,"42":1,"45":1,"179":1,"197":1,"250":2,"330":1,"364":1,"370":1,"391":1,"415":1,"416":1,"426":1,"434":1,"447":1,"506":1,"519":3,"651":1,"653":1}}],["with",{"0":{"34":1,"36":1,"87":1,"89":1,"99":1,"101":1,"119":1,"121":1,"130":1,"158":1,"169":1,"186":1,"209":1,"213":1,"224":1,"235":1,"256":1,"260":1,"265":1,"297":1,"299":1,"304":1,"477":1,"555":1,"556":1,"568":1,"634":1,"654":1,"672":1,"673":1,"702":1,"703":1,"740":1,"742":1},"1":{"102":1,"103":1,"104":1,"105":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"225":1,"226":1,"261":1,"262":1,"263":1,"264":1,"266":1,"267":1,"268":1,"298":1,"300":1,"301":1,"302":1,"655":1,"656":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"1":1,"2":1,"3":2,"5":1,"14":3,"15":3,"21":1,"22":5,"25":3,"27":3,"28":4,"29":4,"31":4,"33":5,"41":1,"42":5,"43":6,"44":4,"45":18,"46":1,"48":2,"50":1,"51":2,"52":1,"54":2,"55":1,"56":2,"58":5,"60":5,"61":7,"62":2,"63":2,"64":5,"65":3,"66":1,"67":1,"68":1,"71":1,"72":2,"73":1,"79":1,"81":1,"83":1,"87":4,"88":3,"89":1,"98":1,"99":2,"102":5,"104":1,"107":1,"108":1,"113":2,"114":2,"115":1,"118":2,"119":1,"129":3,"133":3,"137":1,"141":1,"145":1,"146":1,"149":1,"153":4,"158":2,"160":3,"162":3,"163":1,"166":1,"168":3,"169":1,"171":2,"173":1,"176":1,"178":1,"180":1,"181":2,"190":1,"197":2,"207":1,"212":1,"213":1,"216":1,"221":1,"222":3,"223":5,"229":2,"230":2,"231":1,"233":1,"234":2,"235":1,"237":2,"238":1,"242":2,"244":1,"245":3,"246":1,"247":1,"248":1,"249":1,"250":1,"252":2,"254":4,"255":3,"256":1,"257":1,"261":1,"270":1,"272":1,"279":1,"283":1,"285":1,"286":1,"289":2,"290":2,"294":1,"295":1,"296":1,"303":1,"305":1,"307":2,"310":2,"311":1,"322":3,"324":2,"325":4,"326":1,"327":5,"328":1,"329":3,"330":2,"331":1,"332":2,"333":1,"336":1,"343":1,"349":1,"350":1,"360":1,"364":4,"365":2,"368":1,"370":2,"373":1,"378":2,"380":1,"382":1,"383":1,"386":3,"387":1,"388":2,"392":2,"393":1,"396":2,"397":1,"401":1,"404":1,"406":2,"414":1,"418":1,"419":1,"420":1,"425":1,"427":2,"428":1,"429":6,"430":2,"432":1,"433":1,"434":1,"435":4,"436":3,"438":1,"439":1,"441":1,"453":1,"457":1,"462":1,"465":2,"466":1,"471":1,"472":1,"476":2,"477":5,"479":1,"483":1,"489":1,"500":1,"501":1,"502":1,"508":1,"513":1,"515":1,"516":1,"522":1,"528":1,"530":1,"534":4,"539":1,"544":1,"547":3,"554":2,"556":2,"557":2,"563":6,"565":1,"566":2,"567":1,"568":1,"572":5,"574":1,"575":1,"576":2,"579":1,"580":1,"581":2,"582":1,"583":2,"585":1,"590":1,"591":1,"592":3,"593":1,"594":1,"596":2,"607":1,"613":1,"615":1,"619":1,"630":1,"634":2,"635":1,"637":1,"643":1,"649":3,"653":1,"656":1,"659":1,"671":2,"673":1,"675":3,"676":1,"678":2,"682":1,"685":1,"687":3,"688":2,"689":2,"691":4,"692":1,"694":1,"699":2,"700":3,"703":1,"704":1,"706":2,"709":1,"716":2,"722":1,"725":2,"726":1,"728":1,"734":1,"736":1,"737":1,"747":1}}],["while",{"2":{"59":1,"114":1,"149":1,"169":1,"213":1,"230":1,"283":1,"288":1,"295":2,"343":1,"391":1,"392":1,"428":1,"433":1,"436":1,"513":1,"538":1,"677":1,"706":1,"733":1,"738":1}}],["whiteboard",{"2":{"58":1}}],["whiteboards",{"2":{"54":1,"58":1}}],["white",{"2":{"45":1}}],["which",{"0":{"648":1},"1":{"649":1,"650":1},"2":{"8":1,"41":3,"42":1,"45":3,"48":1,"59":1,"65":1,"66":1,"87":1,"102":1,"103":1,"104":1,"129":1,"132":1,"133":2,"135":1,"145":2,"146":2,"147":2,"148":1,"149":2,"150":1,"151":1,"153":4,"158":1,"165":1,"166":1,"169":2,"212":1,"216":1,"222":1,"249":2,"254":1,"269":1,"270":1,"280":1,"283":1,"293":1,"295":1,"307":1,"311":1,"312":1,"324":1,"332":4,"333":4,"334":1,"336":1,"364":1,"365":1,"366":1,"368":1,"373":1,"380":1,"386":3,"390":1,"391":1,"392":1,"403":1,"414":1,"422":1,"423":1,"433":1,"438":2,"441":1,"454":1,"461":1,"465":3,"475":1,"494":1,"517":1,"529":1,"530":1,"534":1,"552":1,"553":1,"554":1,"563":1,"572":2,"580":1,"583":1,"587":1,"589":1,"624":1,"632":1,"643":2,"646":2,"648":1,"650":1,"653":1,"663":1,"671":2,"675":2,"689":2,"691":1,"692":1,"693":1,"699":3,"709":4,"710":1,"720":1,"725":3,"737":1,"739":1,"742":2,"744":2,"745":2,"746":2}}],["whose",{"2":{"534":1}}],["whole",{"2":{"427":1}}],["who",{"0":{"424":1},"2":{"42":1,"45":1,"52":1,"61":1,"63":2,"64":3,"83":1,"161":1,"169":1,"308":1,"312":1,"331":1,"682":1,"689":1,"734":1}}],["why",{"0":{"418":1,"423":1},"2":{"13":1,"66":5,"83":1,"675":1}}],["whenever",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"48":1,"63":1,"237":1,"461":1,"720":1}}],["when",{"2":{"9":1,"10":1,"60":1,"66":1,"68":1,"83":1,"99":1,"103":1,"150":1,"169":1,"222":1,"242":2,"245":1,"250":3,"252":1,"282":1,"295":1,"325":1,"327":1,"328":1,"334":1,"370":1,"386":2,"387":2,"390":1,"404":1,"405":1,"413":2,"414":1,"430":1,"447":1,"506":1,"509":1,"514":1,"522":2,"527":1,"530":1,"534":2,"563":1,"571":2,"572":2,"582":1,"586":1,"590":1,"591":1,"592":1,"638":1,"644":1,"646":2,"655":1,"676":1,"688":1,"701":1}}],["where",{"0":{"422":1},"2":{"8":1,"51":1,"134":1,"147":2,"151":1,"206":2,"264":1,"268":1,"323":1,"325":1,"327":1,"378":1,"380":1,"381":1,"387":1,"388":1,"391":3,"392":1,"402":1,"403":1,"404":1,"418":1,"429":1,"435":1,"479":1,"501":1,"502":1,"539":1,"547":1,"558":1,"674":1,"701":1,"705":1,"728":1,"747":1}}],["whether",{"2":{"2":1,"45":1,"60":1,"298":3,"414":1,"420":1,"426":1,"647":1,"747":1}}],["whatever",{"2":{"211":1}}],["what",{"0":{"178":1,"293":1,"294":1,"395":1,"413":1,"414":1,"416":1,"417":1,"419":1,"420":1,"421":1,"425":1},"2":{"8":1,"21":1,"50":1,"66":4,"77":1,"78":1,"79":1,"108":1,"115":1,"120":1,"131":1,"134":1,"137":1,"177":1,"231":1,"236":1,"239":1,"257":1,"331":1,"333":1,"343":1,"387":2,"389":1,"471":1,"521":1,"538":1,"581":1,"585":1,"675":1}}],["went",{"2":{"629":1}}],["weak",{"2":{"420":1,"622":1}}],["we+s5gft6g944xbkvvygqb9oy+u",{"2":{"194":2,"195":2}}],["webhook",{"2":{"574":1}}],["websocket",{"2":{"271":4}}],["websites",{"2":{"718":1}}],["website",{"2":{"64":1,"297":1,"298":2}}],["web",{"0":{"468":1,"480":1},"2":{"247":1,"468":1,"480":1,"572":1}}],["web3provider",{"2":{"250":4}}],["web3",{"2":{"66":1,"68":1,"238":1}}],["wei",{"2":{"52":1}}],["wednesdays",{"2":{"50":1}}],["wednesday",{"2":{"21":1,"22":1,"23":1,"25":1,"27":1,"28":1,"29":1,"31":1,"32":1,"36":1,"37":1}}],["weeks",{"2":{"63":1}}],["weekly",{"2":{"50":1}}],["week",{"0":{"20":1,"21":1,"22":1,"23":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"479":1,"728":1}}],["were",{"2":{"17":1,"42":1,"45":2,"129":5,"147":6,"148":1,"388":1,"447":1,"676":1}}],["well",{"2":{"14":1,"41":1,"58":1,"59":2,"83":2,"181":1,"245":1,"270":1,"286":1,"308":1,"389":1,"507":1,"671":1}}],["welcoming",{"2":{"7":1,"58":1,"70":1}}],["welcome",{"2":{"0":1,"21":1,"41":1,"55":1,"65":2,"66":1,"67":1,"72":1,"75":1,"111":1,"378":1,"705":1}}],["we",{"2":{"2":1,"4":1,"7":2,"41":2,"42":5,"44":9,"51":2,"58":1,"66":8,"70":2,"83":2,"90":1,"100":1,"115":1,"118":2,"119":2,"120":1,"129":1,"132":4,"133":3,"134":1,"137":4,"144":1,"145":1,"146":1,"147":6,"148":2,"149":6,"151":1,"152":4,"157":1,"159":1,"180":1,"186":1,"190":1,"200":1,"201":2,"204":4,"209":1,"211":1,"215":1,"222":1,"223":2,"227":1,"231":1,"233":1,"234":3,"235":2,"238":1,"239":1,"242":5,"243":1,"244":2,"245":7,"246":7,"247":2,"248":1,"249":4,"250":8,"251":3,"252":2,"271":1,"272":2,"274":1,"276":1,"277":2,"282":1,"283":2,"284":1,"285":1,"287":1,"288":1,"290":1,"297":1,"298":6,"314":1,"320":1,"327":1,"332":6,"333":2,"336":1,"340":1,"360":1,"370":1,"378":1,"380":2,"381":1,"383":2,"384":1,"385":3,"386":12,"387":3,"388":1,"389":1,"393":1,"406":1,"410":12,"464":1,"471":1,"489":1,"492":1,"495":2,"501":1,"512":1,"515":2,"517":2,"519":1,"526":1,"528":1,"530":2,"532":1,"533":1,"538":1,"539":1,"542":1,"544":1,"545":3,"563":2,"572":1,"574":2,"585":1,"587":1,"592":1,"597":2,"602":1,"613":1,"635":1,"641":1,"655":2,"662":1,"684":2,"685":1,"706":1,"720":1,"724":1,"736":1,"739":1,"745":1}}],["dbbackend",{"2":{"646":1}}],["dns",{"2":{"522":2}}],["dns4",{"2":{"476":4}}],["dht",{"2":{"522":1}}],["d6",{"2":{"430":1}}],["d5",{"2":{"430":2}}],["d4",{"2":{"430":2}}],["d3",{"2":{"430":1}}],["ddc4gfalv4klkv5zh4e16mmo5fpnos1f5wzpds8yk3s0rvs4ulljj13euw+ovdv6q23zuv1shroevk5aptit7bgmzunvc1oikwjtxvbn0bigm6k2znwq78cnst2ez3+nzqq84ds28or",{"2":{"362":2}}],["d85c907ce660878a8203ac74baa147ccc1f87114b45b568b72ad207b62afe45e",{"2":{"340":2}}],["dynamic",{"2":{"180":1,"403":1,"404":1}}],["dymension",{"2":{"31":3,"40":1,"185":1,"396":1}}],["dl",{"2":{"94":2,"320":8,"662":8}}],["d",{"2":{"42":1,"45":1,"65":2,"137":4,"186":1,"191":1,"197":2,"250":18,"295":1,"343":1,"348":1,"357":1,"358":1,"362":2,"365":2,"369":1,"370":1,"371":1,"374":1,"377":1,"446":1,"447":2,"623":6}}],["double",{"2":{"593":1}}],["dos",{"2":{"310":1}}],["dom",{"2":{"249":2}}],["downside",{"2":{"429":1}}],["downmake",{"2":{"358":1,"375":1}}],["down",{"2":{"215":1,"226":1,"302":1,"358":2,"375":1,"405":1,"601":1,"676":1}}],["downloaded",{"2":{"391":1,"414":1}}],["downloads",{"2":{"322":1,"572":1,"596":1,"623":1}}],["downloading",{"0":{"137":1},"2":{"137":1,"319":1,"415":1,"429":2,"661":1}}],["download",{"2":{"133":1,"137":10,"187":1,"225":2,"288":1,"300":1,"317":1,"318":1,"320":1,"391":1,"413":3,"415":2,"416":1,"426":2,"427":1,"428":3,"429":1,"430":1,"432":1,"464":2,"548":1,"581":1,"609":1,"627":1,"662":1,"665":1,"695":1,"724":2}}],["downtime",{"2":{"104":2,"237":2,"363":1,"364":1}}],["doing",{"2":{"115":1,"137":1,"149":1,"178":1,"231":1,"249":1,"581":1}}],["docs",{"2":{"139":1,"158":2,"411":1,"487":1,"488":1,"574":1,"577":1,"581":2,"587":1,"622":1}}],["docker",{"0":{"220":1,"651":1},"1":{"221":1,"222":1,"223":1,"652":1,"653":1,"654":1,"655":1,"656":1,"657":1,"658":1,"659":1},"2":{"91":2,"98":4,"108":6,"221":2,"222":3,"223":4,"357":1,"359":2,"366":2,"370":1,"373":1,"651":7,"652":4,"654":1,"655":2,"656":2}}],["document",{"2":{"56":1,"249":2,"281":1,"389":1,"576":6,"708":1}}],["documentation",{"0":{"0":1,"138":1},"1":{"1":1,"2":1,"3":1,"4":1,"139":1,"140":1,"141":1},"2":{"0":1,"1":1,"3":1,"4":1,"42":3,"55":1,"128":1,"129":1,"133":2,"134":3,"159":1,"207":1,"284":1,"303":1,"305":1,"307":1,"396":1,"475":1,"496":1,"500":1,"528":1,"538":1,"544":1,"558":2,"563":1,"571":2,"638":1,"710":1}}],["done",{"2":{"88":1,"131":1,"134":1,"146":1,"148":1,"255":1,"365":1,"406":1,"530":1,"549":1,"563":1,"610":1,"627":1,"666":1,"682":1,"734":1,"748":1}}],["don",{"2":{"58":1,"63":1,"64":1,"179":1,"180":1,"181":1,"202":1,"274":1,"312":1,"410":2,"418":1,"423":1,"534":1,"646":1,"739":1}}],["doesn",{"0":{"423":1},"2":{"143":1,"181":1,"270":1,"328":1,"350":1,"516":1,"522":1,"524":1,"533":1,"539":1,"663":1}}],["does",{"0":{"422":1},"2":{"41":1,"45":3,"160":1,"190":1,"294":1,"364":1,"390":1,"392":1,"402":1,"404":1,"406":1,"429":1,"435":1,"465":1,"467":1,"471":1,"478":1,"522":1,"532":2,"613":1,"659":1,"676":1,"725":1,"728":1,"731":1}}],["do",{"0":{"415":1,"425":1},"2":{"41":3,"42":1,"43":1,"45":2,"49":1,"66":1,"98":1,"104":1,"131":1,"152":1,"178":1,"210":1,"216":2,"222":1,"237":1,"244":1,"246":1,"249":1,"252":1,"272":1,"274":1,"285":1,"302":1,"324":1,"325":1,"359":1,"371":1,"380":1,"386":1,"387":1,"389":1,"390":1,"391":1,"402":1,"415":1,"418":1,"464":1,"472":1,"477":1,"487":1,"534":1,"536":1,"553":1,"554":1,"572":2,"587":1,"589":1,"620":1,"643":1,"659":1,"671":1,"674":1,"675":1,"678":1,"683":1,"699":1,"716":1,"724":1,"737":1,"746":1}}],["daemon",{"2":{"630":1,"740":1,"742":6,"744":3,"745":3,"746":4}}],["da6ed55cb2894ac2c9c10209c09de8e8b9d109b910338d5bf3d747a7e1fc9eb7",{"2":{"514":2}}],["dah",{"2":{"340":2,"341":2,"346":2,"386":2}}],["darwin",{"2":{"320":12,"581":1,"662":12}}],["daring",{"2":{"194":2}}],["dacd",{"2":{"362":1}}],["dac",{"2":{"166":1,"167":1}}],["dacs",{"0":{"164":1},"1":{"165":1,"166":1,"167":1},"2":{"165":1,"167":2}}],["daservice",{"2":{"362":2,"365":2}}],["das",{"0":{"427":1},"1":{"428":1,"429":1},"2":{"158":1,"342":2,"416":1,"426":2,"427":2,"428":4,"429":1,"436":4,"693":1,"694":1,"746":1}}],["dashboards",{"2":{"441":1,"572":1,"636":1}}],["dashboard",{"2":{"44":1,"261":2,"262":1,"264":1,"268":1,"477":1,"572":5,"587":1,"716":2}}],["daverifier",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1},"2":{"129":3,"147":1}}],["da`",{"2":{"108":2}}],["da",{"0":{"101":1,"431":1,"477":1,"716":1},"1":{"102":1,"103":1,"104":1,"105":1,"432":1},"2":{"98":4,"104":2,"105":1,"106":1,"107":1,"108":8,"131":1,"133":4,"134":1,"137":1,"158":1,"169":5,"214":1,"237":1,"282":1,"290":2,"295":5,"308":2,"310":2,"312":1,"316":1,"349":1,"362":12,"365":6,"373":11,"426":3,"428":2,"430":4,"432":3,"433":6,"436":5,"476":5,"477":5,"547":1,"601":1,"693":1,"694":1,"716":7,"727":8,"737":2,"738":1}}],["dappforge",{"2":{"241":1}}],["dappsys",{"2":{"242":1}}],["dapps",{"2":{"102":1,"238":1}}],["dapp",{"0":{"84":1,"254":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"255":1,"256":1,"257":1},"2":{"102":1,"120":1,"176":1,"238":1,"241":3,"246":1,"251":1,"253":1,"291":1,"396":2}}],["dai",{"2":{"52":1}}],["date",{"2":{"45":3,"54":1,"322":1,"596":1}}],["datafromevmtransactions",{"2":{"364":3}}],["datastring",{"2":{"386":6}}],["datasetting",{"2":{"314":1}}],["datasharelen",{"2":{"132":4}}],["datasharestart",{"2":{"132":4}}],["dataretrieving",{"2":{"314":1}}],["dataroottupleroot",{"2":{"145":1}}],["dataroottuples",{"2":{"126":5,"127":1,"160":1}}],["dataroottuple",{"2":{"125":4,"126":2,"127":1,"129":1,"145":1,"147":2,"153":5}}],["dataroot",{"2":{"103":2,"125":4,"153":5}}],["data",{"0":{"126":1,"129":1,"134":1,"140":1,"145":1,"148":1,"164":1,"332":1,"333":1,"342":1,"361":1,"362":1,"389":1,"390":1,"400":1,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"419":1,"420":1,"421":2,"423":1,"424":1,"425":1,"426":1,"427":1,"429":1,"432":1,"436":1,"594":1,"617":1,"704":1,"715":1,"743":1},"1":{"165":1,"166":1,"167":1,"390":1,"391":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"427":1,"428":2,"429":2,"430":1,"431":1,"432":1,"716":1,"744":1,"745":1,"746":1},"2":{"29":3,"42":2,"61":1,"66":1,"77":1,"102":2,"103":5,"104":7,"109":1,"125":5,"126":1,"127":1,"128":1,"129":8,"131":2,"132":31,"133":7,"134":7,"135":16,"137":10,"140":1,"145":8,"146":6,"147":14,"148":1,"150":1,"151":1,"152":1,"153":26,"154":3,"157":3,"158":3,"159":4,"160":2,"161":1,"163":1,"165":3,"166":4,"167":2,"169":13,"171":1,"178":3,"180":2,"197":2,"216":1,"237":2,"250":16,"285":3,"286":1,"289":1,"290":1,"294":1,"295":13,"314":2,"316":1,"317":3,"323":1,"332":9,"333":10,"334":1,"340":2,"356":1,"361":1,"363":1,"364":6,"365":1,"370":2,"376":1,"378":3,"386":11,"387":1,"388":1,"389":7,"390":9,"391":12,"392":2,"393":1,"400":2,"408":2,"409":2,"410":8,"411":1,"413":11,"414":7,"415":7,"416":9,"417":2,"418":6,"419":4,"420":6,"421":4,"422":3,"423":9,"424":4,"425":6,"426":5,"427":11,"428":3,"429":11,"430":14,"432":5,"433":2,"434":6,"435":15,"436":9,"438":9,"451":1,"452":1,"461":1,"476":1,"483":2,"487":1,"521":1,"522":1,"534":2,"539":1,"546":1,"547":3,"572":4,"584":1,"585":1,"587":2,"594":1,"595":1,"615":1,"617":2,"620":3,"623":19,"629":2,"630":2,"636":2,"641":1,"642":2,"649":3,"654":3,"663":1,"664":1,"693":2,"694":1,"706":1,"720":1,"731":5,"737":2,"746":1}}],["damage",{"2":{"42":1}}],["days",{"2":{"59":1,"390":1,"621":1}}],["day",{"2":{"37":2,"48":1,"63":1}}],["dubbing",{"2":{"432":1}}],["dusknet",{"2":{"396":1}}],["dumps",{"2":{"215":2}}],["duty",{"2":{"194":2}}],["duality",{"2":{"40":1}}],["dues",{"2":{"65":4}}],["due",{"0":{"37":1},"2":{"37":1,"42":1,"83":1,"237":1,"403":1,"406":1,"426":1,"433":1,"436":1,"589":1}}],["during",{"0":{"55":1},"2":{"15":1,"45":1,"48":2,"55":1,"59":1,"62":1,"153":1,"364":1,"390":1,"417":1,"581":1,"604":1,"607":1,"747":1}}],["drafted",{"2":{"708":1}}],["drawing",{"2":{"74":1}}],["dropped",{"2":{"406":1}}],["drop",{"2":{"392":1,"406":1,"446":1}}],["dropdown",{"2":{"251":1}}],["drift",{"2":{"271":4}}],["drinks",{"2":{"59":4}}],["driver",{"2":{"44":1,"364":2}}],["dr",{"2":{"28":1}}],["dimensional",{"2":{"427":1,"429":4,"432":1,"435":1}}],["dial",{"2":{"410":2,"644":1}}],["diagram",{"2":{"159":1,"442":1}}],["diagrams",{"0":{"154":1},"1":{"155":1,"156":1},"2":{"3":1,"154":1}}],["dividing",{"2":{"402":1}}],["div",{"2":{"249":4,"250":36,"298":4}}],["dives",{"2":{"66":1,"77":1}}],["diverse",{"2":{"7":1}}],["digest",{"2":{"149":3}}],["digital",{"2":{"8":1,"52":1,"283":1}}],["dir",{"2":{"95":4,"592":3}}],["dir=",{"2":{"95":2}}],["direct",{"2":{"476":2,"477":1,"574":1}}],["directories",{"2":{"391":1}}],["directory",{"0":{"3":1,"190":1,"683":1,"684":1},"2":{"86":1,"113":1,"114":2,"189":1,"190":4,"192":1,"215":2,"216":6,"223":5,"229":1,"230":2,"242":1,"246":1,"247":3,"248":1,"254":1,"320":1,"322":1,"325":2,"328":1,"357":1,"365":1,"370":1,"374":1,"384":1,"385":1,"492":1,"502":1,"503":3,"504":3,"505":3,"506":1,"507":1,"511":1,"512":1,"515":1,"516":1,"526":1,"530":4,"534":1,"535":1,"542":1,"545":2,"555":1,"569":1,"580":1,"595":1,"596":1,"623":1,"654":4,"662":1,"672":1,"683":2,"689":3,"700":2,"702":1}}],["direction",{"2":{"160":1}}],["directly",{"2":{"133":1,"137":2,"159":1,"160":1,"166":1,"225":1,"285":1,"298":1,"330":1,"392":1,"402":1,"404":1,"410":2}}],["directed",{"2":{"45":1,"671":1,"699":1}}],["didn",{"2":{"517":1}}],["did",{"2":{"66":2}}],["difficulty",{"2":{"58":1,"60":1,"360":2}}],["difference",{"0":{"421":1},"2":{"137":1,"502":1,"507":1,"516":1}}],["different",{"2":{"5":1,"57":1,"82":1,"87":1,"108":2,"129":1,"137":1,"157":1,"204":1,"216":1,"254":1,"310":1,"394":1,"406":1,"422":2,"433":1,"447":1,"475":1,"503":1,"504":1,"505":1,"511":1,"535":2,"563":1,"572":1,"590":2,"592":2,"622":1,"644":1,"710":1,"731":1,"739":1}}],["differing",{"2":{"8":1}}],["disables",{"2":{"586":1,"646":1}}],["disable",{"2":{"340":2,"586":2}}],["disability",{"2":{"7":1}}],["disk",{"2":{"318":1,"484":1,"548":1,"573":1,"609":1,"627":1,"647":2,"665":1,"695":1}}],["disruptions",{"2":{"104":1,"237":1}}],["distributed",{"2":{"433":1}}],["distributor",{"2":{"45":1}}],["distributors",{"2":{"45":1}}],["distributing",{"2":{"45":1}}],["distribution",{"2":{"45":2,"283":1,"467":1,"478":1,"564":2,"565":2,"728":1}}],["disputes",{"2":{"433":1}}],["dispute",{"2":{"178":1}}],["displayed",{"2":{"560":1}}],["displaydenom",{"2":{"456":1}}],["displaying",{"2":{"55":1}}],["display",{"0":{"456":1},"2":{"44":1,"250":8,"333":1}}],["disparagement",{"2":{"16":1}}],["disqualify",{"2":{"42":1}}],["discard",{"0":{"647":1},"2":{"608":1,"647":1}}],["discussion",{"2":{"61":2}}],["discussions",{"2":{"55":1,"68":1}}],["discuss",{"2":{"61":1,"64":1,"75":1,"389":1}}],["discover",{"2":{"66":1,"290":1}}],["discovering",{"2":{"61":1,"622":1}}],["discounts",{"2":{"58":1}}],["discord",{"0":{"73":1,"479":1},"2":{"11":1,"63":2,"71":3,"72":1,"73":2,"212":1,"253":1,"272":3,"324":1,"325":2,"380":1,"479":2,"701":1,"728":2}}],["disclosure",{"2":{"45":1}}],["discretion",{"2":{"41":1,"42":1,"45":1}}],["discretionary",{"2":{"41":1}}],["discrepancies",{"2":{"4":1}}],["denoted",{"2":{"435":2}}],["denomination",{"0":{"457":1,"458":1},"2":{"457":2}}],["denominations",{"0":{"455":1},"1":{"456":1,"457":1,"458":1}}],["denominated",{"2":{"451":1}}],["denominator",{"2":{"271":4}}],["denom",{"2":{"197":4,"198":2,"200":4,"271":4,"302":1,"336":2,"337":2,"563":2}}],["deal",{"2":{"436":1}}],["dealing",{"2":{"429":1}}],["dealer",{"2":{"45":1}}],["deducting",{"2":{"402":1}}],["deducted",{"2":{"402":1}}],["dedicated",{"2":{"55":1,"71":1,"102":2,"168":1,"183":1}}],["debugging",{"2":{"557":2}}],["debug",{"2":{"108":2,"557":2}}],["defer",{"2":{"386":2,"387":2,"410":2}}],["defaultestimategas",{"2":{"404":1,"405":2,"410":2}}],["defaults",{"2":{"324":1,"380":1,"404":1,"553":1,"563":1,"646":1}}],["default",{"2":{"104":2,"108":1,"180":1,"216":2,"249":2,"250":2,"271":4,"283":1,"298":2,"324":1,"328":1,"336":1,"369":1,"370":2,"380":1,"390":1,"401":1,"403":1,"406":1,"462":1,"465":1,"466":1,"477":1,"492":2,"494":1,"503":4,"504":4,"505":4,"507":1,"512":1,"516":1,"526":2,"529":1,"530":13,"534":2,"542":2,"545":1,"553":1,"555":1,"557":2,"571":2,"572":6,"582":1,"583":1,"589":1,"590":1,"591":1,"601":1,"602":1,"604":2,"607":1,"617":3,"620":4,"621":1,"643":1,"646":1,"647":1,"672":1,"691":1,"702":1,"722":1,"725":1,"726":1}}],["definitions",{"2":{"355":1,"372":1,"447":2}}],["defining",{"0":{"132":1},"2":{"133":1}}],["defines",{"2":{"364":1,"636":1}}],["define",{"2":{"61":1,"132":2,"146":1,"180":1,"466":1,"726":1}}],["defined",{"2":{"41":3,"42":1,"45":6,"133":1,"145":1,"149":1,"447":2,"502":1,"515":1,"516":1,"636":1,"676":1}}],["defi",{"2":{"49":1,"61":1}}],["demand",{"2":{"102":1}}],["demon",{"2":{"226":1}}],["demonstration",{"2":{"109":1,"324":1,"685":1}}],["demonstrating",{"2":{"8":1,"16":1}}],["demonstrate",{"2":{"22":1,"62":1,"298":1}}],["demosubmitdata",{"2":{"410":2}}],["demos",{"2":{"50":1}}],["demo",{"0":{"131":1},"2":{"30":1,"37":2,"48":3,"129":1,"131":1,"132":1,"133":4,"410":2}}],["deeper",{"2":{"397":1}}],["deepen",{"2":{"83":1}}],["deep",{"2":{"66":1,"77":1}}],["deemed",{"2":{"13":1,"45":3}}],["deem",{"2":{"9":1,"12":1,"43":1}}],["delta",{"2":{"366":1}}],["delay",{"2":{"271":4,"276":4}}],["delayedcelestia",{"2":{"204":1}}],["delayed",{"2":{"186":2,"197":7,"204":1}}],["deleting",{"2":{"510":4,"559":2}}],["deleted",{"2":{"510":3,"654":1}}],["delete",{"0":{"510":1,"518":1},"2":{"214":1,"506":1,"508":4,"510":12,"516":4,"518":8,"559":2,"595":1,"641":1,"654":1}}],["delegate",{"0":{"566":1,"629":1},"2":{"566":3,"629":5}}],["delegated",{"2":{"179":1,"198":4,"636":1}}],["delegation=1000000",{"2":{"636":3}}],["delegation=1",{"2":{"569":2}}],["delegation",{"2":{"441":2,"557":2}}],["delegating",{"2":{"397":1,"453":1}}],["delegators",{"2":{"441":1}}],["delegator",{"2":{"258":1,"441":1}}],["delivering",{"2":{"83":1}}],["delivery",{"2":{"59":1}}],["delivers",{"2":{"25":1}}],["delphi",{"2":{"52":1}}],["derparam",{"2":{"386":2}}],["derive",{"2":{"364":1,"528":1}}],["derivation",{"2":{"271":4,"364":2,"508":1}}],["derivative",{"2":{"45":2}}],["derogatory",{"2":{"8":1}}],["deposit",{"2":{"563":5,"564":2}}],["depth",{"2":{"442":1}}],["deprecated",{"2":{"312":1,"317":1,"380":2,"591":1}}],["deps",{"2":{"98":2}}],["depend",{"2":{"167":1,"414":1,"417":1}}],["dependent",{"2":{"141":1,"404":1}}],["dependency",{"0":{"352":1},"1":{"353":1,"354":1},"2":{"124":1,"246":1}}],["dependenciesinstall",{"2":{"314":1,"608":1}}],["dependencies",{"0":{"85":1,"91":1,"96":1,"107":1,"228":1,"319":1,"379":1,"550":1,"611":1,"661":1,"667":1,"680":1},"1":{"92":1,"93":1,"94":1,"95":1,"96":1,"380":1,"381":1,"382":1},"2":{"90":1,"248":1,"319":1,"326":1,"353":1,"355":1,"367":1,"372":1,"379":1,"550":1,"611":1,"648":1,"651":1,"667":1,"680":1,"696":1}}],["depending",{"2":{"58":1,"59":1,"83":1,"108":2,"205":1,"249":2,"403":1,"461":1,"475":1,"581":1,"621":1,"622":1,"646":1,"710":1,"720":1}}],["depends",{"2":{"45":1,"709":1}}],["deploys",{"2":{"497":2}}],["deployer",{"2":{"118":2,"234":2,"505":5}}],["deployed",{"0":{"163":1},"2":{"66":1,"118":3,"159":2,"163":1,"234":3,"242":2,"245":2,"246":2,"252":1,"312":1,"472":1,"487":1,"538":1,"613":1,"676":1}}],["deploy",{"0":{"79":1,"84":1,"90":1,"106":1,"110":1,"227":1,"351":1,"367":1,"394":1,"497":1,"501":1,"505":1,"551":1,"630":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"107":1,"108":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"395":1,"396":1,"498":1,"499":1,"500":1,"501":1,"552":1,"553":1,"554":1,"555":1,"556":1,"631":1,"632":1,"633":1,"634":1,"635":1},"2":{"49":1,"79":1,"84":2,"85":1,"86":1,"102":1,"105":1,"107":1,"111":1,"118":2,"120":2,"168":1,"173":1,"176":3,"179":2,"183":1,"227":1,"233":2,"234":1,"236":1,"244":1,"245":1,"246":1,"254":3,"289":1,"291":4,"294":1,"367":1,"377":1,"392":2,"396":6,"472":1,"487":2,"497":7,"500":7,"501":6,"505":2,"538":2,"608":1,"720":1,"734":2}}],["deployment",{"0":{"86":1,"244":1,"368":1},"1":{"87":1,"369":1,"370":1,"371":1},"2":{"41":2,"86":1,"118":1,"159":1,"234":1,"244":1,"254":1,"377":1,"487":1}}],["deploying",{"0":{"116":1,"179":1,"232":1,"245":1,"246":1,"254":1,"377":1},"1":{"117":1,"118":1,"233":1,"234":1,"255":1,"256":1,"257":1},"2":{"3":1,"79":1,"90":1,"100":1,"106":1,"111":1,"179":2,"184":1,"240":1,"244":1,"246":1,"251":1,"394":1,"452":2,"497":1,"705":1,"733":1}}],["decreasing",{"2":{"449":1}}],["decreases",{"2":{"442":1}}],["deciding",{"0":{"648":1},"1":{"649":1,"650":1}}],["decide",{"2":{"646":1}}],["decision",{"2":{"510":2}}],["decisions",{"2":{"9":1}}],["decimals",{"2":{"226":1,"249":2,"302":1,"449":1}}],["declare",{"2":{"204":1,"216":1,"222":1,"325":1,"554":1,"590":1,"671":1,"699":1}}],["decline",{"2":{"194":2}}],["decouple",{"2":{"433":1}}],["decoupling",{"2":{"180":1,"181":1,"294":1,"434":1}}],["decodestring",{"2":{"386":4}}],["decode",{"2":{"378":1,"386":2,"388":1,"410":2}}],["decoded",{"2":{"149":4,"333":1,"364":1}}],["decoding",{"2":{"150":1,"271":4,"386":4}}],["decentralised",{"0":{"443":1,"454":1},"1":{"444":1,"445":1},"2":{"454":2}}],["decentralization",{"0":{"165":1}}],["decentralized",{"2":{"102":2,"167":1,"257":1,"294":1}}],["december",{"0":{"32":1},"2":{"31":1,"32":1,"33":3,"34":1}}],["deck",{"2":{"62":2}}],["dec",{"0":{"33":1,"34":1,"35":1}}],["desktop",{"2":{"651":1,"652":1,"654":1}}],["descendants",{"2":{"430":2}}],["desc",{"2":{"350":2,"532":4}}],["describing",{"2":{"432":1}}],["describes",{"2":{"132":2,"269":1,"613":1,"630":1}}],["described",{"2":{"41":1,"42":1,"45":1,"148":1,"150":1,"435":3,"446":1,"447":1}}],["description=celestia",{"2":{"742":2,"744":2,"745":2,"746":2}}],["description=blobstream",{"2":{"536":2}}],["description",{"0":{"68":1},"2":{"21":1,"60":1,"62":1,"65":3,"403":1,"446":1,"563":6,"564":2,"582":1,"591":1,"676":1}}],["destination",{"2":{"212":1,"269":1}}],["desired",{"2":{"267":1,"320":1,"322":1,"580":1,"596":1,"662":1}}],["desire",{"2":{"62":1}}],["designs",{"2":{"395":1}}],["designate",{"2":{"55":1}}],["designated",{"2":{"41":2}}],["design",{"0":{"587":1},"2":{"48":1,"167":1,"181":1,"392":1,"488":1,"572":1,"585":1,"587":1,"607":1}}],["designed",{"2":{"46":1,"67":1,"68":1,"75":1,"103":1,"167":1,"309":1,"429":1,"720":2,"734":1}}],["designing",{"0":{"24":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"48":1}}],["details",{"0":{"198":1,"199":1,"473":1},"1":{"474":1},"2":{"46":1,"65":1,"154":1,"159":1,"194":1,"198":1,"199":1,"251":1,"267":1,"305":1,"306":1,"312":1,"313":1,"317":1,"404":1,"427":1,"430":1,"432":2,"436":1,"449":1,"487":1,"491":1,"499":1,"525":1,"538":1,"541":1,"591":1}}],["detailed",{"2":{"2":1,"65":1,"438":1,"563":1}}],["detecting",{"2":{"622":1}}],["detects",{"2":{"298":1}}],["detected",{"2":{"137":1}}],["detect",{"2":{"44":1,"133":1}}],["deterministic",{"2":{"433":1}}],["determining",{"2":{"12":1,"403":1}}],["determined",{"2":{"135":1,"404":1,"709":3}}],["determine",{"2":{"44":1,"54":1,"59":2,"61":1,"66":1,"447":1,"461":1,"475":1,"710":1,"720":1}}],["devops",{"2":{"586":1}}],["devs",{"2":{"446":1}}],["device",{"2":{"300":1}}],["devnpm",{"2":{"252":1}}],["devnetl1",{"2":{"366":1}}],["devnet",{"0":{"84":1,"90":1,"118":1,"187":1,"188":1,"189":1,"191":1,"193":1,"197":1,"198":1,"199":1,"200":1,"351":1,"355":1,"356":1,"357":1,"358":1,"367":1,"369":1,"372":1,"373":1,"374":1,"375":1,"376":1,"459":1,"467":1,"471":1,"478":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"188":1,"189":2,"190":2,"191":2,"192":2,"193":1,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":2,"352":1,"353":1,"354":1,"355":1,"356":2,"357":2,"358":2,"359":2,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":2,"469":1,"470":1,"472":1,"473":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":2,"480":2,"481":1,"482":1},"2":{"84":1,"85":1,"98":7,"100":1,"105":1,"107":1,"108":2,"111":1,"112":1,"117":3,"120":1,"169":1,"186":1,"189":1,"190":1,"191":1,"192":4,"200":1,"201":1,"204":1,"208":1,"233":1,"291":2,"295":1,"298":2,"302":2,"322":1,"324":1,"325":1,"351":1,"356":2,"357":3,"358":4,"359":1,"365":2,"366":1,"367":1,"368":2,"369":1,"373":5,"374":3,"375":3,"376":3,"396":2,"459":3,"462":1,"471":1,"472":1,"475":1,"476":1,"477":1,"479":1,"553":1,"576":2,"602":1,"632":1,"671":2,"676":1,"699":1,"701":1,"720":1,"734":2,"739":1}}],["devmake",{"2":{"98":1}}],["devcd",{"2":{"86":1,"254":1}}],["developing",{"2":{"293":1,"671":1}}],["development",{"0":{"238":1,"660":1},"1":{"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"661":1,"662":1},"2":{"102":2,"179":1,"247":1,"293":1,"319":2,"446":2,"596":1,"660":2,"720":1,"733":1}}],["developer",{"2":{"63":1,"177":1,"307":1,"587":1,"678":1,"749":1}}],["developers",{"2":{"3":1,"102":2,"158":4,"168":1,"170":2,"171":1,"177":1,"180":1,"181":3,"182":1,"183":1,"184":1,"185":1,"308":1,"389":1,"391":1,"438":1,"446":1,"451":2,"452":3,"459":1,"471":1,"472":1,"477":1,"483":1,"720":1,"734":2}}],["develop",{"2":{"62":1,"97":2,"98":2,"354":3}}],["devrel",{"2":{"59":1,"61":1}}],["dev",{"2":{"1":1,"86":1,"88":4,"92":2,"98":1,"99":2,"109":2,"153":2,"252":1,"254":1,"255":4,"319":4,"536":2,"661":4,"742":2,"744":2,"745":2,"746":2}}],["devyarn",{"2":{"1":1}}],["yconfirm",{"2":{"636":1}}],["ycelestia",{"2":{"565":1,"567":1}}],["ycd",{"2":{"113":1,"229":1}}],["yparity",{"2":{"361":2}}],["yum",{"2":{"319":4,"661":4}}],["y33zld2luvedelzzr9cf92+2etaimiwhn9pcaqaszwpqckykhy9jb3ntb3muy3j5chrvlnnly3ayntzrms5qdwjlzxksiwoha36hewmw",{"2":{"146":2}}],["yhcdb4cz7z4lrxmvrq5f8=",{"2":{"145":2}}],["ymlglobal",{"2":{"572":1}}],["yml",{"2":{"98":1,"223":2,"366":1,"370":1,"373":1,"572":3,"573":1}}],["ysudo",{"2":{"92":1,"319":3,"661":3}}],["y",{"2":{"92":3,"113":1,"197":9,"229":1,"319":3,"565":1,"567":1,"636":4,"637":2,"661":3}}],["yet",{"2":{"135":1,"350":1,"392":1,"524":1,"597":1,"621":1,"677":1}}],["yesterday",{"2":{"568":2}}],["yes",{"2":{"66":1,"197":1,"441":1,"510":4,"534":2,"563":1,"576":2}}],["year",{"2":{"45":4,"442":2,"447":11,"449":2}}],["years",{"2":{"42":1,"733":1}}],["yamlda",{"2":{"373":1}}],["yamlversion",{"2":{"223":1}}],["yaml",{"2":{"98":1,"108":1}}],["yaz",{"2":{"21":2,"22":3}}],["yarncd",{"2":{"247":1}}],["yarn",{"2":{"1":2,"86":4,"95":4,"247":1,"248":1,"254":4}}],["youth",{"2":{"194":2}}],["youtube",{"2":{"58":1,"64":2}}],["yours",{"2":{"108":2,"190":1,"524":1}}],["yourself",{"2":{"45":1,"48":1,"108":1,"298":1,"572":2}}],["your",{"0":{"84":1,"108":1,"109":1,"110":1,"114":1,"115":1,"116":1,"119":1,"195":1,"197":1,"203":1,"206":1,"222":1,"230":1,"231":1,"232":1,"235":1,"259":1,"261":1,"263":1,"264":1,"266":1,"268":1,"336":1,"338":1,"339":1,"368":1,"385":1,"549":1,"592":1,"593":1,"598":1,"637":1,"639":1,"666":1,"690":1,"691":1,"696":1,"740":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":2,"118":2,"119":1,"120":1,"233":1,"234":1,"369":1,"370":1,"371":1,"550":1,"667":1,"697":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"2":5,"5":1,"23":1,"29":1,"33":1,"41":5,"42":5,"43":7,"44":9,"45":15,"48":1,"51":1,"53":1,"58":4,"59":7,"60":6,"61":11,"62":14,"63":15,"64":7,"65":8,"66":1,"68":1,"71":1,"73":1,"74":2,"75":1,"81":1,"83":3,"84":1,"85":1,"86":3,"87":2,"88":2,"89":2,"91":1,"98":1,"100":1,"108":3,"109":2,"111":1,"112":1,"113":1,"114":2,"115":2,"117":1,"119":1,"120":2,"162":3,"173":1,"178":1,"186":1,"191":1,"192":2,"194":5,"197":1,"200":1,"202":1,"203":1,"204":1,"206":1,"211":2,"212":2,"213":1,"216":4,"218":1,"221":1,"222":2,"223":3,"226":1,"228":1,"229":1,"230":2,"231":2,"234":2,"235":1,"240":4,"246":2,"248":1,"250":6,"251":2,"252":3,"253":3,"254":6,"255":2,"256":2,"262":1,"263":1,"267":1,"272":1,"295":1,"296":1,"298":1,"301":1,"302":1,"311":1,"319":3,"320":3,"323":2,"324":2,"325":6,"327":3,"328":1,"329":3,"330":4,"331":1,"333":3,"338":1,"339":1,"343":1,"344":1,"348":1,"350":1,"351":1,"362":1,"366":2,"367":1,"368":1,"370":4,"373":3,"380":5,"381":1,"383":1,"398":1,"399":1,"441":1,"461":1,"471":1,"475":1,"477":3,"500":1,"509":2,"510":6,"515":1,"524":2,"528":2,"530":6,"534":8,"544":1,"545":2,"546":1,"553":3,"554":3,"557":4,"560":1,"565":1,"566":1,"567":1,"568":7,"569":2,"570":1,"571":3,"572":3,"574":2,"580":1,"581":3,"582":3,"583":2,"584":2,"585":4,"587":1,"589":2,"591":3,"592":6,"593":5,"596":1,"597":2,"598":2,"604":2,"608":2,"609":1,"613":2,"615":2,"617":1,"618":1,"619":1,"620":2,"624":2,"627":1,"629":2,"632":1,"635":1,"636":8,"637":7,"639":2,"642":1,"644":1,"646":1,"647":1,"651":2,"653":2,"654":2,"655":1,"659":1,"660":1,"661":1,"662":3,"667":1,"671":7,"678":1,"682":1,"684":1,"685":1,"687":2,"688":3,"691":3,"692":2,"698":2,"699":4,"700":3,"701":1,"704":1,"710":1,"716":3,"720":1,"739":2,"742":1,"748":1}}],["you",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"0":2,"2":1,"4":1,"19":1,"33":2,"41":6,"42":23,"43":9,"44":4,"45":29,"48":7,"49":2,"51":5,"53":4,"54":1,"57":1,"58":4,"59":7,"60":4,"61":3,"63":1,"64":3,"65":11,"66":8,"71":2,"72":1,"74":2,"75":2,"78":1,"79":1,"81":2,"82":1,"83":4,"86":1,"87":8,"88":3,"89":1,"98":6,"99":2,"108":6,"109":1,"111":1,"114":1,"117":1,"118":2,"120":2,"132":1,"133":2,"159":1,"163":1,"171":1,"173":2,"176":2,"177":4,"178":3,"182":1,"186":1,"187":1,"190":1,"191":2,"192":2,"193":2,"194":3,"197":4,"198":1,"199":1,"200":3,"201":1,"202":1,"204":2,"205":3,"206":4,"207":1,"208":1,"209":1,"210":1,"211":4,"212":2,"213":3,"215":1,"216":7,"217":1,"222":4,"223":2,"224":1,"225":2,"226":4,"230":1,"233":1,"234":2,"236":3,"238":4,"239":2,"242":1,"245":2,"246":3,"249":2,"250":2,"252":6,"253":2,"254":10,"255":3,"256":1,"258":3,"264":2,"268":2,"271":3,"272":1,"273":1,"274":2,"275":1,"276":3,"285":1,"295":2,"296":2,"297":1,"298":3,"299":1,"300":1,"301":3,"302":6,"305":1,"306":1,"312":2,"317":4,"319":1,"320":1,"322":3,"324":4,"325":11,"326":3,"327":6,"328":1,"329":3,"330":3,"331":2,"332":1,"333":3,"334":2,"337":1,"343":3,"344":1,"348":2,"349":2,"350":2,"351":1,"357":1,"358":1,"359":2,"361":1,"365":1,"366":1,"367":1,"368":2,"369":2,"370":9,"371":2,"373":4,"374":1,"377":1,"378":5,"380":7,"381":1,"383":4,"386":6,"387":6,"388":1,"392":2,"393":2,"405":1,"413":1,"441":1,"456":1,"461":8,"462":1,"464":3,"467":1,"469":1,"471":1,"475":3,"476":2,"478":1,"479":1,"481":1,"483":2,"484":1,"485":1,"487":5,"492":3,"493":2,"494":1,"500":5,"501":3,"506":1,"509":1,"510":8,"511":1,"521":1,"524":1,"526":3,"527":1,"528":4,"529":1,"530":10,"534":7,"536":4,"537":1,"538":3,"542":3,"543":1,"544":3,"545":4,"553":3,"554":8,"556":1,"558":1,"560":3,"563":2,"565":1,"566":2,"567":1,"568":2,"569":3,"571":6,"572":10,"574":3,"579":1,"580":4,"581":3,"582":3,"583":3,"584":1,"585":1,"586":1,"587":2,"589":1,"591":5,"592":5,"593":2,"595":2,"596":4,"597":3,"598":2,"600":1,"601":1,"604":3,"605":1,"608":1,"609":3,"613":5,"615":1,"618":1,"619":3,"620":3,"622":2,"624":2,"626":1,"629":8,"630":2,"631":1,"632":2,"634":1,"635":1,"636":5,"637":1,"642":1,"643":2,"644":1,"646":3,"647":2,"648":2,"649":3,"650":2,"651":5,"653":4,"654":10,"655":3,"656":1,"659":1,"661":1,"662":1,"663":1,"667":1,"668":1,"671":9,"673":2,"677":2,"678":3,"679":1,"680":1,"681":1,"682":2,"683":3,"684":1,"685":1,"687":2,"688":5,"689":4,"691":6,"692":2,"693":2,"699":1,"700":6,"701":3,"704":1,"710":4,"716":2,"717":1,"720":8,"722":1,"724":3,"728":2,"729":1,"731":3,"734":1,"736":2,"737":3,"738":2,"739":5,"741":1,"742":2,"744":2,"745":2,"746":1}}],["akz",{"2":{"362":2}}],["akuumhj8fnuyvrbs38fdkeiaaaaaazb42trhw",{"2":{"362":2}}],["aka",{"2":{"131":1,"406":1}}],["away",{"2":{"452":1,"676":1}}],["await",{"2":{"250":14,"298":4}}],["awareness",{"2":{"54":1}}],["awards",{"2":{"41":1,"45":1}}],["award",{"2":{"41":4}}],["a1",{"2":{"223":2}}],["ahzu6yr9xmpixlquhgbhj9xl3wiaoz6pe3cvml",{"2":{"195":2,"199":2}}],["ahead",{"2":{"59":1,"137":1,"253":1}}],["a5jf",{"2":{"194":2,"195":2}}],["aaaaaaaaaaaaaaaaaaaaaaaaaejpdcbnowap3dm=",{"2":{"333":8}}],["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaba==",{"2":{"146":2}}],["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqbaaabxaaaacbaagroagqgaqqdaqogl2nlbgvzdglhlmjsb2iudjeutxnnugf5rm9yqmxvynmseqovy2vszxn0awexdwc1zwt0mmnjn250dzrkdg1zzdlsn3n0ctbzn3z5ztd5btjyzhishqaaaaaaaaaaaaaaaaaaaaaaaaasexiyqkmkmoizggkxaiigrflow1m",{"2":{"146":2}}],["aaaaaaaaaaaaaaaaaaaaaaaaabitejjcqyqyijkaaaaaaaaaaaaaaaaaaaaaaaaaehmsmkjdjdkimbiwnpodwizbfr0uifhpkwgy",{"2":{"146":2}}],["axtrw6s+qsnuzfgfeg37da6igop2zqck+04egqkaggbgaisewoncgr1dglheguymtawmbdq6awaqclylqpnrfod6h8mgmwxjfenhwhru39ecrvkmfknq8+hhuodhdoqig",{"2":{"146":2}}],["airdrop",{"2":{"467":1,"478":1,"728":1}}],["ai",{"2":{"378":1,"383":1,"398":1,"399":1,"712":1,"713":1,"714":1,"716":1,"718":1}}],["aiming",{"2":{"167":1}}],["aimed",{"2":{"158":1}}],["aims",{"2":{"68":1,"283":1,"293":1}}],["aim",{"2":{"61":1,"167":1}}],["aid",{"2":{"53":1,"418":1}}],["aura",{"2":{"577":2}}],["augments",{"2":{"436":1,"547":1}}],["automated",{"2":{"748":1}}],["automatically",{"2":{"405":1,"410":2,"493":1,"506":1,"527":1,"534":1,"543":1}}],["autoconnect",{"2":{"249":2}}],["autogenerated",{"2":{"222":1}}],["auto",{"2":{"197":6,"249":2,"250":4,"271":2,"565":2,"567":2}}],["authtype=",{"2":{"380":2}}],["authentication",{"0":{"381":1,"532":1},"2":{"310":1,"328":1,"329":5,"330":1,"386":2,"532":2}}],["authenticate",{"2":{"103":1}}],["authorize",{"2":{"575":1}}],["authorization",{"2":{"250":4,"328":1}}],["authority",{"2":{"250":2}}],["authorities",{"2":{"45":1}}],["auth",{"0":{"329":1,"331":1},"2":{"108":8,"197":2,"199":2,"250":4,"283":1,"327":2,"328":5,"329":9,"330":2,"331":7,"332":4,"333":2,"336":1,"381":5,"383":1,"563":2}}],["aunts",{"2":{"145":2,"146":2,"152":3}}],["audible",{"2":{"58":1}}],["audience",{"0":{"60":1},"2":{"58":1,"60":3,"61":1,"62":1,"63":1,"64":1}}],["after=network",{"2":{"536":2,"742":2,"744":2,"745":2,"746":2}}],["after",{"0":{"56":1},"2":{"45":1,"46":1,"58":1,"63":1,"64":1,"98":1,"115":1,"157":1,"231":1,"264":1,"268":1,"271":1,"273":1,"319":2,"324":1,"333":1,"380":1,"386":2,"387":1,"390":1,"500":1,"509":1,"510":1,"522":1,"528":1,"539":1,"544":1,"553":1,"560":1,"581":1,"593":1,"601":1,"629":1,"636":1,"639":1,"645":1,"646":1,"647":1,"654":1,"661":2,"675":1,"677":1,"689":1,"746":1,"747":1}}],["affect",{"2":{"748":1}}],["affected",{"2":{"8":1}}],["affordable",{"2":{"64":1}}],["affiliated",{"2":{"62":1}}],["affirm",{"2":{"45":1}}],["amd64",{"2":{"94":6,"320":12,"581":1,"662":12}}],["amd",{"2":{"90":1,"290":1,"320":1,"662":1}}],["amms",{"2":{"49":1}}],["amountceles",{"2":{"569":1}}],["amount=9000000utia",{"2":{"688":2}}],["amount=1000000utia",{"2":{"636":2}}],["amount=5000000000000utia",{"2":{"569":2}}],["amount=",{"2":{"569":2,"686":2}}],["amount",{"2":{"59":1,"197":8,"198":2,"200":4,"263":1,"267":1,"336":2,"337":2,"343":3,"403":1,"404":1,"417":1,"425":1,"434":1,"447":2,"562":2,"563":2,"564":2,"566":4,"569":3,"636":1,"647":2,"686":2,"687":1,"688":3,"709":1}}],["amounts",{"2":{"45":1}}],["among",{"2":{"45":1,"55":1,"59":1,"432":1,"433":1,"547":1,"675":1}}],["amended",{"2":{"42":1}}],["amanda",{"2":{"560":2}}],["ama",{"2":{"28":4,"29":2,"33":2}}],["ample",{"2":{"63":1}}],["amp",{"0":{"4":1,"18":1,"24":1,"440":1,"566":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":2,"26":2,"27":2,"28":2,"29":2,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1},"2":{"1":4,"2":2,"22":1,"48":1,"49":1,"50":2,"51":1,"62":1,"77":1,"78":1,"79":1,"83":1,"86":12,"92":4,"95":8,"97":4,"98":4,"113":8,"145":2,"146":2,"202":4,"229":8,"240":1,"250":12,"252":4,"254":4,"319":10,"446":3,"447":5,"547":1,"572":1,"637":2,"661":10,"744":4,"745":4}}],["agnostic",{"2":{"432":1}}],["ago",{"2":{"222":2,"223":2}}],["again",{"2":{"87":1,"254":1,"277":1,"350":1,"406":1,"436":1,"592":1,"593":1}}],["against",{"2":{"42":3,"126":1,"129":2,"595":1}}],["agreement",{"2":{"42":2,"45":3,"178":1}}],["agree",{"2":{"41":1,"42":5,"43":1,"44":1,"45":1,"433":1}}],["agreeing",{"2":{"41":1,"44":1,"45":2,"433":1}}],["ag",{"2":{"41":1}}],["aggression",{"2":{"16":1}}],["agenda",{"2":{"54":1}}],["agendas",{"2":{"5":1,"54":1}}],["agent",{"2":{"45":1}}],["age",{"2":{"7":1,"42":1}}],["avril14th",{"2":{"712":1,"713":1,"714":1}}],["average",{"2":{"226":1,"298":2}}],["avoid",{"2":{"59":1,"62":1,"63":1,"272":1,"404":1,"572":1,"654":1}}],["avoiding",{"2":{"14":1}}],["availability",{"0":{"164":1,"342":1,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"421":1,"426":1,"427":1,"432":1,"436":1,"704":1,"715":1,"743":1},"1":{"165":1,"166":1,"167":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"427":1,"428":2,"429":2,"430":1,"431":1,"432":1,"716":1,"744":1,"745":1,"746":1},"2":{"29":1,"45":1,"54":1,"60":1,"61":1,"77":1,"102":2,"103":1,"104":3,"109":1,"127":1,"129":1,"158":2,"165":3,"166":1,"167":2,"169":2,"178":1,"180":2,"237":2,"285":2,"290":1,"295":2,"314":1,"356":1,"388":1,"389":2,"390":1,"392":2,"393":1,"413":7,"414":3,"415":5,"416":4,"417":1,"418":1,"421":1,"422":1,"423":1,"426":4,"429":1,"433":1,"434":5,"435":1,"438":1,"451":1,"452":1,"461":1,"476":1,"483":2,"487":1,"522":1,"539":1,"546":1,"547":2,"584":1,"587":1,"630":2,"642":2,"649":2,"693":2,"694":1,"706":1,"720":1,"731":4,"737":2,"746":1}}],["available",{"2":{"5":1,"17":2,"41":2,"44":1,"45":6,"46":1,"53":1,"55":1,"64":2,"74":1,"104":1,"129":1,"182":1,"242":1,"380":1,"391":2,"395":1,"416":2,"421":1,"423":1,"426":1,"427":2,"432":1,"433":1,"435":3,"436":4,"438":2,"447":2,"468":1,"480":1,"497":2,"507":2,"508":2,"511":2,"513":2,"516":2,"529":1,"557":2,"563":1,"571":2,"581":3,"643":3,"646":1,"647":2,"709":1}}],["arise",{"2":{"422":1}}],["arises",{"2":{"414":1}}],["archive",{"2":{"477":1,"533":1,"609":1,"619":1,"716":1}}],["archival",{"2":{"390":4,"391":5}}],["architecture",{"2":{"587":1}}],["architectures",{"2":{"238":1,"434":1,"581":1}}],["architectnodes",{"2":{"271":2,"723":1,"725":1,"726":1}}],["arg",{"2":{"557":2}}],["args",{"2":{"327":3,"330":2,"655":4,"656":4}}],["arguments",{"2":{"327":1}}],["argument",{"2":{"115":1,"231":1,"512":1,"514":1,"517":1,"519":1}}],["argus",{"2":{"40":1}}],["arm64",{"2":{"320":12,"581":1,"662":12}}],["arm",{"2":{"320":1,"662":1}}],["armored",{"2":{"217":1,"560":2}}],["array",{"2":{"249":1,"386":3,"607":1}}],["arranging",{"2":{"55":1}}],["arranges",{"2":{"435":1}}],["arranged",{"2":{"427":1,"433":1}}],["arrange",{"2":{"54":2,"60":1,"61":1}}],["arrangement",{"2":{"45":1,"433":1}}],["arrived",{"2":{"212":1}}],["arabicacelestia",{"2":{"323":1,"324":2,"325":1,"553":1,"554":1,"555":1,"670":1,"672":1,"698":1,"699":1,"700":1,"702":1}}],["arabicachainid",{"2":{"298":2,"302":1,"333":1,"370":4,"590":1,"613":6,"623":2}}],["arabicaversions",{"2":{"322":2,"580":4,"596":2,"653":2,"655":2,"656":2}}],["arabicaresturl",{"2":{"298":2}}],["arabicarpcurl",{"2":{"298":2}}],["arabica",{"0":{"459":1,"467":1,"471":1,"478":1},"1":{"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":2,"469":1,"470":1,"472":1,"473":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":2,"480":2,"481":1,"482":1},"2":{"169":1,"212":1,"216":1,"298":6,"302":6,"322":1,"323":1,"324":5,"325":3,"329":3,"340":2,"370":1,"373":1,"459":3,"460":1,"461":4,"462":1,"463":6,"464":4,"465":4,"466":8,"468":2,"469":4,"471":2,"472":3,"475":1,"476":12,"477":5,"479":2,"480":1,"481":2,"553":2,"554":5,"555":1,"590":2,"613":2,"632":1,"653":1,"670":1,"671":4,"672":1,"676":1,"698":1,"699":5,"700":3,"701":1,"702":1,"720":1,"734":4,"739":2}}],["arbitrary",{"2":{"133":2,"564":1}}],["arbitrum",{"0":{"84":1,"90":1,"101":1,"106":1,"110":1,"118":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"102":1,"103":1,"104":1,"105":1,"107":1,"108":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1},"2":{"84":3,"85":1,"86":2,"90":1,"98":1,"102":9,"103":2,"104":3,"105":1,"106":1,"107":2,"109":1,"111":1,"120":2,"163":1,"237":1,"303":1,"305":1,"306":3}}],["arb",{"2":{"86":2,"118":2}}],["around",{"0":{"420":1},"2":{"13":1,"67":1,"238":1,"288":1,"414":1,"420":1,"422":1,"587":1,"649":1,"692":1}}],["areas",{"2":{"56":1,"61":1,"66":1}}],["area",{"2":{"55":1,"60":1,"61":1,"62":1,"63":1,"66":1}}],["aren",{"2":{"53":1,"204":1,"516":1}}],["are",{"0":{"293":1,"417":1,"425":1,"595":1},"2":{"9":2,"11":1,"17":1,"21":1,"41":2,"42":7,"43":2,"44":2,"45":8,"46":1,"49":2,"50":1,"52":1,"53":1,"54":1,"57":2,"59":1,"60":2,"66":3,"68":1,"70":1,"77":1,"83":1,"87":1,"114":1,"115":1,"125":2,"126":2,"131":1,"132":2,"133":3,"134":1,"135":1,"137":3,"141":1,"145":1,"146":2,"149":1,"151":3,"152":2,"154":1,"157":1,"158":1,"160":1,"161":1,"163":1,"165":1,"166":1,"171":2,"177":1,"178":1,"179":1,"180":1,"181":1,"182":2,"186":1,"192":1,"197":1,"204":1,"206":2,"212":1,"216":3,"222":2,"230":1,"231":1,"238":2,"242":1,"254":1,"257":1,"269":1,"274":1,"283":1,"285":1,"286":2,"288":2,"290":2,"295":1,"297":1,"298":2,"300":1,"307":1,"308":1,"318":1,"319":4,"323":1,"324":3,"327":1,"329":1,"331":2,"350":1,"361":1,"364":2,"370":1,"373":1,"379":1,"380":1,"386":3,"387":4,"391":2,"395":2,"402":2,"403":3,"404":1,"406":1,"415":1,"417":4,"420":1,"422":1,"423":1,"424":1,"426":3,"427":3,"428":1,"429":2,"432":1,"433":3,"435":4,"436":1,"438":1,"439":2,"442":1,"447":4,"461":2,"464":1,"467":1,"471":1,"475":1,"477":1,"478":1,"481":1,"487":1,"488":1,"500":1,"502":1,"508":1,"510":2,"521":2,"528":2,"538":2,"544":2,"548":1,"553":1,"554":1,"558":2,"563":5,"564":2,"568":1,"569":1,"570":1,"571":2,"572":3,"581":1,"582":3,"586":1,"589":1,"591":3,"593":2,"595":3,"602":1,"604":1,"609":4,"613":1,"621":1,"622":2,"624":1,"627":1,"630":1,"632":1,"636":4,"646":1,"647":6,"649":1,"650":1,"651":1,"653":1,"661":4,"664":1,"665":1,"671":2,"673":1,"675":1,"676":2,"677":1,"687":1,"692":1,"695":1,"699":1,"710":1,"716":1,"717":1,"720":3,"724":1,"727":1,"728":1,"729":1,"731":1,"734":1,"737":2,"739":1,"741":2,"747":1,"749":2}}],["abstain",{"2":{"563":1}}],["absolute",{"2":{"536":2}}],["abbreviation",{"2":{"449":1}}],["abci++",{"2":{"432":1,"435":1}}],["abci",{"0":{"647":1},"2":{"392":1,"432":1,"608":1,"647":8}}],["abi",{"2":{"88":1,"148":1,"247":1,"250":4,"255":1}}],["ability",{"2":{"41":1,"414":1,"418":1,"419":1,"671":2,"699":2}}],["able",{"2":{"45":3,"58":2,"59":1,"83":1,"132":2,"159":1,"179":1,"226":1,"302":1,"370":1,"388":1,"390":1,"406":1,"415":1,"418":1,"430":2,"487":1,"529":1,"530":1,"537":1,"543":1,"545":1,"574":1,"587":1,"637":1,"734":1,"742":1,"744":1,"745":1,"746":1}}],["abusive",{"2":{"11":1}}],["about",{"0":{"290":1},"1":{"291":1},"2":{"3":1,"8":1,"17":1,"25":1,"27":1,"29":1,"41":2,"44":1,"46":1,"50":1,"54":1,"60":1,"61":1,"66":5,"67":1,"83":1,"114":1,"132":2,"178":1,"194":1,"230":1,"238":1,"293":1,"296":1,"316":1,"317":1,"322":1,"333":1,"334":1,"396":1,"405":1,"420":1,"421":1,"422":2,"454":1,"475":1,"483":1,"487":1,"500":1,"507":2,"508":2,"513":2,"516":2,"521":1,"522":1,"528":1,"538":1,"544":1,"557":2,"581":1,"596":1,"651":2,"710":1,"731":1}}],["above",{"2":{"2":1,"42":1,"45":1,"86":2,"103":1,"118":1,"137":1,"140":1,"147":1,"148":1,"150":1,"157":1,"197":1,"254":2,"331":1,"332":1,"333":3,"336":1,"403":1,"410":2,"432":1,"435":2,"476":1,"477":1,"507":1,"516":1,"517":1,"530":1,"535":2,"536":1,"545":1,"547":1,"564":1,"598":1,"654":1,"687":1,"688":1,"700":1}}],["atomic",{"2":{"434":1}}],["atmosphere",{"2":{"58":1,"59":1}}],["at",{"0":{"446":1,"449":1},"1":{"447":1},"2":{"10":1,"11":1,"17":3,"29":1,"41":2,"44":1,"45":2,"49":1,"50":1,"52":4,"58":2,"59":2,"60":2,"61":1,"62":3,"63":1,"64":1,"66":1,"91":1,"114":1,"117":1,"129":2,"131":1,"147":2,"153":3,"158":1,"170":1,"190":1,"207":1,"230":1,"241":1,"244":1,"249":1,"270":1,"272":1,"292":1,"294":1,"333":1,"386":3,"395":1,"397":1,"406":1,"417":1,"420":1,"427":3,"429":1,"432":1,"435":1,"436":3,"441":1,"442":2,"445":1,"446":1,"447":6,"449":1,"468":1,"477":1,"480":1,"555":1,"557":4,"572":2,"574":1,"576":2,"581":1,"582":1,"587":1,"591":1,"609":1,"619":1,"622":1,"672":1,"676":1,"687":1,"688":1,"702":1,"706":1,"716":1,"734":1,"745":1}}],["attach",{"2":{"572":2}}],["attack",{"2":{"414":3,"417":1}}],["attacks",{"2":{"8":1,"508":1}}],["attempt",{"2":{"413":1}}],["attempting",{"2":{"274":1}}],["attest",{"2":{"160":1}}],["attestations",{"2":{"159":1,"166":2,"237":1,"484":1,"521":3,"522":2,"530":3,"534":1,"538":3,"539":2,"545":2,"638":1}}],["attestation",{"2":{"147":2,"153":2,"159":2,"165":1,"501":1,"522":2,"533":2,"539":3}}],["attestationproof",{"0":{"153":1},"2":{"147":6,"153":2}}],["attested",{"2":{"125":2,"159":1,"163":1}}],["attended",{"2":{"63":1}}],["attendees",{"2":{"54":3,"55":4,"56":3,"58":2,"59":2,"60":2,"61":2,"63":1,"64":1,"66":1,"70":1,"83":2}}],["attending",{"2":{"63":2}}],["attend",{"2":{"60":1,"64":3}}],["attendance",{"2":{"54":1,"56":1,"60":3,"63":2}}],["attention",{"2":{"8":1}}],["attributes",{"2":{"534":4}}],["attribution",{"0":{"17":1}}],["attracting",{"2":{"63":1}}],["attract",{"2":{"60":1,"61":1}}],["adr",{"2":{"587":2}}],["adr019",{"2":{"442":1}}],["adrs",{"2":{"432":1,"488":1,"547":1}}],["adapt",{"2":{"293":1}}],["adapted",{"2":{"17":1,"447":1}}],["adoption",{"2":{"238":1}}],["adopted",{"2":{"45":1}}],["adjusted",{"2":{"403":1,"404":1}}],["adjust",{"2":{"181":1}}],["administrative",{"2":{"308":1}}],["admin",{"2":{"108":4,"329":4,"331":2,"380":2,"572":1}}],["adhere",{"2":{"70":1}}],["adventure",{"2":{"378":1}}],["advertise",{"2":{"644":1}}],["advertising",{"2":{"45":1}}],["adverse",{"2":{"43":1}}],["advanced",{"0":{"346":1,"650":1}}],["advance",{"2":{"59":1,"63":1}}],["advances",{"2":{"8":1}}],["advice",{"2":{"43":3}}],["advise",{"2":{"464":1,"724":1}}],["advised",{"2":{"108":1,"509":1,"514":1,"589":1,"613":1}}],["adviser",{"2":{"43":1}}],["advisable",{"2":{"43":1,"609":1}}],["adler",{"2":{"33":2,"52":1}}],["adds",{"2":{"403":1,"435":1}}],["addnetworkkeplr",{"2":{"298":15}}],["addrs",{"2":{"338":2}}],["addr",{"2":{"271":8,"380":2,"410":4,"530":2,"535":1,"571":2,"593":2}}],["addressrun",{"2":{"608":1}}],["addressed",{"2":{"238":1}}],["addresses",{"2":{"102":1,"117":1,"293":1,"304":1,"508":4,"510":2,"516":2,"520":2,"534":1}}],["address=$",{"2":{"637":2,"644":2,"691":2}}],["address=$evm",{"2":{"569":2}}],["address=0x966e6f22781ef6a6a82bbb4db3df8e225dfd9488",{"2":{"515":2}}],["address=0x6b452da14195b0adc3c960e56a078cf8f50448f8",{"2":{"514":2}}],["address=0x7dd8f9cafe6d25165249a454f2d0b72fd149bbba",{"2":{"512":4}}],["address=0x70997970c51812dc3a010c7d01b50e0d17dc79c8",{"2":{"355":1,"372":1}}],["address=0x70997970c51812dc3a010c7d01b50e0d17dc79c8export",{"2":{"355":1,"372":1}}],["address=0x27a1f8ce94187e4b043f4d57548ef2348ed556c7",{"2":{"510":4}}],["address=0xaf319b70de80232539ad576f88739afd2df44187",{"2":{"509":2}}],["address=0xff00000000000000000000000000000000000000",{"2":{"355":2,"372":2}}],["address=0x5fbdb2315678afecb367f032d93f642f64180aa3",{"2":{"118":1,"234":1}}],["address=0x5fbdb2315678afecb367f032d93f642f64180aa3export",{"2":{"118":1,"234":1}}],["address=address",{"2":{"202":4}}],["address=celestia1c425ckmve2489atttx022qpc02gxspa29wmh0d",{"2":{"343":1}}],["address=celestia1c425ckmve2489atttx022qpc02gxspa29wmh0dexport",{"2":{"343":1}}],["address=celestia127fpaygehlsgjdknwvlr2mux7h5uvhkxktgkc5",{"2":{"196":1}}],["address=celestia127fpaygehlsgjdknwvlr2mux7h5uvhkxktgkc5export",{"2":{"196":1}}],["address=celestia1adgkqcmzuxvg7x5avx8a8rjwpmxgzex3ztef6j",{"2":{"196":2}}],["address=",{"2":{"86":2,"245":2,"246":2,"254":2,"569":2,"572":1,"637":2}}],["address",{"0":{"337":1,"339":1,"534":1,"535":1,"637":1,"644":1},"1":{"536":1,"537":1},"2":{"8":1,"10":1,"44":2,"62":1,"86":3,"87":8,"88":2,"109":2,"119":4,"132":1,"163":1,"194":3,"195":4,"196":3,"197":16,"198":5,"199":5,"200":4,"203":1,"204":4,"212":2,"223":4,"226":1,"235":4,"242":10,"245":10,"246":8,"250":10,"251":1,"252":4,"254":11,"255":2,"271":4,"302":1,"304":1,"324":1,"325":7,"328":1,"337":9,"339":3,"340":8,"343":2,"361":1,"364":5,"380":3,"410":2,"479":5,"500":1,"501":1,"508":2,"509":3,"510":7,"512":7,"513":4,"514":2,"515":6,"516":2,"517":2,"522":1,"524":3,"527":1,"528":2,"530":13,"534":19,"535":3,"536":1,"545":2,"553":1,"554":2,"562":10,"564":1,"569":5,"571":2,"582":2,"583":2,"591":1,"629":2,"635":2,"637":10,"643":1,"644":8,"671":2,"677":2,"685":1,"690":8,"691":4,"700":2,"701":5,"728":5}}],["addblock",{"2":{"135":2,"137":4}}],["added",{"2":{"104":1,"250":4,"388":1,"413":1,"500":1,"517":1,"528":1,"544":1,"572":2,"575":1,"677":1,"687":1,"689":1}}],["addition",{"2":{"45":1,"58":1,"423":1,"436":1,"452":1,"605":1}}],["additionally",{"2":{"44":1,"63":1,"104":1,"133":1,"427":1,"444":1}}],["additional",{"0":{"45":1,"347":1},"1":{"348":1,"349":1,"350":1},"2":{"43":1,"45":1,"56":1,"62":1,"64":1,"102":1,"131":1,"132":1,"248":1,"264":1,"268":1,"310":1,"327":1,"403":1,"429":1}}],["adding",{"0":{"251":1,"302":1,"687":1},"2":{"2":1,"181":1,"272":1,"273":1,"500":1,"522":1,"528":1,"544":1,"559":2,"573":1}}],["add",{"0":{"226":1,"272":1,"298":1,"301":1,"493":1,"500":1,"509":1,"517":1,"527":1,"543":1,"686":1,"691":1},"1":{"528":1,"544":1},"2":{"5":1,"63":1,"65":1,"96":2,"99":1,"108":1,"133":2,"137":4,"186":1,"194":2,"202":5,"211":2,"214":1,"216":6,"218":6,"224":1,"226":3,"248":1,"250":4,"251":2,"271":1,"272":6,"277":3,"285":1,"297":1,"298":7,"299":1,"302":4,"320":1,"324":1,"325":2,"380":3,"391":1,"447":1,"506":2,"508":2,"509":7,"516":2,"517":7,"527":1,"534":1,"543":1,"553":1,"557":4,"559":2,"569":5,"572":1,"576":8,"585":1,"592":1,"604":1,"662":1,"676":1,"685":2,"686":2,"689":1,"690":1,"700":2}}],["apache",{"2":{"125":2}}],["aptyummac",{"2":{"319":1,"661":1}}],["aptyum",{"2":{"319":1,"661":1}}],["apt",{"2":{"92":6,"319":6,"661":6}}],["api",{"0":{"307":1,"308":1,"311":1,"312":1,"313":1,"344":1,"381":1,"407":1,"465":1,"713":1,"725":1},"1":{"308":1,"309":2,"310":2,"311":2,"312":1,"313":2,"408":1,"409":1,"410":1,"411":1},"2":{"66":1,"226":1,"248":4,"270":1,"285":2,"302":1,"307":5,"308":4,"309":1,"310":1,"312":2,"313":1,"314":1,"324":1,"326":1,"328":1,"329":1,"330":2,"344":1,"349":1,"378":3,"379":1,"382":1,"383":1,"384":1,"385":2,"386":1,"391":2,"411":2,"424":1,"465":4,"476":3,"563":1,"584":1,"642":1,"649":1,"713":11,"725":11}}],["apology",{"2":{"13":1}}],["apologizing",{"2":{"8":1}}],["appcelestia",{"2":{"641":1,"683":1}}],["appcd",{"2":{"580":1}}],["appconsts",{"2":{"410":4}}],["appdsudo",{"2":{"742":2}}],["appd",{"2":{"190":2,"191":2,"194":2,"195":2,"197":6,"198":2,"199":2,"200":4,"202":8,"204":4,"211":6,"212":4,"279":3,"408":2,"410":2,"534":8,"557":4,"558":2,"559":8,"560":6,"561":6,"562":10,"563":10,"564":4,"565":2,"566":4,"567":2,"569":10,"576":18,"580":5,"581":5,"613":6,"624":2,"629":4,"636":6,"637":4,"641":2,"645":1,"646":1,"647":1,"683":3,"684":2,"685":2,"686":2,"688":2,"689":3,"691":2,"692":2,"741":1,"742":15}}],["append",{"2":{"125":2,"137":2,"387":2}}],["appear",{"2":{"263":1,"572":1}}],["appearance",{"2":{"7":1}}],["appeal",{"2":{"60":1}}],["app",{"0":{"186":1,"209":1,"408":1,"435":1,"579":1,"612":1,"678":1,"681":1,"738":1,"742":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"436":1,"580":1,"581":1,"582":1,"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1},"2":{"88":1,"149":4,"150":4,"153":1,"159":1,"186":1,"187":1,"189":3,"190":8,"191":2,"194":4,"195":2,"197":6,"198":2,"199":2,"200":4,"201":1,"209":1,"210":1,"249":6,"250":5,"252":5,"255":1,"269":1,"285":1,"297":1,"340":4,"393":1,"398":1,"399":1,"402":2,"405":2,"406":1,"410":20,"432":6,"435":1,"436":2,"460":1,"484":1,"521":1,"522":1,"530":5,"538":1,"539":1,"545":1,"547":3,"557":2,"572":4,"579":1,"580":18,"581":3,"582":1,"612":1,"613":19,"617":1,"619":1,"620":2,"622":1,"623":18,"624":1,"630":1,"641":1,"643":2,"644":2,"646":1,"647":1,"663":1,"677":2,"678":1,"681":1,"683":1,"687":1,"688":1,"689":3,"690":1,"708":1,"731":1,"738":3,"739":2,"742":1,"745":1,"747":1}}],["appreciate",{"2":{"66":1,"70":1}}],["appreciation",{"2":{"61":2}}],["approximation",{"2":{"403":1,"709":1}}],["approve",{"2":{"263":1}}],["approval",{"2":{"71":1,"263":1}}],["approaches",{"2":{"157":1}}],["approach",{"2":{"60":1,"61":1,"62":1,"461":1,"475":1,"710":1,"720":1}}],["appropriate",{"2":{"9":2,"133":2,"271":1,"438":1}}],["apple",{"2":{"320":1,"581":1,"662":1}}],["applying",{"2":{"51":1,"56":1,"427":1}}],["apply",{"2":{"45":1,"433":1,"585":1,"622":1}}],["application",{"2":{"102":1,"180":2,"181":1,"211":1,"238":1,"245":1,"247":1,"252":1,"294":2,"317":1,"392":1,"402":2,"406":1,"430":7,"432":3,"452":1,"547":1,"557":10,"573":1,"623":1,"646":1}}],["applications",{"2":{"46":1,"48":1,"168":1,"170":2,"173":1,"180":2,"181":2,"183":1,"184":1,"185":1,"296":1,"317":2,"389":1,"391":1,"393":1,"395":1,"424":1,"430":1,"471":1,"705":1,"733":1,"740":1,"742":1}}],["applicable",{"2":{"42":1,"44":1,"45":9,"54":1}}],["applies",{"2":{"10":2,"507":1}}],["appsetup",{"2":{"608":1}}],["apps",{"2":{"33":2,"49":1,"102":1}}],["appointed",{"2":{"10":1}}],["acelestia",{"2":{"629":1}}],["aceffa8",{"2":{"97":2}}],["across",{"2":{"65":2,"149":1,"180":1,"280":1,"446":1}}],["acknowledging",{"2":{"62":1}}],["acknowledge",{"2":{"42":4,"45":4}}],["acquaintances",{"2":{"62":1,"63":1}}],["achieved",{"2":{"68":1,"103":1,"573":1,"615":1}}],["achieve",{"2":{"25":1}}],["accurately",{"2":{"404":1}}],["accurate",{"2":{"402":1}}],["accuracy",{"2":{"44":1,"45":1}}],["accname",{"2":{"223":2,"325":6,"380":2,"555":6,"672":6,"700":6,"702":6}}],["accomplish",{"2":{"223":1}}],["accomplished",{"2":{"169":1,"295":1}}],["accommodate",{"2":{"54":1}}],["accordingly",{"2":{"66":1,"108":2}}],["according",{"2":{"59":1}}],["accordance",{"2":{"44":1,"45":3}}],["account=0x35a1f8ce94187e4b043f4d57548ef2348ed556c8",{"2":{"545":2}}],["accountname",{"2":{"410":2}}],["accounted",{"2":{"403":1}}],["accountexport",{"2":{"202":1}}],["accountaddress",{"2":{"327":1}}],["accounts",{"0":{"117":1,"200":1},"2":{"118":1,"200":1,"207":1,"233":1,"245":1,"403":1,"508":2,"511":2,"575":4,"576":2}}],["account",{"0":{"186":1,"193":1,"197":1,"198":1,"199":1,"203":1,"204":1,"339":1,"343":1,"406":1,"686":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":2,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1},"2":{"10":1,"45":4,"85":1,"87":2,"186":3,"192":1,"193":1,"194":2,"197":12,"198":11,"199":6,"200":3,"201":2,"202":4,"204":4,"208":2,"226":1,"240":1,"248":1,"252":2,"254":3,"271":4,"272":1,"302":1,"336":2,"339":3,"350":4,"365":1,"370":1,"382":1,"403":3,"406":1,"410":6,"422":1,"508":2,"509":4,"510":6,"512":6,"514":2,"515":2,"530":8,"534":3,"535":1,"536":4,"545":1,"557":4,"563":4,"569":3,"576":10,"590":1,"671":1,"686":2,"699":1}}],["accessed",{"2":{"643":1}}],["accessing",{"0":{"619":1},"2":{"420":1,"421":1}}],["accessibility",{"2":{"238":1}}],["accessible",{"2":{"54":1,"83":1,"215":4,"420":1,"530":1,"545":1,"582":2,"591":2}}],["access",{"2":{"42":4,"60":1,"61":1,"71":2,"74":1,"83":1,"143":1,"298":2,"308":1,"309":1,"391":4,"403":1,"415":1,"419":1,"420":2,"424":2,"477":2,"507":1,"510":2,"516":1,"524":3,"530":1,"534":1,"535":1,"635":1,"671":1,"699":1,"716":1}}],["accepts",{"2":{"436":2,"530":1,"545":1}}],["accept",{"2":{"41":1,"402":1,"406":1,"436":1,"489":1,"571":2,"613":1,"642":1}}],["acceptable",{"2":{"9":1}}],["accepting",{"2":{"8":2}}],["actors",{"2":{"424":1}}],["actually",{"2":{"288":1,"413":1}}],["actual",{"2":{"133":3,"135":1,"403":1,"442":1,"519":1}}],["activating",{"2":{"675":1,"676":1}}],["activation",{"2":{"366":1}}],["activate",{"2":{"604":1}}],["active",{"2":{"73":1,"222":1,"223":1,"530":1,"547":1}}],["activities",{"2":{"44":3,"54":1,"55":1,"82":1}}],["acting",{"2":{"10":1,"45":1}}],["actions",{"2":{"14":1,"42":2,"133":4}}],["action",{"2":{"9":1,"12":1,"42":1,"327":1,"510":2,"534":4}}],["act",{"2":{"7":1,"42":3,"45":13,"165":1,"390":1}}],["aside",{"2":{"447":1,"507":1,"516":1}}],["async",{"2":{"250":6,"298":2}}],["ascii",{"2":{"217":1,"560":2}}],["asked",{"2":{"70":1,"461":1,"530":2,"720":1}}],["ask",{"2":{"50":1,"58":1,"61":1,"62":1,"298":2,"436":1}}],["assign",{"2":{"569":1}}],["assigned",{"2":{"517":1}}],["assistance",{"2":{"63":1,"65":1}}],["assist",{"2":{"51":1,"64":1,"65":1,"500":1,"528":1,"544":1}}],["assumption",{"2":{"404":1,"417":2,"420":1}}],["assumptions",{"0":{"417":1},"2":{"165":1,"420":1}}],["assumes",{"2":{"404":1,"417":1,"530":1,"534":1,"545":1,"584":1,"596":1}}],["assumed",{"2":{"383":1,"417":1,"457":1}}],["assume",{"2":{"133":1,"180":1,"380":1}}],["assurances",{"0":{"425":1},"2":{"45":2}}],["asset",{"2":{"451":1}}],["assets",{"2":{"8":1,"160":1}}],["assert",{"2":{"242":1}}],["assertion",{"2":{"242":2}}],["asserting",{"2":{"115":1,"231":1}}],["asserts",{"2":{"115":1,"231":1}}],["asserteq",{"2":{"115":4,"231":4,"242":9}}],["assess",{"2":{"60":1}}],["assessing",{"2":{"56":1}}],["associated",{"2":{"43":1,"63":1,"153":2,"336":1,"435":2}}],["aspects",{"2":{"65":1,"83":1}}],["aspect",{"2":{"42":1,"521":1}}],["astria",{"2":{"27":4,"396":2}}],["as",{"0":{"101":1,"348":1,"691":1,"740":1},"1":{"102":1,"103":1,"104":1,"105":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"7":1,"8":2,"10":1,"14":2,"41":5,"42":3,"43":1,"45":10,"54":1,"58":2,"60":1,"61":3,"62":2,"63":2,"65":1,"68":1,"72":1,"74":1,"75":1,"83":3,"86":2,"87":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"117":1,"118":1,"124":1,"126":1,"129":1,"132":5,"133":2,"134":2,"137":1,"140":1,"147":1,"148":2,"149":1,"150":2,"158":2,"159":1,"160":2,"165":1,"167":1,"169":4,"173":1,"179":6,"190":1,"196":3,"197":1,"198":1,"202":1,"204":1,"211":2,"234":1,"237":2,"242":4,"245":5,"246":1,"254":3,"258":1,"270":3,"279":1,"281":1,"283":2,"284":1,"290":1,"293":1,"295":4,"308":2,"309":1,"310":2,"314":1,"323":1,"327":3,"331":1,"332":2,"343":1,"359":1,"360":1,"361":2,"364":3,"371":1,"381":1,"386":2,"387":2,"389":3,"390":3,"391":4,"396":1,"402":2,"403":1,"404":2,"406":1,"410":2,"413":2,"416":2,"417":1,"419":1,"420":1,"423":2,"427":4,"429":3,"430":4,"432":1,"433":5,"435":3,"436":3,"441":1,"445":1,"447":2,"452":3,"453":1,"454":1,"465":1,"472":1,"477":1,"500":1,"502":1,"507":2,"509":2,"510":1,"512":2,"514":2,"515":1,"517":2,"519":1,"521":2,"522":1,"528":2,"530":2,"536":1,"537":1,"539":1,"544":1,"547":1,"554":1,"556":1,"557":2,"563":1,"564":1,"570":1,"572":5,"573":1,"575":1,"582":1,"586":1,"587":1,"590":1,"591":1,"607":1,"609":1,"617":1,"622":1,"623":1,"624":1,"629":2,"630":1,"634":1,"639":1,"659":1,"671":4,"673":1,"674":1,"677":1,"678":1,"686":1,"690":1,"691":1,"699":2,"703":1,"705":1,"706":1,"708":2,"709":1,"720":1,"725":1,"734":2,"739":1,"740":1,"741":1,"742":1,"746":1,"747":1}}],["anchoring",{"2":{"250":1}}],["anger",{"2":{"194":2}}],["analogously",{"2":{"127":1}}],["analogous",{"2":{"126":1}}],["analog",{"2":{"125":2}}],["analytics",{"0":{"718":1},"2":{"718":2}}],["analyze",{"2":{"56":1}}],["analyse",{"2":{"44":1}}],["anvil",{"0":{"233":1},"2":{"118":1,"233":4,"245":3}}],["another",{"0":{"337":1,"343":1},"2":{"104":2,"108":1,"222":1,"223":1,"237":1,"242":2,"280":1,"324":1,"337":1,"363":1,"380":1,"402":1,"435":1,"511":1,"535":1,"553":1,"562":1,"607":1,"630":1,"664":1}}],["answer",{"2":{"66":1,"197":1}}],["answers",{"2":{"17":1,"65":1,"413":1}}],["annual",{"2":{"442":2}}],["annually",{"2":{"442":1,"449":1}}],["announced",{"2":{"63":1,"638":1}}],["announce",{"2":{"63":1}}],["announcement",{"2":{"63":1,"470":1,"482":1,"719":1,"720":1,"730":1,"735":1}}],["announcing",{"2":{"63":2}}],["anniversary",{"2":{"45":3}}],["anticipate",{"2":{"60":1}}],["anticipation",{"2":{"42":1}}],["an",{"0":{"90":1,"106":1,"348":1,"351":1,"367":1,"377":1,"642":1},"1":{"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"107":1,"108":1,"109":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"643":1,"644":1,"645":1},"2":{"4":1,"7":1,"10":5,"13":1,"16":1,"19":1,"27":1,"41":1,"42":3,"45":9,"48":1,"50":1,"55":1,"58":1,"60":1,"61":2,"62":1,"65":1,"70":1,"71":2,"73":1,"77":1,"78":1,"79":1,"83":1,"84":1,"85":1,"87":2,"90":2,"98":1,"102":3,"103":1,"104":1,"105":1,"106":1,"107":1,"115":1,"126":1,"129":2,"131":1,"133":4,"134":2,"145":1,"146":2,"149":1,"150":1,"152":1,"153":2,"158":1,"159":2,"160":1,"161":2,"165":1,"168":1,"170":3,"180":1,"204":3,"205":1,"211":1,"223":2,"231":1,"234":1,"237":2,"239":2,"241":1,"242":4,"245":1,"248":1,"250":2,"254":2,"257":1,"270":2,"276":1,"291":2,"293":1,"297":1,"310":1,"314":1,"324":2,"329":1,"330":1,"331":2,"332":3,"333":2,"337":1,"338":1,"339":1,"340":1,"343":1,"350":1,"365":1,"377":1,"378":1,"379":1,"382":2,"386":1,"390":1,"392":1,"396":2,"397":1,"402":1,"403":3,"405":1,"406":1,"410":2,"414":1,"417":3,"426":1,"430":4,"432":1,"433":6,"434":1,"435":1,"436":1,"441":1,"442":1,"449":1,"451":1,"458":1,"469":1,"477":3,"487":2,"496":1,"506":1,"508":4,"510":3,"512":2,"513":6,"515":2,"516":4,"517":2,"518":2,"519":3,"521":2,"522":1,"524":2,"527":1,"530":2,"533":3,"534":3,"537":1,"538":1,"539":1,"543":1,"547":2,"549":1,"553":2,"554":1,"557":4,"560":1,"564":2,"569":1,"570":1,"572":1,"573":1,"580":1,"581":1,"585":2,"587":2,"589":1,"593":3,"607":1,"608":1,"609":1,"610":1,"619":1,"627":1,"629":2,"635":1,"636":1,"637":1,"638":1,"646":1,"647":1,"651":1,"653":3,"655":1,"666":1,"671":1,"675":1,"688":1,"696":1,"699":1,"709":1,"716":1}}],["anyway",{"2":{"312":1,"317":1,"591":1}}],["anything",{"2":{"272":1}}],["anytrust",{"2":{"102":2}}],["anyone",{"2":{"114":1,"225":1,"230":1,"269":1,"289":1,"294":1,"297":1,"300":1,"392":1,"413":1,"434":1,"538":1}}],["any",{"2":{"4":1,"8":1,"9":1,"11":1,"12":1,"15":1,"16":1,"41":5,"42":19,"43":4,"44":2,"45":36,"54":3,"55":2,"63":2,"66":1,"131":1,"149":1,"159":1,"178":1,"179":1,"181":2,"214":1,"224":1,"251":1,"279":1,"285":1,"287":1,"288":1,"299":1,"322":1,"327":1,"364":1,"413":1,"428":1,"453":1,"467":2,"478":2,"508":1,"516":3,"524":1,"557":2,"572":4,"580":1,"593":1,"596":1,"598":1,"601":1,"607":1,"622":1,"629":1,"706":1,"728":2,"731":1}}],["and",{"0":{"19":1,"57":1,"59":1,"63":1,"86":1,"161":1,"165":1,"167":1,"169":1,"220":1,"242":1,"250":1,"262":1,"264":1,"267":1,"268":1,"284":1,"285":1,"292":1,"293":1,"295":1,"325":1,"334":1,"353":1,"380":1,"389":1,"390":1,"401":1,"402":1,"421":1,"463":1,"464":1,"472":1,"560":1,"583":1,"607":1,"614":1,"655":1,"700":1,"706":1,"723":1,"724":1,"727":1,"748":1},"1":{"20":1,"21":1,"22":1,"23":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"87":1,"221":1,"222":1,"223":1,"293":1,"294":1,"390":1,"391":1,"402":1,"403":2,"404":2,"405":2,"406":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"701":1},"2":{"0":1,"1":1,"2":4,"3":3,"5":1,"7":5,"8":8,"9":6,"10":1,"11":3,"13":1,"21":6,"22":3,"25":3,"27":2,"29":1,"31":1,"33":4,"41":7,"42":20,"43":3,"44":11,"45":37,"46":3,"48":3,"50":2,"51":1,"52":3,"54":12,"55":7,"56":6,"57":1,"58":6,"59":9,"60":7,"61":6,"62":8,"63":11,"64":11,"65":4,"66":3,"68":4,"70":4,"71":2,"72":1,"74":2,"75":3,"76":1,"77":1,"78":1,"79":1,"80":1,"81":2,"82":2,"83":10,"84":1,"86":4,"89":1,"90":1,"98":1,"99":1,"102":10,"103":1,"104":2,"107":1,"108":1,"111":2,"112":1,"113":1,"114":1,"115":4,"117":5,"118":1,"126":1,"128":1,"129":9,"131":3,"132":3,"133":8,"134":3,"135":1,"137":10,"139":1,"145":1,"146":3,"147":1,"149":5,"150":2,"151":1,"152":3,"153":2,"154":3,"157":2,"159":3,"160":1,"161":1,"162":1,"167":5,"168":2,"169":2,"170":1,"171":1,"173":1,"176":2,"177":2,"178":4,"180":4,"181":2,"182":1,"183":1,"184":1,"186":1,"187":2,"189":1,"190":2,"194":1,"196":1,"197":2,"198":1,"201":1,"202":1,"203":1,"206":1,"208":1,"210":1,"214":1,"216":2,"217":1,"224":1,"225":2,"226":4,"228":1,"229":1,"230":1,"231":4,"233":1,"234":1,"237":3,"238":4,"242":8,"245":1,"246":3,"247":3,"248":3,"250":11,"251":1,"252":2,"253":1,"254":5,"256":1,"258":2,"261":1,"262":1,"263":1,"266":1,"267":2,"269":4,"270":1,"271":2,"272":1,"273":2,"274":5,"277":2,"280":1,"281":1,"283":5,"284":2,"285":1,"287":2,"288":1,"289":2,"290":4,"293":4,"294":5,"295":1,"296":2,"298":3,"299":1,"300":2,"301":3,"302":3,"303":1,"304":1,"305":1,"307":2,"308":4,"309":1,"310":1,"312":1,"314":3,"317":3,"319":6,"320":2,"322":6,"323":2,"324":1,"326":1,"327":1,"328":1,"329":2,"331":1,"332":4,"333":1,"334":5,"343":2,"345":1,"348":1,"350":1,"353":1,"359":2,"360":1,"361":1,"364":9,"365":1,"366":2,"367":1,"368":1,"370":5,"373":1,"378":3,"380":3,"382":1,"384":1,"385":1,"386":7,"387":5,"388":1,"389":4,"390":4,"391":4,"392":4,"394":1,"395":3,"396":1,"397":1,"400":1,"402":2,"403":3,"404":6,"405":3,"406":2,"407":1,"410":14,"413":2,"414":3,"417":1,"418":1,"419":3,"420":2,"421":2,"422":2,"423":4,"425":2,"426":3,"427":4,"428":1,"429":3,"430":8,"432":3,"433":9,"434":2,"435":7,"436":3,"438":4,"439":1,"441":2,"442":2,"444":4,"446":6,"447":3,"452":1,"454":1,"456":1,"457":1,"461":1,"462":1,"466":2,"471":2,"476":1,"477":3,"483":2,"484":1,"487":2,"489":1,"493":1,"497":2,"500":1,"501":1,"502":1,"506":2,"507":1,"508":1,"509":2,"510":2,"513":1,"514":1,"515":2,"516":2,"517":2,"519":1,"521":1,"522":4,"524":1,"527":1,"528":2,"529":1,"530":4,"533":1,"534":5,"535":2,"536":2,"538":2,"539":4,"543":1,"544":1,"545":3,"546":1,"547":5,"554":1,"557":6,"560":2,"563":5,"564":2,"570":3,"572":9,"573":1,"576":2,"578":1,"579":1,"580":2,"582":2,"583":1,"585":2,"587":1,"591":3,"593":1,"594":1,"595":1,"596":7,"597":1,"598":1,"600":1,"602":1,"604":1,"608":1,"609":2,"613":2,"615":1,"617":1,"619":1,"621":1,"622":2,"623":1,"630":1,"636":3,"638":1,"639":1,"642":1,"644":1,"646":2,"647":4,"649":1,"651":2,"652":2,"654":1,"655":1,"660":1,"661":4,"662":2,"664":2,"676":2,"677":1,"678":1,"689":1,"694":1,"697":1,"698":1,"699":1,"705":2,"706":4,"709":3,"716":4,"720":2,"722":1,"726":2,"727":1,"731":3,"733":4,"734":1,"736":1,"737":2,"738":1,"739":3,"742":1,"744":1,"745":3,"746":1,"748":1,"749":2}}],["alright",{"2":{"534":1}}],["already",{"2":{"64":1,"65":1,"68":1,"151":1,"177":1,"193":1,"274":1,"275":1,"277":1,"284":1,"317":1,"320":1,"326":1,"406":1,"430":1,"487":1,"506":1,"522":1,"538":1,"539":1,"574":1,"584":1,"604":1,"607":1,"662":1,"683":1}}],["alias",{"0":{"458":1},"2":{"458":1,"561":2,"613":1}}],["alignitems",{"2":{"250":4}}],["align",{"2":{"62":1}}],["aligned",{"2":{"9":1}}],["algorithm",{"2":{"432":1,"508":1}}],["alphab",{"2":{"398":1,"399":1,"712":1,"713":1,"714":1,"716":1,"718":1}}],["although",{"2":{"436":3}}],["altlayer",{"2":{"303":2,"304":2,"305":1}}],["alternatievely",{"2":{"137":2}}],["alternatively",{"2":{"117":1,"225":1,"306":1,"327":1,"365":1,"429":1,"436":1}}],["alternative",{"2":{"104":1}}],["alternatives",{"2":{"102":1,"621":1}}],["alternating",{"2":{"50":1}}],["alertmanager",{"2":{"572":2}}],["alerts",{"0":{"574":1},"2":{"572":2,"574":1}}],["alert",{"2":{"298":4}}],["along",{"2":{"133":1,"245":1,"324":1,"378":1,"438":1,"501":1}}],["alongside",{"2":{"66":1,"102":1,"269":1}}],["alcohol",{"2":{"59":1}}],["alumni",{"2":{"51":2}}],["al",{"2":{"28":1,"52":1}}],["also",{"2":{"10":1,"59":3,"62":1,"63":1,"64":2,"66":1,"103":1,"134":1,"137":2,"158":1,"185":1,"192":1,"204":1,"216":1,"222":1,"223":1,"237":1,"242":4,"245":1,"249":1,"293":1,"298":3,"305":1,"306":1,"310":1,"324":1,"327":1,"330":1,"332":1,"373":1,"378":1,"430":1,"435":1,"436":1,"454":1,"464":1,"508":1,"516":1,"530":1,"538":1,"545":1,"547":2,"570":1,"573":1,"586":1,"602":1,"622":1,"649":1,"650":1,"677":1,"687":1,"688":1,"698":1,"720":1,"724":1,"734":1,"737":1,"738":1}}],["allocation",{"0":{"446":1},"1":{"447":1},"2":{"446":1,"447":1}}],["allocating",{"2":{"64":1}}],["allocated",{"2":{"446":1,"447":1,"564":1}}],["allocate",{"2":{"59":1}}],["allowing",{"2":{"65":1,"279":1,"364":1,"720":1}}],["allows",{"2":{"64":2,"65":1,"102":2,"103":1,"104":1,"114":1,"127":1,"129":1,"145":1,"146":1,"160":1,"225":1,"230":1,"249":1,"250":3,"258":1,"285":1,"297":1,"298":1,"300":1,"308":1,"317":1,"363":1,"386":3,"392":1,"428":1,"454":1,"465":1,"483":1,"497":1,"500":1,"502":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":3,"528":1,"534":1,"544":1,"574":1,"582":2,"591":2,"642":1,"647":1,"651":1,"691":1,"725":1,"737":2,"738":2}}],["allow",{"2":{"62":2,"171":1,"271":4,"277":4,"298":2,"330":1,"370":1,"391":3,"392":1,"413":1,"462":1,"464":1,"465":1,"466":1,"530":2,"582":1,"583":1,"587":2,"591":1,"608":1,"626":1,"654":1,"693":1,"722":1,"724":1,"725":1,"726":1}}],["allowed",{"2":{"15":1}}],["allotting",{"2":{"61":1}}],["alleged",{"2":{"42":1}}],["all",{"0":{"219":1,"617":1},"2":{"3":1,"5":2,"10":1,"11":2,"33":1,"43":1,"44":1,"45":1,"65":1,"66":1,"70":3,"82":1,"87":1,"90":1,"97":2,"99":2,"132":2,"157":1,"177":1,"178":1,"179":3,"180":2,"181":1,"194":2,"207":1,"211":1,"242":3,"250":2,"254":1,"273":2,"323":1,"328":1,"333":6,"358":1,"364":1,"376":1,"385":1,"386":1,"390":2,"391":1,"403":1,"404":1,"405":1,"410":2,"413":3,"415":3,"416":1,"422":1,"430":3,"433":3,"436":1,"445":1,"447":1,"472":1,"477":1,"487":1,"502":1,"507":1,"516":1,"530":1,"557":1,"561":1,"582":1,"591":1,"615":1,"617":2,"620":1,"623":1,"636":1,"641":3,"643":2,"651":1,"654":1,"663":1,"664":1,"683":2,"687":2,"689":4,"705":1,"716":1,"731":1,"749":1}}],["always",{"2":{"2":1,"58":1,"216":1,"370":1,"403":1,"472":1,"530":1,"646":2,"734":1}}],["a",{"0":{"24":1,"30":1,"66":1,"78":1,"79":1,"84":1,"110":1,"132":1,"178":1,"179":1,"186":1,"194":1,"202":1,"204":1,"205":1,"209":1,"211":1,"212":1,"213":1,"227":1,"253":1,"254":1,"262":1,"267":1,"274":1,"302":1,"323":1,"324":1,"348":1,"360":1,"369":1,"370":1,"371":1,"380":1,"394":1,"395":1,"410":1,"411":1,"431":1,"435":1,"449":1,"546":1,"555":1,"558":1,"569":1,"581":1,"608":1,"610":1,"615":2,"625":1,"626":1,"629":1,"638":1,"663":1,"672":1,"682":1,"684":1,"685":1,"691":1,"693":1,"702":1,"740":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"85":1,"86":1,"87":1,"88":1,"89":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"255":1,"256":1,"257":1,"395":1,"396":1,"432":1,"436":1,"547":1,"548":1,"549":1,"550":1,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":3,"617":3,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":2,"627":3,"628":3,"629":3,"630":2,"631":2,"632":2,"633":2,"634":2,"635":2,"636":2,"637":2,"638":2,"639":2,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":1,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"694":1,"695":1,"696":1,"697":1,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"2":4,"3":3,"7":1,"8":3,"13":2,"14":5,"15":4,"16":2,"21":1,"22":4,"25":1,"29":1,"33":2,"41":5,"42":10,"43":3,"44":2,"45":15,"46":3,"48":7,"49":3,"50":1,"51":1,"52":2,"53":2,"54":6,"55":1,"57":3,"58":12,"59":3,"60":8,"61":7,"62":7,"63":3,"64":3,"65":8,"66":4,"68":1,"70":2,"71":2,"72":1,"74":1,"75":1,"77":1,"78":7,"79":5,"83":5,"84":1,"85":1,"86":3,"87":3,"88":1,"89":1,"98":3,"99":1,"102":5,"103":1,"104":3,"107":1,"108":5,"109":1,"111":2,"113":2,"114":3,"115":2,"117":2,"118":3,"119":3,"120":2,"124":1,"125":3,"126":8,"127":4,"129":13,"131":3,"132":15,"133":19,"134":3,"135":3,"137":6,"143":3,"145":5,"146":11,"147":2,"149":3,"150":2,"152":1,"153":8,"154":1,"158":2,"159":2,"160":3,"165":2,"166":1,"167":3,"168":1,"169":4,"170":2,"173":1,"176":4,"177":1,"178":5,"179":7,"180":3,"181":2,"182":1,"183":1,"184":1,"186":4,"190":1,"192":4,"193":1,"194":3,"197":3,"198":1,"200":2,"201":4,"202":3,"204":2,"205":2,"206":2,"207":1,"208":3,"209":1,"212":1,"213":1,"214":1,"216":8,"217":1,"218":1,"222":2,"223":1,"225":1,"226":1,"227":1,"228":1,"229":2,"230":3,"231":2,"233":3,"234":3,"235":3,"236":1,"237":2,"238":1,"240":1,"241":1,"242":7,"244":1,"245":5,"247":7,"248":1,"249":3,"250":5,"252":1,"253":1,"254":8,"255":1,"256":1,"258":2,"261":1,"262":1,"263":1,"267":1,"269":1,"270":2,"272":1,"274":1,"275":3,"276":17,"280":3,"283":1,"285":1,"288":1,"289":2,"290":4,"291":2,"293":1,"294":2,"295":5,"296":2,"297":2,"298":2,"300":1,"302":1,"305":1,"307":1,"308":2,"309":1,"310":1,"312":1,"314":3,"317":1,"318":1,"322":3,"323":2,"324":2,"325":2,"326":1,"327":1,"329":2,"330":1,"331":3,"332":7,"334":2,"343":3,"345":1,"350":1,"359":1,"360":4,"361":1,"364":6,"365":2,"367":2,"368":3,"370":4,"371":2,"373":2,"378":1,"380":3,"383":3,"384":1,"385":1,"386":24,"387":4,"388":1,"390":1,"391":2,"392":5,"395":3,"396":8,"397":4,"400":1,"401":1,"402":6,"403":10,"404":13,"405":4,"406":7,"410":10,"413":2,"414":5,"415":3,"416":6,"417":5,"418":3,"419":2,"420":4,"421":1,"422":2,"423":4,"425":1,"426":5,"427":9,"428":3,"429":7,"430":4,"432":5,"433":11,"434":3,"435":13,"436":9,"438":5,"439":3,"441":4,"444":2,"445":1,"446":2,"447":1,"451":1,"452":6,"453":3,"454":1,"461":1,"462":1,"464":2,"466":2,"471":2,"472":2,"477":3,"479":2,"484":1,"487":7,"492":1,"493":2,"496":1,"497":2,"500":5,"501":3,"502":1,"503":1,"504":1,"505":1,"507":2,"508":4,"509":7,"510":2,"511":1,"512":1,"513":8,"514":1,"515":5,"516":4,"517":8,"518":1,"521":3,"522":4,"524":1,"526":1,"527":1,"528":8,"530":6,"532":3,"533":1,"534":10,"535":4,"536":1,"538":3,"539":3,"542":1,"543":1,"544":6,"545":1,"547":6,"554":5,"555":2,"556":2,"557":10,"560":4,"563":7,"564":4,"566":2,"568":1,"569":1,"570":2,"571":2,"572":16,"573":1,"574":3,"575":3,"576":2,"578":2,"579":1,"580":1,"581":2,"582":5,"583":2,"584":1,"586":6,"587":2,"589":1,"590":1,"591":5,"592":3,"595":4,"596":2,"597":1,"601":2,"604":1,"605":1,"607":5,"608":8,"609":3,"613":3,"615":1,"619":2,"620":1,"621":1,"622":3,"623":2,"624":1,"627":1,"628":1,"629":3,"630":4,"632":1,"634":2,"635":1,"636":2,"637":3,"638":1,"639":1,"642":1,"643":1,"644":2,"646":1,"647":2,"649":3,"650":4,"651":2,"652":2,"653":1,"654":6,"655":1,"656":2,"659":3,"663":3,"671":7,"672":2,"673":2,"675":2,"676":3,"677":2,"678":2,"682":1,"683":2,"685":2,"691":1,"692":1,"693":1,"695":1,"699":7,"700":1,"702":2,"703":1,"705":1,"706":1,"708":2,"709":9,"710":1,"716":2,"720":2,"722":1,"724":2,"726":2,"728":2,"731":4,"734":2,"736":1,"737":1,"738":1,"739":3,"740":1,"741":2,"742":1,"747":2,"748":2,"749":1}}],["blind",{"2":{"194":2}}],["blue",{"2":{"154":1}}],["blobtypes",{"2":{"405":4,"410":6}}],["blobtxs",{"2":{"407":1}}],["blobtx",{"2":{"400":1,"410":4}}],["blob",{"2":{"148":1,"149":1,"153":2,"304":1,"327":7,"332":12,"333":10,"334":6,"364":6,"365":2,"386":2,"390":1,"400":2,"403":5,"404":6,"405":6,"408":2,"409":3,"410":14,"411":1,"438":1,"439":1,"709":4}}],["blobspace",{"0":{"437":1,"451":1},"1":{"438":1,"439":1}}],["blobs",{"0":{"316":1,"400":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1},"2":{"144":1,"314":1,"333":1,"362":2,"365":2,"390":2,"400":1,"403":1,"404":3,"438":2,"477":1,"716":1}}],["blobstream",{"0":{"103":1,"121":1,"124":1,"130":1,"131":1,"139":1,"142":1,"158":1,"160":1,"164":1,"483":1,"484":1,"489":1,"491":1,"497":1,"499":1,"521":1,"525":1,"538":1,"541":1,"635":1,"638":1},"1":{"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"159":1,"160":1,"161":2,"162":1,"163":1,"164":1,"165":2,"166":2,"167":2,"484":1,"485":2,"486":2,"487":2,"488":2,"490":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"498":1,"499":1,"500":1,"501":1,"522":1,"523":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"539":1,"540":1,"541":1,"542":1,"543":1,"544":1,"545":1},"2":{"29":2,"97":2,"98":2,"103":2,"104":1,"108":1,"124":4,"125":23,"127":1,"128":1,"129":9,"131":3,"132":2,"133":4,"134":3,"135":1,"137":2,"139":1,"145":2,"147":6,"153":4,"154":1,"157":1,"158":4,"159":5,"160":2,"161":2,"162":4,"163":5,"165":2,"166":2,"167":3,"237":1,"483":3,"484":1,"485":1,"486":2,"487":8,"488":4,"489":2,"491":2,"497":9,"499":2,"500":1,"501":6,"502":1,"503":1,"504":1,"505":1,"507":11,"508":7,"509":3,"510":3,"512":3,"513":5,"515":4,"516":7,"517":3,"518":3,"519":3,"520":3,"521":3,"522":4,"525":2,"530":7,"534":5,"536":2,"538":5,"539":3,"541":2,"545":9,"608":1,"638":2,"677":3}}],["blobpointer",{"2":{"103":2}}],["blog",{"2":{"54":1,"56":1,"242":43,"244":6,"247":3,"250":12,"488":1}}],["blocktimes",{"2":{"288":1}}],["blocknumber",{"2":{"119":2,"235":2,"361":2}}],["blockheight",{"2":{"103":2}}],["blocks",{"0":{"135":1},"2":{"99":2,"132":3,"133":4,"134":1,"135":12,"137":13,"169":1,"192":1,"288":2,"290":1,"295":1,"390":1,"391":3,"392":1,"406":2,"413":1,"417":2,"418":1,"421":1,"428":1,"429":1,"442":1,"464":2,"547":3,"617":3,"620":4,"622":1,"724":2,"731":2,"745":1}}],["blockspaceracecelestia",{"2":{"380":1}}],["blockspacerace",{"2":{"380":3}}],["blockspace",{"2":{"25":1,"380":3}}],["blockchain",{"0":{"178":1,"238":1,"422":1,"431":1},"1":{"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"432":1},"2":{"42":1,"46":1,"52":1,"58":1,"75":1,"77":1,"132":3,"133":3,"137":1,"141":1,"171":3,"178":3,"179":3,"238":1,"250":2,"258":1,"269":1,"288":2,"289":2,"290":1,"293":3,"294":3,"378":3,"387":1,"392":1,"395":1,"410":2,"413":1,"414":1,"420":1,"422":1,"423":1,"425":1,"426":2,"432":3,"433":1,"434":2,"441":2,"451":1,"452":2,"608":1,"609":1,"621":2,"623":1,"675":1,"731":1}}],["blockchains",{"0":{"288":1,"425":1,"433":1},"2":{"25":3,"31":1,"33":1,"48":1,"77":3,"80":1,"83":1,"134":1,"177":2,"178":3,"179":2,"180":2,"181":1,"238":4,"293":1,"387":2,"413":2,"415":1,"423":1,"425":1,"433":6,"434":1}}],["block",{"0":{"137":1,"140":1,"340":1,"406":1,"418":1,"617":1},"2":{"29":1,"102":1,"125":16,"126":2,"127":1,"129":5,"132":34,"133":2,"134":4,"135":17,"137":15,"145":3,"146":2,"153":13,"160":3,"169":1,"271":4,"288":1,"295":1,"302":1,"317":1,"332":1,"333":6,"334":1,"340":10,"360":3,"364":2,"386":5,"387":2,"389":1,"391":4,"406":2,"410":2,"413":3,"414":4,"415":2,"416":4,"417":4,"418":2,"421":1,"424":1,"426":1,"427":8,"428":3,"429":4,"430":3,"432":2,"434":2,"435":10,"436":13,"438":3,"442":3,"445":1,"454":1,"477":1,"521":2,"534":2,"547":2,"564":1,"576":2,"615":1,"617":2,"620":3,"621":2,"622":1,"629":1,"637":3,"647":3,"664":2,"676":2,"677":1,"694":1,"709":3,"716":1}}],["bidirectional",{"2":{"605":1}}],["billion",{"2":{"447":1}}],["bigger",{"2":{"413":1,"417":1}}],["bi",{"2":{"404":2}}],["bip44",{"2":{"298":2}}],["bip39",{"2":{"218":1,"528":1,"534":1}}],["bitcoin",{"2":{"238":1}}],["bitter",{"2":{"194":2}}],["bind",{"2":{"643":1}}],["binding",{"2":{"42":1,"516":1}}],["binaries",{"2":{"319":1,"581":2,"660":1}}],["binarymerkleproof",{"2":{"125":4,"126":1,"147":4,"152":3,"153":3}}],["binary",{"0":{"484":1,"491":1,"499":1,"525":1,"541":1,"580":1,"581":1,"598":1},"1":{"485":1,"486":1,"487":1,"488":1},"2":{"52":1,"108":1,"125":2,"126":1,"129":1,"145":1,"146":3,"147":2,"153":2,"190":1,"215":4,"322":4,"380":1,"491":2,"499":2,"525":2,"536":2,"541":2,"552":1,"557":2,"578":2,"579":1,"580":5,"581":4,"596":4,"598":1,"651":1,"676":4,"697":1}}],["bin",{"2":{"94":4,"222":2,"223":2,"319":2,"320":9,"545":2,"576":2,"580":1,"581":1,"661":2,"662":9}}],["biometric",{"2":{"44":3}}],["b",{"2":{"42":2,"43":1,"45":2,"137":10,"276":8,"322":1,"446":1,"447":1,"580":6,"596":1,"637":2}}],["brevity",{"2":{"433":1}}],["brew",{"2":{"319":4,"572":1,"661":4}}],["breaking",{"2":{"405":1}}],["breaks",{"2":{"55":1,"61":1}}],["break",{"0":{"35":1},"2":{"472":1,"601":1}}],["br",{"2":{"250":2}}],["brush",{"2":{"178":1}}],["branding",{"0":{"76":1}}],["brand",{"2":{"65":1,"76":1}}],["branch",{"2":{"2":3,"97":2,"98":2,"390":2}}],["brightlystake",{"2":{"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["brightest",{"2":{"83":1}}],["bridging",{"0":{"306":1},"2":{"160":1,"304":1}}],["bridge=",{"2":{"583":4}}],["bridgefulllight",{"2":{"216":1,"217":1,"218":1}}],["bridges",{"2":{"49":1,"731":1}}],["bridge",{"0":{"463":1,"546":1,"547":1,"549":1,"551":1,"553":1,"554":1,"555":1,"556":1,"615":1,"632":1,"633":1,"634":1,"723":1,"727":1,"745":1},"1":{"547":1,"548":1,"549":1,"550":2,"551":1,"552":2,"553":2,"554":2,"555":3,"556":2,"616":1,"617":1},"2":{"29":4,"104":1,"108":4,"133":2,"158":1,"214":1,"216":2,"217":2,"218":2,"237":1,"306":3,"323":1,"390":1,"433":1,"461":1,"464":1,"476":6,"477":2,"546":2,"547":4,"548":1,"552":1,"553":9,"554":12,"555":9,"556":2,"582":2,"583":4,"591":2,"594":1,"595":4,"601":2,"602":1,"605":1,"607":3,"608":1,"615":1,"630":3,"632":2,"633":2,"634":2,"650":1,"715":1,"716":2,"720":1,"724":1,"727":7,"731":1,"737":1,"745":20,"746":1}}],["briefly",{"2":{"62":1}}],["bringing",{"2":{"572":1}}],["bring",{"2":{"59":1,"83":1}}],["browsers",{"2":{"312":1}}],["browser",{"0":{"261":1,"266":1},"2":{"225":1,"261":1,"297":1,"300":2,"572":1}}],["broken",{"2":{"194":2,"676":1}}],["broadcasttx",{"2":{"410":2}}],["broadcastforge",{"2":{"245":1,"246":1}}],["broadcasting",{"2":{"197":2,"206":2,"462":1,"477":1,"636":2,"716":1,"722":1}}],["broadcast",{"2":{"86":1,"206":2,"245":1,"246":1,"254":1,"434":1,"466":1,"534":2,"576":4,"726":1}}],["broadcastcd",{"2":{"86":1,"254":1}}],["broader",{"2":{"41":1,"61":1,"64":1,"83":1,"706":1}}],["brought",{"2":{"33":1}}],["bound",{"2":{"709":1}}],["bonddenomalias",{"2":{"458":1}}],["bonddenom",{"2":{"457":1}}],["bonus",{"2":{"388":1}}],["bona",{"2":{"45":1}}],["bot",{"2":{"272":1}}],["both",{"2":{"117":1,"133":1,"167":1,"186":1,"206":1,"272":1,"290":1,"298":1,"368":1,"404":1,"426":1,"430":1,"433":1,"438":1,"444":1,"512":1,"572":1,"579":1,"638":1,"739":1}}],["border",{"2":{"250":2}}],["borrowing",{"2":{"58":1}}],["bob",{"2":{"242":4}}],["box",{"2":{"181":1}}],["bootstr",{"2":{"522":2}}],["bootstrappeers",{"2":{"604":2}}],["bootstrappers",{"2":{"487":1,"496":1,"522":1,"524":1,"530":3,"539":1,"545":1,"604":1,"716":1}}],["bootstrapper",{"0":{"489":1,"495":1},"1":{"490":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":2},"2":{"487":1,"489":1,"492":7,"493":2,"494":1,"495":3,"522":3,"539":1,"604":3,"727":1}}],["bootstrapping",{"0":{"452":1},"2":{"391":1}}],["bootstrap",{"0":{"604":1},"2":{"452":1,"489":1,"607":1}}],["boolean",{"2":{"585":2,"586":1}}],["bool",{"2":{"125":2,"242":6}}],["boostrapper",{"2":{"583":1}}],["boost",{"2":{"64":1}}],["book",{"2":{"58":1,"141":1,"393":1}}],["board",{"2":{"61":2}}],["bowen",{"2":{"27":3}}],["body",{"2":{"7":1,"197":2}}],["bare",{"2":{"653":1}}],["baricevic",{"2":{"52":1}}],["bak",{"2":{"613":10,"644":2}}],["bad",{"2":{"418":2}}],["balances",{"0":{"200":1},"2":{"197":1,"200":6,"212":2,"422":2,"477":1,"562":5,"716":1}}],["balance",{"0":{"336":1,"337":1,"343":1},"2":{"167":1,"200":3,"226":1,"237":1,"252":1,"301":1,"302":1,"336":3,"337":7,"564":1,"619":1,"671":1,"699":1}}],["batchsubmitter",{"2":{"364":2}}],["batcheraddr",{"2":{"364":2}}],["batcher",{"2":{"169":3,"290":1,"295":3,"356":1,"359":1,"361":1,"364":3,"365":1,"366":1}}],["batched",{"2":{"166":1}}],["batches",{"0":{"366":1},"2":{"126":1,"161":1,"169":1,"290":1,"295":1,"366":2,"435":1}}],["batchposter",{"2":{"104":1}}],["batch",{"2":{"103":1,"109":1,"127":2,"153":1,"160":1,"271":8,"355":2,"356":1,"364":3,"366":4,"372":2}}],["bain",{"2":{"52":1}}],["backward",{"2":{"675":1}}],["backed",{"2":{"646":2}}],["backers",{"2":{"446":2,"447":2}}],["backend=test",{"2":{"636":2}}],["backend=",{"2":{"576":2}}],["backend",{"2":{"202":3,"206":4,"211":2,"216":6,"217":6,"218":6,"222":2,"223":2,"246":2,"252":2,"325":4,"380":2,"554":2,"558":4,"576":8,"586":1,"671":2,"685":2,"686":2,"688":2,"700":4}}],["background",{"0":{"740":1},"1":{"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"386":8,"387":2,"556":1,"624":1,"634":1,"673":1,"703":1,"740":1,"741":1,"742":1,"746":1}}],["back",{"2":{"46":1,"104":1,"137":1,"160":1,"169":1,"237":1,"270":1,"280":1,"295":1,"363":1,"364":1,"365":1,"386":5,"387":2,"388":1,"522":1,"539":1}}],["basefeepergas",{"2":{"360":1}}],["basechainhandle",{"2":{"276":8}}],["baseaccount",{"2":{"199":3}}],["base64str",{"2":{"386":4}}],["base64=true",{"2":{"333":5}}],["base64",{"2":{"145":1,"146":1,"148":1,"149":1,"150":1,"151":1,"152":1,"250":2,"332":4,"333":4,"348":1,"361":3,"385":2,"386":9}}],["based",{"2":{"129":1,"165":1,"225":1,"258":1,"283":1,"288":2,"297":1,"300":1,"322":1,"378":1,"403":2,"404":3,"425":1,"439":1,"441":1,"442":1,"452":1,"508":1,"580":1,"596":1,"749":1}}],["base",{"0":{"199":1},"2":{"119":1,"198":4,"235":1,"250":1,"433":2}}],["bashmoniker=",{"2":{"636":1}}],["bashmake",{"2":{"98":1,"322":5,"356":1,"357":1,"358":2,"373":1,"374":1,"375":1,"376":1,"580":1,"596":5}}],["bashrc",{"2":{"613":1}}],["bashroot",{"2":{"223":1}}],["bashpersistent",{"2":{"613":3}}],["bashprometheus",{"2":{"572":1}}],["bashprivate",{"2":{"246":1,"252":1}}],["bashseeds=$",{"2":{"613":2}}],["bashsuccess",{"2":{"273":1,"276":2}}],["bashsudo",{"2":{"92":1,"319":4,"654":1,"661":4}}],["bashfatal",{"2":{"595":1}}],["bashforge",{"2":{"113":1,"114":1,"115":1,"118":1,"229":1,"230":1,"231":1,"233":1,"234":1,"241":1,"243":1,"245":1,"246":1}}],["bash$home",{"2":{"370":6}}],["bashzsh",{"2":{"320":1,"662":1}}],["bashhermes",{"2":{"272":1,"273":1,"275":3,"276":2}}],["bashvalidator",{"2":{"629":1,"637":1}}],["bashvim",{"2":{"271":1}}],["bashver=",{"2":{"94":1,"320":3,"662":3}}],["bashnpm",{"2":{"252":1}}],["bashanvil",{"2":{"245":1}}],["bashanvilanvil",{"2":{"233":1}}],["bashdocker",{"2":{"222":4,"223":4,"359":3,"653":3,"655":3,"656":3}}],["bashda",{"2":{"108":1}}],["bashbrew",{"2":{"613":1}}],["bashbash",{"2":{"581":1}}],["bashbalances",{"2":{"200":2}}],["bashblockhash",{"2":{"119":1,"235":1}}],["bashgrafana",{"2":{"572":1}}],["bashgrpcurl",{"2":{"362":1,"365":1}}],["bashgo",{"2":{"320":1,"662":1}}],["bashgas",{"2":{"197":1}}],["bashgit",{"2":{"97":1,"322":3,"354":2,"485":1,"580":3,"596":3}}],["bashenter",{"2":{"629":1}}],["bashecho",{"2":{"119":1,"235":1,"320":2,"662":2}}],["bashexport",{"2":{"86":2,"87":1,"118":2,"190":1,"196":1,"202":1,"204":1,"233":1,"234":2,"245":1,"246":1,"254":3,"329":2,"330":1,"343":1,"355":1,"360":1,"361":1,"372":1,"583":2,"653":7}}],["bash0x000000000000000000000000000000000000000000000000000000000000000a0x000000000000000000000000000000000000000000000000000000000000000a",{"2":{"119":1,"235":1}}],["bash",{"2":{"94":4,"95":2,"98":4,"99":3,"108":3,"109":6,"114":1,"115":1,"118":1,"190":1,"194":1,"195":2,"197":3,"198":2,"199":2,"200":2,"216":3,"217":3,"218":3,"222":2,"223":1,"230":1,"231":1,"234":1,"277":2,"319":3,"320":4,"325":2,"331":2,"571":1,"576":1,"581":1,"586":1,"592":2,"613":1,"654":1,"655":1,"656":1,"661":3,"662":4}}],["bashcp",{"2":{"247":1,"613":3}}],["bashcontainer",{"2":{"222":1,"223":1}}],["bashcelestia",{"2":{"202":3,"204":2,"279":1,"322":1,"323":3,"324":6,"325":3,"327":3,"330":1,"331":2,"332":4,"333":5,"334":3,"336":1,"337":2,"338":1,"339":1,"340":2,"341":1,"342":1,"343":3,"344":1,"345":2,"346":1,"408":1,"409":1,"477":2,"583":1,"592":2,"593":2,"594":2,"596":1,"613":3,"629":2,"632":1,"633":1,"636":1,"716":1}}],["bashcargo",{"2":{"96":1}}],["bashcast",{"2":{"87":3,"119":2,"235":2,"245":2,"246":2,"254":3,"360":1,"361":1}}],["bashcurl",{"2":{"93":1,"95":1,"571":1}}],["bashcd",{"2":{"86":2,"88":1,"113":1,"189":1,"191":1,"194":1,"229":1,"247":1,"254":2,"255":1,"320":4,"322":1,"354":1,"355":1,"362":1,"372":1,"580":1,"596":1,"623":3,"654":1,"662":4}}],["bashyarn",{"2":{"1":1}}],["bassam",{"2":{"28":1,"52":1}}],["basically",{"2":{"181":1}}],["basic",{"0":{"24":1,"328":1},"1":{"25":1,"26":1,"27":1,"28":1,"29":1,"329":1,"330":1,"331":1},"2":{"33":1,"48":2,"112":2,"228":2,"242":2,"250":2,"327":1,"328":1,"572":1,"646":1,"648":1,"652":2}}],["bandwidth",{"2":{"288":2,"318":1,"428":1,"548":1,"609":1,"627":1,"665":1,"695":1}}],["bank",{"2":{"200":4,"212":2,"283":1,"562":10,"576":4}}],["banner",{"2":{"62":1}}],["banners",{"2":{"62":1}}],["ban",{"0":{"15":1,"16":1},"2":{"14":1,"15":2,"16":1}}],["bug",{"2":{"595":2,"731":1}}],["bugs",{"2":{"42":1}}],["burned",{"2":{"563":1}}],["buckets",{"2":{"271":8}}],["buffer",{"2":{"250":6}}],["bubstestnet",{"2":{"170":1,"174":1,"175":1}}],["bubs",{"0":{"168":1,"170":1,"227":1,"234":1,"254":1},"1":{"169":1,"170":1,"171":2,"172":2,"173":2,"174":2,"175":2,"176":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"255":1,"256":1,"257":1},"2":{"168":1,"169":1,"170":1,"171":1,"172":1,"173":3,"174":1,"176":3,"183":1,"227":1,"228":4,"234":8,"236":1,"254":6,"291":3,"296":1,"396":3}}],["budget",{"2":{"59":3,"64":1}}],["buy",{"2":{"45":1}}],["businesses",{"2":{"62":1}}],["business",{"2":{"45":1}}],["buttonstyle",{"2":{"250":6}}],["button",{"2":{"250":16,"266":1,"298":5,"572":1}}],["buttoncontainerstyle",{"2":{"250":6}}],["but",{"2":{"8":1,"41":1,"43":1,"44":1,"45":2,"49":2,"53":1,"58":1,"59":3,"62":1,"65":1,"66":1,"83":1,"132":1,"133":2,"167":1,"178":1,"190":1,"193":1,"246":1,"272":1,"285":1,"286":1,"295":1,"383":2,"390":1,"406":1,"422":1,"435":1,"447":2,"472":1,"509":1,"512":1,"514":1,"573":1,"620":2,"630":1,"647":1,"663":1,"676":1,"684":1,"706":1,"720":1,"731":1}}],["buildmake",{"2":{"322":1,"596":1}}],["builds",{"2":{"190":1}}],["buildforge",{"2":{"114":1,"230":1}}],["builders",{"2":{"46":1,"179":1,"294":1}}],["build",{"0":{"30":1,"177":1,"355":1,"372":1,"385":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"356":1,"357":1,"358":1,"359":1},"2":{"22":1,"33":2,"46":2,"48":3,"52":1,"61":1,"92":2,"98":7,"114":1,"120":1,"158":1,"170":1,"179":1,"184":1,"185":1,"189":2,"190":3,"191":2,"194":2,"230":1,"236":1,"238":3,"257":1,"282":1,"319":5,"320":1,"322":10,"355":1,"372":1,"383":1,"386":1,"392":1,"396":1,"451":1,"483":1,"580":1,"596":10,"661":4,"662":1,"678":1}}],["building",{"0":{"1":1,"19":1,"170":1,"182":1,"247":1,"383":1,"431":1,"580":1},"1":{"20":1,"21":1,"22":1,"23":1,"171":1,"172":1,"173":1,"174":1,"175":1,"183":1,"184":1,"185":1,"248":1,"384":1,"385":1,"386":1,"387":1,"432":1},"2":{"22":3,"25":1,"31":1,"33":1,"48":1,"51":1,"177":1,"182":1,"239":1,"247":1,"308":1,"319":1,"380":1,"393":1,"596":1,"660":1,"697":1}}],["built",{"0":{"169":1,"581":1},"2":{"1":1,"27":1,"33":1,"165":1,"168":1,"169":1,"215":1,"257":1,"269":2,"279":1,"289":2,"294":1,"295":1,"296":1,"387":1,"391":1,"392":1,"432":2,"453":1,"547":2,"579":1,"581":3,"613":1}}],["bypass",{"2":{"532":1}}],["byte",{"2":{"103":6,"132":8,"149":1,"150":1,"167":1,"386":7,"387":4,"404":1,"405":1,"410":4}}],["bytes=",{"2":{"709":1}}],["bytes28",{"2":{"149":2,"150":2}}],["bytes1",{"2":{"149":2,"150":2}}],["bytes32",{"2":{"125":8,"145":1,"146":1,"149":2,"152":3,"153":2}}],["bytes",{"0":{"709":1},"2":{"103":1,"108":1,"125":4,"147":2,"148":2,"149":5,"150":1,"332":1,"364":4,"403":1,"410":2,"428":2,"429":3,"435":1,"708":1,"709":4}}],["by",{"0":{"340":1,"618":1},"2":{"8":1,"17":1,"25":1,"41":6,"42":4,"44":3,"45":11,"49":1,"56":1,"59":1,"60":1,"61":1,"64":1,"65":1,"66":1,"78":1,"83":2,"102":1,"103":2,"104":1,"114":1,"115":2,"117":1,"125":2,"127":1,"129":7,"131":1,"132":1,"133":5,"135":2,"137":2,"145":2,"147":4,"150":1,"153":2,"157":1,"158":1,"159":2,"160":2,"169":3,"179":1,"180":1,"181":1,"198":1,"212":1,"214":1,"222":1,"223":2,"230":1,"231":2,"237":1,"242":6,"246":1,"247":1,"269":2,"270":1,"276":1,"283":1,"287":2,"288":1,"293":2,"294":1,"295":2,"302":1,"303":1,"312":1,"314":1,"316":1,"322":1,"325":3,"332":3,"340":4,"341":4,"346":6,"356":1,"366":2,"370":1,"371":1,"380":1,"386":3,"390":3,"391":3,"392":1,"397":1,"401":2,"402":6,"403":5,"404":6,"405":2,"406":2,"414":1,"415":1,"416":1,"417":1,"418":1,"427":2,"428":1,"430":2,"432":3,"434":2,"435":5,"436":3,"439":1,"442":1,"447":1,"452":1,"453":1,"462":1,"492":1,"494":1,"503":2,"504":2,"505":2,"516":1,"518":1,"521":1,"526":1,"528":1,"529":1,"533":1,"534":1,"542":1,"544":1,"554":2,"557":4,"563":2,"571":1,"572":3,"573":1,"576":2,"577":1,"582":3,"584":1,"591":3,"596":1,"602":2,"604":2,"607":2,"608":1,"613":1,"620":1,"621":1,"622":1,"627":1,"629":1,"643":2,"646":2,"654":1,"671":2,"676":2,"680":1,"681":1,"682":1,"683":1,"690":1,"692":1,"697":1,"700":3,"709":4,"722":1,"731":2,"734":1}}],["behind",{"2":{"288":1,"298":1,"472":1,"644":1,"734":1}}],["behave",{"2":{"575":1}}],["behaviour",{"2":{"507":1}}],["behavior",{"2":{"8":2,"9":2,"11":1,"13":2,"14":1,"15":1,"16":1,"327":1,"622":1,"694":1}}],["behalf",{"2":{"41":1,"45":2}}],["beautiful",{"2":{"247":1}}],["bear",{"2":{"42":2,"45":2}}],["bedrock",{"2":{"169":1,"295":2,"359":1,"367":1,"370":1,"373":1}}],["bech",{"2":{"534":2,"629":2,"637":2}}],["bech32prefixconspub",{"2":{"298":2}}],["bech32prefixconsaddr",{"2":{"298":2}}],["bech32prefixvalpub",{"2":{"298":2}}],["bech32prefixvaladdr",{"2":{"298":2}}],["bech32prefixaccpub",{"2":{"298":2}}],["bech32prefixaccaddr",{"2":{"298":2}}],["bech32config",{"2":{"298":2}}],["because",{"2":{"135":1,"181":1,"245":1,"246":1,"270":1,"288":1,"413":1,"423":1,"510":1,"516":1,"528":1,"544":1}}],["becomes",{"2":{"413":2,"607":1}}],["become",{"2":{"42":1,"71":1,"74":1}}],["beer",{"2":{"59":1}}],["been",{"2":{"42":1,"45":4,"103":2,"104":2,"125":3,"198":1,"212":1,"245":1,"246":1,"276":1,"312":1,"317":1,"391":2,"413":1,"422":1,"423":1,"510":2,"533":1,"534":1,"591":1,"698":1,"708":1,"742":1,"746":1}}],["beginner",{"0":{"649":1},"2":{"649":1}}],["beginning",{"2":{"62":2,"149":2,"442":1}}],["beginkey",{"2":{"149":3}}],["begin",{"2":{"56":1,"137":1,"250":2,"572":1}}],["belong",{"2":{"147":2}}],["below",{"2":{"45":1,"65":1,"118":1,"134":1,"154":1,"212":1,"234":1,"361":1,"362":1,"373":1,"391":1,"432":1,"435":2,"442":1,"446":1,"447":1,"462":1,"580":1,"581":1,"629":1,"636":2,"655":1,"656":1,"671":1,"699":1,"722":1,"727":1}}],["beller",{"2":{"52":1}}],["benefits",{"2":{"58":1,"62":1,"77":1,"80":1,"83":2,"102":1,"177":2,"238":1}}],["benefit",{"2":{"45":2,"62":2,"64":1,"103":1}}],["beneficial",{"2":{"45":1,"66":1}}],["betaarabicamocha",{"2":{"702":1}}],["betamochaarabica",{"2":{"298":1,"320":1,"322":1,"323":1,"324":2,"325":1,"370":2,"553":1,"555":1,"580":1,"596":1,"613":4,"623":1,"653":2,"655":1,"656":1,"662":1,"670":1,"672":1,"698":1,"700":1}}],["beta",{"0":{"398":1,"705":1,"733":1},"1":{"706":1,"707":1,"708":1,"709":1,"710":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":1,"717":1,"718":1,"719":1},"2":{"104":1,"216":1,"222":1,"223":1,"237":1,"290":1,"325":1,"370":1,"373":1,"398":1,"554":1,"585":1,"589":1,"590":3,"653":1,"671":1,"699":1,"705":2,"706":2,"710":2,"716":1,"717":1,"733":1}}],["between",{"0":{"274":1,"421":1},"2":{"42":1,"60":1,"61":1,"137":1,"167":1,"242":2,"269":2,"270":1,"271":1,"274":1,"276":1,"433":1,"442":1,"535":1,"582":1,"591":1,"664":1,"731":1,"745":1}}],["better",{"2":{"25":1,"65":1,"66":1,"133":1,"176":1,"391":1,"512":1}}],["be",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1},"2":{"8":2,"11":2,"13":1,"33":1,"42":2,"44":1,"45":14,"46":1,"51":1,"58":3,"59":3,"61":1,"62":3,"63":4,"66":4,"71":1,"83":1,"87":1,"88":1,"90":1,"102":1,"115":1,"117":2,"120":1,"129":1,"132":4,"133":5,"134":2,"135":3,"137":3,"143":2,"145":3,"146":4,"148":3,"149":3,"150":2,"151":1,"152":1,"153":4,"154":1,"157":1,"158":1,"159":5,"160":1,"165":1,"169":1,"179":4,"181":2,"190":1,"201":1,"207":2,"212":1,"214":1,"215":1,"216":2,"222":1,"223":1,"224":1,"226":1,"231":1,"237":3,"238":2,"239":1,"242":2,"245":2,"247":1,"250":1,"252":2,"253":1,"254":1,"255":1,"257":2,"269":1,"271":1,"272":2,"276":2,"279":3,"280":1,"283":1,"287":1,"288":3,"299":1,"302":1,"306":1,"309":1,"312":2,"317":1,"319":1,"322":1,"323":1,"324":1,"325":1,"328":2,"329":2,"332":6,"337":1,"364":3,"365":1,"366":3,"370":2,"373":2,"378":3,"379":1,"380":4,"381":1,"382":1,"383":1,"388":1,"389":1,"390":4,"391":3,"401":1,"402":1,"403":3,"404":1,"405":2,"406":3,"410":4,"414":1,"417":1,"418":3,"420":2,"423":2,"424":1,"427":1,"428":1,"429":3,"430":1,"433":3,"435":2,"436":1,"438":2,"439":1,"442":2,"447":2,"452":1,"465":1,"472":2,"477":1,"487":1,"492":1,"493":1,"496":2,"501":1,"503":1,"504":1,"505":1,"506":2,"508":1,"509":1,"510":6,"512":2,"514":1,"515":2,"516":3,"517":4,"521":1,"524":1,"526":1,"527":1,"529":3,"530":8,"534":2,"535":2,"537":2,"538":2,"542":1,"543":2,"545":1,"552":1,"553":1,"554":1,"555":1,"560":3,"563":5,"564":1,"570":1,"571":1,"573":1,"574":1,"575":1,"576":2,"580":2,"581":1,"582":1,"585":1,"587":2,"589":2,"591":2,"593":4,"602":1,"604":1,"607":2,"615":1,"618":1,"622":5,"624":1,"632":1,"636":2,"637":2,"642":1,"643":1,"646":2,"647":1,"653":1,"654":2,"660":1,"671":4,"672":1,"674":2,"675":2,"676":3,"677":3,"682":1,"687":1,"688":1,"689":1,"692":1,"699":2,"700":1,"702":1,"706":1,"708":1,"709":4,"725":1,"727":1,"734":5,"737":1,"742":1,"744":2,"745":2,"746":1,"747":2,"748":2}}],["best",{"2":{"8":1,"78":1,"83":1,"180":1,"461":1,"475":1,"573":1,"710":1,"720":1,"737":1}}],["being",{"2":{"8":1,"135":1,"149":1,"280":1,"283":1,"420":1,"436":1,"502":1,"515":2,"547":1,"589":1,"615":1,"749":1}}],["before",{"0":{"54":1,"533":1},"2":{"2":1,"60":2,"61":1,"63":1,"88":1,"98":1,"104":1,"134":1,"137":3,"159":1,"192":1,"197":2,"251":1,"255":1,"270":1,"298":3,"327":1,"386":2,"435":1,"492":1,"501":1,"526":1,"542":1,"589":1,"622":1,"636":2,"654":1,"683":1,"686":1,"742":1}}],["rc7",{"2":{"460":1}}],["rc9",{"2":{"460":1}}],["rc1",{"2":{"373":2}}],["r",{"2":{"341":2,"346":2,"361":4,"446":1,"447":2}}],["rgba",{"2":{"250":2}}],["r1",{"2":{"154":1}}],["r0",{"2":{"154":1}}],["rfc",{"2":{"126":1}}],["rf",{"2":{"94":2,"320":8,"322":2,"580":2,"595":4,"596":2,"613":2,"623":6,"662":8}}],["rm",{"2":{"94":4,"320":16,"322":2,"580":2,"595":4,"596":2,"613":2,"623":6,"662":16}}],["rs",{"2":{"93":2}}],["rsvp",{"2":{"54":1}}],["rpcs",{"2":{"304":1,"477":1,"716":1}}],["rpcurls",{"2":{"249":2}}],["rpc",{"0":{"171":1,"285":1,"308":1,"310":1,"311":1,"314":1,"326":1,"411":1,"462":1,"476":1,"642":1,"643":1,"712":1,"716":1,"722":1},"1":{"172":1,"173":1,"309":1,"310":1,"311":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":2,"328":2,"329":2,"330":2,"331":2,"332":2,"333":2,"334":2,"335":2,"336":2,"337":2,"338":2,"339":2,"340":2,"341":2,"342":2,"343":2,"344":2,"345":2,"346":2,"347":1,"348":1,"349":1,"350":1,"463":1,"464":1,"643":1,"644":1,"645":1,"723":1,"724":1},"2":{"86":7,"87":16,"108":8,"118":7,"119":9,"133":4,"140":1,"143":1,"144":1,"171":2,"204":8,"205":1,"206":5,"222":2,"223":2,"226":2,"228":1,"233":7,"234":8,"235":9,"245":2,"246":6,"251":1,"254":23,"271":16,"285":2,"298":10,"302":1,"307":1,"308":3,"310":3,"311":1,"314":1,"317":1,"323":1,"324":3,"326":1,"327":2,"328":4,"329":1,"330":1,"334":1,"338":1,"339":1,"349":1,"350":2,"360":2,"361":2,"373":3,"380":1,"383":3,"385":2,"386":7,"411":1,"462":2,"464":3,"466":1,"476":4,"477":5,"501":4,"522":1,"524":1,"530":5,"532":1,"539":1,"545":1,"547":1,"553":1,"554":2,"562":4,"582":2,"583":1,"591":2,"592":2,"597":1,"608":1,"622":4,"632":1,"642":1,"643":3,"644":1,"647":3,"653":5,"671":1,"699":3,"700":3,"712":13,"713":1,"714":2,"716":12,"722":2,"723":7,"724":3,"726":1,"738":1}}],["router",{"2":{"582":1,"591":1}}],["routing",{"2":{"522":6,"539":6}}],["routine",{"2":{"60":1}}],["roughly",{"2":{"406":1}}],["rounds",{"2":{"416":2}}],["round",{"2":{"340":2}}],["robusta",{"2":{"331":2}}],["robust",{"2":{"170":1}}],["rowproofs",{"0":{"152":1},"2":{"147":2,"153":1}}],["rowroots",{"0":{"151":1},"2":{"147":4,"151":1}}],["row",{"2":{"129":4,"146":15,"147":2,"149":1,"151":5,"152":4,"153":1,"154":1,"340":2,"429":1,"435":4}}],["rows",{"2":{"129":3,"146":1,"147":8,"149":1,"151":1,"152":1,"427":1}}],["roots",{"2":{"129":2,"135":1,"146":5,"147":2,"149":1,"151":4,"152":2,"153":1,"154":1,"160":1,"161":1,"166":1,"340":4,"427":3,"428":1,"429":1,"435":2,"436":1,"547":1}}],["root",{"0":{"145":1},"2":{"103":2,"104":1,"108":3,"119":2,"125":4,"126":4,"129":10,"132":1,"134":5,"135":1,"145":9,"146":8,"147":14,"152":1,"153":22,"157":2,"158":1,"160":1,"161":1,"223":2,"235":2,"247":1,"249":2,"328":1,"357":1,"374":1,"427":1,"429":1,"430":1,"435":2,"438":1}}],["rooms",{"2":{"58":1}}],["roadmaps",{"2":{"102":1}}],["role",{"0":{"450":1},"1":{"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1},"2":{"78":1,"79":1,"386":2,"454":1,"521":1,"538":1}}],["roles",{"2":{"54":1}}],["rollback",{"2":{"557":8}}],["roller",{"2":{"396":1}}],["rollapp",{"2":{"396":1}}],["rollapps",{"2":{"31":2,"185":1}}],["rollkit",{"0":{"392":1},"1":{"393":1},"2":{"22":3,"27":1,"66":1,"79":2,"98":2,"108":2,"184":1,"246":1,"252":1,"362":2,"373":4,"392":4,"393":1,"396":1,"460":1}}],["rollupinclusionproofs",{"2":{"148":1,"149":1,"150":1,"152":1,"153":1}}],["rollup",{"0":{"79":1,"84":1,"90":1,"106":1,"109":1,"110":1,"131":1,"133":1,"136":1,"246":1,"394":1,"395":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"107":1,"108":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"134":1,"135":1,"137":1,"138":1,"139":1,"140":1,"141":1,"395":1,"396":1},"2":{"22":4,"49":3,"62":1,"79":4,"84":2,"85":1,"98":1,"102":2,"105":1,"106":1,"107":1,"109":2,"111":1,"112":1,"120":2,"125":15,"129":1,"131":2,"132":11,"133":15,"137":4,"141":1,"146":1,"150":1,"151":1,"153":1,"169":2,"170":1,"178":1,"179":2,"180":1,"181":5,"183":1,"184":2,"185":1,"240":2,"246":2,"250":2,"251":1,"252":3,"253":1,"257":1,"290":1,"295":1,"304":1,"364":4,"365":1,"389":2,"391":7,"392":2,"393":4,"395":1,"396":2,"430":1,"446":1,"451":1,"671":2}}],["rollups",{"0":{"101":1,"184":1,"185":1,"391":1,"452":1},"1":{"102":1,"103":1,"104":1,"105":1},"2":{"3":1,"29":1,"31":1,"61":1,"66":1,"77":1,"79":1,"102":1,"107":1,"131":1,"134":3,"169":1,"178":1,"179":2,"180":6,"181":3,"363":1,"371":1,"389":1,"391":3,"392":2,"393":1,"394":1,"395":3,"396":1,"414":1,"424":1,"433":1,"452":1,"471":1,"472":1,"705":1,"720":1,"733":1,"734":2}}],["rigorous",{"2":{"705":1}}],["rights",{"2":{"41":2}}],["right",{"2":{"9":1,"45":1,"46":1,"49":1,"177":1,"250":6,"252":1,"266":1,"452":1,"510":1,"530":1,"676":1}}],["riit57fvj0gm7tgacaaa",{"2":{"362":2}}],["richer",{"2":{"308":1}}],["risks",{"2":{"45":2}}],["rules",{"2":{"133":1,"433":1}}],["rule",{"2":{"42":1,"45":5}}],["rustup",{"2":{"93":2,"96":2}}],["rust",{"0":{"93":1},"2":{"33":1,"269":1,"270":1}}],["runners",{"2":{"477":1}}],["running",{"0":{"222":1,"243":1,"585":1,"731":1},"1":{"586":1},"2":{"78":1,"85":1,"91":1,"98":1,"112":1,"115":2,"117":1,"133":1,"192":1,"205":1,"223":1,"231":2,"240":2,"252":1,"253":1,"270":1,"272":1,"282":1,"317":1,"318":1,"319":3,"322":1,"325":3,"328":1,"329":1,"356":1,"359":1,"373":1,"380":3,"381":1,"392":1,"402":1,"417":1,"461":1,"464":1,"475":1,"484":2,"500":1,"506":1,"510":1,"521":3,"522":1,"528":1,"535":3,"536":1,"544":1,"548":1,"554":2,"568":1,"570":1,"571":1,"572":1,"573":1,"576":2,"584":2,"587":1,"596":1,"607":1,"609":3,"613":1,"627":1,"630":3,"638":1,"649":1,"650":2,"653":1,"654":1,"656":1,"660":1,"661":2,"665":1,"671":2,"673":1,"674":1,"683":1,"692":1,"695":1,"700":3,"704":1,"710":1,"720":1,"724":1,"734":1,"737":1,"738":1,"739":1,"740":1,"741":1,"742":2}}],["runtime",{"2":{"276":8}}],["rundown",{"2":{"177":1}}],["runs",{"2":{"98":1,"115":2,"190":1,"231":2,"404":1,"545":2,"572":2}}],["run",{"0":{"78":1,"109":1,"189":1,"380":1,"490":1,"498":1,"523":1,"540":1,"554":1,"555":1,"633":1,"636":1,"638":1,"648":1,"669":1,"672":1,"702":1},"1":{"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"499":1,"500":1,"501":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"541":1,"542":1,"543":1,"544":1,"545":1,"555":1,"649":1,"650":1,"670":1,"671":1},"2":{"1":1,"75":1,"78":2,"98":1,"99":1,"108":1,"114":3,"115":1,"133":1,"158":1,"181":2,"189":3,"190":2,"192":1,"197":1,"206":1,"211":1,"212":1,"221":1,"222":3,"230":3,"231":1,"233":1,"234":1,"239":1,"243":1,"244":2,"246":1,"252":7,"269":1,"273":1,"308":1,"310":1,"312":1,"319":1,"320":2,"324":2,"326":1,"332":1,"351":1,"357":1,"359":2,"362":1,"368":1,"370":3,"374":1,"375":1,"376":1,"380":1,"381":2,"384":1,"387":3,"396":1,"461":3,"464":1,"475":1,"476":1,"477":1,"483":1,"487":4,"515":1,"516":1,"524":1,"530":1,"534":3,"535":1,"538":2,"545":1,"547":3,"552":1,"553":1,"555":1,"557":2,"569":1,"572":4,"577":1,"580":2,"581":1,"582":2,"587":1,"591":2,"593":1,"595":1,"597":2,"598":1,"619":1,"623":1,"624":2,"629":2,"630":1,"632":1,"633":1,"636":2,"637":2,"638":1,"648":1,"650":2,"651":6,"653":9,"655":9,"656":9,"660":1,"662":2,"670":1,"672":1,"673":1,"684":1,"685":1,"686":1,"688":2,"689":1,"691":2,"698":1,"702":1,"710":2,"716":1,"720":3,"724":1,"731":1,"736":1,"737":1,"738":1,"739":3}}],["randomly",{"2":{"427":1}}],["random",{"2":{"416":1,"434":1,"436":2,"534":1}}],["range",{"2":{"39":1,"102":1,"145":1,"146":2,"153":1,"386":4,"430":2}}],["raas",{"0":{"371":1},"2":{"371":2}}],["rapid",{"2":{"247":1}}],["rapidly",{"2":{"68":1}}],["rainbow",{"2":{"248":2,"249":8,"250":2}}],["rainbowkitprovider",{"2":{"249":6}}],["rainbowkit",{"2":{"238":1,"247":1,"248":2,"249":10,"250":2}}],["raise",{"2":{"4":1,"54":1}}],["rate=0",{"2":{"569":6,"636":6}}],["rates",{"2":{"442":1}}],["rate",{"2":{"226":3,"442":1}}],["rather",{"2":{"167":1,"178":1,"442":1,"471":1}}],["rawlog",{"2":{"410":4}}],["rawmessage",{"2":{"132":2,"135":2}}],["raw",{"2":{"95":2,"148":1,"197":2,"226":1,"319":2,"500":1,"528":1,"534":2,"544":1,"547":2,"613":10,"629":2,"636":2,"661":2,"694":1}}],["ram",{"2":{"91":1,"99":1,"290":1,"318":1,"322":1,"484":1,"548":1,"596":1,"609":1,"627":1,"665":1,"695":1}}],["radio",{"2":{"45":1}}],["race",{"2":{"7":1,"380":3}}],["reinitializing",{"2":{"683":1}}],["reinitialize",{"2":{"589":1}}],["reindexing",{"2":{"647":2}}],["reindex",{"2":{"647":1}}],["reed",{"2":{"427":2,"429":5,"432":1,"435":1}}],["rename",{"2":{"559":2,"677":1}}],["renaming",{"2":{"559":2}}],["render",{"2":{"249":2}}],["rentals",{"2":{"64":1}}],["reducing",{"2":{"434":1}}],["reduce",{"2":{"179":1}}],["reduced",{"2":{"58":1,"179":1,"436":1,"706":1,"733":1}}],["redundant",{"2":{"418":1}}],["redundancy",{"2":{"293":1}}],["redelegate",{"2":{"264":1,"268":1}}],["redeploy",{"2":{"246":1}}],["retain",{"0":{"617":1},"2":{"615":1,"617":5,"620":4}}],["retrial",{"2":{"436":1}}],["retrieval",{"2":{"419":1}}],["retrievable",{"2":{"389":1,"423":1}}],["retrievability",{"0":{"389":1,"390":1,"425":1},"1":{"390":1,"391":1},"2":{"389":1,"422":1}}],["retrieving",{"0":{"333":1},"2":{"419":1,"423":1,"622":1,"649":1}}],["retrieved",{"2":{"328":1,"364":1,"391":1,"420":1}}],["retrieve",{"2":{"250":1,"314":1,"333":1,"348":1,"364":1,"370":2,"420":1}}],["retrieves",{"2":{"169":1}}],["retried",{"2":{"153":1}}],["retries",{"2":{"108":2,"373":2}}],["returns",{"2":{"125":2,"133":4,"242":4,"332":1,"364":1,"386":2}}],["return",{"2":{"118":1,"125":2,"135":10,"137":12,"234":1,"242":4,"250":4,"298":2,"333":3,"343":1,"386":12,"387":1,"410":18}}],["returned",{"2":{"87":1,"250":2,"254":1,"280":1,"333":1,"364":2,"430":1,"629":1}}],["remains",{"2":{"706":1,"733":1}}],["remainder",{"2":{"190":1,"197":1,"246":1}}],["remain",{"2":{"180":1,"389":1,"570":1,"617":1,"684":1}}],["remaining",{"2":{"149":2,"150":1,"178":1,"200":1,"364":1,"447":4,"502":1,"506":1,"709":1}}],["remote",{"2":{"64":1,"171":1,"326":1,"383":1,"547":1,"557":2,"572":2,"602":3,"607":1}}],["removed",{"2":{"312":1,"317":1,"591":1}}],["remove",{"2":{"9":1,"249":2,"322":1,"361":2,"376":1,"580":1,"594":1,"596":1}}],["remember",{"2":{"58":1,"62":1,"173":1,"181":1,"361":1,"646":1,"647":1,"706":1}}],["reminders",{"2":{"63":1}}],["reminder",{"2":{"54":1,"63":1}}],["refund",{"2":{"402":1,"404":1}}],["refunded",{"2":{"402":1}}],["refresh",{"2":{"271":2}}],["refreshments",{"0":{"59":1},"2":{"54":1,"59":6,"62":1}}],["reflect",{"2":{"108":1}}],["refers",{"2":{"547":1}}],["referred",{"2":{"433":1,"435":2}}],["referrals",{"2":{"61":2}}],["refer",{"2":{"212":1,"216":1,"222":2,"324":1,"325":1,"367":1,"380":1,"404":2,"430":1,"442":1,"459":1,"461":1,"476":1,"521":1,"538":1,"553":1,"554":1,"589":1,"598":1,"624":1,"632":1,"638":1,"651":1,"653":2,"671":2,"692":1,"699":2,"720":1}}],["referencing",{"2":{"134":1}}],["referenced",{"2":{"518":1}}],["reference",{"2":{"0":1,"3":1,"41":1,"60":1,"159":1,"275":6,"377":1,"517":1}}],["requiring",{"2":{"434":1}}],["requires",{"2":{"126":1,"162":1,"322":1,"366":1,"423":1,"596":1,"609":1}}],["requirement",{"2":{"59":1,"429":1,"575":1,"609":1}}],["requirementssyncingstate",{"2":{"608":1}}],["requirementssetting",{"2":{"314":1,"608":1}}],["requirements",{"0":{"318":1,"524":1,"548":1,"609":1,"620":1,"627":1,"665":1,"679":1,"695":1},"2":{"45":4,"54":1,"61":1,"78":1,"79":1,"288":2,"318":1,"484":1,"548":1,"609":1,"620":1,"627":1,"665":1,"679":1,"695":1}}],["required",{"2":{"43":1,"45":1,"53":1,"54":1,"169":1,"179":1,"212":1,"222":1,"246":1,"324":1,"380":1,"384":1,"385":1,"404":1,"429":1,"492":1,"503":1,"504":1,"505":1,"526":1,"542":1,"553":1,"582":1,"589":1,"590":2,"591":1,"622":1,"624":1,"630":1,"632":1,"637":1,"651":1,"653":1,"671":1,"692":1,"699":1}}],["require",{"2":{"42":1,"125":4,"157":1,"180":1,"242":2,"327":1,"423":1,"424":1,"429":2,"433":2,"535":1,"619":1,"675":1}}],["requisites",{"0":{"240":1,"600":1},"2":{"246":1}}],["requests",{"2":{"328":1,"391":1,"425":2,"430":1,"436":1,"547":1,"642":1}}],["requesting",{"2":{"263":1}}],["requested",{"2":{"13":1}}],["request",{"2":{"2":2,"62":1,"145":1,"146":1,"298":2,"325":1,"329":1,"380":1,"435":1,"479":1,"554":1,"621":1,"671":1,"701":1,"728":1,"731":1}}],["reward",{"0":{"424":1},"2":{"42":1,"45":1,"61":1,"425":1}}],["rewards",{"0":{"565":1},"2":{"41":5,"42":10,"43":3,"44":1,"45":37,"264":1,"268":1,"293":1,"397":1,"441":2,"445":1,"447":1,"453":1,"454":1,"564":1,"565":3}}],["resistance",{"2":{"508":1}}],["resubumit",{"2":{"749":1}}],["resubmission",{"0":{"747":1,"748":1},"1":{"748":1,"749":1},"2":{"747":1}}],["resubmitted",{"2":{"748":1}}],["resubmit",{"2":{"406":2}}],["resulting",{"2":{"429":1,"433":1}}],["results",{"2":{"161":2,"340":2,"647":4}}],["result",{"2":{"43":1,"115":2,"119":2,"145":2,"146":2,"148":1,"149":1,"231":2,"235":2,"332":6,"333":8,"334":2,"336":2,"337":2,"338":2,"339":2,"340":2,"341":2,"343":2,"346":2,"362":1,"427":1,"430":2,"433":3,"510":2,"659":1,"742":2}}],["resolve",{"2":{"433":1}}],["resolved",{"2":{"270":1}}],["resolving",{"2":{"290":1,"370":1}}],["resolution",{"2":{"178":1,"595":1}}],["resource",{"2":{"61":1,"74":1,"83":1,"167":1,"428":2,"434":1,"619":1}}],["resourcespost",{"2":{"314":1}}],["resources",{"0":{"347":1,"577":1,"640":1},"1":{"348":1,"349":1,"350":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1},"2":{"46":1,"63":1,"64":2,"67":1,"68":2,"74":1,"75":1,"82":2,"141":1,"282":1,"608":1}}],["resetting",{"0":{"593":1}}],["reset",{"0":{"641":1,"683":1},"2":{"589":1,"594":4,"608":1,"641":2,"677":1,"683":2}}],["reserved",{"2":{"435":2,"709":1}}],["reserves",{"2":{"45":1}}],["researcher",{"2":{"52":2}}],["research",{"2":{"52":2,"60":1,"62":1,"446":1}}],["restartsec=3",{"2":{"742":2,"744":2,"745":2,"746":2}}],["restartsec=1",{"2":{"536":2}}],["restart=on",{"2":{"742":2,"744":2,"745":2,"746":2}}],["restart=always",{"2":{"536":2}}],["restart",{"0":{"645":1},"2":{"534":1,"537":3,"571":1,"585":1,"598":1,"645":1,"646":1,"647":1}}],["restaurant",{"2":{"58":1}}],["restaurants",{"2":{"58":2}}],["rest",{"2":{"48":1,"134":1,"226":1,"270":1,"271":2,"298":10,"302":1,"312":1,"380":1,"465":3,"530":2,"591":1,"713":2,"725":4}}],["restrict",{"2":{"181":1}}],["restricted",{"2":{"45":5}}],["restrictions",{"2":{"42":1,"45":4,"447":1}}],["resale",{"2":{"45":2}}],["resp",{"2":{"386":4,"410":20}}],["respectively",{"2":{"334":1,"364":1,"477":1,"716":1}}],["respective",{"2":{"133":1,"137":1,"154":1,"461":1,"477":1,"569":1,"622":2,"716":1,"720":1}}],["respect",{"2":{"11":1,"41":1,"42":1,"43":1,"45":3}}],["respectfully",{"2":{"70":1}}],["respectful",{"2":{"8":1}}],["responses",{"0":{"647":1},"2":{"66":1,"378":1,"608":1,"647":9}}],["response",{"2":{"9":1,"66":1,"145":1,"146":1,"149":6,"150":1,"151":1,"152":5,"153":1,"222":1,"223":1,"250":4,"333":3,"336":1,"337":1,"338":1,"339":1,"386":12,"410":4,"427":1}}],["responsible",{"2":{"9":1,"11":1,"42":1,"43":1,"44":2,"133":2,"169":1,"295":1,"364":1,"391":2,"434":1}}],["responsibilities",{"0":{"9":1}}],["responsibility",{"2":{"8":1,"9":1,"129":2,"423":1,"749":1}}],["regions",{"2":{"65":1}}],["registry",{"2":{"226":1,"622":1}}],["registration",{"2":{"45":8,"54":1,"55":1,"71":1}}],["registerevmaddress",{"2":{"534":1}}],["registered",{"2":{"45":5,"54":1,"530":1,"534":1,"535":1}}],["register",{"0":{"534":1,"637":1},"2":{"45":2,"271":2,"524":1,"528":2,"530":2,"534":2,"535":1,"635":1,"637":4}}],["regular",{"2":{"60":1,"66":1,"432":1,"575":1}}],["regulation",{"2":{"42":1,"45":6}}],["regardless",{"2":{"7":1,"747":1,"749":1}}],["rec",{"2":{"410":4}}],["recipe",{"2":{"393":1}}],["recipient",{"2":{"343":1,"564":2}}],["recipients",{"2":{"45":1}}],["recency",{"2":{"390":4}}],["recent",{"2":{"360":1}}],["receiptsch",{"2":{"364":2}}],["receiptsroot",{"2":{"360":2}}],["receipt",{"2":{"43":3,"45":4,"447":1}}],["receiving",{"2":{"42":2,"45":1,"380":1}}],["receives",{"2":{"413":1,"445":1,"454":1}}],["receiver",{"2":{"87":2,"254":2}}],["receiver=",{"2":{"87":2,"254":2}}],["received",{"2":{"44":1,"427":1,"436":2,"694":1}}],["receive",{"2":{"41":1,"42":4,"44":3,"45":3,"46":1,"50":2,"71":1,"72":1,"301":1,"334":1,"397":1,"417":1,"427":1,"706":1,"733":1}}],["recursive",{"2":{"97":1,"354":2}}],["recursivegit",{"2":{"97":1,"354":2}}],["recap",{"2":{"72":1}}],["recruiting",{"2":{"66":2}}],["reconstructing",{"2":{"429":1}}],["reconstruction",{"0":{"418":1}}],["reconstruct",{"2":{"391":1,"417":1,"418":1}}],["recoverable",{"2":{"429":1}}],["recovered",{"2":{"427":1,"510":1}}],["recover",{"2":{"194":2,"211":1,"218":6}}],["recognize",{"2":{"71":1}}],["recognition",{"2":{"61":1}}],["recommendation",{"2":{"609":1}}],["recommendations",{"2":{"59":1}}],["recommend",{"2":{"238":1,"282":1,"471":1,"532":1,"597":2,"720":1}}],["recommends",{"2":{"65":1}}],["recommended",{"2":{"53":1,"213":1,"249":2,"298":2,"311":1,"318":1,"322":1,"436":1,"548":1,"554":1,"563":1,"596":1,"609":2,"627":1,"630":1,"649":1,"659":1,"665":1,"671":1,"695":1,"739":1}}],["recorded",{"2":{"64":4}}],["record",{"2":{"58":1,"532":2}}],["recording",{"0":{"64":1},"2":{"20":1,"21":1,"22":1,"25":2,"27":1,"28":1,"29":3,"31":2,"33":3,"58":2,"64":6}}],["recordings",{"2":{"5":1,"58":1,"64":3}}],["recourse",{"2":{"42":2}}],["revisit",{"2":{"64":1}}],["revised",{"2":{"41":1}}],["reviewing",{"2":{"56":1}}],["reviewed",{"2":{"11":1}}],["review",{"2":{"2":1,"54":1,"71":1,"84":1,"254":1,"267":2}}],["real",{"2":{"705":1,"742":1,"746":1}}],["reaped",{"2":{"406":1}}],["reactjs",{"2":{"298":1}}],["reactmarkdown",{"2":{"250":4}}],["reactdom",{"2":{"249":4}}],["react",{"2":{"238":1,"247":4,"248":2,"249":2,"250":2,"252":1,"297":1,"298":4}}],["reaching",{"2":{"449":1}}],["reaches",{"2":{"416":1,"442":1}}],["reached",{"2":{"410":2}}],["reach",{"2":{"54":1,"61":1,"62":1,"63":1,"64":3,"238":1}}],["readme",{"2":{"578":1}}],["readable",{"2":{"250":2}}],["reads",{"2":{"169":1,"295":2}}],["reader",{"2":{"133":1}}],["reading",{"0":{"250":1},"2":{"103":1,"133":2,"169":4,"295":4,"419":1,"597":1}}],["read",{"0":{"361":1},"2":{"41":1,"87":1,"119":1,"132":1,"133":1,"235":1,"238":1,"245":1,"246":1,"250":3,"254":1,"312":1,"316":1,"317":1,"333":1,"361":1,"364":1,"403":1,"483":1,"522":1,"538":1,"659":1,"720":1}}],["ready",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"48":1,"87":1,"118":1,"179":1,"182":1,"192":1,"234":2,"236":1,"252":1,"254":1,"378":1,"622":1,"636":1,"675":1,"676":1,"677":1}}],["reason",{"2":{"42":2,"288":1,"535":2}}],["reasons",{"2":{"9":1}}],["reasonably",{"2":{"8":1}}],["repeat",{"2":{"687":1}}],["replicated",{"2":{"433":1}}],["replaying",{"2":{"391":1}}],["replacing",{"2":{"212":1,"222":1,"223":1,"392":1}}],["replaced",{"2":{"516":1}}],["replacement",{"2":{"392":1}}],["replaces",{"2":{"364":1,"432":1,"643":1}}],["replace",{"2":{"190":1,"329":1,"406":1,"637":1,"689":1}}],["report",{"2":{"595":2}}],["reporter",{"2":{"11":1}}],["reported",{"2":{"11":1}}],["repo",{"2":{"98":2,"124":1,"349":1,"354":1,"547":2,"569":1,"689":1,"691":1}}],["repositories",{"0":{"38":1},"1":{"39":1,"40":1}}],["repository",{"0":{"97":1,"292":1,"354":1},"1":{"293":1,"294":1},"2":{"0":1,"1":1,"2":2,"4":1,"169":1,"214":1,"215":1,"292":1,"322":1,"362":1,"369":1,"483":1,"485":1,"580":1,"596":1,"613":2,"639":1}}],["represents",{"2":{"327":1}}],["represented",{"2":{"45":1}}],["represent",{"2":{"43":1,"44":1,"45":2,"154":1}}],["representation",{"2":{"45":2,"133":1,"149":2,"150":2}}],["representations",{"0":{"45":1},"2":{"42":1,"45":2}}],["representative",{"2":{"10":1}}],["representing",{"2":{"10":2,"160":1}}],["rejects",{"2":{"436":1}}],["rejected",{"2":{"280":1,"436":1}}],["reject",{"2":{"9":1,"429":1}}],["rely",{"2":{"166":1,"284":1,"391":1}}],["relying",{"2":{"43":1,"160":1,"165":1,"391":1}}],["relaying",{"0":{"269":1},"1":{"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1},"2":{"237":1,"270":1,"272":3}}],["relayers",{"2":{"269":1,"489":1,"529":1,"545":1}}],["relayer",{"0":{"272":1,"278":1,"504":1,"538":1,"545":1},"1":{"539":1,"540":1,"541":1,"542":1,"543":1,"544":1,"545":1},"2":{"159":3,"161":2,"269":3,"270":2,"278":1,"483":1,"484":1,"485":6,"487":4,"504":7,"516":2,"517":1,"532":1,"533":2,"538":3,"539":7,"542":7,"543":3,"544":4,"545":14}}],["relayed",{"0":{"161":1},"2":{"126":1,"127":1,"131":1,"134":1,"135":1,"159":1,"160":3}}],["relay",{"2":{"131":1,"269":1,"271":1}}],["relays",{"2":{"103":1,"158":1,"484":1}}],["relatively",{"2":{"288":1,"747":1}}],["relative",{"0":{"288":1},"2":{"288":1}}],["relations",{"2":{"63":1}}],["relationships",{"2":{"56":1,"60":1}}],["relating",{"2":{"43":1}}],["related",{"2":{"42":1,"44":1,"45":1,"62":1,"66":1,"82":1,"422":1,"671":1,"699":1}}],["releasing",{"2":{"388":1}}],["releases",{"2":{"581":1,"677":1}}],["release",{"2":{"269":1,"364":1,"676":1,"677":1}}],["released",{"2":{"42":1,"270":1}}],["relevant",{"2":{"41":1,"45":1,"61":2,"63":2,"66":1,"410":2,"426":1,"436":1,"461":2,"475":2,"694":1,"710":2,"720":2}}],["relevantly",{"2":{"2":1}}],["relies",{"2":{"269":1,"622":1}}],["relied",{"2":{"45":1}}],["reliable",{"2":{"102":1}}],["reliability",{"2":{"44":1}}],["reliance",{"2":{"42":3,"45":2}}],["religion",{"2":{"7":1}}],["re",{"0":{"19":1},"1":{"20":1,"21":1,"22":1,"23":1},"2":{"2":1,"48":1,"58":1,"59":1,"70":1,"86":1,"87":1,"98":1,"108":2,"118":1,"180":1,"182":1,"223":1,"226":1,"234":2,"236":1,"238":1,"249":2,"251":1,"252":2,"254":2,"274":1,"301":1,"302":1,"322":1,"349":1,"369":1,"378":1,"392":1,"410":4,"483":1,"510":1,"534":1,"535":1,"538":1,"574":1,"589":1,"593":1,"595":1,"596":1,"597":1,"654":2,"747":1}}],["snaps",{"2":{"623":12}}],["snapshot",{"2":{"422":1,"623":1}}],["snapshots",{"2":{"391":4,"620":1,"622":3}}],["snap",{"2":{"623":12}}],["sgvsbg8gd28ybgqh",{"2":{"365":2}}],["ss",{"2":{"404":1}}],["ssd",{"2":{"290":1,"318":1,"484":1,"548":1,"609":3,"627":1,"665":1,"695":1}}],["ssf",{"2":{"93":2}}],["slower",{"2":{"734":1}}],["slowest",{"2":{"621":1}}],["slightly",{"2":{"709":1}}],["slides",{"2":{"61":1}}],["sl",{"2":{"581":2,"613":10}}],["slack",{"2":{"574":1}}],["slashing",{"2":{"283":1,"521":1,"567":2}}],["svg",{"0":{"348":1},"2":{"226":1,"314":1,"348":2}}],["swap",{"2":{"295":1,"677":1}}],["swag",{"0":{"81":1},"2":{"61":1}}],["switching",{"2":{"589":1}}],["switch",{"2":{"169":1,"226":1,"252":1,"295":1,"298":2,"572":1}}],["srl59gitsiwc9lqdyaszfc6tvusyy7njx8",{"2":{"146":2}}],["src",{"2":{"88":2,"114":1,"115":2,"118":2,"153":2,"230":1,"231":2,"233":2,"234":2,"241":1,"242":3,"244":2,"249":1,"252":2,"255":2,"298":6}}],["square",{"0":{"155":1},"2":{"129":3,"134":1,"154":2,"435":3,"709":4}}],["symbol",{"2":{"226":2,"249":2,"251":1}}],["syncstart",{"2":{"608":1}}],["syncquick",{"2":{"608":1}}],["syncing",{"0":{"287":1,"621":1},"1":{"622":1,"623":1},"2":{"287":1,"389":1,"419":1,"556":1,"609":1,"621":1,"634":1,"744":1,"745":2,"746":1}}],["sync|async|block",{"2":{"206":2}}],["sync",{"0":{"622":1,"623":1},"2":{"108":1,"205":1,"206":2,"287":3,"391":3,"420":1,"608":1,"621":2,"622":2,"623":2,"731":1,"742":4,"746":1}}],["synced",{"2":{"107":1,"370":2,"373":1}}],["systemctl",{"2":{"536":2,"537":2,"742":6,"744":4,"745":4,"746":6}}],["systemd",{"0":{"496":1,"536":1,"556":1,"568":1,"634":1,"673":1,"703":1,"740":1,"742":1},"1":{"537":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"496":1,"536":2,"537":2,"556":1,"568":7,"624":1,"634":1,"673":1,"703":1,"740":1,"742":6,"744":5,"745":5,"746":4}}],["systems",{"2":{"284":1,"293":1,"572":2,"581":1}}],["system",{"2":{"54":1,"165":2,"273":1,"293":1,"310":1,"322":1,"403":1,"404":2,"433":2,"506":1,"508":1,"528":1,"536":1,"544":1,"570":2,"573":1,"574":1,"596":1,"651":1,"742":4,"744":4,"745":4,"746":4}}],["skillsets",{"2":{"70":1}}],["skipped",{"2":{"115":2,"118":2,"231":2,"234":2}}],["skip",{"2":{"25":3,"40":1,"177":1,"274":1,"317":1,"630":1,"739":1}}],["small",{"2":{"64":1,"132":1,"180":1,"416":1,"428":1,"434":1}}],["smartstake",{"2":{"718":1}}],["smartphone",{"2":{"58":1}}],["smart",{"0":{"110":1,"114":1,"115":1,"116":1,"119":1,"183":1,"227":1,"230":1,"231":1,"232":1,"235":1},"1":{"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":2,"118":2,"119":1,"120":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":2,"234":2,"235":1,"236":1},"2":{"33":4,"84":1,"85":1,"111":2,"114":1,"120":1,"129":7,"145":2,"146":1,"147":5,"153":2,"157":1,"159":2,"162":1,"163":1,"173":1,"176":2,"178":1,"179":1,"181":1,"183":1,"227":1,"230":1,"234":1,"236":1,"238":1,"240":1,"241":1,"242":2,"244":1,"246":1,"250":2,"254":2,"291":1,"396":1,"422":1,"452":1,"488":1,"497":1,"500":1,"501":2,"538":1,"539":2,"545":2}}],["smooth",{"2":{"61":1,"609":1}}],["shnode",{"2":{"745":1}}],["shpeer=",{"2":{"691":1}}],["ship",{"2":{"691":1}}],["shirts",{"2":{"61":1}}],["shtia",{"2":{"686":1}}],["shsed",{"2":{"643":1}}],["shstaking",{"2":{"569":1,"688":1}}],["shsudo",{"2":{"568":1,"742":4,"744":2,"745":2,"746":4}}],["shkey",{"2":{"569":1,"685":1}}],["shkeyname=",{"2":{"380":1}}],["shvalidator",{"2":{"569":1,"684":1}}],["shblobstream",{"2":{"492":1,"493":1,"497":1,"500":3,"501":1,"507":1,"508":1,"509":2,"510":2,"511":1,"512":2,"513":1,"514":1,"515":2,"516":1,"517":2,"518":1,"519":1,"520":1,"526":1,"527":1,"528":2,"530":2,"542":1,"543":1,"544":2,"545":1}}],["shmake",{"2":{"485":1}}],["shmkdir",{"2":{"384":1}}],["shgo",{"2":{"387":1}}],["shgit",{"2":{"215":1}}],["shexternal",{"2":{"644":1}}],["shexport",{"2":{"381":1}}],["sherror",{"2":{"593":1}}],["shevm",{"2":{"569":1}}],["shell",{"2":{"613":1}}],["shellsudo",{"2":{"536":2,"537":1}}],["shellcelestia",{"2":{"534":1}}],["shellblobstream",{"2":{"495":1}}],["shecho",{"2":{"381":1}}],["shutdown",{"2":{"674":1}}],["shut",{"2":{"358":1,"365":1}}],["shcurl",{"2":{"742":1}}],["shcat",{"2":{"742":1,"744":1,"745":1,"746":1}}],["shceles",{"2":{"569":1}}],["shcelestia",{"2":{"211":3,"212":1,"380":2,"534":3,"553":4,"554":3,"555":3,"558":1,"560":3,"561":2,"562":5,"563":5,"564":2,"565":1,"566":2,"567":1,"580":1,"585":2,"589":1,"624":1,"641":1,"670":3,"671":1,"672":3,"683":1,"689":1,"692":1,"698":3,"699":3,"700":3,"702":3}}],["shcode",{"2":{"534":1}}],["shcd",{"2":{"189":1,"613":1}}],["shforge",{"2":{"124":1}}],["sh",{"2":{"93":4,"95":8,"189":1,"190":2,"215":2,"219":1,"222":2,"223":2,"246":3,"319":2,"350":1,"380":1,"486":1,"522":1,"545":1,"554":1,"559":1,"576":4,"581":2,"595":1,"661":2,"671":1,"700":2}}],["shove",{"2":{"194":2}}],["shoutout",{"2":{"62":1}}],["shouldn",{"2":{"423":1}}],["should",{"2":{"58":1,"62":1,"74":1,"114":1,"115":1,"216":1,"230":1,"231":1,"252":1,"273":1,"276":2,"288":2,"332":1,"366":2,"380":1,"391":1,"402":1,"403":1,"452":1,"506":1,"510":1,"522":1,"530":3,"534":2,"536":1,"537":1,"572":1,"581":1,"592":1,"617":1,"619":1,"622":3,"629":2,"636":1,"637":1,"677":1,"678":1,"684":1,"688":1,"689":2,"744":1,"745":1,"748":1}}],["shown",{"2":{"636":1}}],["shows",{"2":{"346":1,"410":2,"430":1,"432":1,"533":1}}],["showcase",{"2":{"62":1}}],["show",{"2":{"61":1,"62":1,"159":1,"200":2,"238":1,"298":1,"320":1,"322":1,"351":1,"365":1,"386":2,"387":1,"461":1,"475":1,"534":2,"569":2,"592":1,"596":1,"629":2,"636":3,"637":2,"662":1,"691":2,"698":2,"710":1,"720":1,"736":1}}],["short",{"2":{"45":1,"61":1,"655":1,"676":1}}],["shalias",{"2":{"613":1}}],["sha3uncles",{"2":{"360":2}}],["sharing",{"2":{"64":1,"83":1,"391":1}}],["shareversionzero",{"2":{"410":2}}],["shareproofs",{"0":{"149":1},"2":{"147":2,"151":1}}],["sharesize",{"2":{"404":1}}],["sharesproof",{"2":{"147":3}}],["shares",{"2":{"125":2,"129":5,"132":3,"134":1,"144":1,"146":5,"147":14,"148":1,"149":2,"150":1,"151":2,"152":1,"165":1,"333":2,"386":9,"403":2,"404":2,"405":1,"435":4,"547":1,"664":2,"709":4}}],["shareslength",{"2":{"103":2}}],["shared",{"2":{"83":1,"238":2,"293":1,"396":1,"688":1}}],["share",{"2":{"42":1,"50":1,"54":1,"56":1,"58":1,"61":1,"63":4,"64":3,"66":1,"132":6,"146":6,"149":2,"154":2,"250":2,"253":1,"332":1,"333":8,"341":2,"346":3,"386":6,"387":1,"391":2,"397":1,"403":1,"404":2,"435":1,"489":1,"569":1,"593":4,"687":1,"689":1,"691":3,"709":3}}],["shape",{"2":{"33":1}}],["sashabaranov",{"2":{"385":2}}],["sausage",{"2":{"194":2}}],["save",{"0":{"190":1},"2":{"211":1,"216":1,"380":1,"519":1,"530":1,"563":1,"572":1,"593":1,"620":1,"646":1,"647":1,"685":1}}],["saving",{"0":{"620":1},"2":{"61":1,"514":1,"563":1}}],["san",{"2":{"103":1}}],["sanctions",{"2":{"42":1}}],["sampling",{"0":{"416":1,"417":1,"427":1,"704":1},"1":{"428":1,"429":1},"2":{"77":1,"158":1,"180":1,"288":1,"342":2,"390":1,"415":1,"416":5,"417":1,"418":1,"426":1,"427":3,"429":1,"434":2,"483":1,"547":1,"693":1,"706":1,"731":1,"737":1,"746":1}}],["samples",{"2":{"428":1}}],["sampled",{"2":{"417":1,"436":1}}],["sampler",{"0":{"342":1}}],["sample",{"0":{"77":1,"78":1,"79":1,"80":1},"2":{"77":2,"78":2,"79":2,"80":2,"383":1,"434":1}}],["same",{"0":{"406":1},"2":{"45":1,"86":1,"104":1,"132":1,"160":1,"165":1,"224":1,"254":1,"285":1,"299":1,"310":1,"359":1,"365":1,"381":1,"410":2,"433":2,"502":1,"507":2,"521":1,"530":1,"535":2,"545":1,"572":4,"636":1,"684":1,"686":1}}],["safer",{"2":{"535":1}}],["safely",{"2":{"358":1,"375":1,"434":1,"592":1}}],["safe",{"2":{"70":1,"194":2,"380":1,"577":1}}],["satisfied",{"2":{"45":1}}],["satisfy",{"2":{"45":1}}],["sales",{"2":{"45":1,"62":1,"467":1,"478":1,"728":1}}],["sale",{"2":{"45":3}}],["scraped",{"2":{"572":2}}],["scrape",{"2":{"572":16}}],["scratches",{"2":{"181":1}}],["scratch",{"2":{"179":1}}],["scrypt",{"2":{"508":1}}],["scrolling",{"2":{"302":1}}],["scroll",{"2":{"226":1}}],["scripting",{"2":{"244":1}}],["scripts",{"2":{"108":1,"117":1,"189":2,"190":2,"576":2}}],["script",{"0":{"244":1},"2":{"86":4,"98":1,"109":2,"189":1,"244":7,"245":4,"246":6,"254":4,"380":1,"387":1,"576":2,"581":1}}],["screen",{"2":{"58":1,"263":1,"267":1}}],["screening",{"2":{"42":1}}],["scheme",{"0":{"156":1},"2":{"427":1,"429":1,"432":1,"435":1}}],["schemes",{"2":{"76":1,"283":1}}],["schedules",{"2":{"447":1}}],["schedule",{"2":{"54":1,"55":1,"59":1,"61":1,"66":1,"447":2,"449":1}}],["scheduled",{"0":{"34":1,"35":1,"36":1}}],["schools",{"2":{"62":1}}],["scenes",{"2":{"298":1}}],["scene",{"2":{"60":1}}],["scattered",{"2":{"378":1}}],["scavengermkdir",{"2":{"384":1}}],["scavenger",{"0":{"378":1,"383":1},"1":{"379":1,"380":1,"381":1,"382":1,"383":1,"384":2,"385":2,"386":2,"387":2,"388":1},"2":{"313":1,"378":1,"380":2,"384":7}}],["scan",{"2":{"269":1}}],["scanworks",{"2":{"39":1}}],["scale",{"2":{"180":2,"428":1}}],["scales",{"2":{"158":1,"434":2}}],["scaling",{"0":{"180":1},"2":{"180":2,"413":1,"414":1,"426":1}}],["scalability",{"0":{"167":1,"428":1},"2":{"102":2,"103":1,"167":2}}],["scalable",{"2":{"46":1,"102":1,"167":1,"169":1,"238":1,"295":1,"423":1,"426":1,"434":1}}],["scope",{"0":{"10":1},"2":{"80":1}}],["sdk",{"2":{"21":3,"22":1,"27":1,"33":1,"52":1,"181":1,"184":1,"214":1,"258":1,"270":1,"283":4,"284":2,"285":1,"287":1,"288":1,"392":1,"393":1,"396":2,"400":1,"403":1,"410":2,"432":1,"441":3,"445":1,"453":1,"465":1,"466":1,"475":1,"547":1,"557":2,"563":2,"575":1,"710":1,"725":1,"726":1}}],["soundness",{"2":{"436":1}}],["sourcing",{"2":{"179":1}}],["source",{"0":{"98":1,"580":1},"1":{"99":1},"2":{"93":2,"94":2,"98":1,"270":1,"271":4,"293":1,"320":4,"364":2,"466":1,"564":2,"572":4,"579":1,"587":1,"662":4,"726":1}}],["sources",{"2":{"44":1,"572":1}}],["soon",{"2":{"240":1,"390":1}}],["soda",{"2":{"59":1}}],["software",{"0":{"460":1,"474":1,"707":1,"721":1},"2":{"52":1,"78":1,"79":1,"104":1,"293":1,"319":1,"353":1,"472":1,"484":2,"508":1,"534":1,"660":1,"675":2,"720":1,"733":1,"734":2,"738":1,"739":1}}],["sommelier",{"2":{"52":1}}],["somewhere",{"2":{"685":1}}],["sometimes",{"2":{"537":1,"547":1,"664":1}}],["something",{"2":{"340":2,"572":1,"583":1,"699":1}}],["someone",{"2":{"55":1,"63":1}}],["some",{"0":{"417":1,"425":1},"2":{"29":1,"58":1,"64":1,"132":3,"133":1,"135":1,"147":4,"153":2,"160":1,"180":1,"181":1,"205":1,"207":1,"276":8,"283":1,"286":1,"332":1,"378":1,"386":2,"387":1,"389":1,"391":1,"395":1,"410":2,"424":1,"425":1,"435":1,"447":1,"535":3,"563":1,"564":1,"572":1,"576":4,"587":1,"601":1,"676":1}}],["so",{"2":{"43":1,"45":1,"51":1,"59":2,"63":1,"98":1,"132":2,"149":3,"151":1,"152":1,"182":1,"197":1,"202":1,"216":1,"244":1,"246":1,"247":1,"249":2,"252":1,"302":1,"320":1,"324":1,"328":1,"371":1,"378":1,"380":1,"389":1,"415":1,"417":1,"418":2,"430":1,"436":1,"472":1,"515":1,"530":2,"533":1,"534":2,"539":2,"543":1,"545":1,"553":1,"555":1,"593":1,"620":1,"641":1,"659":1,"662":1,"672":1,"677":2,"678":1,"683":1,"691":2,"702":1,"716":1}}],["solomon",{"2":{"427":2,"429":5,"432":1,"435":1}}],["solution",{"2":{"137":1,"158":1,"167":1,"426":1,"429":1,"433":1,"434":1,"613":1}}],["solutions",{"2":{"49":1,"103":1,"406":1,"414":1,"426":1}}],["solc",{"2":{"114":2,"230":2}}],["solid",{"2":{"250":2}}],["solidity",{"2":{"112":1,"114":4,"115":3,"124":1,"125":4,"145":1,"146":1,"147":1,"149":6,"150":1,"151":1,"152":4,"153":2,"157":1,"163":1,"228":1,"230":4,"231":3,"242":6,"244":4}}],["soliciting",{"2":{"56":1}}],["solicits",{"2":{"45":1}}],["solicit",{"2":{"45":1}}],["solicited",{"2":{"45":1}}],["solicitation",{"2":{"45":3}}],["solving",{"2":{"102":1}}],["solve",{"2":{"52":1}}],["sol",{"2":{"86":2,"88":3,"103":2,"114":1,"115":7,"118":2,"125":6,"129":1,"148":1,"149":1,"150":1,"152":1,"153":1,"230":1,"231":7,"233":2,"234":2,"241":1,"242":6,"244":5,"245":2,"246":2,"247":2,"254":2,"255":3}}],["sold",{"2":{"45":1}}],["solely",{"2":{"42":1,"391":1}}],["sole",{"2":{"41":1,"42":1,"45":1}}],["solana",{"2":{"31":1}}],["sovereign",{"0":{"79":1,"184":1,"246":1},"2":{"22":4,"40":1,"46":1,"77":1,"79":5,"184":3,"253":1,"392":4,"393":1,"396":2,"472":1,"671":2,"720":1,"734":2}}],["sorted",{"2":{"749":1}}],["sort",{"2":{"15":1,"16":1,"45":1}}],["social",{"2":{"10":1,"14":1,"49":1,"54":1,"56":1,"63":4,"64":1,"257":1,"521":1,"563":1}}],["socio",{"2":{"7":1}}],["spidey",{"2":{"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["spinning",{"2":{"586":1}}],["spins",{"2":{"392":1}}],["spin",{"0":{"253":1,"682":1},"1":{"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1},"2":{"682":1}}],["splits",{"2":{"435":1}}],["split",{"2":{"427":1,"429":1,"435":1,"438":1,"446":1}}],["sparse",{"2":{"709":2}}],["sparsesharesneeded",{"2":{"404":1}}],["spans",{"2":{"146":1}}],["span",{"0":{"366":1},"2":{"132":12,"133":4,"134":2,"135":8,"137":3,"147":4,"149":1,"366":2}}],["space",{"2":{"70":1,"102":1,"573":1,"646":1,"647":2}}],["spaces",{"2":{"10":2,"14":1,"58":5,"62":1}}],["spdx",{"2":{"114":2,"115":2,"125":2,"230":2,"231":2,"242":4,"244":2}}],["sponsoring",{"2":{"62":1}}],["sponsorship",{"2":{"62":5}}],["sponsors",{"0":{"62":1},"2":{"62":9,"63":1,"70":1}}],["spread",{"2":{"60":1,"63":1}}],["speed",{"2":{"748":1}}],["spend",{"2":{"404":1,"445":1,"563":1,"564":7}}],["specialization",{"2":{"433":1}}],["specialized",{"2":{"433":3}}],["specialize",{"2":{"178":1}}],["special",{"2":{"364":1}}],["specifying",{"2":{"402":1,"503":1,"504":1,"505":1,"572":1}}],["specify",{"2":{"216":1,"324":2,"380":2,"406":1,"492":1,"511":1,"522":1,"526":1,"530":6,"542":1,"553":2,"655":2}}],["specif",{"2":{"147":2,"153":2}}],["specifies",{"2":{"216":2}}],["specified",{"2":{"14":1,"15":1,"216":1,"402":2,"404":1,"457":1,"507":1,"512":1,"517":1,"528":1,"530":3,"537":1,"545":1,"557":2,"587":1}}],["specifications",{"2":{"132":1,"676":1,"708":1}}],["specifically",{"2":{"83":1,"413":1,"422":1,"622":1}}],["specific",{"2":{"45":1,"49":1,"50":1,"59":1,"61":1,"66":1,"127":2,"132":2,"133":4,"135":1,"165":1,"167":1,"238":1,"298":1,"322":1,"327":2,"345":1,"373":1,"386":1,"487":1,"493":1,"517":1,"522":1,"539":1,"573":1,"582":1,"591":1,"676":1,"687":1}}],["specs",{"2":{"149":2,"150":2,"153":4,"154":1,"333":1,"405":1,"563":2}}],["speak",{"2":{"61":1}}],["speaking",{"2":{"60":1,"66":1}}],["speaker",{"0":{"83":1},"2":{"54":1,"58":1,"60":1,"61":3,"74":1,"83":5}}],["speakers",{"0":{"61":1},"2":{"54":3,"55":1,"56":1,"58":1,"60":5,"61":13,"62":2,"63":3,"66":2,"70":1,"80":1,"83":2}}],["sed",{"2":{"613":10,"644":2}}],["severity",{"2":{"414":1}}],["several",{"2":{"324":1,"447":1,"676":1,"709":1,"729":1,"731":1}}],["semantic",{"2":{"322":1,"596":1}}],["semi",{"2":{"165":1}}],["sequence",{"2":{"198":2,"199":2,"237":1,"272":1,"365":1,"403":1,"406":1,"410":2,"433":2}}],["sequenceraddress",{"2":{"132":2,"137":2}}],["sequencer",{"0":{"133":1},"1":{"134":1,"135":1},"2":{"104":2,"132":3,"133":7,"134":2,"135":8,"137":8,"237":1,"355":2,"356":1,"372":2,"392":1,"396":1}}],["sequencerinbox",{"2":{"103":2}}],["sequencersignature",{"2":{"132":2,"135":2,"137":2}}],["sequencers",{"2":{"49":1,"179":1}}],["sequential",{"2":{"181":1,"271":4}}],["session",{"2":{"77":1,"78":1,"79":1}}],["sessions",{"2":{"62":1,"83":1}}],["seamless",{"2":{"706":1}}],["seamlessly",{"2":{"104":1,"237":1}}],["sealfields",{"2":{"360":2}}],["search",{"0":{"262":1},"2":{"301":1}}],["seasoned",{"2":{"74":1}}],["seating",{"2":{"55":1,"58":1}}],["sensitive",{"2":{"308":1}}],["sense",{"2":{"60":1,"64":1}}],["sentry",{"2":{"271":6,"613":1}}],["sent",{"2":{"178":1,"212":1,"364":1,"403":1}}],["sendtransaction",{"2":{"364":3}}],["sender",{"2":{"242":4,"276":16,"364":1,"435":1,"438":1}}],["sending",{"2":{"171":1,"212":1,"237":1,"245":1,"246":1,"343":1,"364":1,"435":1}}],["sends",{"2":{"104":1,"364":1}}],["send",{"2":{"54":2,"56":1,"63":3,"65":1,"87":5,"109":3,"117":2,"119":3,"160":1,"204":1,"235":3,"245":3,"246":3,"254":5,"280":1,"301":1,"359":1,"365":1,"534":1,"543":1,"545":1,"562":6,"564":1,"576":8,"664":1}}],["self",{"2":{"102":1,"557":2,"569":2,"636":4}}],["selected",{"2":{"391":1}}],["selection",{"0":{"589":1},"1":{"590":1},"2":{"83":1}}],["selecting",{"2":{"58":1,"102":1,"187":1}}],["select",{"0":{"259":1,"262":1,"267":1},"2":{"54":1,"197":1,"216":1,"247":4,"251":1,"261":1,"262":1,"263":2,"266":2,"267":1,"301":1,"305":1,"380":1,"461":3,"580":1,"589":1,"620":1,"646":1,"720":3}}],["sell",{"2":{"45":5}}],["selling",{"2":{"45":3}}],["separation",{"2":{"433":1}}],["separating",{"2":{"180":1}}],["separated",{"2":{"530":2,"613":2,"690":2}}],["separate",{"2":{"42":2,"149":1,"310":1,"427":1,"436":1,"487":1,"522":1,"535":1,"539":1,"547":2,"586":1}}],["sepolia",{"2":{"102":1,"163":2,"306":3}}],["september",{"0":{"20":1},"2":{"20":1}}],["secretvite",{"2":{"248":1}}],["secret=your",{"2":{"248":2}}],["secret",{"2":{"248":2,"250":2}}],["secp256k1",{"2":{"194":2,"195":4,"199":2,"223":2,"283":1,"508":1}}],["seconds",{"2":{"222":4,"223":4,"288":1,"572":4}}],["second",{"2":{"149":1,"242":6,"275":1,"406":1,"417":1,"515":1,"535":1,"747":1,"748":1,"749":1}}],["securing",{"2":{"60":1,"61":1,"62":2}}],["securities",{"2":{"42":1,"45":13}}],["security",{"0":{"165":1,"417":1,"418":1},"2":{"11":1,"25":1,"42":1,"45":1,"102":1,"165":1,"167":1,"179":2,"413":1,"420":1,"512":1,"659":1}}],["secured",{"2":{"513":1}}],["securely",{"2":{"104":1,"158":1,"237":1,"250":2,"434":1,"676":1}}],["secure",{"2":{"54":1,"102":1,"167":1,"258":1,"397":1,"423":1,"453":2,"516":2,"532":2,"586":1,"621":1}}],["sections",{"2":{"158":1,"162":1,"461":1,"475":1,"484":1,"536":1,"601":1,"710":1,"720":1,"737":1,"739":1}}],["section",{"0":{"396":1},"2":{"41":1,"44":1,"45":1,"60":1,"82":1,"90":1,"115":1,"129":1,"134":1,"145":1,"146":1,"149":1,"153":1,"190":1,"201":1,"212":1,"216":1,"222":3,"231":1,"269":1,"274":1,"298":1,"317":1,"324":1,"325":1,"326":1,"331":1,"373":1,"380":1,"394":1,"432":1,"477":1,"524":1,"527":1,"528":1,"530":2,"543":1,"553":1,"554":1,"580":1,"583":1,"585":1,"589":1,"592":1,"598":1,"602":1,"624":1,"627":1,"630":1,"632":1,"637":1,"646":1,"647":1,"649":1,"650":1,"651":1,"653":1,"655":1,"671":2,"692":1,"699":2,"736":1,"739":2}}],["setgaslimitandfee",{"2":{"410":2}}],["setcontent",{"2":{"250":4}}],["setposts",{"2":{"250":4}}],["setviewstate",{"2":{"250":6}}],["sets",{"2":{"115":1,"161":1,"231":1,"298":1,"329":1}}],["setnumber",{"2":{"114":3,"115":7,"119":2,"230":3,"231":7,"235":2}}],["setupsigner",{"2":{"410":2}}],["setup",{"0":{"86":1,"113":1,"229":1,"241":1,"352":1,"353":1,"550":1,"571":1,"611":1,"613":1,"635":1,"651":1,"654":1,"667":1,"680":1},"1":{"87":1,"242":1,"243":1,"244":1,"245":1,"353":1,"354":1,"652":1,"653":1,"654":1,"655":2,"656":2,"657":1,"658":1,"659":1},"2":{"54":1,"108":1,"115":3,"159":1,"169":1,"193":1,"231":3,"242":2,"244":2,"246":2,"269":1,"326":1,"367":1,"370":2,"373":1,"380":1,"381":1,"383":1,"385":2,"386":3,"410":2,"484":1,"572":2,"574":1,"581":1,"584":1,"613":1,"622":1,"630":1,"680":1,"731":1}}],["set",{"0":{"196":1,"205":1},"2":{"41":1,"54":1,"55":1,"60":1,"65":2,"86":2,"87":2,"113":1,"114":1,"118":2,"129":1,"132":4,"135":1,"159":1,"160":5,"165":1,"179":2,"181":1,"190":1,"196":1,"201":2,"202":2,"204":2,"205":1,"206":1,"207":1,"229":1,"230":1,"233":1,"234":3,"242":2,"245":1,"246":1,"250":1,"254":4,"273":1,"308":1,"310":1,"319":1,"320":1,"327":4,"328":2,"329":5,"330":4,"331":4,"332":1,"333":1,"334":4,"340":2,"343":1,"355":1,"360":1,"361":1,"366":1,"372":1,"386":2,"404":4,"422":1,"427":1,"433":1,"441":2,"447":1,"493":1,"500":1,"501":1,"522":1,"524":1,"527":1,"530":2,"534":3,"538":1,"543":1,"545":1,"556":1,"560":3,"572":1,"573":1,"586":1,"602":1,"605":1,"608":1,"613":5,"618":1,"622":1,"627":1,"634":1,"646":1,"647":1,"653":3,"654":1,"655":1,"662":1,"685":1,"696":1}}],["settitle",{"2":{"250":4}}],["settingpruning",{"2":{"620":1}}],["settingmin",{"2":{"617":1}}],["settings",{"2":{"572":1,"615":1,"646":1,"647":1}}],["setting",{"0":{"108":1,"188":1,"193":1,"319":1,"334":1,"546":1,"549":1,"608":1,"610":1,"625":1,"626":1,"663":1,"666":1,"693":1,"696":1,"740":1},"1":{"189":1,"190":1,"191":1,"192":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"547":1,"548":1,"549":1,"550":2,"551":1,"552":1,"553":1,"554":1,"555":1,"556":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":2,"627":3,"628":3,"629":3,"630":2,"631":2,"632":2,"633":2,"634":2,"635":2,"636":2,"637":2,"638":2,"639":2,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"694":1,"695":1,"696":1,"697":2,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"741":1,"742":1,"743":1,"744":1,"745":1,"746":1},"2":{"8":1,"65":2,"78":1,"79":1,"170":1,"213":1,"319":1,"323":1,"330":1,"343":1,"366":1,"379":1,"410":4,"503":1,"504":1,"505":1,"530":1,"546":1,"556":1,"580":1,"596":1,"607":1,"608":1,"613":1,"617":2,"620":1,"634":1,"660":1,"663":1,"667":1,"677":1,"693":1,"696":1,"703":1,"741":1}}],["settles",{"2":{"102":1}}],["settle",{"2":{"49":1,"102":1,"103":1}}],["settled",{"2":{"48":1}}],["settlement",{"2":{"27":2,"49":1,"178":1,"290":1,"426":2,"432":1,"433":4}}],["serving",{"2":{"391":1,"419":1,"425":1}}],["servicecat",{"2":{"742":1,"744":1,"745":1,"746":1}}],["services",{"0":{"606":1},"1":{"607":1},"2":{"41":4,"42":9,"44":3,"49":2,"58":1,"223":2,"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["service",{"0":{"281":1,"283":1,"496":1,"536":1},"1":{"282":1,"283":1,"284":2,"285":2,"286":2,"287":2,"288":2,"537":1},"2":{"39":1,"41":5,"281":1,"310":1,"356":1,"371":1,"396":1,"496":1,"536":7,"537":1,"568":7,"643":3,"706":1,"740":1,"742":8,"744":7,"745":7,"746":7}}],["served",{"2":{"571":2}}],["serves",{"2":{"173":1,"280":1,"436":1,"547":1,"705":1}}],["servers",{"2":{"622":2}}],["servergrafana",{"2":{"572":1}}],["server",{"2":{"71":1,"233":1,"250":2,"272":1,"373":1,"380":1,"410":2,"479":1,"530":2,"572":6,"582":2,"587":1,"591":2,"728":1}}],["serve",{"2":{"68":1,"390":1,"423":1,"425":1,"642":1}}],["serialized",{"2":{"103":1}}],["serious",{"2":{"15":1}}],["series",{"2":{"14":1,"446":1,"447":1,"572":2}}],["sees",{"2":{"414":1}}],["seeing",{"2":{"276":2,"530":1,"532":1,"533":1,"744":1,"745":1}}],["seen",{"2":{"242":2}}],["seeking",{"2":{"322":1,"596":1}}],["seek",{"2":{"58":1,"61":1}}],["seeds",{"2":{"613":13}}],["seed",{"2":{"52":1,"272":5,"446":1,"447":1,"613":2,"639":1}}],["see",{"2":{"17":1,"44":1,"134":2,"141":1,"149":2,"150":2,"159":1,"190":1,"194":1,"206":2,"212":1,"226":1,"233":1,"252":1,"264":1,"268":1,"270":2,"273":1,"301":2,"302":1,"333":1,"365":1,"379":1,"386":1,"410":4,"413":1,"432":1,"438":1,"444":1,"456":1,"501":1,"509":1,"530":1,"534":1,"536":2,"547":3,"561":1,"562":1,"571":1,"572":1,"578":1,"580":1,"581":1,"622":1,"629":2,"637":1,"646":1,"716":1,"742":1,"744":1,"745":2,"746":1}}],["sexualized",{"2":{"8":1}}],["sexual",{"2":{"7":1,"8":1}}],["sex",{"2":{"7":1}}],["sum",{"2":{"384":3}}],["summarize",{"2":{"154":1}}],["summarizes",{"2":{"133":4}}],["summary",{"2":{"77":1,"78":1,"79":1,"167":1}}],["suite",{"2":{"293":1}}],["suitable",{"2":{"54":1,"646":2}}],["superior",{"2":{"308":1}}],["superchain",{"2":{"293":1}}],["supply",{"0":{"440":1},"1":{"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1},"2":{"373":1,"442":1,"446":1,"447":6,"449":1,"547":1}}],["supplemented",{"2":{"41":1}}],["supplemental",{"0":{"41":1,"44":1},"1":{"42":1,"43":1,"44":1,"45":1},"2":{"41":2}}],["supporters",{"2":{"446":2}}],["supported",{"2":{"237":1,"287":1}}],["supports",{"2":{"284":1,"392":1,"441":1}}],["supportive",{"2":{"70":1}}],["supporting",{"2":{"62":1,"65":1,"80":1}}],["support",{"0":{"50":1},"2":{"46":2,"51":1,"54":1,"57":1,"59":1,"62":4,"64":1,"67":1,"68":1,"81":2,"160":1,"168":1,"180":1,"181":2,"269":1,"270":1,"293":1,"390":2,"391":2,"392":1,"441":1,"465":1,"570":1,"575":1,"630":1,"659":1,"725":1}}],["surface",{"2":{"181":1}}],["sure",{"2":{"123":1,"157":1,"201":1,"216":1,"243":1,"253":1,"329":1,"373":1,"380":2,"382":1,"491":1,"499":1,"510":3,"522":1,"525":1,"530":2,"534":1,"536":1,"541":1,"545":2,"570":1,"571":2,"580":1,"582":3,"591":3,"600":1,"637":1,"674":1,"742":1}}],["surveys",{"2":{"55":1}}],["sudo",{"2":{"92":4,"94":4,"319":2,"320":16,"568":4,"661":2,"662":16,"742":2,"744":4,"745":4,"746":2}}],["suggested",{"0":{"391":1},"2":{"391":1,"406":1}}],["suggest",{"2":{"298":2}}],["suggests",{"2":{"65":1}}],["suggestions",{"0":{"4":1},"2":{"4":1,"58":1}}],["sufficiently",{"2":{"436":1}}],["sufficient",{"2":{"45":1,"58":1,"429":2}}],["suffer",{"2":{"43":1}}],["subspace",{"2":{"563":4}}],["subset",{"2":{"444":1}}],["subsequent",{"2":{"45":1}}],["subcommands",{"0":{"561":1},"2":{"506":1,"513":1,"516":1,"557":6}}],["subcommand",{"0":{"509":1,"510":1,"511":1,"512":1,"513":1,"517":1,"518":1,"519":1,"520":1},"2":{"500":2,"502":1,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"517":1,"518":1,"519":1,"520":1,"528":2,"544":2}}],["subtrees",{"2":{"435":1}}],["subtract",{"2":{"285":1}}],["submitdata",{"2":{"410":2}}],["submitdataroottupleroot",{"2":{"160":1,"161":1}}],["submitpayforblob",{"2":{"386":2,"410":2,"411":1}}],["submitgrpcurl",{"2":{"365":1}}],["submit",{"0":{"639":1},"2":{"140":1,"314":1,"327":6,"332":12,"334":6,"350":1,"365":1,"370":1,"378":1,"386":1,"387":2,"388":2,"400":2,"404":1,"406":2,"407":1,"409":3,"410":6,"411":2,"436":1,"438":2,"444":1,"445":1,"451":1,"538":1,"545":2,"563":10,"564":4,"639":1,"671":2,"699":2}}],["submitter",{"2":{"356":1,"563":1}}],["submitted",{"2":{"132":8,"148":2,"160":1,"271":2,"333":1,"386":3,"387":1,"406":3,"564":1,"689":1}}],["submitting",{"0":{"140":1,"332":1,"400":1,"406":1},"1":{"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1},"2":{"141":1,"150":1,"332":1,"333":1,"334":1,"363":1,"386":2,"403":1,"405":1,"439":1,"563":1,"704":1}}],["submits",{"2":{"133":2,"159":2,"269":1,"364":1,"386":2,"539":1}}],["submitheader",{"2":{"133":4,"135":2}}],["submitblockdata",{"2":{"133":2,"135":2}}],["submitrollupblock",{"2":{"125":2}}],["submission",{"2":{"71":1,"169":1,"295":1,"386":1,"564":1}}],["submissions",{"0":{"37":1}}],["submodule",{"2":{"97":4,"354":4}}],["sub",{"2":{"45":1,"410":2,"493":1}}],["subjectivity",{"2":{"622":1}}],["subject",{"2":{"42":1,"61":1,"283":1,"288":1,"447":2,"472":1,"749":1}}],["success",{"2":{"56":1,"68":1,"273":3,"276":2,"333":1}}],["successfully",{"2":{"42":1,"129":2,"212":2,"245":1,"271":1,"272":1,"276":1,"413":1,"416":1,"420":1,"509":6,"510":6,"511":4,"512":6,"514":6,"515":6,"517":6,"556":1,"580":1,"634":1,"742":1,"744":1,"745":1,"746":1}}],["successful",{"2":{"41":1,"53":1,"60":1,"62":1,"63":1,"75":1,"81":1,"114":2,"115":1,"118":1,"230":2,"231":1,"234":1,"386":1,"410":4,"436":1,"529":1,"629":1,"677":1}}],["such",{"2":{"8":1,"41":3,"42":10,"44":1,"45":9,"54":1,"60":1,"61":2,"62":1,"132":2,"133":1,"160":1,"237":1,"281":1,"323":1,"327":2,"389":1,"403":1,"410":2,"414":1,"417":1,"419":1,"420":1,"423":1,"429":1,"433":1,"435":1,"436":2,"454":1,"530":1,"573":1,"575":1,"582":1,"591":1,"671":1,"699":1,"708":1}}],["sustainable",{"2":{"62":1}}],["sustainability",{"2":{"25":1}}],["sustained",{"2":{"15":1,"16":1}}],["sig",{"2":{"577":1}}],["signer",{"2":{"197":2,"250":4,"410":12}}],["signers",{"2":{"160":1}}],["signedtx",{"2":{"576":2}}],["signed",{"2":{"135":1,"159":1,"576":4}}],["significant",{"2":{"609":1,"619":1,"647":1}}],["significantly",{"2":{"62":1,"99":1,"179":1,"288":1}}],["signing",{"0":{"569":1},"2":{"159":1,"197":2,"247":1,"283":1,"284":1,"310":1,"312":1,"521":1,"530":2,"534":3,"535":1,"536":1,"636":2}}],["signbytes",{"2":{"135":2}}],["signs",{"2":{"134":1,"159":1,"484":1,"522":1}}],["signatures",{"2":{"159":2,"197":2,"340":2,"515":1,"521":2,"529":1,"538":1,"539":2,"575":1}}],["signature",{"2":{"132":4,"135":4,"137":4,"159":1,"340":2,"403":1,"435":1,"438":1,"522":1,"529":1}}],["sign",{"2":{"131":1,"135":2,"160":1,"382":1,"410":6,"521":1,"530":4,"534":1,"576":6,"638":1}}],["signup",{"0":{"71":1}}],["situation",{"2":{"418":1,"534":1}}],["site",{"0":{"0":1,"1":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"1":1,"225":1,"298":6}}],["sidebar",{"2":{"572":2}}],["side",{"2":{"149":2,"152":2,"276":8}}],["sidenodes",{"2":{"103":2,"149":4,"151":1,"152":4}}],["simultaneous",{"2":{"365":1,"571":2}}],["simulated",{"2":{"237":1}}],["simplify",{"2":{"293":1}}],["simply",{"2":{"133":2,"280":1,"295":1,"547":1,"572":1}}],["simpler",{"2":{"416":1}}],["simplest",{"2":{"137":1,"646":1}}],["simple",{"2":{"131":1,"134":1,"179":1}}],["similarly",{"2":{"166":1,"266":1,"373":1,"432":1,"452":1,"575":1}}],["similar",{"2":{"114":1,"115":1,"118":1,"119":2,"151":1,"153":1,"230":1,"231":1,"234":1,"235":2,"276":2,"288":1,"333":1,"336":1,"361":1,"362":1,"370":1,"402":1,"434":1,"507":1,"516":2,"564":1,"629":2,"636":1,"655":1,"656":1}}],["since",{"2":{"126":1,"204":1,"287":1,"402":1,"404":1,"414":1,"418":1,"428":1,"429":1,"436":1,"442":1,"517":1,"527":1,"533":1,"534":1,"543":1,"574":1,"705":1}}],["single",{"2":{"14":1,"102":1,"127":1,"133":1,"154":1,"160":1,"189":3,"190":2,"318":1,"392":1,"420":1,"423":1,"433":1,"576":4,"695":1}}],["sizeofdatainbytes",{"2":{"405":2}}],["sizes",{"2":{"404":1}}],["size",{"2":{"7":1,"60":2,"129":3,"271":8,"360":2,"403":4,"404":3,"405":1,"417":2,"422":1,"428":1,"434":1,"435":2,"438":1,"439":1,"441":1,"709":9}}],["s",{"0":{"426":1,"637":1},"1":{"427":1,"428":1,"429":1,"430":1,"431":1,"432":1},"2":{"5":1,"8":1,"17":1,"25":1,"42":3,"44":2,"45":12,"52":1,"59":1,"60":3,"62":1,"64":1,"66":1,"71":1,"74":1,"83":1,"86":2,"95":6,"102":4,"103":2,"104":1,"114":1,"115":1,"118":1,"129":4,"132":1,"135":28,"137":3,"144":1,"158":2,"167":2,"178":1,"181":3,"185":2,"204":1,"206":2,"226":1,"230":1,"231":1,"233":1,"237":1,"239":1,"242":3,"244":2,"245":2,"246":2,"248":1,"252":1,"254":2,"269":1,"271":2,"273":1,"282":1,"285":1,"293":1,"297":1,"298":1,"303":2,"304":1,"305":1,"307":1,"316":1,"323":1,"324":1,"326":1,"327":1,"329":1,"336":1,"337":1,"338":1,"339":1,"340":1,"343":1,"344":1,"349":1,"361":2,"378":6,"380":3,"383":1,"386":2,"387":1,"390":1,"392":1,"393":1,"395":1,"396":1,"398":1,"399":1,"403":2,"404":2,"410":2,"420":1,"422":1,"423":1,"426":1,"427":1,"428":1,"435":1,"436":1,"438":1,"445":1,"447":2,"451":1,"453":1,"454":1,"461":1,"462":2,"472":1,"475":1,"477":2,"479":1,"500":1,"512":1,"514":1,"528":1,"530":4,"533":1,"534":1,"539":1,"544":1,"545":4,"554":1,"557":2,"558":1,"563":1,"568":4,"571":3,"572":3,"573":2,"574":1,"582":1,"585":1,"586":1,"591":1,"593":1,"597":1,"601":1,"608":1,"613":10,"623":6,"635":1,"637":1,"643":2,"644":2,"646":1,"659":1,"671":2,"693":1,"699":3,"705":2,"706":1,"710":1,"716":2,"718":1,"720":1,"722":2,"728":1,"733":1,"734":1,"742":2,"749":1}}],["steal",{"2":{"414":1}}],["step",{"2":{"78":2,"132":1,"135":1,"137":1,"266":1,"274":1,"325":1,"522":1,"539":1,"577":2,"682":1,"687":1,"688":1,"706":1}}],["steps",{"0":{"100":1,"105":1,"120":1,"176":1,"192":1,"216":1,"217":1,"218":1,"236":1,"257":1,"296":1,"388":1,"487":1,"597":1},"2":{"53":1,"270":1,"272":1,"367":1,"388":1,"546":1,"580":2,"581":1,"596":1,"636":3,"678":1,"682":1,"741":1}}],["style",{"2":{"659":1}}],["style=",{"2":{"249":2,"250":26}}],["styles",{"2":{"249":2,"298":6}}],["stopped",{"2":{"535":1}}],["stop",{"0":{"358":1,"375":1,"674":1},"2":{"375":1,"563":1,"592":1,"674":1}}],["stopbroadcast",{"2":{"244":2}}],["stops",{"2":{"237":1}}],["storecd",{"2":{"654":1}}],["storecelestia",{"2":{"327":1,"330":1,"332":1,"333":4,"334":3,"336":1,"337":2,"338":1,"339":1,"340":1,"341":1,"342":1,"343":2,"344":1,"346":1}}],["storesudo",{"2":{"654":1}}],["stores",{"2":{"432":1,"663":1,"731":1}}],["store```",{"2":{"340":2}}],["store=$home",{"2":{"330":2}}],["stored",{"2":{"206":2,"323":1,"389":1,"390":1,"417":1,"418":1,"420":1,"502":1,"558":1,"647":2}}],["store",{"0":{"330":1,"424":1,"492":1,"506":1,"526":1,"542":1,"592":1,"594":1,"655":1},"1":{"331":1},"2":{"104":1,"108":7,"216":3,"271":8,"323":1,"327":6,"328":7,"330":8,"331":7,"332":9,"333":14,"334":9,"336":3,"337":6,"338":3,"339":3,"340":5,"341":7,"342":3,"343":10,"344":3,"345":4,"346":7,"370":3,"389":1,"390":2,"391":1,"403":1,"419":1,"423":2,"424":1,"425":1,"428":1,"432":1,"492":2,"495":1,"503":1,"504":1,"505":1,"506":3,"508":5,"509":4,"510":7,"511":6,"512":5,"514":4,"515":5,"516":3,"517":6,"518":3,"519":1,"520":1,"526":2,"528":1,"530":3,"536":1,"542":2,"544":1,"545":1,"547":1,"592":9,"594":5,"595":4,"609":1,"647":3,"654":4,"655":9,"656":8,"664":1,"698":2}}],["storing",{"2":{"104":1,"391":2,"420":1,"421":1,"423":1,"425":1,"509":1,"745":1}}],["stories",{"2":{"66":1}}],["storage",{"0":{"419":1,"420":1,"421":1,"423":1,"614":1,"620":1,"654":1,"663":1,"664":1,"666":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"744":1},"1":{"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"655":1,"656":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":1,"670":2,"671":2,"672":1,"673":1,"674":1},"2":{"39":1,"66":1,"104":1,"242":6,"318":1,"390":1,"419":2,"420":2,"421":1,"423":2,"425":2,"461":1,"484":1,"548":1,"572":2,"608":1,"609":5,"619":1,"620":1,"627":1,"646":1,"647":1,"656":1,"663":1,"664":2,"665":2,"671":3,"672":2,"673":2,"674":1,"695":1,"715":1,"720":1,"731":1,"737":1,"744":2}}],["still",{"2":{"159":1,"298":1,"428":1,"432":1,"459":1,"472":1,"535":1,"602":1,"620":1,"671":1,"706":1}}],["stipend",{"2":{"46":1,"50":1}}],["stub",{"2":{"125":1}}],["stuck",{"2":{"104":1,"237":1}}],["stdencoding",{"2":{"386":4}}],["std",{"2":{"115":2,"231":2,"242":2,"244":2}}],["strike",{"2":{"167":1}}],["string",{"2":{"87":2,"242":30,"245":4,"246":4,"254":2,"328":3,"329":1,"332":2,"386":16,"387":4,"410":2,"476":1,"477":1,"530":20,"582":2,"590":2,"591":2,"716":1}}],["struct",{"2":{"103":3,"132":10,"133":6,"147":4,"149":9,"150":2,"152":5,"153":4,"242":2}}],["structures",{"0":{"126":1},"2":{"132":2,"153":2,"154":1,"410":2}}],["structure",{"0":{"3":1},"2":{"132":2,"149":2,"152":2}}],["streaming",{"2":{"64":4}}],["stress",{"2":{"59":1}}],["strengthen",{"2":{"56":1}}],["straight",{"2":{"177":1}}],["strategy",{"2":{"52":1,"595":1}}],["strange",{"2":{"41":1}}],["stronger",{"0":{"425":1}}],["strong",{"2":{"29":1,"423":1}}],["stability",{"0":{"472":1,"706":1}}],["stable",{"2":{"97":2,"98":2,"354":1,"706":1,"733":1}}],["stands",{"2":{"457":1}}],["standardoutput=journal",{"2":{"536":2}}],["standarderror=journal",{"2":{"536":2}}],["standard",{"2":{"65":1,"242":1,"269":1,"283":2,"285":1,"322":1,"400":1,"401":1,"429":4,"439":1,"596":1}}],["standardscryptp",{"2":{"508":3}}],["standardscryptn",{"2":{"508":3}}],["standards",{"0":{"8":1},"2":{"9":1,"15":1,"16":1}}],["stakin",{"2":{"712":1,"713":1,"714":1}}],["staking",{"0":{"397":1,"440":1,"457":1,"458":1},"1":{"398":1,"399":1,"441":1,"442":1,"443":1,"444":1,"445":1,"446":1,"447":1},"2":{"258":1,"283":1,"397":2,"398":1,"399":1,"441":3,"447":1,"453":1,"454":1,"457":2,"534":1,"563":6,"566":4,"569":1,"629":2,"636":2}}],["stakeflow",{"2":{"712":1,"713":1,"714":1,"717":1,"723":1,"725":1,"726":1,"729":1}}],["stakers",{"2":{"444":1,"445":1}}],["stakecurrency",{"2":{"298":2}}],["staked",{"2":{"261":1,"447":1}}],["stake",{"0":{"258":1,"260":1,"263":1,"265":1,"267":1,"441":1,"453":1,"629":1},"1":{"259":1,"260":1,"261":2,"262":2,"263":2,"264":2,"265":1,"266":2,"267":2,"268":2},"2":{"165":1,"258":3,"261":1,"263":1,"264":1,"266":1,"267":1,"268":1,"397":1,"398":1,"441":4,"453":2,"547":1,"563":1,"629":1}}],["stack",{"0":{"169":1,"238":1,"289":1,"292":1,"293":1,"295":1,"351":1,"363":1,"367":1},"1":{"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"290":1,"291":1,"292":1,"293":2,"294":2,"295":1,"296":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":2,"365":2,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1},"2":{"102":1,"168":1,"170":1,"176":1,"179":2,"181":1,"185":1,"237":1,"238":1,"257":2,"289":1,"290":1,"291":2,"293":3,"294":1,"296":1,"351":1,"353":1,"359":1,"365":1,"367":1,"368":1,"369":1,"377":1,"396":3,"433":2}}],["stage",{"2":{"52":1,"677":1,"706":1}}],["static",{"2":{"403":4,"404":2,"572":2}}],["stats",{"0":{"342":1},"2":{"342":2}}],["statement",{"2":{"386":1}}],["statements",{"0":{"385":1},"2":{"385":1}}],["stateroot",{"2":{"360":2}}],["stateless",{"2":{"129":1}}],["state",{"0":{"422":1,"619":1,"622":1},"2":{"45":6,"119":1,"134":2,"137":1,"159":1,"169":1,"178":1,"205":1,"235":1,"279":1,"287":1,"288":1,"295":1,"327":2,"336":2,"337":4,"339":2,"343":6,"356":1,"386":2,"389":2,"391":2,"402":1,"403":1,"404":1,"406":1,"411":1,"414":1,"422":4,"432":3,"433":8,"435":2,"462":1,"466":1,"477":3,"488":1,"521":1,"522":1,"533":1,"534":1,"538":1,"539":1,"547":2,"557":6,"619":1,"620":1,"622":3,"623":1,"647":3,"671":1,"677":1,"699":1,"716":2,"722":1,"726":1}}],["statesaving",{"2":{"608":1}}],["states",{"2":{"45":9}}],["status",{"2":{"7":1,"119":2,"222":2,"223":2,"235":2,"476":1,"557":4,"578":1,"716":2,"742":4,"746":2,"748":1}}],["startcelestia",{"2":{"624":1,"633":1,"636":1,"692":1}}],["startlimitburst=5",{"2":{"536":2}}],["startblobstream",{"2":{"495":1}}],["startbroadcast",{"2":{"244":2}}],["starts",{"2":{"356":1,"364":1,"442":1,"530":2,"535":1}}],["startshare=0",{"2":{"146":1}}],["startprank",{"2":{"242":2}}],["start=10",{"2":{"145":1}}],["starting",{"2":{"68":1,"99":1,"132":1,"145":1,"146":1,"433":1,"445":1,"492":1,"501":5,"526":1,"542":1,"554":1,"592":1,"639":1,"688":1}}],["startup",{"2":{"58":1,"745":1}}],["start",{"0":{"19":1,"278":1,"356":1,"373":1,"495":1,"530":1,"545":1,"556":1,"624":1,"634":1,"653":1,"656":1,"671":1,"673":1,"699":1,"703":1,"736":1,"742":1},"1":{"20":1,"21":1,"22":1,"23":1,"496":1,"737":1,"738":1,"739":1},"2":{"48":1,"49":1,"86":1,"103":2,"108":6,"109":1,"132":2,"133":1,"146":2,"149":4,"176":1,"179":1,"182":1,"198":2,"210":1,"212":2,"222":2,"223":3,"233":1,"239":1,"245":1,"246":1,"250":4,"254":1,"270":1,"271":6,"278":2,"295":1,"296":1,"324":12,"325":8,"327":1,"355":1,"356":1,"358":1,"372":1,"373":5,"380":3,"441":1,"477":6,"493":1,"495":2,"501":1,"522":1,"527":2,"530":10,"534":3,"536":6,"539":1,"543":2,"545":8,"553":1,"554":8,"555":7,"557":4,"576":2,"583":3,"585":5,"586":4,"589":2,"592":3,"593":3,"622":1,"624":2,"633":1,"636":2,"641":1,"648":1,"653":6,"655":1,"656":10,"671":5,"672":7,"692":2,"699":9,"700":8,"702":7,"716":3,"739":1,"742":5,"744":5,"745":6,"746":7}}],["started",{"0":{"122":1,"239":1,"282":1,"304":1,"739":1},"1":{"123":1,"124":1,"125":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"1":1,"57":1,"65":1,"222":1,"241":1,"245":1,"250":2,"252":1,"282":1,"311":1,"369":1,"378":1,"393":2,"398":1,"399":1,"581":1,"592":1,"649":2,"654":1,"736":1,"737":1,"738":1,"739":1,"742":1,"746":1}}],["stay",{"2":{"5":1,"574":1}}],["ghead",{"2":{"613":2}}],["ghcr",{"2":{"108":4,"222":2,"359":1,"373":4,"653":6,"655":6,"656":6}}],["glance",{"0":{"449":1}}],["global",{"2":{"95":2,"271":2,"572":3}}],["gcpbb",{"2":{"404":1}}],["gptprompt",{"2":{"387":4}}],["gpt3dot5turbo",{"2":{"386":2}}],["gpt3",{"2":{"386":4,"387":2}}],["gpt",{"2":{"378":2,"379":1,"386":3,"387":3,"388":1}}],["gg",{"2":{"272":2}}],["gz",{"2":{"94":6,"320":24,"662":24}}],["gbps",{"2":{"548":2,"609":2,"627":2,"665":2}}],["gb",{"2":{"91":1,"290":1,"318":1,"484":2,"548":1,"609":4,"627":2,"665":1,"695":1}}],["gt",{"2":{"86":2,"87":2,"94":4,"108":5,"135":2,"190":2,"206":4,"216":13,"217":12,"218":12,"222":5,"223":8,"242":4,"245":2,"246":2,"247":2,"249":14,"250":118,"254":4,"272":4,"298":14,"320":8,"324":6,"325":21,"327":6,"329":6,"330":4,"332":8,"333":8,"337":2,"340":4,"343":6,"345":4,"359":4,"360":1,"373":13,"408":4,"409":4,"477":8,"479":3,"497":2,"510":2,"512":2,"515":2,"517":3,"518":2,"519":4,"522":1,"530":3,"534":10,"535":1,"536":8,"545":3,"553":8,"554":4,"555":12,"559":8,"560":6,"561":8,"562":18,"563":20,"564":4,"565":6,"566":16,"567":4,"568":12,"569":2,"572":2,"576":2,"583":10,"585":14,"586":16,"589":10,"592":10,"593":8,"594":4,"595":8,"623":12,"629":4,"632":2,"636":2,"656":2,"662":8,"671":4,"672":12,"699":4,"700":6,"701":3,"702":12,"716":8,"728":3,"742":2,"744":2,"745":4,"746":4}}],["gmid",{"2":{"250":2}}],["gms",{"2":{"87":3,"254":3}}],["gmportalscript",{"2":{"86":2,"254":2}}],["gmportal",{"2":{"86":2,"88":7,"254":2,"255":7}}],["gm",{"2":{"86":8,"87":5,"88":8,"89":2,"176":1,"236":1,"254":13,"255":8,"256":2,"291":1,"327":4,"332":3,"333":6,"334":6,"393":2}}],["google",{"2":{"410":4}}],["goods",{"2":{"293":1}}],["good",{"2":{"165":1,"257":1,"572":1,"654":2}}],["goimport",{"2":{"405":1,"410":1}}],["going",{"2":{"120":1,"192":1,"371":1,"602":1,"731":1,"742":1}}],["gogo",{"2":{"387":1}}],["godotenv",{"2":{"385":2,"386":2}}],["gopackage",{"2":{"385":1}}],["gofile",{"2":{"385":1}}],["gofunc",{"2":{"135":2,"137":1,"364":2,"386":2,"387":1}}],["govcelestia",{"2":{"563":1}}],["gov",{"2":{"283":1,"563":12,"564":2}}],["governing",{"2":{"454":1}}],["governance",{"0":{"440":1,"443":1,"454":1,"563":1},"1":{"441":1,"442":1,"443":1,"444":2,"445":2,"446":1,"447":1,"564":1},"2":{"102":2,"258":1,"293":1,"403":1,"404":2,"432":1,"444":2,"445":1,"447":1,"454":3,"563":3,"564":1,"709":3}}],["governmental",{"2":{"45":1}}],["government",{"2":{"44":1}}],["governed",{"2":{"42":1}}],["govern",{"2":{"41":1}}],["gobin",{"2":{"215":2}}],["gone",{"2":{"210":1}}],["gotten",{"2":{"148":1}}],["got",{"2":{"137":2,"333":1,"383":1,"386":2}}],["gotype",{"2":{"103":1,"132":2,"133":1}}],["gossiped",{"2":{"402":1,"427":1,"747":1}}],["gossiping",{"2":{"137":2,"748":1}}],["gossip",{"2":{"137":1,"664":1}}],["goals",{"2":{"179":1}}],["goal",{"2":{"132":1,"392":1}}],["goevmks",{"2":{"508":1}}],["goerli",{"2":{"102":1,"163":1}}],["goes",{"2":{"78":1,"147":1,"285":1,"297":1,"596":1}}],["go$ver",{"2":{"94":6,"320":24,"662":24}}],["golangblobstream",{"2":{"485":1}}],["golangnodearabica",{"2":{"320":2,"662":2}}],["golangnodemocha",{"2":{"320":2,"662":2}}],["golangnodemainnet",{"2":{"320":2,"662":2}}],["golangcelestia",{"2":{"314":1}}],["golang",{"0":{"94":1,"320":1,"349":1,"353":1,"662":1},"2":{"94":2,"309":1,"320":11,"322":1,"378":2,"379":1,"384":1,"387":1,"410":4,"596":1,"662":11}}],["go",{"0":{"384":1},"2":{"68":1,"90":1,"94":8,"103":1,"132":1,"133":1,"141":1,"158":1,"174":1,"175":1,"190":2,"209":1,"213":2,"224":1,"253":1,"269":4,"274":1,"295":1,"299":1,"319":1,"320":18,"322":3,"327":1,"349":2,"362":6,"364":4,"365":2,"382":1,"384":6,"385":2,"386":6,"387":1,"433":1,"483":1,"485":1,"522":1,"539":1,"546":1,"558":1,"572":1,"580":1,"585":1,"595":2,"596":3,"654":2,"660":1,"662":18,"739":1}}],["gi",{"2":{"145":2}}],["gitcd",{"2":{"613":1}}],["git",{"2":{"86":6,"92":2,"97":10,"98":6,"215":3,"254":4,"319":4,"322":7,"354":6,"362":4,"384":4,"485":5,"580":7,"596":7,"613":3,"661":4}}],["githubusercontent",{"2":{"95":2,"226":1,"319":2,"613":10,"661":2}}],["github",{"2":{"86":3,"97":2,"98":2,"149":2,"150":2,"153":2,"206":2,"215":2,"254":3,"292":1,"312":1,"317":1,"322":2,"354":2,"362":2,"384":2,"385":10,"405":2,"410":16,"485":3,"577":2,"580":2,"591":1,"596":2,"613":2,"731":1}}],["given",{"0":{"595":1},"2":{"364":1,"386":6,"417":1,"430":1,"472":1,"517":1,"593":2,"595":2,"619":1,"709":1,"734":2}}],["gives",{"2":{"63":1,"83":1,"441":1,"709":1}}],["give",{"0":{"253":1},"2":{"62":1,"177":1,"242":2,"245":1,"368":1,"654":1}}],["giving",{"2":{"8":1,"50":1,"58":1}}],["gifts",{"2":{"61":1}}],["gather",{"2":{"538":1,"585":1}}],["gateway",{"0":{"312":1,"313":1},"1":{"313":1},"2":{"108":2,"307":1,"308":1,"312":3,"313":1,"317":1,"373":2,"380":8,"465":1,"591":3,"725":1}}],["game",{"2":{"378":2,"385":1,"387":1}}],["gaming",{"2":{"61":1,"180":1,"257":1}}],["gaining",{"2":{"414":1}}],["gain",{"2":{"66":1,"74":1,"83":1,"378":1,"420":1}}],["gained",{"2":{"56":1}}],["gap",{"2":{"60":1}}],["gauge",{"2":{"60":1}}],["gas=220000",{"2":{"636":1}}],["gas=220000moniker=",{"2":{"636":1}}],["gascostpertransactionbyte",{"2":{"403":1}}],["gascostperblobbyte",{"2":{"403":1}}],["gasperbyte",{"2":{"403":1,"404":2}}],["gasprice",{"2":{"361":2,"402":1}}],["gaspricestep",{"2":{"298":2}}],["gastoconsume",{"2":{"403":2,"404":1}}],["gaslimit",{"2":{"332":4,"343":1,"360":2,"386":4,"387":4,"402":1,"405":2,"410":4}}],["gasused",{"2":{"119":2,"235":2,"360":2}}],["gas",{"0":{"334":1,"402":1,"403":1,"404":1,"405":1},"1":{"403":1,"404":1,"405":1},"2":{"42":1,"102":2,"115":2,"167":1,"197":12,"204":2,"226":3,"231":2,"271":16,"314":1,"332":2,"334":11,"343":7,"361":2,"364":1,"387":1,"401":2,"402":9,"403":9,"404":18,"405":5,"410":6,"439":1,"452":1,"534":4,"565":2,"567":2,"629":4,"636":4}}],["grpcaddr",{"2":{"410":4}}],["grpc",{"0":{"410":1,"466":1,"714":1,"726":1},"2":{"153":1,"271":12,"324":3,"373":4,"380":2,"410":10,"465":3,"466":5,"476":3,"477":3,"501":2,"522":1,"524":1,"530":9,"532":3,"539":1,"545":1,"553":2,"554":1,"572":3,"582":2,"671":2,"699":3,"714":12,"716":8,"725":3,"726":12}}],["groundbreaking",{"2":{"706":1}}],["groupname",{"2":{"249":2}}],["groups",{"2":{"58":1,"60":2,"63":5,"65":2}}],["group",{"2":{"50":1,"52":1,"60":2,"63":1,"64":1,"65":13,"66":7}}],["growth",{"2":{"83":1,"293":1}}],["grow",{"2":{"68":1}}],["growing",{"2":{"68":1}}],["grep",{"2":{"366":1}}],["grepping",{"2":{"366":1}}],["green",{"2":{"154":1}}],["greet",{"2":{"55":1}}],["greater",{"2":{"622":1}}],["greatly",{"2":{"64":1}}],["great",{"2":{"59":1,"296":1}}],["grafana",{"2":{"572":3,"574":3,"587":1,"716":1}}],["gradients",{"2":{"154":1}}],["grassroots",{"2":{"67":1}}],["gratitude",{"2":{"61":1,"62":1}}],["graphical",{"2":{"575":1}}],["graphics",{"2":{"54":1}}],["graph",{"2":{"242":2}}],["graphs",{"2":{"49":1}}],["granter",{"2":{"197":2}}],["granted",{"2":{"71":1}}],["grants",{"2":{"46":1,"51":1}}],["grant",{"2":{"45":1,"51":1}}],["granting",{"2":{"45":1}}],["gray",{"2":{"39":1}}],["gravity",{"2":{"29":3,"158":1}}],["gracefully",{"2":{"8":1,"674":1}}],["g",{"2":{"42":1,"44":1,"49":4,"56":1,"66":2,"327":1,"416":1,"430":1,"436":1,"572":1,"643":2}}],["guru",{"2":{"717":1}}],["gurel",{"2":{"52":1}}],["guaranteeing",{"2":{"434":1}}],["guarantee",{"2":{"389":1,"423":1,"424":1,"427":1,"429":1,"477":1,"716":1}}],["guaranteed",{"2":{"286":1,"391":2,"436":1}}],["guarantees",{"2":{"29":1,"391":1}}],["guidance",{"0":{"57":1},"1":{"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1}}],["guidetroubleshooting",{"2":{"314":1}}],["guidecommand",{"2":{"314":1}}],["guide",{"0":{"53":1,"238":1,"269":1,"326":1,"349":1,"599":1,"678":1,"736":1},"1":{"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"600":1,"601":1,"602":1,"603":1,"604":1,"605":1,"606":1,"607":1,"679":1,"680":1,"681":1,"682":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"737":1,"738":1,"739":1},"2":{"67":1,"74":1,"78":1,"106":1,"111":1,"186":1,"209":1,"215":1,"221":1,"224":2,"238":2,"269":1,"295":1,"299":2,"305":1,"317":1,"351":1,"377":1,"461":2,"475":2,"538":1,"573":1,"577":2,"579":1,"587":1,"592":1,"608":1,"647":1,"663":1,"678":2,"680":1,"681":1,"693":1,"705":1,"710":2,"720":2,"731":1,"739":1}}],["guidelines",{"0":{"2":1,"12":1,"76":1},"1":{"13":1,"14":1,"15":1,"16":1},"2":{"2":1,"12":1,"17":1,"57":2}}],["guides",{"2":{"0":1,"3":1,"57":1,"394":1,"461":1,"646":1,"720":1,"731":1}}],["geoblock",{"2":{"42":1}}],["gentx",{"2":{"557":2,"569":4,"688":5,"689":7}}],["gentxscelestia",{"2":{"689":1}}],["gentxs",{"2":{"557":2,"689":1}}],["genutil",{"2":{"283":1}}],["genuine",{"2":{"71":1,"83":1}}],["genuinely",{"2":{"70":1}}],["genesis",{"0":{"446":1,"569":1,"686":1,"688":1,"689":1},"1":{"447":1},"2":{"153":2,"207":1,"420":1,"445":1,"446":2,"447":1,"449":1,"501":1,"557":20,"569":3,"583":10,"607":1,"613":7,"686":2,"687":3,"688":2,"689":5}}],["generation",{"2":{"434":1}}],["generating",{"0":{"216":1},"2":{"517":2,"534":1}}],["generator",{"2":{"247":1}}],["generate",{"2":{"209":1,"213":1,"216":1,"333":1,"378":1,"380":1,"382":1,"383":1,"418":2,"429":1,"534":1,"557":2,"569":1,"576":4,"677":1}}],["generated",{"2":{"146":2,"246":1,"325":2,"332":1,"336":1,"383":1,"429":1,"479":1,"493":1,"521":1,"527":1,"530":2,"538":1,"543":1,"554":1,"671":1,"685":1,"688":1,"700":1,"701":1,"728":1}}],["generates",{"2":{"145":1}}],["generally",{"2":{"403":1,"534":1}}],["general",{"0":{"42":1,"92":1,"676":1},"1":{"677":1},"2":{"45":1,"52":1,"178":1,"214":1,"403":1,"427":1,"447":1,"676":1}}],["generic",{"2":{"115":1,"231":1}}],["gender",{"2":{"7":1}}],["getaddress",{"2":{"410":2}}],["getall",{"2":{"391":2}}],["getallgms",{"2":{"87":2,"254":2}}],["getsharesbynamespace",{"2":{"386":2}}],["getsigner",{"2":{"250":2}}],["getdataasprompt",{"2":{"386":3,"387":2}}],["getenv",{"2":{"386":8}}],["getelementbyid",{"2":{"249":2}}],["getgrpcurl",{"2":{"362":1}}],["getbyheight",{"2":{"340":1}}],["getblockdata",{"2":{"133":2,"137":2}}],["getlatestblock",{"2":{"137":2}}],["getlatestrollupheight",{"2":{"133":2}}],["getting",{"0":{"122":1,"239":1,"282":1,"304":1,"739":1},"1":{"123":1,"124":1,"125":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"250":2,"282":1,"379":1,"386":2,"413":1,"522":1,"539":1}}],["gettotalgms",{"2":{"87":2,"254":2}}],["getheader",{"2":{"133":4,"137":2,"386":2}}],["geth",{"2":{"117":1,"169":1,"295":1,"356":1,"508":1}}],["get",{"0":{"338":1,"339":1,"340":1,"342":1},"2":{"1":1,"49":1,"50":1,"57":1,"60":1,"65":1,"104":1,"177":1,"178":1,"180":1,"212":1,"237":1,"241":1,"272":1,"311":1,"332":1,"333":15,"338":1,"339":1,"340":6,"341":4,"345":1,"346":7,"362":1,"369":1,"378":1,"380":1,"381":1,"387":3,"388":1,"393":2,"395":1,"398":1,"399":1,"404":1,"406":1,"410":2,"413":1,"533":2,"534":1,"539":1,"554":1,"562":1,"563":1,"573":1,"581":1,"613":1,"629":1,"649":2,"671":2,"699":1,"701":1,"736":1,"737":1,"738":1,"739":1}}],["otel",{"2":{"585":2,"587":3}}],["otherwise",{"2":{"11":1,"45":4,"332":1,"563":1,"682":1,"742":1}}],["others",{"2":{"8":1,"691":1}}],["other",{"0":{"96":1,"288":1,"687":1},"2":{"3":1,"8":2,"9":1,"13":1,"41":2,"42":10,"43":1,"45":12,"50":1,"51":1,"58":1,"60":5,"61":2,"63":2,"65":1,"66":3,"70":1,"82":1,"102":1,"117":1,"127":1,"132":2,"141":1,"157":1,"167":1,"171":1,"180":1,"216":1,"279":1,"286":2,"288":1,"308":1,"317":1,"359":1,"391":3,"401":1,"404":1,"413":1,"420":1,"423":1,"430":1,"433":2,"445":1,"453":1,"467":1,"478":1,"507":1,"513":1,"547":1,"643":1,"687":2,"688":1,"689":2,"690":2,"691":2,"728":1,"737":1}}],["o1w4npv7w4caztgjomx71w96m63+xzynarxlu7wwvrrwbeb6cw8r93yhxt1r4+txcbgve76obzf5jltnu22gksd2cl+83d8dgjx0fkcwzd0vofkgmboky1utddu8704s2mwgnne09s1bzw+n9fq6fkfw7pvwjl200ecs0ofj3hfpaeywnlgyygqc89dh+98gd5trdu4anql9afmw+sdzjtc9s0fzlwyroos0bvk3w7evnpmwxe5qrdzklbmv1lzi4ofrrxlhgmbyoajhhsen+b81lguh33hdet8k9nvkksf2+w3xul6upsxydpbwsv2ghskr+yfuldbvyl1rotvts1zxlpepz0m1e",{"2":{"362":2}}],["old",{"2":{"358":1,"421":1,"535":1,"589":1,"593":1}}],["older",{"2":{"42":1,"390":1,"675":1}}],["os",{"2":{"319":1,"385":2,"386":8,"571":2,"661":1}}],["oss",{"2":{"286":1}}],["os|file|kwallet|pass|test|memory",{"2":{"206":2,"558":1}}],["ostrich",{"2":{"194":2}}],["oil",{"2":{"194":2}}],["omitted",{"2":{"149":1}}],["omitempty",{"2":{"132":2}}],["occupied",{"2":{"709":1}}],["occurs",{"2":{"414":1}}],["occurring",{"2":{"288":1}}],["occur",{"2":{"137":1,"563":1}}],["occasional",{"2":{"706":1,"733":1}}],["october",{"0":{"21":1,"22":1,"23":1,"25":1,"26":1},"2":{"21":2,"22":2,"23":1,"25":3}}],["ok",{"2":{"115":2,"231":2}}],["o",{"2":{"95":2,"428":1,"429":2,"623":12}}],["owner",{"2":{"242":12}}],["ownership",{"2":{"45":1,"242":2}}],["own",{"2":{"45":2,"179":1,"181":1,"200":1,"204":1,"212":1,"240":1,"248":1,"289":1,"294":1,"295":1,"308":1,"348":1,"351":1,"368":1,"370":2,"383":1,"391":1,"430":1,"433":1,"434":1,"441":1,"452":1,"453":1,"477":1,"553":1,"580":1,"604":1,"629":1,"671":1,"678":1,"684":1,"699":1,"716":1}}],["observe",{"2":{"595":1}}],["observer",{"2":{"585":2}}],["observance",{"2":{"45":1}}],["objects",{"2":{"250":2}}],["objectives",{"2":{"54":1}}],["obligation",{"2":{"45":1}}],["obligations",{"2":{"44":1}}],["obligated",{"2":{"11":1}}],["obtained",{"2":{"45":2,"379":1}}],["obtaining",{"2":{"45":2}}],["obtain",{"2":{"43":1,"44":1,"62":1,"305":1}}],["override",{"2":{"572":2}}],["overwrite",{"2":{"506":1}}],["overpaying",{"2":{"404":1}}],["overhead",{"2":{"289":1,"294":1}}],["over",{"0":{"276":1,"384":1},"2":{"46":1,"77":1,"78":1,"90":1,"120":1,"131":1,"132":4,"134":1,"135":1,"158":1,"178":1,"209":1,"213":2,"224":1,"238":1,"250":2,"276":2,"297":1,"299":1,"312":1,"319":1,"325":1,"327":1,"358":1,"380":1,"382":1,"384":1,"391":1,"395":1,"402":1,"454":1,"483":1,"530":3,"545":1,"546":1,"585":1,"596":1,"660":1,"739":1}}],["overview",{"0":{"47":1,"82":1,"102":1,"111":1,"159":1,"439":1,"448":1,"547":1,"664":1,"694":1,"731":1},"1":{"48":1,"103":1,"104":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1},"2":{"21":1,"55":1,"65":1,"77":1,"78":1,"79":1,"129":2,"239":1,"264":1,"268":1,"282":1,"297":1,"439":1,"521":1,"538":1,"587":1,"597":1}}],["overall",{"2":{"8":1,"59":1}}],["onto",{"2":{"234":1,"392":1,"425":1}}],["oncall",{"2":{"574":2}}],["onchange=",{"2":{"250":4}}],["onchain",{"2":{"103":1,"104":1,"158":1,"162":1,"180":1,"257":1,"290":1,"414":1,"447":1,"636":1}}],["onclick=",{"2":{"250":8,"298":2}}],["once",{"2":{"118":1,"135":1,"197":1,"213":1,"234":1,"245":3,"246":1,"250":2,"325":1,"327":1,"389":1,"391":1,"395":1,"416":1,"423":1,"435":1,"510":1,"522":1,"535":1,"539":2,"554":1,"572":2,"622":1,"671":1,"674":1,"687":1,"689":2,"700":1}}],["onboarding",{"0":{"66":1}}],["onlyowner",{"2":{"242":8}}],["only",{"0":{"464":1,"724":1},"2":{"45":2,"51":1,"137":2,"180":1,"181":1,"194":2,"211":1,"216":1,"242":2,"283":1,"285":1,"294":1,"312":1,"317":1,"390":1,"391":1,"392":1,"404":1,"410":2,"418":1,"420":1,"423":1,"426":1,"427":1,"428":1,"429":2,"430":2,"432":1,"433":3,"434":2,"435":2,"502":1,"506":1,"516":1,"538":1,"564":1,"576":2,"582":1,"613":1,"636":1,"659":1,"674":1,"678":1,"716":1,"727":1,"739":1}}],["online",{"2":{"10":1,"55":1,"62":1,"63":1,"742":2,"744":2,"745":2,"746":2}}],["onecelestia",{"2":{"562":1}}],["ones",{"2":{"274":1,"277":1,"677":1}}],["one",{"0":{"18":1,"406":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"45":5,"49":2,"63":1,"64":1,"65":1,"66":1,"87":1,"102":1,"108":4,"114":1,"115":1,"141":1,"160":1,"178":1,"179":1,"180":1,"181":1,"190":1,"192":1,"193":2,"202":1,"204":2,"206":2,"216":1,"222":2,"223":2,"226":2,"230":1,"231":1,"245":1,"254":1,"269":2,"271":2,"317":1,"324":3,"383":1,"400":1,"403":1,"406":1,"417":1,"429":2,"430":1,"433":2,"435":2,"436":2,"487":1,"493":2,"510":1,"512":1,"514":1,"527":2,"530":5,"534":1,"535":1,"538":1,"539":2,"543":1,"553":1,"554":2,"557":4,"562":4,"563":3,"572":3,"592":2,"595":1,"607":2,"630":1,"664":1,"671":1,"689":1,"699":3,"700":2,"709":2,"713":1,"714":1,"716":1,"723":1,"725":1,"726":1}}],["on",{"0":{"84":1,"109":1,"170":1,"182":1,"193":1,"204":1,"227":1,"252":1,"254":1,"331":1,"362":1,"397":1,"441":1,"620":1,"644":1,"731":1},"1":{"85":1,"86":1,"87":1,"88":1,"89":1,"171":1,"172":1,"173":1,"174":1,"175":1,"183":1,"184":1,"185":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"255":1,"256":1,"257":1,"398":1,"399":1},"2":{"8":2,"22":3,"25":1,"29":2,"41":3,"42":3,"43":1,"44":1,"45":5,"48":2,"49":1,"50":3,"52":1,"54":1,"57":1,"58":3,"59":2,"61":2,"62":1,"63":4,"64":5,"65":1,"66":1,"71":1,"77":1,"78":1,"79":2,"83":1,"87":1,"88":3,"89":1,"90":1,"91":1,"97":2,"98":4,"102":1,"103":3,"104":4,"108":3,"109":1,"111":1,"112":1,"115":1,"117":2,"127":1,"131":1,"133":6,"135":1,"154":1,"158":2,"159":3,"160":3,"163":2,"165":2,"166":4,"167":2,"168":1,"169":5,"170":1,"176":2,"177":1,"178":2,"181":1,"182":1,"184":3,"186":1,"192":3,"200":2,"201":2,"204":2,"205":1,"208":2,"212":2,"213":1,"216":1,"221":2,"222":4,"223":1,"225":1,"228":1,"231":1,"233":1,"237":4,"238":1,"249":2,"250":5,"251":1,"252":1,"253":1,"254":1,"255":3,"256":1,"257":3,"258":2,"263":1,"267":1,"269":3,"271":2,"280":1,"282":1,"284":1,"286":1,"288":1,"290":3,"291":3,"295":4,"297":1,"304":1,"306":1,"308":2,"312":1,"317":1,"319":1,"322":1,"323":1,"324":2,"325":3,"329":3,"330":1,"333":1,"360":1,"361":1,"364":1,"370":1,"373":1,"378":2,"380":5,"386":1,"390":1,"391":6,"392":3,"394":1,"396":4,"403":3,"404":6,"410":2,"414":1,"416":1,"417":1,"425":1,"426":1,"427":1,"428":1,"430":1,"432":2,"433":3,"436":1,"438":1,"439":3,"441":3,"442":1,"444":2,"451":2,"452":2,"454":1,"459":1,"461":5,"462":1,"471":3,"472":2,"475":1,"477":1,"479":2,"483":1,"487":1,"488":1,"493":1,"501":1,"506":1,"527":1,"530":2,"543":1,"547":2,"549":1,"553":4,"554":4,"556":1,"558":1,"563":3,"564":1,"569":1,"571":2,"572":9,"573":1,"574":2,"577":1,"578":2,"580":2,"581":2,"582":4,"584":1,"587":3,"589":2,"591":5,"592":1,"596":1,"608":2,"610":1,"611":1,"612":1,"618":1,"620":1,"621":1,"622":2,"624":2,"627":1,"628":1,"632":4,"634":1,"636":1,"643":3,"646":4,"647":1,"651":1,"653":3,"654":5,"659":1,"661":1,"666":1,"671":6,"675":2,"676":3,"677":4,"692":2,"693":1,"694":1,"696":2,"699":7,"703":1,"704":1,"709":3,"710":1,"716":1,"720":7,"722":1,"728":2,"731":4,"734":6,"736":1,"739":2,"749":1}}],["opt",{"2":{"452":1}}],["optimally",{"2":{"433":1}}],["optimal",{"2":{"322":1,"596":1}}],["optimized",{"2":{"433":1}}],["optimize",{"2":{"288":1}}],["optimismcd",{"2":{"354":1}}],["optimism",{"0":{"293":1},"2":{"169":2,"185":1,"257":1,"289":1,"290":2,"292":1,"293":6,"295":1,"354":3,"355":2,"357":1,"364":1,"367":1,"370":1,"372":2,"373":1,"374":1,"396":1,"447":1}}],["optimised",{"2":{"158":1}}],["optimistic",{"2":{"134":1,"137":1,"395":1}}],["option",{"2":{"102":1,"322":2,"368":1,"547":1,"563":2,"572":1,"596":2,"602":1,"636":1,"646":4,"647":1,"739":1}}],["optionsoptional",{"2":{"608":1}}],["options",{"0":{"219":1,"507":1,"646":1},"1":{"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"516":1,"517":1,"518":1,"519":1,"520":1},"2":{"58":2,"59":1,"64":1,"179":1,"181":1,"182":1,"197":4,"250":4,"394":1,"410":6,"461":1,"557":1,"558":1,"561":1,"562":1,"563":2,"571":2,"646":1,"710":1,"720":1,"731":1,"739":1}}],["optionally",{"2":{"332":1,"613":2}}],["optional",{"0":{"205":1,"206":1,"306":1,"555":1,"556":1,"625":1,"630":1,"634":1,"641":1,"642":1,"646":1,"647":1,"672":1,"673":1,"683":1,"687":1,"702":1,"703":1},"1":{"626":1,"627":1,"628":1,"629":1,"630":1,"631":2,"632":2,"633":2,"634":2,"635":2,"636":1,"637":1,"638":1,"639":1,"643":1,"644":1,"645":1},"2":{"50":1,"58":1,"63":1,"87":1,"197":1,"226":2,"302":1,"322":1,"332":8,"357":1,"436":1,"487":2,"492":1,"493":1,"503":1,"504":1,"505":1,"517":1,"526":1,"527":1,"542":1,"543":1,"596":1,"624":1}}],["ops",{"2":{"359":1,"370":1,"373":1}}],["oprexqlg9er1oey1de4mkwvmjlfnqoocg==",{"2":{"340":2}}],["opqym",{"2":{"195":2,"199":2}}],["op",{"0":{"169":1,"289":1,"292":1,"293":1,"295":1,"351":1,"363":1,"367":1},"1":{"290":1,"291":1,"292":1,"293":2,"294":2,"295":1,"296":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":2,"365":2,"366":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1},"2":{"168":1,"169":7,"170":1,"176":1,"185":1,"237":1,"257":1,"289":1,"290":2,"291":2,"293":3,"295":7,"296":1,"351":1,"353":1,"354":6,"356":4,"359":1,"364":4,"365":2,"366":1,"367":1,"368":1,"369":1,"377":1,"396":3}}],["opportunities",{"2":{"66":1,"83":1}}],["opportunity",{"2":{"41":1,"43":1}}],["operating",{"2":{"581":1,"651":1}}],["operations",{"2":{"245":1,"246":1,"403":1,"435":1,"457":1,"471":1,"554":1,"671":1}}],["operation",{"2":{"41":1,"102":1,"115":1,"231":1,"609":1}}],["operators",{"2":{"446":1,"587":1,"706":1,"731":1}}],["operator",{"2":{"322":1,"534":2,"570":1,"596":1,"646":1}}],["operate",{"2":{"433":1}}],["operates",{"2":{"167":1,"364":1}}],["operated",{"2":{"41":1}}],["opentelemetry",{"2":{"586":1,"587":1}}],["openaikey",{"2":{"386":4}}],["openai",{"0":{"382":1},"2":{"378":2,"379":1,"382":3,"383":3,"385":4,"386":12,"387":1}}],["openrpc",{"2":{"310":1}}],["opened",{"2":{"277":1,"509":2,"510":2,"511":2,"512":2,"514":2,"515":2,"517":2}}],["opening",{"2":{"45":1}}],["open",{"0":{"261":1,"266":1,"276":1,"494":1,"529":1},"2":{"7":1,"115":1,"212":1,"222":1,"231":1,"242":1,"250":2,"251":2,"261":1,"270":1,"290":1,"293":1,"324":1,"370":1,"380":1,"383":1,"466":1,"476":3,"477":1,"528":1,"544":1,"553":1,"564":2,"571":2,"572":2,"582":3,"587":1,"589":1,"591":2,"624":1,"632":1,"653":1,"671":1,"690":1,"692":1,"699":1,"726":1}}],["opinions",{"2":{"8":1}}],["our",{"0":{"7":1,"8":1,"118":1},"2":{"7":1,"8":2,"9":1,"10":1,"41":1,"42":1,"44":3,"66":1,"70":2,"71":2,"73":1,"82":1,"83":2,"120":1,"192":1,"204":2,"211":1,"233":1,"243":2,"244":1,"246":2,"251":2,"253":1,"272":1,"320":1,"332":1,"336":1,"337":1,"380":5,"385":1,"386":4,"387":1,"470":1,"482":1,"597":1,"655":1,"662":1,"685":1,"730":1,"735":1}}],["outcome",{"2":{"435":1}}],["outbound",{"2":{"269":1}}],["outercontainerstyle",{"2":{"250":4}}],["outsource",{"2":{"179":1}}],["outsourcing",{"2":{"179":1}}],["outside",{"2":{"45":2,"403":1,"423":1}}],["outlined",{"2":{"137":1}}],["outline",{"2":{"131":2,"137":1}}],["outputs",{"2":{"568":2}}],["outputting",{"0":{"537":1}}],["output",{"2":{"86":3,"114":1,"115":1,"118":1,"119":1,"190":2,"194":1,"195":1,"197":1,"198":1,"199":1,"200":2,"206":4,"211":1,"230":1,"231":1,"234":1,"235":1,"246":1,"254":3,"273":1,"276":2,"319":2,"320":1,"322":1,"332":3,"333":4,"340":2,"346":1,"360":1,"361":1,"386":2,"387":2,"522":1,"534":1,"539":1,"557":2,"576":6,"580":1,"581":2,"596":1,"629":2,"636":1,"661":2,"662":1,"685":1,"691":2,"698":1}}],["out",{"0":{"30":1,"252":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"0":1,"48":1,"54":3,"61":1,"62":1,"63":1,"64":1,"88":3,"98":1,"125":2,"128":1,"133":1,"178":1,"181":1,"233":1,"236":1,"245":1,"247":2,"251":1,"253":1,"255":3,"282":1,"295":1,"298":2,"313":1,"322":1,"324":1,"327":1,"348":1,"354":1,"358":1,"365":1,"368":1,"406":1,"416":1,"485":1,"487":2,"541":1,"554":1,"571":2,"572":1,"580":1,"587":1,"596":1,"678":1,"704":1,"720":2,"734":1,"737":1}}],["orchrelayversion",{"2":{"485":2}}],["orchestratorblobstream",{"2":{"509":1,"510":1,"511":1,"512":1,"514":1,"515":1,"517":1}}],["orchestratorsubmit",{"2":{"608":1}}],["orchestratorsudo",{"2":{"536":2}}],["orchestrators",{"2":{"489":1,"538":1,"539":1}}],["orchestrator",{"0":{"503":1,"521":1,"530":1,"638":1},"1":{"522":1,"523":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1},"2":{"158":1,"159":3,"483":1,"484":2,"485":6,"487":2,"496":1,"503":7,"507":7,"508":6,"509":9,"510":9,"511":5,"512":9,"513":6,"514":5,"515":9,"516":8,"517":11,"518":4,"519":4,"520":4,"521":3,"522":8,"524":1,"526":7,"527":3,"528":4,"530":22,"532":1,"533":2,"534":5,"535":5,"536":10,"538":2,"545":1,"637":1,"638":3}}],["originate",{"2":{"747":1}}],["originally",{"2":{"402":1,"592":1}}],["original",{"2":{"198":2,"364":2,"406":1,"427":1,"429":3,"430":1,"435":2,"436":1}}],["origin",{"2":{"202":4,"203":1,"749":1}}],["orientation",{"2":{"7":1}}],["oracle",{"2":{"127":1}}],["oral",{"2":{"45":1}}],["orbit",{"2":{"98":1,"102":10,"104":1,"305":1}}],["ordered",{"2":{"430":1,"433":2}}],["orders",{"2":{"294":1}}],["ordering",{"2":{"59":1,"178":1,"276":2,"434":1}}],["order",{"0":{"595":1},"2":{"41":1,"42":1,"59":1,"61":1,"87":1,"143":1,"160":1,"238":1,"254":1,"328":1,"329":1,"330":1,"338":1,"339":1,"367":1,"370":2,"380":1,"382":1,"389":1,"391":1,"395":1,"402":1,"428":1,"433":1,"461":3,"464":1,"475":1,"476":1,"494":1,"500":1,"527":1,"529":1,"543":1,"555":1,"595":2,"624":1,"636":2,"649":1,"655":1,"671":1,"672":1,"674":1,"675":1,"676":2,"677":3,"687":1,"699":1,"702":1,"710":2,"720":3,"724":1,"739":1}}],["organizing",{"2":{"57":1,"60":2,"65":2,"70":1,"74":1,"81":1}}],["organizers",{"2":{"58":1,"61":1,"62":1,"66":2,"67":1,"68":2,"70":1,"71":1,"73":1,"74":2,"83":1}}],["organizer",{"2":{"57":1,"61":1,"65":4,"74":1,"81":1,"83":1}}],["organize",{"2":{"53":2,"60":1,"61":1}}],["org",{"0":{"6":1,"70":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1},"2":{"7":1,"11":1,"17":3,"64":1,"65":2,"70":1,"81":1,"94":2,"294":1,"320":8,"410":4,"581":2,"662":8,"712":2,"713":2,"714":2}}],["or",{"0":{"205":1,"331":1,"377":1},"2":{"2":1,"4":1,"7":2,"8":8,"9":2,"10":2,"11":1,"13":2,"14":2,"15":2,"16":2,"41":9,"42":33,"43":3,"44":6,"45":50,"48":1,"49":2,"50":2,"51":1,"54":3,"55":4,"56":1,"58":4,"59":3,"60":3,"61":5,"62":4,"63":3,"64":2,"65":1,"66":2,"83":1,"104":4,"129":1,"131":1,"133":1,"134":1,"137":2,"141":2,"143":1,"144":1,"153":1,"159":1,"160":1,"165":2,"166":1,"178":2,"179":1,"180":1,"181":3,"185":1,"204":1,"205":2,"212":1,"214":1,"215":1,"216":2,"223":1,"225":1,"237":5,"238":1,"244":1,"247":1,"248":1,"249":2,"250":2,"251":1,"264":1,"268":1,"277":1,"285":1,"300":2,"312":2,"322":1,"323":1,"324":2,"325":2,"327":1,"328":1,"331":2,"332":1,"354":1,"363":2,"368":1,"370":1,"373":1,"377":1,"379":1,"380":1,"391":2,"400":1,"402":1,"403":1,"406":1,"410":4,"414":2,"420":1,"424":1,"429":1,"433":1,"436":1,"438":1,"441":1,"447":2,"452":1,"457":1,"465":1,"467":1,"471":1,"477":3,"478":1,"483":1,"487":2,"492":1,"500":1,"503":1,"504":1,"505":1,"510":2,"522":3,"526":1,"528":1,"530":2,"534":2,"535":1,"539":2,"542":1,"544":1,"547":1,"553":3,"557":4,"558":1,"569":1,"572":6,"574":3,"575":1,"586":2,"593":2,"608":1,"620":1,"622":1,"632":1,"643":1,"651":1,"652":1,"653":2,"655":1,"671":3,"675":1,"678":1,"688":1,"691":1,"699":4,"700":1,"706":2,"709":1,"716":3,"725":1,"728":1,"731":2,"733":1,"741":1,"747":1,"748":1,"749":1}}],["often",{"2":{"58":1,"60":1,"61":1,"63":1,"402":1,"404":1,"675":1}}],["offloads",{"2":{"395":1}}],["offline",{"2":{"10":1}}],["offchain",{"2":{"162":1,"167":1,"414":1,"534":1}}],["off",{"2":{"160":1,"365":1,"572":1}}],["offshore",{"2":{"45":1}}],["offers",{"2":{"75":1,"167":1,"170":1,"739":1}}],["offered",{"2":{"45":1,"60":1}}],["offer",{"2":{"45":5,"58":4,"59":1,"61":1,"62":2,"102":1,"167":1}}],["offering",{"2":{"45":1,"59":1,"102":2,"168":1}}],["offensive",{"2":{"9":1}}],["office",{"2":{"21":1,"22":1,"25":1,"26":1,"27":1,"28":1,"31":1,"32":1,"34":1,"36":1,"37":1,"50":1}}],["officially",{"2":{"10":1}}],["official",{"2":{"0":1,"10":2}}],["of",{"0":{"6":1,"70":1,"166":1,"179":1,"191":1,"200":1,"291":2,"337":1,"343":1,"357":1,"364":1,"374":1,"417":1,"423":1,"425":1,"429":1,"435":1,"441":1,"448":1,"450":1,"453":1,"547":1,"592":1,"664":1,"694":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"436":1,"449":1,"450":1,"451":2,"452":2,"453":2,"454":2,"455":2,"456":2,"457":2,"458":2},"2":{"0":1,"2":1,"7":2,"8":6,"9":2,"10":2,"11":3,"12":2,"13":3,"14":3,"15":4,"16":6,"17":4,"21":1,"28":1,"29":3,"30":1,"31":1,"33":1,"37":1,"41":9,"42":14,"43":5,"44":10,"45":47,"46":5,"48":4,"49":3,"50":1,"52":5,"54":2,"55":1,"56":1,"57":3,"58":3,"59":1,"60":8,"61":5,"62":6,"63":1,"64":2,"65":5,"66":4,"67":1,"68":1,"70":5,"71":2,"73":1,"74":2,"77":2,"78":1,"79":1,"80":1,"82":1,"83":7,"86":1,"87":1,"88":1,"90":1,"98":1,"102":9,"103":3,"104":5,"108":1,"112":2,"114":1,"115":3,"119":1,"126":3,"129":5,"132":28,"133":10,"134":3,"135":2,"137":8,"141":2,"145":3,"146":6,"147":8,"148":1,"149":12,"150":2,"151":3,"152":10,"153":8,"154":1,"157":1,"158":1,"159":2,"160":7,"161":3,"165":2,"166":1,"167":3,"169":2,"176":2,"177":1,"178":6,"179":7,"180":6,"181":3,"190":2,"191":1,"192":1,"197":1,"200":3,"201":2,"202":4,"205":2,"212":1,"213":1,"215":2,"216":1,"221":1,"222":1,"226":1,"228":2,"230":1,"231":3,"234":1,"235":1,"237":3,"239":1,"242":5,"245":4,"246":2,"247":1,"249":2,"250":2,"254":2,"255":1,"257":1,"258":1,"262":1,"263":1,"267":1,"269":2,"270":2,"272":1,"283":1,"286":1,"288":2,"295":3,"296":1,"297":2,"301":1,"302":1,"308":3,"310":1,"314":1,"317":1,"319":1,"320":1,"322":2,"324":1,"326":1,"327":1,"328":2,"329":2,"331":1,"332":8,"333":3,"334":5,"336":1,"337":4,"340":2,"343":3,"346":1,"357":2,"358":1,"359":2,"360":1,"363":1,"364":6,"367":2,"368":2,"370":1,"373":3,"374":2,"378":2,"380":4,"386":1,"387":2,"389":3,"391":4,"392":3,"395":1,"397":2,"400":1,"401":2,"402":5,"403":10,"404":8,"405":3,"406":3,"410":4,"413":2,"414":4,"416":3,"417":3,"418":1,"419":1,"420":2,"422":2,"423":4,"424":2,"425":1,"426":2,"427":5,"428":5,"429":8,"430":7,"432":7,"433":12,"434":4,"435":15,"436":4,"438":3,"439":2,"441":5,"442":3,"444":2,"445":1,"446":4,"447":5,"449":1,"451":1,"452":2,"453":3,"454":2,"461":5,"462":1,"467":2,"475":1,"476":2,"477":1,"478":2,"479":1,"485":1,"496":1,"508":1,"509":1,"510":2,"521":3,"522":1,"524":1,"530":6,"534":2,"538":2,"539":1,"547":3,"553":3,"554":1,"555":7,"563":3,"564":1,"570":1,"571":4,"572":2,"573":1,"574":1,"575":1,"576":2,"578":1,"580":2,"586":1,"587":2,"589":1,"592":1,"595":1,"596":2,"597":1,"601":2,"604":1,"605":1,"607":1,"609":4,"613":2,"617":1,"619":1,"620":3,"621":2,"622":1,"624":1,"629":2,"630":1,"632":2,"636":5,"647":4,"651":1,"652":2,"653":1,"659":1,"662":1,"671":3,"672":7,"675":1,"676":3,"685":3,"689":2,"690":2,"692":1,"694":1,"698":1,"699":3,"702":7,"705":3,"708":1,"709":2,"710":4,"716":3,"720":5,"722":1,"728":3,"731":1,"733":2,"737":1,"739":1,"744":1,"745":1,"747":2,"748":1,"749":1}}],["mzonder",{"2":{"712":1,"713":1,"714":1}}],["mb",{"2":{"318":1,"695":1}}],["mbidstyle",{"2":{"250":4}}],["msgsubmitproposal",{"2":{"563":2}}],["msgregisterevmaddress",{"2":{"534":4}}],["msgpayforblobs",{"2":{"316":2,"400":1,"404":2}}],["msg",{"2":{"242":4,"271":4,"386":4,"435":1,"534":4,"563":1}}],["msgcreatevestingaccount",{"2":{"197":2}}],["mykey",{"2":{"246":3,"252":2}}],["my",{"2":{"223":4,"242":14,"245":2,"246":2,"370":1,"654":5,"655":8,"656":8,"700":6}}],["myrollup",{"2":{"125":2}}],["mnemonics",{"2":{"380":1}}],["mnemonic",{"2":{"194":3,"211":1,"218":2,"272":4,"364":1,"528":1,"534":1}}],["m",{"2":{"177":1,"398":1,"718":1}}],["md013",{"2":{"340":2}}],["md",{"2":{"153":2}}],["mkdir",{"2":{"113":2,"229":2,"623":6,"654":2}}],["mutual",{"0":{"605":1}}],["mutually",{"2":{"60":1}}],["multisign",{"2":{"576":2}}],["multisig",{"0":{"575":1},"1":{"576":1,"577":1},"2":{"575":3,"576":18,"577":3}}],["multiaddress",{"2":{"745":1}}],["multiaddresses",{"2":{"530":2,"604":1}}],["multiaddr",{"2":{"530":2}}],["multiplies",{"2":{"404":1}}],["multiplier",{"2":{"271":4}}],["multiple",{"0":{"406":1},"2":{"61":1,"129":1,"146":2,"147":8,"149":4,"180":1,"317":1,"416":1,"419":1,"424":1,"427":1,"430":1,"433":2,"435":1,"481":1,"502":1,"572":1,"717":1}}],["multiproof",{"2":{"149":2}}],["multi",{"2":{"102":1,"577":1}}],["much",{"2":{"59":1,"178":1,"179":1,"180":1,"688":1}}],["mustnewv0",{"2":{"410":2}}],["must",{"2":{"41":1,"42":2,"160":1,"238":1,"298":1,"320":1,"370":2,"373":1,"402":1,"406":3,"426":1,"428":1,"430":3,"433":2,"530":2,"555":2,"563":1,"593":4,"618":1,"622":1,"636":1,"650":1,"662":1,"671":1,"672":2,"682":1,"683":1,"684":1,"689":2,"699":1,"702":2,"709":1}}],["mustafa",{"2":{"28":1,"52":1}}],["mib",{"2":{"709":1}}],["million",{"2":{"568":2}}],["milestones",{"0":{"48":1},"2":{"52":1}}],["milestone",{"2":{"19":1,"24":1,"29":1,"30":1,"48":4,"50":1,"720":1}}],["migrate",{"2":{"557":4}}],["might",{"2":{"58":3,"178":1,"324":1,"327":1,"429":1,"563":1,"613":1,"619":1,"699":1,"716":1,"734":1}}],["midnight",{"2":{"509":4,"510":4,"511":4,"512":4,"514":4,"515":4,"517":4}}],["middleware",{"2":{"280":1}}],["microtia",{"0":{"458":1},"2":{"458":1}}],["micro",{"2":{"457":1}}],["microphone",{"2":{"58":2}}],["microphones",{"2":{"54":1,"58":1}}],["mixhash",{"2":{"360":2}}],["mit",{"2":{"242":4,"244":2}}],["mirrors",{"2":{"170":1}}],["miner",{"2":{"360":2}}],["mint",{"2":{"283":1}}],["mintscan",{"2":{"226":1,"717":1,"729":1}}],["minority",{"2":{"563":1}}],["minor",{"2":{"283":1}}],["min",{"2":{"149":4,"271":4,"569":2,"617":1,"620":4,"636":3}}],["minimized",{"2":{"426":1}}],["minimal",{"2":{"125":1,"283":1,"289":1,"294":2,"322":1,"596":1,"706":1}}],["minimum",{"2":{"124":1,"149":2,"318":2,"395":1,"402":1,"417":1,"484":1,"548":2,"609":1,"627":1,"665":2,"695":2}}],["minutes",{"2":{"61":1,"392":1,"622":1}}],["minute",{"0":{"658":1},"2":{"59":1,"66":1,"406":1}}],["mind",{"2":{"59":1,"216":2,"613":1,"636":1}}],["mindful",{"2":{"59":1}}],["mismatch",{"2":{"429":1}}],["misbehaviour",{"2":{"271":2}}],["mission",{"2":{"25":1}}],["mistakes",{"2":{"8":1}}],["mobile",{"2":{"300":1}}],["moment",{"2":{"245":1,"587":1}}],["mounted",{"2":{"223":1}}],["mounting",{"0":{"223":1},"2":{"223":1,"654":1}}],["mount",{"2":{"222":1,"223":1,"370":1,"654":2,"655":1,"659":1}}],["mochacelestia",{"2":{"323":1,"324":2,"325":1,"553":1,"555":1,"562":1,"592":1,"594":1,"670":1,"672":1,"698":1,"699":1,"700":1,"702":1}}],["mochachainid",{"2":{"108":7,"224":1,"298":2,"299":1,"330":3,"370":4,"590":1,"613":8,"623":2,"629":2,"636":2}}],["mocharesturl",{"2":{"298":2}}],["mocharpcurl",{"2":{"298":2}}],["mochadocker",{"2":{"222":1}}],["mochaversions",{"2":{"222":2,"322":2,"580":4,"596":2,"653":2,"655":2,"656":2}}],["mocha",{"0":{"106":1,"109":1,"201":1,"204":1,"301":1,"399":1,"677":1,"720":1,"728":1},"1":{"107":1,"108":1,"109":1,"202":1,"203":1,"204":1,"205":1,"206":1,"721":1,"722":1,"723":1,"724":1,"725":1,"726":1,"727":1,"728":1,"729":1,"730":1},"2":{"100":1,"106":1,"107":2,"108":7,"109":2,"163":3,"186":1,"192":1,"200":1,"201":2,"204":7,"206":4,"208":1,"212":1,"216":4,"222":4,"223":8,"226":5,"269":1,"271":9,"272":2,"274":1,"275":6,"276":6,"277":3,"298":6,"299":1,"301":2,"322":1,"323":1,"324":5,"325":3,"332":2,"370":1,"373":1,"399":3,"471":2,"472":2,"522":5,"553":2,"554":5,"555":1,"562":5,"590":2,"592":7,"594":1,"632":1,"636":1,"638":1,"653":1,"670":1,"671":3,"672":1,"676":1,"677":5,"698":1,"699":5,"700":3,"701":1,"702":1,"720":7,"722":1,"723":9,"724":2,"725":7,"726":11,"727":16,"728":2,"729":2,"734":4,"739":2}}],["morgan",{"2":{"52":1}}],["more",{"0":{"138":1},"1":{"139":1,"140":1,"141":1},"2":{"5":1,"44":1,"58":1,"59":1,"60":1,"62":1,"99":1,"114":1,"115":1,"132":2,"133":2,"134":2,"145":1,"146":1,"154":1,"159":1,"160":1,"167":2,"169":1,"170":1,"178":1,"180":3,"181":1,"193":1,"194":1,"204":1,"206":2,"207":1,"216":1,"222":1,"225":1,"230":1,"231":1,"238":1,"250":2,"284":1,"293":1,"294":1,"295":1,"300":1,"303":1,"304":1,"305":1,"312":1,"313":1,"316":1,"317":2,"322":1,"325":1,"333":1,"334":1,"386":2,"400":1,"404":1,"405":1,"409":1,"411":1,"413":1,"416":1,"417":1,"427":1,"428":3,"430":1,"432":3,"434":1,"436":1,"444":1,"454":1,"483":2,"487":1,"491":1,"499":1,"500":1,"507":2,"508":2,"512":1,"513":2,"516":2,"521":1,"522":1,"525":1,"528":1,"530":1,"534":1,"538":2,"539":1,"541":1,"544":1,"554":1,"558":1,"563":1,"574":1,"580":1,"581":2,"591":1,"596":1,"622":1,"629":2,"651":1,"671":1,"699":1,"731":1}}],["moved",{"2":{"433":1,"689":1}}],["move",{"2":{"49":1,"325":1}}],["moduar",{"2":{"282":1}}],["moduleencodingregisters",{"2":{"410":2}}],["module",{"2":{"279":1,"280":1,"298":2,"327":5,"330":2,"345":2,"405":1,"521":1,"538":1,"563":4}}],["modules",{"2":{"33":1,"247":1,"283":2,"403":1}}],["modularizes",{"2":{"294":1}}],["modularity",{"0":{"77":1},"2":{"66":1,"77":1}}],["modular",{"0":{"46":1,"52":1,"53":1,"66":1,"67":1,"75":1,"80":1,"177":1,"178":1,"238":1,"433":1},"1":{"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1},"2":{"21":1,"25":4,"28":3,"29":1,"31":6,"33":1,"37":1,"40":1,"46":3,"48":1,"49":2,"50":2,"51":2,"52":2,"53":2,"57":1,"58":1,"59":2,"60":3,"61":4,"63":1,"64":1,"65":2,"66":2,"67":2,"68":2,"71":3,"72":1,"74":2,"75":2,"77":4,"80":3,"81":1,"83":9,"177":2,"178":4,"179":2,"180":2,"181":1,"238":4,"250":2,"282":2,"289":1,"294":1,"295":1,"387":2,"413":1,"433":3,"434":2,"451":1,"452":1,"717":1}}],["modifiable",{"2":{"563":1}}],["modifications",{"2":{"283":1}}],["modified",{"2":{"169":1,"288":1,"295":1,"367":2,"430":1,"432":1,"547":1}}],["modifier",{"2":{"103":1,"242":4}}],["modifying",{"2":{"690":1}}],["modify",{"0":{"690":1},"2":{"246":1,"327":1,"373":1,"690":1}}],["mod",{"2":{"190":2,"269":1,"384":3}}],["mode=",{"2":{"576":2}}],["model",{"2":{"386":2,"404":1,"454":1}}],["models",{"2":{"102":2}}],["modern",{"2":{"247":1,"466":1,"726":1}}],["moderation",{"2":{"9":1}}],["mode",{"2":{"206":4,"250":2,"271":12,"392":1,"452":1,"534":2,"576":4}}],["moniker",{"2":{"636":3}}],["moniker=$moniker",{"2":{"569":2,"636":2}}],["moniker=validator",{"2":{"569":2}}],["monitors",{"2":{"578":1}}],["monitor",{"0":{"578":1},"2":{"572":4,"578":1,"587":1,"748":1,"749":1}}],["monitoring",{"0":{"748":1},"2":{"319":1,"570":1,"574":1,"661":1}}],["monolithic",{"0":{"433":1},"2":{"77":1,"169":1,"178":2,"282":1,"295":1,"433":3}}],["monday",{"2":{"21":1,"22":1,"25":1,"27":1,"28":1,"29":1,"31":1,"33":1,"37":1}}],["months",{"2":{"51":1}}],["monthly",{"2":{"46":1,"50":1,"60":1,"72":1}}],["month",{"0":{"19":1,"24":1,"30":1},"1":{"20":1,"21":1,"22":1,"23":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"46":1,"48":8,"49":1,"50":1}}],["mozilla",{"2":{"17":1}}],["mostly",{"2":{"671":1}}],["most",{"0":{"533":1},"2":{"0":1,"61":1,"66":5,"68":1,"286":1,"297":1,"415":1,"423":1,"527":1,"538":1,"543":1,"601":1,"621":1,"651":1,"677":1,"694":1}}],["mesa",{"2":{"712":1,"713":1,"714":1,"716":1}}],["messages",{"0":{"161":1},"2":{"54":1,"56":1,"160":1,"197":2,"283":1,"378":1,"386":2,"563":2}}],["message",{"2":{"2":1,"65":3,"104":1,"207":1,"212":1,"333":1,"386":5,"388":1,"404":1,"435":2,"530":2,"534":4}}],["menu",{"2":{"204":1,"226":1,"345":2,"371":1,"580":1,"581":1}}],["mention",{"2":{"62":2}}],["mentorship",{"2":{"46":1}}],["mentors",{"0":{"34":1,"36":1,"52":1},"2":{"50":2,"52":2}}],["me",{"2":{"177":1,"248":2,"249":8,"250":2,"644":2,"691":2,"723":1,"725":1,"726":1}}],["meant",{"2":{"312":1}}],["means",{"2":{"180":2,"242":2,"258":1,"283":1,"322":1,"323":1,"402":1,"406":1,"428":2,"433":2,"439":1,"522":1,"532":1,"534":1,"539":1,"643":2,"650":1,"651":1}}],["mean",{"2":{"133":2}}],["meaningful",{"2":{"288":1}}],["meaning",{"2":{"41":1,"288":1,"547":1,"623":1}}],["metric",{"2":{"585":1}}],["metricscurl",{"2":{"571":1}}],["metrics",{"0":{"570":1,"584":1,"585":1,"587":1},"1":{"571":1,"572":1,"573":1,"574":1,"585":1,"586":2,"587":1},"2":{"44":1,"270":1,"570":3,"571":8,"572":3,"573":2,"584":2,"585":18,"586":15,"587":2}}],["met",{"2":{"402":1}}],["meta",{"2":{"250":4}}],["metamaskwallet",{"2":{"249":4}}],["metamask",{"0":{"251":1},"2":{"240":1,"251":2,"252":3}}],["metadata",{"2":{"153":2,"180":1,"436":1,"694":1}}],["methods",{"2":{"327":1,"391":1,"411":1,"516":1,"534":1}}],["method",{"2":{"104":2,"127":1,"129":2,"169":1,"287":1,"295":1,"298":2,"327":5,"330":2,"345":3,"346":1,"391":3}}],["mechanisms",{"2":{"137":1,"403":1,"404":1,"533":1}}],["mechanism",{"0":{"104":1,"166":1,"363":1},"1":{"364":1,"365":1},"2":{"104":6,"237":2,"363":1,"364":3,"365":1,"391":1,"397":1,"415":1,"416":1,"426":1,"441":1,"574":1,"621":1}}],["mempool",{"0":{"401":1},"1":{"402":1,"403":1,"404":1,"405":1,"406":1},"2":{"237":1,"401":2,"402":2,"406":2,"410":2,"439":1}}],["memo",{"2":{"197":2,"271":4}}],["memory",{"2":{"134":1,"242":26,"318":1,"484":1,"548":1,"573":1,"609":1,"627":1,"665":1,"695":1}}],["memorable",{"2":{"83":1}}],["member",{"2":{"65":1}}],["members",{"0":{"66":1},"2":{"7":1,"50":1,"54":1,"63":3,"65":2,"66":2,"166":1,"406":1,"446":1,"564":1}}],["merge",{"2":{"593":1}}],["merkelized",{"2":{"438":1}}],["merkleized",{"2":{"126":1}}],["merkle",{"0":{"430":1},"2":{"126":4,"127":1,"129":1,"134":1,"145":2,"146":4,"147":2,"149":4,"152":2,"153":2,"166":1,"317":1,"426":1,"427":6,"428":1,"429":2,"430":2,"432":2,"435":4,"436":3}}],["merchandise",{"2":{"81":2}}],["merits",{"2":{"45":1}}],["meets",{"2":{"609":1}}],["meetups",{"2":{"56":1,"58":4,"60":5,"61":1,"62":1,"63":1,"64":4,"65":6,"66":2,"67":1,"75":3,"81":2,"83":1}}],["meetup",{"0":{"53":1,"54":1,"55":1,"56":1,"65":1,"66":1,"67":1,"75":1,"80":1},"1":{"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1},"2":{"53":2,"54":2,"56":1,"57":3,"58":4,"59":2,"60":7,"61":9,"62":5,"63":8,"64":4,"65":10,"66":5,"67":1,"68":4,"70":1,"71":2,"72":1,"74":4,"80":2,"81":1,"83":6}}],["meeting",{"2":{"50":1}}],["meet",{"0":{"34":1,"36":1}}],["mev",{"2":{"25":1,"66":1}}],["media",{"2":{"3":1,"10":1,"14":1,"54":1,"56":1,"63":4,"64":1,"257":1}}],["mamaki",{"2":{"677":3}}],["major",{"2":{"432":1}}],["majority",{"2":{"429":1}}],["magnitude",{"2":{"288":1}}],["map",{"2":{"250":8}}],["mappings",{"2":{"242":2}}],["mapping",{"2":{"149":2,"152":1,"242":4}}],["marginright",{"2":{"250":4}}],["margintop",{"2":{"250":4}}],["marginbottom",{"2":{"250":2}}],["margin",{"2":{"249":2,"250":4}}],["markdownlint",{"2":{"340":2}}],["markdown",{"2":{"248":1}}],["markdownnpm",{"2":{"248":1}}],["marks",{"2":{"102":1,"705":1,"733":1}}],["marko",{"2":{"52":1}}],["marketing",{"0":{"63":1},"2":{"63":1}}],["market",{"0":{"401":1,"439":1},"1":{"402":1,"403":1,"404":1,"405":1,"406":1},"2":{"45":3}}],["markets",{"2":{"25":1}}],["mass",{"2":{"238":1}}],["master",{"2":{"153":2,"226":1,"613":10}}],["maxvalidators",{"2":{"563":4}}],["maxwidth",{"2":{"250":4}}],["maximize",{"2":{"181":1}}],["maximum",{"0":{"709":1},"2":{"25":1,"149":2,"404":1,"571":2,"709":8}}],["max",{"2":{"149":4,"271":20,"563":3,"569":4,"571":2,"636":4,"708":1}}],["malicious",{"2":{"137":1,"429":1}}],["mac",{"2":{"98":1,"320":2,"613":1,"652":1,"654":1,"662":2}}],["machines",{"2":{"433":1,"572":1,"643":1}}],["machine",{"2":{"2":1,"90":1,"91":1,"98":1,"112":1,"159":1,"170":1,"192":2,"212":1,"221":1,"222":1,"228":1,"279":1,"290":1,"323":1,"324":1,"380":2,"381":1,"402":1,"404":1,"432":3,"433":1,"435":2,"488":1,"521":1,"522":1,"533":1,"535":1,"538":1,"539":1,"547":1,"549":1,"553":1,"572":1,"582":1,"589":1,"591":1,"610":1,"624":1,"627":1,"632":1,"651":1,"653":1,"654":3,"666":1,"671":1,"692":1,"696":1,"699":1}}],["matrix",{"2":{"427":4,"429":1,"435":5,"436":1}}],["math",{"2":{"385":2}}],["matches",{"2":{"223":1,"364":1}}],["match",{"2":{"88":1,"132":1,"255":1,"364":1}}],["matters",{"2":{"45":1}}],["materials",{"0":{"74":1},"2":{"0":1,"3":1,"54":2,"55":1,"75":1}}],["made",{"2":{"45":6,"181":1,"192":1,"200":1,"295":1,"303":1,"307":1,"383":1,"391":1,"417":1,"432":1,"435":2,"436":1,"438":2}}],["managing",{"2":{"502":1,"508":1}}],["manages",{"2":{"503":1,"504":1,"505":1}}],["manager",{"2":{"497":1,"507":6,"508":2,"516":2,"572":1}}],["managerblobstream",{"2":{"497":1}}],["management",{"0":{"284":1,"502":1,"559":1,"562":1},"1":{"503":1,"504":1,"505":1,"506":1,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":1,"515":1,"516":1,"517":1,"518":1,"519":1,"520":1,"560":1},"2":{"284":1,"364":1,"487":1,"651":1}}],["managed",{"2":{"102":1}}],["manage",{"0":{"264":1,"268":1},"2":{"42":1,"54":1,"60":1,"214":1,"410":2,"528":1,"544":1,"557":2,"647":1}}],["manual",{"2":{"391":1}}],["manually",{"2":{"247":1,"251":1,"391":1,"406":1,"410":2,"506":1,"604":1,"607":1,"613":2,"748":1}}],["many",{"2":{"63":1,"132":1,"141":1,"180":1,"257":1,"284":1,"319":1,"403":1,"405":1,"433":1,"442":1,"445":1,"472":1,"572":1,"661":1,"731":1}}],["manner",{"2":{"42":1,"45":1,"659":1}}],["manian",{"2":{"28":1,"52":1}}],["may",{"0":{"424":1},"2":{"11":1,"13":1,"14":1,"15":1,"41":3,"42":6,"43":1,"44":4,"45":11,"58":2,"62":2,"63":3,"87":1,"99":1,"108":2,"157":1,"205":1,"254":1,"391":1,"403":1,"424":1,"436":2,"445":1,"447":1,"452":1,"510":2,"529":1,"582":1,"591":1,"622":1,"646":1,"654":1,"706":1,"733":1,"747":1,"748":1}}],["mail",{"2":{"10":1,"45":1}}],["maintenance",{"2":{"446":1}}],["maintained",{"2":{"459":1}}],["maintaining",{"2":{"70":1,"78":1,"406":1,"677":1}}],["maintain",{"2":{"45":2,"56":1,"60":1,"61":1,"63":1,"677":1}}],["mainfunction",{"2":{"387":1}}],["mainnetversions",{"2":{"322":2,"580":4,"596":2,"653":2,"655":2,"656":2}}],["mainnetresturl",{"2":{"298":2}}],["mainnetrpcurl",{"2":{"298":2}}],["mainnetchainid",{"2":{"298":2,"590":2,"613":8,"623":2}}],["mainnet",{"0":{"398":1,"705":1,"733":1},"1":{"706":1,"707":1,"708":1,"709":1,"710":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":1,"717":1,"718":1,"719":1},"2":{"41":2,"104":1,"216":1,"222":1,"223":1,"237":1,"251":1,"298":5,"320":1,"322":1,"323":1,"324":2,"325":2,"370":2,"373":1,"390":1,"398":1,"467":2,"478":2,"553":1,"554":1,"555":1,"580":1,"585":1,"589":1,"590":3,"596":1,"613":4,"623":1,"638":1,"653":3,"655":1,"656":1,"662":1,"670":1,"671":1,"672":1,"676":1,"698":1,"699":1,"700":1,"702":1,"705":3,"706":2,"710":2,"716":1,"717":2,"728":2,"733":2}}],["main",{"2":{"2":1,"88":1,"249":2,"255":1,"327":1,"359":1,"385":6,"386":3,"387":4,"390":2,"432":1,"577":1}}],["making",{"2":{"2":1,"65":1,"66":1,"170":1,"328":1,"433":1,"434":1,"643":1,"644":1,"645":1,"646":1,"647":1}}],["makeconfig",{"2":{"410":2}}],["makecd",{"2":{"355":1,"372":1}}],["makes",{"0":{"417":1},"2":{"45":1,"169":1,"401":1}}],["make",{"2":{"0":1,"2":1,"7":1,"42":1,"68":1,"92":2,"98":1,"108":3,"119":1,"123":1,"128":1,"179":1,"180":2,"186":1,"197":1,"208":1,"215":5,"216":1,"235":1,"243":1,"250":2,"319":4,"355":1,"372":1,"373":1,"380":1,"382":1,"391":1,"427":1,"435":1,"491":1,"499":1,"510":1,"522":1,"525":1,"530":2,"534":1,"536":1,"541":1,"545":2,"570":1,"571":2,"582":3,"591":3,"600":1,"643":1,"661":4,"731":1,"742":1}}],["cycle",{"2":{"438":1}}],["cn",{"2":{"354":3}}],["cnfts",{"2":{"39":1}}],["cgo",{"2":{"322":1,"596":1}}],["ccv",{"2":{"271":4}}],["ctx",{"2":{"386":6,"387":4}}],["cte",{"2":{"249":2,"251":1}}],["cto",{"2":{"52":1}}],["css",{"2":{"249":4,"298":2}}],["cmd",{"2":{"108":2,"373":2}}],["cmake",{"2":{"92":2}}],["cbindgen",{"2":{"96":2}}],["cpu",{"2":{"99":1,"290":1,"318":1,"484":1,"548":1,"609":1,"627":1,"665":1,"695":1}}],["cp",{"2":{"88":2,"247":1,"255":2,"384":4}}],["cd",{"2":{"86":4,"94":2,"97":2,"98":4,"113":2,"215":2,"229":2,"241":2,"254":2,"320":4,"322":3,"354":2,"355":2,"362":2,"372":2,"384":2,"485":2,"580":2,"596":3,"623":3,"662":4}}],["cip",{"2":{"708":2}}],["city",{"2":{"60":1,"62":1,"63":1}}],["circulation",{"2":{"447":1}}],["circulating",{"2":{"447":4}}],["circulated",{"2":{"45":1}}],["circumvention",{"2":{"42":1}}],["circumvent",{"2":{"42":1}}],["crisis",{"2":{"283":1}}],["critical",{"2":{"63":1,"197":2,"413":1,"454":1,"570":1,"630":1}}],["crashed",{"2":{"574":1}}],["crate",{"2":{"270":1}}],["craft",{"2":{"257":1}}],["crucial",{"2":{"60":1,"62":1,"706":1}}],["cross",{"2":{"269":1}}],["cro",{"2":{"52":1}}],["cryptography",{"2":{"286":1}}],["crypto",{"2":{"52":1,"194":2,"195":4,"199":2,"223":2,"293":1,"410":2}}],["credibility",{"2":{"62":1}}],["credentials",{"2":{"42":1,"248":1,"410":2}}],["creator",{"2":{"242":2}}],["creation",{"2":{"102":4,"293":1}}],["creating",{"0":{"135":1,"250":1,"558":1,"689":1},"2":{"58":1,"133":1,"134":2,"135":1,"157":1,"192":2,"249":1,"274":1,"293":1,"386":3,"452":1,"509":2,"522":1,"527":1,"530":1,"534":1,"628":1}}],["createpayforblob",{"2":{"410":2}}],["createpost",{"2":{"242":10,"245":2,"246":2,"250":6}}],["createchatcompletion",{"2":{"386":2}}],["createclient",{"2":{"249":4,"386":4,"387":2}}],["createnamespaceid",{"2":{"386":3,"387":2}}],["createroot",{"2":{"249":2}}],["creates",{"2":{"159":1,"242":2,"364":1,"517":1}}],["created",{"2":{"83":1,"115":1,"145":1,"192":1,"198":1,"207":1,"212":1,"222":2,"223":2,"231":1,"241":1,"247":1,"248":1,"271":1,"276":1,"277":2,"325":2,"489":1,"492":1,"506":1,"509":2,"517":2,"521":1,"522":1,"526":1,"539":1,"542":1,"575":1,"687":1,"689":1,"700":1,"701":1,"742":1,"744":1,"745":1,"746":1}}],["create",{"0":{"114":1,"186":1,"194":1,"197":1,"202":1,"204":1,"209":1,"211":1,"213":1,"230":1,"274":1,"275":1,"685":1,"688":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"276":1,"277":1},"2":{"2":3,"45":2,"54":1,"62":2,"64":2,"65":2,"83":2,"118":2,"133":1,"135":1,"152":1,"186":1,"193":1,"194":1,"197":9,"200":1,"201":1,"204":3,"208":2,"211":1,"233":2,"234":3,"241":1,"242":6,"247":3,"248":2,"249":2,"250":20,"269":1,"274":1,"275":7,"276":6,"298":1,"325":1,"328":1,"348":1,"385":1,"386":3,"396":1,"407":1,"410":4,"508":2,"509":2,"516":2,"517":2,"554":1,"557":2,"564":1,"569":2,"572":2,"576":4,"580":1,"629":1,"636":3,"654":2,"655":1,"671":1,"685":1,"688":1,"689":1,"700":1,"708":1,"742":1,"744":1,"745":1}}],["cumulo",{"2":{"712":1,"713":1,"714":1,"723":1,"725":1,"726":1}}],["cumulativegasused",{"2":{"119":2,"235":2}}],["culmination",{"2":{"705":1,"733":1}}],["culminating",{"2":{"48":1}}],["custody",{"0":{"284":1}}],["custodians",{"2":{"281":1}}],["custom=",{"2":{"583":4}}],["custom=robusta",{"2":{"331":2}}],["custom=private",{"2":{"331":2}}],["customizations",{"2":{"181":1}}],["customization",{"2":{"181":1}}],["customizability",{"0":{"181":1},"2":{"181":1}}],["customizable",{"2":{"31":1,"102":1,"249":1}}],["customized",{"2":{"102":1,"181":1}}],["customize",{"2":{"65":2,"216":1}}],["custom",{"0":{"302":1,"331":1,"555":1,"583":1,"672":1,"702":1},"2":{"33":1,"65":3,"102":1,"181":1,"216":1,"226":3,"251":1,"302":1,"331":4,"492":1,"501":1,"526":1,"542":1,"555":9,"583":3,"593":2,"653":1,"672":9,"702":9}}],["curve",{"2":{"508":1}}],["currencies",{"2":{"298":2}}],["currency",{"2":{"226":1,"251":1,"452":1}}],["currentcount=0i",{"2":{"522":1,"539":1}}],["currentcount=0",{"2":{"522":5,"539":5}}],["currentitem",{"2":{"242":4}}],["currentid",{"2":{"242":4}}],["current",{"2":{"61":1,"160":1,"161":1,"215":2,"238":1,"403":1,"422":1,"515":2,"559":2,"709":1}}],["currently",{"2":{"46":1,"66":1,"163":1,"165":1,"182":1,"237":1,"269":1,"270":1,"285":1,"286":1,"290":1,"312":1,"390":3,"392":2,"398":1,"399":1,"402":1,"407":1,"595":1,"734":1}}],["curl",{"2":{"92":2,"93":1,"108":2,"319":6,"373":2,"581":2,"613":10,"623":6,"661":6,"691":2}}],["curated",{"2":{"61":1,"83":1}}],["cups",{"2":{"59":1}}],["cherry",{"2":{"574":1}}],["checking",{"0":{"436":1},"2":{"282":1,"430":1}}],["checks",{"2":{"125":2,"129":3,"539":1}}],["checkout",{"2":{"86":2,"97":4,"98":4,"322":6,"354":4,"485":2,"580":6,"596":6,"716":1}}],["checklist",{"2":{"53":1}}],["check",{"0":{"191":1,"336":1,"337":1},"2":{"46":1,"55":1,"104":1,"125":1,"128":1,"129":1,"133":1,"137":2,"145":1,"146":1,"166":1,"191":1,"197":1,"198":1,"199":1,"200":1,"211":1,"212":1,"222":1,"223":1,"236":1,"269":1,"273":4,"313":1,"322":2,"324":1,"328":1,"348":1,"354":1,"360":1,"392":1,"395":1,"410":4,"416":1,"426":1,"430":1,"485":1,"487":2,"491":1,"499":1,"500":2,"524":1,"525":1,"527":1,"528":2,"530":3,"534":1,"536":1,"541":1,"543":1,"544":2,"571":3,"580":2,"586":1,"587":1,"593":1,"596":2,"629":1,"704":1,"742":3,"746":2}}],["chunk",{"2":{"427":1,"436":1}}],["chunks",{"2":{"132":1,"427":5,"429":4,"430":3,"434":1,"436":3}}],["chrome",{"2":{"225":1}}],["chown",{"2":{"654":2}}],["chose",{"2":{"472":1}}],["chosen",{"2":{"43":1,"61":1,"364":1,"646":2}}],["choosing",{"2":{"234":1,"685":1}}],["chooses",{"2":{"427":1}}],["choose",{"2":{"108":1,"197":1,"205":1,"267":1,"370":1,"391":1,"517":1,"572":1,"581":2,"586":1,"592":1,"646":1,"684":1}}],["choices",{"2":{"386":2}}],["choice",{"2":{"46":1,"262":1,"267":1,"373":1,"636":2}}],["chart",{"2":{"446":1}}],["charge",{"2":{"441":1}}],["charged",{"2":{"404":1}}],["characteristics",{"2":{"7":1}}],["chatmessageroleuser",{"2":{"386":2}}],["chatcompletion",{"2":{"386":2}}],["chatcompletionmessage",{"2":{"386":2}}],["chatcompletionrequest",{"2":{"386":2}}],["chain=celestia",{"2":{"398":1}}],["chainname",{"2":{"298":12}}],["chainid",{"2":{"276":8,"298":16}}],["chain",{"0":{"132":1,"179":1,"251":1,"302":1,"590":1,"688":1},"2":{"88":2,"102":1,"104":1,"127":1,"132":3,"133":1,"159":4,"160":2,"178":1,"197":6,"204":3,"205":1,"206":7,"216":1,"222":1,"226":4,"246":2,"249":6,"250":1,"251":1,"252":1,"255":2,"269":3,"270":1,"271":4,"272":6,"275":12,"276":22,"279":1,"280":1,"283":1,"285":1,"287":1,"288":1,"298":2,"302":5,"304":1,"325":1,"340":2,"363":1,"389":1,"392":1,"413":2,"414":1,"434":1,"452":1,"460":1,"477":1,"484":1,"487":1,"497":3,"501":3,"538":1,"543":1,"545":2,"554":1,"562":6,"563":12,"565":4,"566":8,"567":4,"569":6,"574":1,"576":12,"583":2,"590":3,"613":6,"622":1,"629":2,"636":2,"671":1,"677":1,"684":4,"688":3,"699":1,"716":1}}],["chains=",{"2":{"249":2}}],["chains",{"0":{"274":1},"2":{"33":1,"102":8,"137":1,"169":1,"225":1,"226":1,"249":8,"251":1,"269":1,"270":1,"271":30,"272":1,"273":2,"274":1,"277":4,"288":1,"295":1,"297":1,"300":1,"393":1,"398":1,"399":1,"441":1,"445":1}}],["challenges",{"2":{"66":1,"238":2,"388":1}}],["challenging",{"2":{"62":1}}],["chance",{"2":{"622":1}}],["chances",{"2":{"62":1}}],["chan",{"2":{"364":2}}],["changing",{"0":{"592":1},"2":{"181":1,"512":1,"535":1,"620":1}}],["changeable",{"2":{"444":2}}],["changed",{"2":{"88":1,"115":2,"118":2,"231":2,"234":2,"255":1,"503":1,"504":1,"505":1}}],["change",{"0":{"206":1},"2":{"86":1,"88":1,"108":3,"189":1,"246":1,"247":1,"254":1,"255":1,"283":1,"285":1,"288":1,"322":1,"364":1,"370":1,"403":1,"444":1,"506":1,"534":2,"535":1,"563":6,"569":2,"572":1,"580":1,"592":1,"596":1,"605":1,"613":1,"636":2}}],["changes",{"2":{"2":4,"61":1,"63":1,"108":4,"406":1,"432":2,"472":2,"534":2,"547":1,"563":4,"645":1,"646":1,"647":1,"671":1,"706":1,"734":1,"748":1}}],["channelid",{"2":{"276":4}}],["channel",{"2":{"58":1,"71":2,"72":1,"212":1,"271":4,"276":13,"277":4,"380":1,"470":1,"479":1,"482":1,"719":1,"728":1,"730":1,"735":1}}],["channelside",{"2":{"276":4}}],["channels",{"0":{"277":1},"2":{"14":1,"54":1,"64":2,"66":1,"271":2,"274":1,"277":2,"325":1,"530":2}}],["c",{"2":{"42":2,"43":1,"45":2,"94":2,"319":2,"320":8,"581":2,"592":1,"613":11,"623":6,"661":2,"662":8,"674":1}}],["ceid",{"2":{"386":2}}],["center",{"2":{"250":4,"298":2}}],["centric",{"2":{"167":1}}],["centralized",{"2":{"133":1,"165":2,"167":1,"250":2}}],["central",{"2":{"50":1}}],["celopstia",{"2":{"257":1}}],["celenium",{"2":{"717":1,"729":1}}],["celesvaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u43cv6hd",{"2":{"629":1}}],["celesvaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u43cv6hdenter",{"2":{"629":1}}],["celesvaloper",{"2":{"629":2}}],["celes",{"2":{"223":4,"370":1,"700":6}}],["celestiavaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u4q4gx4p",{"2":{"629":2}}],["celestiavaloper",{"2":{"629":1}}],["celestiascan",{"2":{"481":1,"729":1}}],["celestiacommunity",{"2":{"272":1}}],["celestiatestnet",{"2":{"226":1}}],["celestia17adsjkuecgjheugrdrwdqv9uh3qkrfmj9xzawx",{"2":{"564":2}}],["celestia10d07y265gmmuvt4z0w9aw880jnsr700jtgz4v7",{"2":{"563":2}}],["celestia10rtd9lhel2cuh6c659l25yncl6atcyt37umard",{"2":{"337":2}}],["celestia1czpgn3hdh9sodm06d5qk23xzgpq2uyc8ggdqgw",{"2":{"562":2}}],["celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86",{"2":{"350":2}}],["celestia1znk24rh52pgcd9z5x2x42jztjh6raaaphuvrt3",{"2":{"339":2}}],["celestia1",{"2":{"325":1,"380":2,"479":1,"701":1,"728":1}}],["celestia1wkhyhr7ngf0ayqlpnsnxg4d72hfs5453dvunm9",{"2":{"223":2}}],["celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcelestia",{"2":{"212":1}}],["celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",{"2":{"212":2}}],["celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx$request",{"2":{"212":1}}],["celestia1adgkqcmzuxvg7x5avx8a8rjwpmxgzex3ztef6j",{"2":{"195":2,"197":2,"199":2}}],["celestia127fpaygehlsgjdknwvlr2mux7h5uvhkxktgkc5",{"2":{"194":2,"195":2,"197":2,"198":2}}],["celestialightnodeclient",{"2":{"133":6,"135":2,"137":2}}],["celestiaheight",{"2":{"132":4}}],["celestiaorg",{"2":{"97":2,"104":1,"108":2,"124":2,"149":2,"150":2,"153":2,"169":1,"215":2,"222":2,"292":1,"322":2,"354":2,"359":1,"364":1,"384":2,"385":6,"405":2,"410":12,"485":4,"580":2,"596":2,"613":12,"653":6,"655":6,"656":6,"748":1}}],["celestia",{"0":{"0":1,"6":1,"67":1,"70":1,"76":1,"78":1,"101":1,"140":1,"155":1,"169":1,"182":1,"186":1,"209":1,"213":1,"224":1,"226":1,"262":1,"281":1,"283":1,"292":1,"294":1,"295":1,"297":1,"298":1,"299":1,"314":1,"321":1,"322":1,"323":1,"362":1,"367":1,"380":1,"390":1,"397":1,"400":1,"408":1,"409":1,"411":1,"415":1,"417":1,"423":1,"426":1,"435":1,"441":1,"546":1,"551":1,"552":1,"579":1,"584":1,"596":1,"608":1,"612":1,"626":1,"630":1,"631":1,"663":1,"668":1,"675":1,"678":1,"681":1,"682":1,"693":1,"697":1,"731":1,"732":1,"737":1,"738":1,"742":1,"744":1,"745":1,"746":1},"1":{"1":1,"2":1,"3":1,"4":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"102":1,"103":1,"104":1,"105":1,"183":1,"184":1,"185":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"225":1,"226":1,"282":1,"283":1,"284":2,"285":2,"286":2,"287":2,"288":2,"293":1,"294":1,"298":1,"300":1,"301":1,"302":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":2,"323":2,"324":2,"325":2,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"398":1,"399":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"427":1,"428":1,"429":1,"430":1,"431":1,"432":1,"436":1,"547":1,"548":1,"549":1,"550":1,"551":1,"552":2,"553":2,"554":2,"555":2,"556":2,"580":1,"581":1,"582":1,"585":1,"586":1,"587":1,"597":1,"598":1,"609":1,"610":1,"611":1,"612":1,"613":1,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":2,"628":2,"629":2,"630":1,"631":2,"632":2,"633":2,"634":2,"635":2,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":1,"668":1,"669":2,"670":2,"671":2,"672":2,"673":2,"674":2,"676":1,"677":1,"679":1,"680":1,"681":1,"682":1,"683":2,"684":2,"685":2,"686":2,"687":2,"688":2,"689":2,"690":2,"691":2,"692":2,"694":1,"695":1,"696":1,"697":1,"698":1,"699":1,"700":1,"701":1,"702":1,"703":1,"704":1,"733":1,"734":1,"735":1},"2":{"0":2,"3":3,"5":2,"7":1,"8":1,"11":1,"21":4,"22":4,"28":1,"29":2,"33":1,"39":1,"41":8,"44":3,"50":1,"52":5,"58":2,"59":2,"60":1,"61":4,"62":2,"63":2,"64":6,"65":15,"66":5,"67":1,"68":1,"70":2,"72":1,"74":1,"75":2,"77":2,"78":4,"79":2,"80":1,"81":2,"82":1,"83":4,"98":9,"102":2,"103":4,"104":4,"105":1,"106":1,"107":1,"108":31,"125":1,"126":1,"127":1,"128":2,"129":6,"131":2,"132":20,"133":11,"134":4,"135":3,"137":4,"140":2,"143":1,"144":1,"147":2,"148":1,"149":4,"150":5,"153":6,"157":2,"158":3,"159":4,"160":7,"165":2,"166":2,"167":1,"168":2,"169":6,"170":1,"176":1,"180":1,"181":1,"182":1,"184":2,"186":1,"187":1,"189":3,"190":10,"191":4,"192":1,"194":4,"195":2,"197":6,"198":2,"199":2,"200":4,"201":1,"202":2,"209":2,"210":2,"212":4,"213":1,"214":1,"215":5,"216":2,"221":1,"222":11,"223":17,"224":2,"226":5,"237":5,"238":3,"239":1,"240":1,"241":4,"242":2,"244":2,"246":1,"257":1,"258":2,"262":1,"266":1,"269":2,"270":1,"271":9,"272":1,"279":3,"280":2,"281":1,"282":4,"283":2,"284":1,"285":3,"288":2,"289":1,"290":1,"291":1,"294":4,"295":6,"296":1,"297":1,"298":23,"299":2,"302":4,"303":1,"305":1,"307":2,"308":1,"311":1,"314":3,"316":1,"317":1,"319":2,"320":1,"322":11,"323":2,"324":5,"325":7,"326":2,"327":3,"328":1,"329":4,"330":2,"331":13,"332":5,"333":2,"336":1,"340":1,"341":2,"346":4,"348":1,"353":1,"354":2,"356":1,"359":1,"363":1,"364":6,"365":1,"367":1,"368":2,"369":2,"370":14,"373":18,"378":3,"379":1,"380":3,"381":3,"385":4,"386":7,"387":1,"388":3,"389":2,"390":1,"391":5,"392":6,"393":1,"394":1,"395":1,"396":1,"397":1,"398":2,"399":3,"400":1,"401":1,"402":2,"405":3,"406":2,"408":1,"409":1,"410":16,"411":1,"413":1,"415":1,"417":1,"418":2,"423":1,"426":3,"427":3,"428":4,"429":1,"430":2,"432":12,"434":4,"435":3,"436":7,"438":3,"439":2,"441":3,"442":1,"445":2,"446":6,"447":1,"451":2,"452":1,"453":2,"454":2,"460":3,"462":2,"463":3,"464":2,"465":2,"466":5,"467":2,"468":1,"469":1,"471":1,"472":1,"476":11,"477":5,"478":2,"479":4,"480":1,"481":1,"483":2,"484":1,"487":1,"497":2,"521":1,"522":3,"530":5,"534":7,"538":2,"539":1,"545":1,"546":1,"547":11,"552":2,"553":3,"554":3,"555":3,"557":6,"559":8,"560":2,"561":3,"562":2,"563":4,"564":1,"566":2,"569":10,"570":2,"571":3,"572":5,"573":1,"575":1,"576":18,"578":1,"579":1,"580":10,"581":12,"582":1,"583":6,"584":2,"585":5,"586":4,"587":2,"589":3,"590":2,"591":2,"592":9,"593":2,"594":1,"595":10,"596":11,"597":1,"600":1,"601":3,"602":1,"605":1,"607":6,"608":5,"609":1,"612":1,"613":22,"615":1,"619":1,"622":1,"623":30,"624":2,"626":1,"630":4,"631":1,"632":2,"636":4,"637":4,"641":2,"643":2,"644":2,"645":1,"646":2,"647":2,"651":6,"653":15,"655":22,"656":22,"659":1,"660":1,"662":1,"663":3,"664":1,"668":1,"671":2,"672":3,"673":1,"675":1,"676":1,"677":4,"678":2,"681":1,"683":3,"684":2,"685":2,"686":2,"687":1,"688":3,"689":4,"690":1,"691":2,"692":2,"693":2,"694":2,"697":2,"699":4,"700":4,"701":3,"702":3,"705":3,"706":1,"708":1,"712":13,"713":14,"714":13,"716":8,"717":5,"718":3,"720":1,"722":2,"723":8,"724":2,"725":7,"726":10,"727":8,"728":6,"729":3,"731":3,"733":1,"734":2,"736":2,"737":3,"738":4,"739":4,"741":1,"742":16,"744":14,"745":18,"746":16,"747":2,"748":1}}],["cele",{"2":{"222":2,"223":2}}],["cel",{"0":{"214":1,"219":1,"220":1},"1":{"215":1,"216":1,"217":1,"218":1,"219":1,"221":1,"222":1,"223":1},"2":{"213":2,"214":1,"215":5,"216":7,"217":6,"218":6,"219":2,"222":3,"223":3,"322":3,"325":4,"380":2,"554":3,"592":3,"596":3,"651":1,"671":3,"700":5}}],["ceo",{"2":{"52":1}}],["certificate",{"2":{"45":1}}],["certain",{"0":{"45":1},"2":{"41":2,"42":1,"44":1,"424":1,"534":1,"563":1}}],["cest",{"2":{"20":1,"21":2,"22":2,"23":1,"25":3,"26":1,"27":2,"28":4,"29":3,"31":3,"32":1,"33":3,"34":1,"36":1,"37":2}}],["cake",{"2":{"574":1}}],["cause",{"2":{"365":1,"420":1,"442":1,"709":1}}],["caused",{"2":{"42":2}}],["caution",{"2":{"245":1}}],["catching",{"2":{"742":1}}],["catch",{"2":{"72":1,"298":2}}],["categories",{"2":{"446":1}}],["category",{"0":{"291":1},"2":{"3":3,"290":1,"295":1,"371":1,"446":1,"447":2,"484":1}}],["cater",{"2":{"66":1}}],["catering",{"0":{"59":1},"2":{"59":1,"62":1}}],["cafes",{"2":{"60":1}}],["capacities",{"2":{"283":1}}],["capacity",{"2":{"180":3,"428":1,"609":1}}],["capabilities",{"2":{"176":1,"308":1}}],["capability",{"2":{"102":1,"269":1,"283":1}}],["capable",{"2":{"42":1}}],["capture",{"2":{"55":1}}],["capital",{"2":{"52":2}}],["cast",{"2":{"87":2,"119":3,"235":3,"245":3,"246":2,"254":2}}],["caste",{"2":{"7":1}}],["casual",{"2":{"60":2,"66":1}}],["cases",{"2":{"432":1,"747":1}}],["case",{"2":{"45":1,"104":1,"159":1,"169":1,"211":1,"237":1,"274":1,"295":1,"363":1,"365":1,"403":3,"425":1,"517":1,"605":1,"629":1}}],["careful",{"2":{"506":1}}],["carefully",{"2":{"41":1}}],["car",{"2":{"194":2}}],["carrying",{"2":{"557":2}}],["carry",{"2":{"178":1}}],["cargo",{"2":{"93":2}}],["cardinal",{"2":{"39":1}}],["cancel",{"2":{"386":4,"387":4}}],["canceling",{"2":{"63":1}}],["canonical",{"2":{"127":1,"406":1}}],["cannot",{"2":{"45":1,"64":1,"160":1,"364":1,"414":2,"420":1,"433":1,"510":2}}],["can",{"0":{"425":1},"2":{"8":1,"33":1,"51":2,"52":1,"53":2,"54":1,"58":3,"59":5,"61":3,"62":5,"63":3,"64":5,"65":3,"66":2,"72":1,"78":1,"79":1,"83":3,"87":1,"88":2,"98":2,"102":1,"103":1,"104":2,"114":1,"117":1,"119":1,"129":1,"131":1,"132":5,"133":5,"135":3,"144":1,"145":1,"146":2,"148":2,"149":3,"150":2,"151":1,"152":1,"153":4,"154":1,"157":1,"158":1,"159":1,"163":1,"166":1,"169":2,"171":1,"173":1,"176":1,"179":4,"180":1,"181":4,"183":1,"184":1,"185":1,"191":1,"197":1,"200":2,"204":1,"205":1,"206":1,"207":2,"209":1,"211":2,"212":1,"213":1,"214":1,"215":1,"216":2,"217":1,"222":1,"224":2,"225":2,"226":1,"230":1,"235":1,"237":5,"242":7,"243":1,"244":1,"245":4,"246":5,"247":1,"249":1,"250":1,"251":1,"254":1,"255":2,"258":1,"264":1,"268":1,"269":2,"272":1,"274":1,"275":1,"279":2,"287":1,"295":1,"296":1,"297":1,"298":2,"299":2,"301":1,"302":2,"305":1,"306":2,"307":1,"309":1,"312":2,"317":2,"319":1,"324":1,"325":5,"327":1,"328":2,"329":1,"330":2,"332":3,"333":1,"334":1,"343":1,"344":1,"348":1,"349":1,"359":1,"364":2,"365":2,"366":2,"370":1,"371":1,"373":1,"380":3,"383":2,"386":4,"389":1,"391":2,"393":1,"397":1,"403":1,"405":3,"406":1,"407":1,"410":6,"413":3,"414":1,"417":3,"420":2,"427":1,"428":2,"430":3,"433":2,"434":1,"435":1,"436":2,"438":1,"442":2,"444":1,"452":1,"453":1,"461":1,"462":1,"465":1,"469":1,"472":3,"476":2,"477":1,"479":1,"481":1,"483":2,"492":2,"495":1,"496":2,"500":1,"501":3,"503":1,"504":1,"505":1,"508":1,"509":1,"510":1,"512":2,"515":1,"517":1,"521":1,"526":2,"528":1,"530":5,"534":2,"535":2,"538":3,"542":2,"544":1,"545":4,"547":1,"553":1,"554":3,"558":1,"563":10,"564":4,"565":1,"566":2,"567":1,"568":1,"569":2,"570":2,"571":2,"572":4,"573":1,"574":2,"575":1,"580":1,"581":1,"583":1,"585":1,"587":1,"591":1,"593":1,"598":1,"602":1,"607":2,"613":4,"615":1,"620":1,"622":2,"624":1,"629":3,"630":1,"631":1,"632":1,"641":1,"642":1,"643":2,"646":1,"647":2,"648":1,"649":2,"651":2,"653":1,"654":3,"655":1,"659":1,"660":1,"667":1,"668":1,"671":5,"676":2,"677":2,"682":1,"683":1,"687":1,"691":5,"692":1,"700":3,"701":1,"704":1,"708":1,"709":3,"710":1,"716":2,"717":1,"720":1,"722":1,"725":1,"727":1,"728":1,"729":1,"731":3,"734":2,"739":1,"745":1,"748":1}}],["calculation",{"0":{"404":1}}],["calculating",{"2":{"129":1,"402":1,"405":1}}],["calculates",{"2":{"403":1,"404":1}}],["calculated",{"2":{"402":1,"404":3,"439":1,"442":1,"709":1}}],["calculate",{"2":{"149":2,"152":2,"404":1,"442":1}}],["calderachain",{"2":{"172":1,"173":1,"234":2,"254":2}}],["caldera",{"2":{"40":1,"168":1,"169":1}}],["calling",{"2":{"115":2,"231":2}}],["called",{"2":{"114":1,"115":1,"132":1,"214":1,"223":1,"230":1,"231":1,"233":1,"386":2,"400":1,"405":1,"414":1,"415":1,"436":1,"675":1}}],["calls",{"2":{"72":1,"119":1,"235":1,"465":1,"725":1}}],["calldata",{"2":{"29":1,"104":2,"125":8,"169":3,"237":2,"295":3,"364":9}}],["call",{"0":{"361":1},"2":{"5":2,"20":2,"61":1,"71":1,"72":1,"87":4,"104":1,"119":4,"171":1,"235":4,"245":3,"246":3,"250":2,"254":4,"326":1,"338":1,"339":1,"361":1,"393":1}}],["calendar",{"0":{"5":1,"18":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"5":3,"63":1,"72":1,"82":1}}],["cleanmake",{"2":{"358":1,"376":1}}],["clean",{"0":{"376":1},"2":{"358":2,"376":1,"683":1}}],["clears",{"2":{"747":1}}],["clearing",{"0":{"594":1}}],["clear",{"2":{"2":1,"61":1,"271":4}}],["clubs",{"2":{"58":2}}],["cloning",{"2":{"613":1}}],["clone",{"0":{"97":1,"354":1},"2":{"1":1,"2":2,"86":3,"97":2,"98":4,"215":2,"254":3,"322":3,"354":3,"362":3,"384":2,"485":3,"580":3,"596":3,"613":2}}],["clock",{"2":{"271":4}}],["close",{"2":{"386":5,"387":4,"410":2}}],["closer",{"2":{"129":1}}],["closely",{"2":{"52":1,"170":1}}],["closed",{"2":{"46":1,"509":2,"510":2,"511":2,"512":2,"514":2,"515":2,"517":2}}],["cloud",{"2":{"40":1,"572":1,"582":1,"586":1,"591":1,"717":1}}],["clientid",{"2":{"276":8}}],["client=",{"2":{"249":2}}],["clients",{"0":{"275":1,"276":1},"1":{"276":1,"277":1},"2":{"133":1,"271":2,"274":2,"275":2,"276":2,"288":1,"731":1,"739":1}}],["client",{"0":{"130":1,"206":1},"1":{"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1},"2":{"103":1,"131":1,"133":2,"141":1,"158":1,"162":2,"206":4,"242":2,"248":2,"249":2,"250":8,"275":8,"276":8,"285":1,"349":2,"385":2,"386":41,"387":10,"405":1,"465":1,"622":1,"725":1,"737":1}}],["clicking",{"2":{"179":1,"302":2}}],["click",{"2":{"49":1,"226":3,"251":1,"267":1,"301":1,"302":1,"572":3}}],["cli",{"0":{"314":1,"326":1,"408":1,"409":1,"557":1},"1":{"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":2,"328":2,"329":2,"330":2,"331":2,"332":2,"333":2,"334":2,"335":2,"336":2,"337":2,"338":2,"339":2,"340":2,"341":2,"342":2,"343":2,"344":2,"345":2,"346":2,"347":1,"348":1,"349":1,"350":1,"558":1,"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1},"2":{"22":1,"119":1,"206":2,"211":1,"235":1,"246":1,"270":2,"279":1,"311":1,"314":1,"317":1,"326":1,"327":2,"328":3,"329":1,"330":1,"334":1,"345":1,"485":1,"530":1,"545":1,"557":2,"580":1,"581":1,"583":1,"597":1,"700":1}}],["classname=",{"2":{"298":4}}],["classes",{"2":{"16":1}}],["clang",{"2":{"92":2,"319":4,"661":4}}],["claim",{"0":{"565":1},"2":{"41":1,"42":5,"264":1,"268":1,"565":1}}],["claiming",{"2":{"41":1,"42":1}}],["clarifying",{"2":{"9":1}}],["clarity",{"2":{"2":1,"13":1}}],["copied",{"2":{"623":1}}],["copy",{"0":{"384":1},"2":{"131":1,"247":2,"322":1,"360":1,"384":1,"420":1,"580":1,"596":1,"613":1}}],["coingeckoid",{"2":{"298":6}}],["coindecimals",{"2":{"298":6}}],["coindenom",{"2":{"298":6}}],["coinminimaldenom",{"2":{"298":6}}],["cointype",{"2":{"298":2}}],["coin",{"2":{"226":1,"302":1,"416":1}}],["cooperation",{"2":{"70":1}}],["coordinating",{"2":{"675":1}}],["coordination",{"2":{"54":1,"293":1,"472":1,"675":1,"734":1}}],["coordinated",{"2":{"706":1}}],["coordinates",{"2":{"427":2}}],["coordinate",{"2":{"54":1,"64":2}}],["coworking",{"2":{"62":1}}],["coding",{"2":{"61":1,"418":2,"432":1,"438":1}}],["codebase",{"2":{"734":1}}],["codelab",{"2":{"572":2}}],["coded",{"2":{"417":1,"418":1,"547":1,"709":1}}],["codespace",{"2":{"197":2,"410":4,"534":2,"629":2,"636":2}}],["code",{"0":{"6":1,"70":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1},"2":{"9":2,"10":1,"12":1,"14":1,"15":1,"17":4,"70":4,"82":1,"103":1,"115":1,"131":1,"169":1,"197":2,"231":1,"242":2,"244":1,"250":1,"298":1,"350":2,"378":1,"410":18,"532":2,"547":1,"572":1,"629":1,"636":1,"676":1}}],["co",{"2":{"52":2,"58":2,"62":2,"63":1,"65":1,"74":1}}],["counterparty",{"2":{"271":2}}],["counterforge",{"2":{"118":1,"233":1,"234":1}}],["countertest",{"2":{"115":4,"231":4}}],["counter",{"2":{"113":6,"114":7,"115":31,"118":3,"229":6,"230":7,"231":31,"233":3,"234":3}}],["country",{"2":{"45":1}}],["course",{"2":{"46":1,"180":1}}],["couldn",{"2":{"64":2}}],["could",{"2":{"8":1,"131":1,"132":1,"134":1,"137":3,"146":1,"181":1,"257":1,"285":1,"327":1,"391":3,"403":1,"404":1,"418":2,"429":1,"436":1,"511":1,"514":1,"515":1,"516":2,"530":1,"536":1,"574":1}}],["columns",{"2":{"129":1,"427":1}}],["column",{"2":{"129":3,"154":1,"250":4,"340":2,"429":1,"435":3}}],["collide",{"2":{"572":1}}],["collaboration",{"2":{"62":1,"68":1,"293":1}}],["collaborate",{"2":{"58":1}}],["collector",{"2":{"571":2,"586":2,"587":3}}],["collects",{"2":{"392":1}}],["collectively",{"2":{"428":1}}],["collective",{"2":{"293":2}}],["collection",{"2":{"41":2,"67":1,"74":1,"132":1}}],["collect",{"2":{"44":5,"55":1,"557":4,"689":2}}],["color",{"2":{"7":1,"76":1}}],["cors",{"2":{"250":2}}],["corner",{"2":{"226":1,"301":1,"302":1}}],["coral",{"2":{"194":2}}],["correspond",{"2":{"522":1,"527":1,"534":1}}],["corresponds",{"2":{"332":1}}],["corresponding",{"0":{"535":1},"1":{"536":1,"537":1},"2":{"145":1,"187":1,"269":1,"427":1,"436":2,"509":1,"510":1,"512":1,"521":1,"534":3,"535":1}}],["correct",{"2":{"216":1,"320":1,"386":1,"427":1,"461":1,"555":1,"580":1,"582":2,"591":2,"662":1,"672":1,"678":1,"702":1,"720":1}}],["correctly",{"2":{"115":2,"231":2,"270":1,"273":1,"320":1,"364":1,"433":1,"536":1,"662":1,"742":1,"746":1}}],["correction",{"0":{"13":1}}],["corrective",{"2":{"9":1}}],["coreutilsbrew",{"2":{"613":1}}],["coreutils",{"2":{"613":2}}],["cores",{"2":{"548":1,"627":1,"665":1}}],["core",{"0":{"324":1,"602":1},"2":{"77":1,"108":2,"178":1,"222":2,"223":2,"285":1,"290":1,"314":1,"316":1,"318":1,"324":15,"325":6,"373":3,"380":7,"432":4,"446":3,"447":1,"452":1,"476":1,"477":9,"484":1,"501":4,"530":4,"547":8,"553":10,"554":6,"555":6,"585":4,"586":4,"589":2,"592":2,"593":2,"602":2,"607":1,"609":1,"632":2,"653":6,"656":6,"671":3,"672":6,"678":1,"695":1,"699":7,"700":6,"702":6,"716":7,"720":1,"746":2,"748":1}}],["corgis",{"2":{"39":1}}],["cosmwasm",{"2":{"33":4,"393":1}}],["cosmology",{"2":{"33":2,"40":1}}],["cosmosmath",{"2":{"385":2,"386":2,"387":2}}],["cosmosnetwork",{"2":{"272":1}}],["cosmossdk",{"2":{"271":4,"385":2}}],["cosmostation",{"0":{"224":1,"225":1},"1":{"225":1,"226":1},"2":{"224":1,"225":3,"226":2,"380":1}}],["cosmos",{"2":{"21":3,"22":1,"27":1,"33":4,"52":3,"181":1,"194":2,"195":4,"197":2,"198":2,"199":4,"207":1,"214":1,"223":2,"225":2,"226":1,"258":1,"269":1,"270":1,"271":9,"272":1,"283":4,"284":2,"285":1,"287":1,"288":1,"297":1,"300":2,"301":1,"302":1,"392":1,"393":1,"398":1,"400":1,"403":1,"410":4,"432":1,"441":3,"445":1,"453":3,"465":1,"466":1,"475":1,"547":1,"557":2,"558":1,"563":5,"572":3,"575":1,"577":2,"710":1,"725":1,"726":1,"742":2,"744":2,"745":2}}],["costs",{"2":{"58":2,"59":1,"62":3,"64":1,"167":1,"403":3,"405":1}}],["cost",{"2":{"29":1,"58":1,"179":1,"289":1,"403":6,"404":5,"434":1}}],["covers",{"2":{"77":1,"78":1,"79":1,"80":1,"90":1,"106":1,"608":1,"738":2}}],["covering",{"2":{"62":1,"65":2}}],["covered",{"2":{"60":1,"158":1,"650":1,"737":1,"739":1}}],["cover",{"2":{"22":1,"62":1,"64":1,"65":1,"100":1,"162":1,"201":1,"238":1,"314":1,"327":1,"394":1,"583":1,"637":1}}],["covenant",{"2":{"17":4}}],["cohorts",{"2":{"46":1}}],["cohort",{"0":{"18":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"21":1,"37":1,"52":1}}],["conjured",{"2":{"572":1}}],["conn",{"2":{"410":6}}],["connects",{"2":{"522":1,"539":1,"587":1}}],["connectbutton",{"2":{"250":4}}],["connectors",{"2":{"249":4}}],["connectorsforwallets",{"2":{"249":4}}],["connected",{"2":{"226":1,"252":1,"301":1,"302":1,"417":2,"432":1,"522":2,"539":1,"615":1,"734":1}}],["connectivity",{"2":{"436":1}}],["connecting",{"0":{"615":1},"1":{"616":1,"617":1},"2":{"133":2,"240":1,"533":1,"636":1,"716":1,"739":1}}],["connectionid",{"2":{"276":8}}],["connectionside",{"2":{"276":4}}],["connections",{"0":{"586":1},"2":{"58":1,"60":1,"61":1,"83":1,"269":2,"271":2,"274":2,"277":1,"489":1,"532":1,"571":6,"582":3,"591":3,"642":1,"690":2,"745":1}}],["connection",{"0":{"274":1,"276":1},"2":{"42":1,"43":1,"45":3,"62":1,"133":6,"274":1,"276":30,"324":1,"410":2,"532":2,"547":1,"554":1,"586":5,"671":1,"699":2}}],["connect",{"0":{"324":1},"2":{"25":1,"56":1,"60":1,"61":1,"73":1,"171":1,"173":1,"225":1,"247":1,"249":3,"250":4,"297":1,"298":2,"300":1,"393":1,"398":1,"399":1,"436":1,"461":4,"462":1,"475":2,"487":1,"517":2,"522":1,"530":3,"532":1,"539":1,"545":1,"546":1,"547":1,"613":2,"632":1,"636":2,"663":1,"710":2,"720":4,"722":1,"731":1}}],["congested",{"2":{"237":1}}],["congests",{"2":{"180":1}}],["congestion",{"2":{"102":1,"180":1,"436":1,"747":1}}],["congratulations",{"2":{"98":1,"109":1,"120":1,"192":1,"200":1,"208":1,"236":1,"276":1,"653":1,"656":1}}],["confidence",{"2":{"416":2}}],["configcp",{"2":{"613":3}}],["configs",{"2":{"298":1,"572":4}}],["configures",{"2":{"558":1}}],["configured",{"2":{"252":1,"272":1,"366":1,"402":1}}],["configurechains",{"2":{"249":4}}],["configure",{"0":{"277":1},"2":{"248":1,"250":2,"251":1,"274":1,"642":1,"646":1,"647":1}}],["configuring",{"0":{"248":1,"249":1,"642":1},"1":{"643":1,"644":1,"645":1},"2":{"270":1,"608":1,"651":1}}],["configurationsconnecting",{"2":{"608":1}}],["configurations",{"0":{"614":1},"1":{"615":1,"616":1,"617":1,"618":1,"619":1,"620":1},"2":{"216":1,"271":1,"273":1,"645":1}}],["configuration",{"0":{"271":1,"273":1,"646":1,"647":1},"2":{"206":3,"211":1,"248":1,"249":4,"250":1,"271":1,"273":2,"530":2,"536":1,"545":2,"557":4,"571":2,"572":3,"583":1,"593":2,"608":2,"619":1,"644":1,"646":2,"647":1}}],["configurable",{"2":{"104":1}}],["config",{"0":{"593":1,"599":1,"601":1,"690":1},"1":{"600":1,"601":1,"602":2,"603":2,"604":2,"605":2,"606":2,"607":2},"2":{"88":1,"92":2,"95":4,"108":1,"202":2,"206":2,"211":2,"255":1,"270":1,"271":3,"273":5,"277":1,"319":4,"358":1,"364":4,"370":6,"410":2,"522":3,"530":7,"535":2,"545":7,"557":2,"558":2,"571":1,"572":8,"589":2,"593":7,"595":1,"601":4,"605":1,"607":1,"613":31,"615":1,"618":1,"622":2,"643":5,"644":4,"646":2,"647":2,"661":4,"687":1,"688":1,"689":4,"690":2,"698":1}}],["confirmed",{"2":{"264":1,"268":1,"271":2,"410":2}}],["confirmations",{"2":{"166":1}}],["confirmation",{"2":{"71":1,"135":1,"212":1,"271":2,"698":1}}],["confirm",{"0":{"264":1,"268":1},"2":{"44":1,"45":2,"54":1,"129":1,"166":1,"197":2,"510":3,"572":1,"636":1}}],["conferences",{"2":{"63":1}}],["conference",{"2":{"63":1}}],["convenient",{"2":{"54":1}}],["conversion",{"2":{"151":1,"449":1}}],["conversations",{"2":{"8":1,"45":1,"55":1}}],["converting",{"0":{"147":1},"1":{"148":1,"149":1,"150":1,"151":1,"152":1,"153":1}}],["converted",{"2":{"145":1,"146":1,"148":1,"332":1}}],["convert",{"2":{"33":1,"119":1,"148":1,"149":1,"152":1,"235":1,"386":1,"387":1}}],["concerned",{"2":{"419":1}}],["concept",{"2":{"77":1}}],["concepts",{"2":{"50":1}}],["conclusion",{"0":{"157":1,"208":1}}],["concise",{"2":{"2":1}}],["conditioned",{"2":{"45":1}}],["conditions",{"2":{"42":1}}],["conducting",{"2":{"417":1}}],["conducted",{"2":{"45":1}}],["conduct",{"0":{"6":1,"70":1},"1":{"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1},"2":{"8":1,"9":1,"10":1,"12":1,"14":1,"15":1,"17":4,"54":1,"70":3,"82":1,"416":1,"731":1}}],["consoleconfirm",{"2":{"636":1}}],["consolecode",{"2":{"629":1,"636":1}}],["console$request",{"2":{"701":1}}],["console$",{"2":{"557":1}}],["console",{"2":{"362":1}}],["consoleblockhash",{"2":{"361":1}}],["consolebasefeepergas",{"2":{"360":1}}],["consume",{"2":{"404":1,"647":1}}],["consumes",{"2":{"404":1}}],["consumed",{"2":{"403":2}}],["consumer",{"2":{"271":4}}],["consulted",{"2":{"43":1}}],["consist",{"2":{"133":1,"405":1}}],["consists",{"2":{"132":1,"159":1,"432":1,"433":1,"435":3,"438":1}}],["consistency",{"2":{"65":1}}],["consistent",{"2":{"65":2}}],["considerable",{"2":{"647":1}}],["considerations",{"0":{"587":1},"2":{"585":1,"587":1}}],["consider",{"2":{"58":1,"60":2,"61":1,"64":3,"332":1,"416":1,"620":1}}],["considered",{"2":{"8":1}}],["consensus",{"0":{"205":1,"408":1,"410":1,"477":1,"608":1,"610":1,"615":1,"624":1,"640":1,"711":1,"712":1,"741":1},"1":{"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":2,"617":2,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":1,"628":1,"629":1,"630":1,"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1,"640":1,"641":2,"642":2,"643":2,"644":2,"645":2,"646":2,"647":2,"712":1,"713":1,"714":1,"742":1},"2":{"128":1,"133":1,"143":1,"144":1,"178":1,"180":1,"181":1,"192":1,"201":1,"205":2,"283":1,"288":1,"289":1,"294":2,"302":2,"324":4,"340":2,"392":3,"402":1,"410":4,"429":1,"432":1,"433":6,"434":2,"441":1,"453":1,"463":3,"464":3,"465":2,"466":4,"471":1,"476":2,"477":3,"487":1,"522":3,"524":1,"539":3,"546":1,"547":3,"554":2,"563":1,"572":1,"581":1,"582":1,"608":7,"609":3,"615":1,"621":1,"624":1,"626":1,"627":1,"630":1,"636":1,"642":1,"650":2,"663":1,"677":1,"699":2,"700":4,"711":1,"716":5,"720":2,"723":2,"724":1,"726":2,"731":5,"738":2,"741":1}}],["consents",{"2":{"45":1}}],["consent",{"2":{"44":1}}],["consequence",{"2":{"13":1,"14":1,"15":1,"16":1,"429":1}}],["consequences",{"2":{"12":1,"14":1,"43":1,"45":1,"414":2,"521":1}}],["constant",{"2":{"404":1,"709":2}}],["constantly",{"2":{"269":1}}],["constants",{"2":{"108":7,"224":1,"298":18,"299":1,"302":1,"320":6,"330":3,"333":1,"370":8,"485":3,"590":4,"613":22,"623":6,"629":2,"636":2,"662":6}}],["const",{"2":{"249":10,"250":54,"252":2,"298":8}}],["constructed",{"2":{"150":1,"417":1}}],["construct",{"2":{"147":1,"149":4,"151":1,"152":1,"388":1}}],["constructor",{"2":{"125":2,"242":2}}],["constructing",{"2":{"153":2}}],["constructions",{"2":{"157":1}}],["construction",{"2":{"106":1}}],["constructive",{"2":{"8":1}}],["constitute",{"2":{"41":1,"45":1}}],["context",{"2":{"385":2,"386":14,"387":4,"410":8}}],["contents",{"0":{"291":1,"396":1},"2":{"314":1,"388":1}}],["content",{"0":{"18":1},"1":{"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1},"2":{"2":1,"42":1,"64":2,"83":1,"242":8,"250":17,"386":4,"563":2,"742":1,"744":1,"745":1,"746":1}}],["containing",{"2":{"149":1,"151":1,"153":3,"435":1,"515":1,"572":2}}],["contain",{"2":{"146":2,"149":1,"391":1,"400":1,"427":1,"435":1,"564":1,"677":1}}],["contains",{"2":{"114":1,"132":2,"147":4,"153":2,"230":1,"360":1,"461":1,"475":1,"564":1,"595":1,"710":1,"720":1}}],["containerization",{"2":{"651":1}}],["containerstyle",{"2":{"249":4}}],["containers",{"0":{"359":1},"2":{"98":1,"222":1,"223":1,"358":1,"359":2}}],["container",{"0":{"223":1},"2":{"98":2,"108":4,"222":9,"223":11,"359":6,"654":5,"655":4,"656":2}}],["contacts",{"2":{"63":1,"64":1}}],["contact",{"2":{"59":1,"66":1}}],["continuously",{"2":{"447":4,"472":1}}],["continuousvestingaccount",{"2":{"198":3}}],["continuous",{"2":{"186":1,"197":1}}],["continues",{"2":{"570":1,"733":1}}],["continue",{"2":{"51":1,"104":1,"237":1,"364":1,"390":1,"391":1,"675":1}}],["continued",{"2":{"14":1,"45":1,"62":1}}],["continuation",{"0":{"51":1},"1":{"52":1}}],["continuing",{"2":{"46":1,"51":1,"636":1}}],["contrastingly",{"2":{"429":1}}],["contrast",{"2":{"165":1,"421":1}}],["contracttest",{"2":{"242":2}}],["contractaddress",{"2":{"119":2,"235":2,"250":6,"252":3}}],["contractforge",{"2":{"113":1,"229":1}}],["contract",{"0":{"86":1,"87":1,"110":1,"114":1,"115":1,"116":1,"119":1,"147":1,"227":1,"230":1,"231":1,"232":1,"235":1,"242":1,"497":1,"501":1},"1":{"87":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":2,"118":2,"119":1,"120":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":2,"234":2,"235":1,"236":1,"498":1,"499":1,"500":1,"501":1},"2":{"33":2,"42":1,"45":1,"84":1,"85":1,"86":6,"87":5,"88":4,"103":2,"111":2,"113":1,"114":8,"115":11,"118":5,"119":1,"120":1,"125":6,"127":1,"128":1,"129":7,"133":4,"145":3,"146":1,"147":7,"153":3,"157":1,"159":3,"160":1,"161":2,"162":1,"163":2,"166":1,"176":2,"179":1,"183":1,"227":1,"229":1,"230":8,"231":11,"233":3,"234":4,"235":1,"236":1,"238":1,"240":1,"241":2,"242":15,"243":1,"244":7,"245":13,"246":11,"247":2,"250":16,"252":3,"254":13,"255":4,"291":1,"304":1,"396":1,"422":1,"452":1,"487":3,"488":1,"497":3,"500":1,"501":5,"538":3,"539":2,"545":2}}],["contracting",{"2":{"33":1}}],["contractscript",{"2":{"244":2,"245":2,"246":2}}],["contracts",{"0":{"121":1,"124":1,"163":1,"183":1},"1":{"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1},"2":{"33":1,"86":3,"88":3,"124":4,"125":6,"127":1,"129":1,"134":2,"135":4,"139":1,"141":2,"158":1,"162":1,"163":2,"173":1,"178":1,"181":1,"242":3,"247":1,"254":3,"255":3,"488":1}}],["control",{"2":{"41":1,"42":1,"45":1,"592":1,"647":1,"674":1}}],["contributor",{"2":{"17":4,"446":1}}],["contributors",{"2":{"7":1,"446":1,"447":1}}],["contributing",{"2":{"8":1}}],["contributiondao",{"2":{"712":1,"713":1,"714":1}}],["contributions",{"2":{"2":1,"9":1,"293":1}}],["contribution",{"0":{"2":1},"2":{"2":2,"61":1,"102":1}}],["contributes",{"2":{"8":1,"102":1,"403":1}}],["contribute",{"2":{"7":1,"62":1}}],["comcelestia",{"2":{"477":1}}],["combination",{"2":{"364":1}}],["combines",{"2":{"378":1}}],["combined",{"0":{"341":1},"2":{"180":1}}],["combine",{"2":{"44":1}}],["comfortable",{"2":{"322":1,"596":1}}],["coming",{"2":{"240":1,"744":1,"745":1}}],["com",{"0":{"65":1},"2":{"63":2,"65":6,"86":2,"95":2,"97":2,"98":2,"153":2,"170":1,"174":1,"175":1,"206":2,"215":2,"226":1,"254":2,"271":4,"292":1,"302":3,"319":2,"322":2,"324":2,"354":2,"362":2,"384":2,"385":10,"399":1,"405":2,"410":16,"463":3,"464":2,"465":2,"466":4,"468":1,"469":1,"476":11,"477":1,"480":1,"481":2,"485":3,"522":2,"554":2,"577":2,"580":2,"596":2,"613":12,"653":1,"661":2,"699":2,"700":2,"712":5,"713":5,"714":4,"723":6,"724":2,"725":6,"726":8,"727":8,"729":1}}],["comexport",{"2":{"653":1}}],["cometbft",{"2":{"165":1,"441":1,"709":1}}],["come",{"2":{"48":1,"177":1,"705":1}}],["compute",{"2":{"435":1}}],["computed",{"2":{"403":1,"427":1}}],["computesquaresizefromshareproof",{"2":{"129":1}}],["computesquaresizefromrowproof",{"2":{"129":1}}],["computes",{"2":{"129":2,"403":1,"435":1}}],["computing",{"2":{"288":1}}],["computation",{"2":{"167":1}}],["comprised",{"2":{"439":1}}],["comprises",{"2":{"153":1}}],["comprehensive",{"2":{"0":1}}],["compilation",{"2":{"115":2,"118":2,"231":2,"234":2}}],["compiling",{"2":{"114":4,"115":2,"118":2,"230":4,"231":2,"234":2,"319":1,"661":1}}],["compiler",{"2":{"114":2,"124":1,"230":2}}],["compile",{"2":{"114":1,"230":1}}],["component",{"2":{"181":1,"250":2,"298":2}}],["components",{"2":{"57":1,"159":1,"162":1,"293":1,"298":6,"400":1,"405":2,"432":1,"676":1,"705":1}}],["compose",{"2":{"91":1,"98":2,"108":2,"222":2,"223":6,"366":2,"370":1,"373":1}}],["compelling",{"2":{"62":1}}],["complex",{"2":{"646":1}}],["completing",{"2":{"636":1}}],["completion",{"2":{"41":1,"45":3,"50":1}}],["completely",{"2":{"331":1}}],["completes",{"2":{"98":1,"416":1}}],["completed",{"2":{"44":1,"213":1,"580":1,"596":1}}],["complete",{"2":{"42":3,"43":1,"48":1,"71":1,"213":1,"246":2,"388":1,"430":1,"444":1}}],["complain",{"2":{"506":1}}],["complaints",{"2":{"11":1}}],["compliant",{"2":{"126":1}}],["compliance",{"2":{"45":3}}],["comply",{"2":{"44":1}}],["compatmode",{"2":{"270":2}}],["compatibility",{"0":{"286":1},"2":{"102":1}}],["compatible",{"2":{"27":1,"168":1,"170":1,"183":1,"239":1,"270":1,"286":1,"322":1,"508":1,"675":1,"733":1,"734":2}}],["compared",{"2":{"167":1}}],["companion",{"2":{"74":1}}],["companies",{"2":{"62":3}}],["company",{"2":{"41":5,"42":8,"43":3,"45":8,"62":1}}],["comma",{"2":{"530":2,"613":2,"690":2}}],["commands",{"0":{"341":1,"557":1},"1":{"558":1,"559":1,"560":1,"561":1,"562":1,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1},"2":{"98":1,"215":1,"319":2,"322":1,"328":2,"380":1,"410":2,"485":1,"497":2,"502":2,"506":1,"507":4,"508":2,"513":2,"516":2,"557":2,"563":1,"569":1,"580":1,"581":1,"593":1,"596":1,"613":1,"661":2}}],["command",{"0":{"327":1,"503":1,"504":1,"505":1,"576":1},"2":{"87":2,"98":1,"108":2,"113":1,"114":1,"119":2,"153":1,"197":4,"202":1,"204":2,"206":1,"212":1,"215":1,"218":1,"222":2,"223":5,"229":1,"230":1,"234":1,"235":2,"252":1,"254":2,"275":2,"276":1,"319":2,"322":1,"324":2,"325":4,"326":1,"327":3,"329":1,"330":1,"331":1,"332":1,"333":3,"337":1,"340":1,"344":1,"345":2,"346":1,"357":1,"358":1,"365":1,"373":2,"374":1,"375":1,"376":1,"380":1,"387":1,"477":1,"479":1,"493":1,"497":3,"500":2,"502":1,"503":1,"504":1,"505":2,"506":2,"507":7,"508":8,"510":1,"513":6,"516":6,"527":1,"528":1,"530":3,"534":3,"535":1,"538":1,"543":1,"544":1,"545":1,"553":1,"554":1,"557":4,"561":4,"563":4,"564":2,"565":1,"566":2,"567":1,"568":3,"575":1,"581":1,"585":2,"589":1,"592":1,"593":2,"594":1,"596":1,"602":1,"613":2,"623":1,"629":1,"643":1,"647":1,"653":1,"655":2,"656":2,"661":2,"670":1,"671":1,"683":1,"684":1,"685":2,"686":1,"687":1,"688":2,"689":2,"691":2,"692":1,"698":1,"699":1,"700":3,"701":1,"728":1}}],["comment",{"2":{"98":1}}],["comments",{"2":{"8":1,"9":1}}],["commission",{"2":{"45":2,"565":2,"569":6,"636":6}}],["commitment",{"0":{"156":1},"2":{"145":1,"147":2,"153":3,"169":5,"295":5,"332":5,"333":10,"334":3,"356":1,"364":2,"427":1,"429":1,"435":6,"438":2}}],["commitments",{"2":{"103":1,"131":1,"132":6,"134":1,"135":1,"158":1,"159":1,"427":1,"436":1,"487":1}}],["committees",{"0":{"164":1},"1":{"165":1,"166":1,"167":1},"2":{"165":1}}],["committed",{"2":{"65":1,"126":1,"129":9,"132":1,"137":1,"145":2,"147":8,"153":6,"154":1,"157":1,"293":1,"410":4,"435":1}}],["committing",{"0":{"134":1},"2":{"159":1}}],["commitforge",{"2":{"124":1}}],["commits",{"2":{"9":1,"129":1,"134":1,"147":2,"153":2}}],["commit",{"2":{"2":3,"97":2,"98":2,"124":1,"129":1,"134":1,"322":1,"340":4,"521":2,"596":1}}],["commonly",{"2":{"414":1,"572":1}}],["common",{"2":{"17":1,"78":1,"364":2,"433":2,"586":1,"694":1}}],["communities",{"2":{"83":1}}],["community",{"0":{"5":1,"66":1,"70":1,"82":1,"445":1,"564":1},"2":{"2":1,"3":2,"4":1,"5":5,"7":2,"8":2,"9":2,"10":3,"11":2,"12":2,"13":3,"14":2,"15":3,"16":3,"17":1,"54":1,"56":1,"57":1,"58":4,"61":2,"63":2,"65":1,"68":1,"70":3,"71":1,"73":1,"75":1,"81":1,"82":3,"83":1,"324":1,"406":1,"441":1,"445":2,"454":2,"477":1,"563":1,"564":11,"705":1,"706":1,"716":1,"719":1,"733":1,"734":1}}],["communicating",{"2":{"572":2}}],["communications",{"0":{"63":1}}],["communication",{"2":{"15":1,"45":1,"50":1,"63":1,"73":1,"242":2,"269":1,"465":1,"582":1,"586":1,"591":1,"605":1,"725":1,"745":1}}],["communicates",{"2":{"392":1}}],["communicate",{"2":{"9":1,"60":1,"102":1,"382":1,"630":1}}],["fsudo",{"2":{"742":1,"744":1,"745":1,"746":1}}],["fssl",{"2":{"319":2,"661":2}}],["f5nodes",{"2":{"723":1,"725":1,"726":1}}],["fc",{"2":{"404":2}}],["fmt",{"2":{"137":4,"385":2,"386":8,"410":8}}],["f",{"2":{"108":2,"137":22,"359":4,"366":1,"373":2,"536":2,"742":1,"744":1,"745":1,"746":1}}],["floor",{"2":{"449":1}}],["flow",{"2":{"61":1}}],["flipping",{"2":{"416":1}}],["flat",{"2":{"402":3,"405":1,"439":1}}],["flagssubmitting",{"2":{"314":1}}],["flags",{"0":{"328":1,"585":1},"1":{"329":1,"330":1,"331":1,"586":1},"2":{"204":2,"216":2,"327":4,"328":2,"334":2,"408":2,"497":4,"507":2,"508":2,"509":2,"510":2,"512":3,"513":2,"515":2,"516":2,"517":2,"518":2,"519":2,"520":2,"530":9,"534":1,"545":6,"561":4,"583":2,"585":2,"653":1,"677":1}}],["flag",{"2":{"99":1,"186":1,"197":2,"202":1,"206":1,"324":1,"327":1,"328":1,"329":1,"330":1,"333":1,"334":2,"340":2,"380":1,"492":1,"503":1,"504":1,"505":1,"509":1,"510":1,"511":1,"514":1,"517":1,"522":1,"526":1,"530":2,"532":1,"542":1,"545":1,"553":1,"580":1,"582":1,"585":1,"586":3,"590":1,"591":1,"592":1,"602":1,"613":1,"655":1,"677":1}}],["flexdirection",{"2":{"250":4}}],["flex",{"2":{"250":6}}],["flexibility",{"0":{"167":1},"2":{"167":1,"181":1,"433":1}}],["flexible",{"2":{"25":1,"59":1,"102":1}}],["fun",{"2":{"378":1}}],["fungible",{"2":{"160":2}}],["func",{"2":{"135":2,"137":3,"364":2,"385":2,"386":12,"387":1,"410":2}}],["functioning",{"2":{"364":1}}],["functions",{"0":{"386":1,"387":1},"2":{"114":1,"115":1,"129":4,"178":3,"179":1,"230":1,"231":1,"242":1,"364":1,"386":3,"387":1,"433":5}}],["function",{"2":{"104":1,"114":6,"115":13,"125":4,"129":5,"161":2,"230":6,"231":13,"242":24,"244":4,"250":10,"298":5,"364":4,"385":1,"386":10,"387":1,"403":2,"404":7,"405":3,"410":8,"430":1,"433":1}}],["functionalities",{"2":{"720":1}}],["functionality",{"2":{"54":1,"133":2,"242":1,"285":1,"312":1,"502":1}}],["functional",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"2":{"48":2,"706":1}}],["funded",{"0":{"117":1},"2":{"85":1,"89":1,"107":1,"117":1,"234":1,"254":1,"256":1,"272":1,"317":1,"325":1,"350":1,"370":1,"373":1,"500":1,"524":1,"543":1,"545":1}}],["funds",{"2":{"64":1,"104":1,"237":1,"325":1,"380":1,"414":1,"445":1,"563":1,"564":3,"576":4,"701":1}}],["fund",{"0":{"203":1,"212":1},"2":{"52":1,"87":1,"108":1,"117":1,"203":1,"212":1,"254":1,"325":2,"445":1,"554":1,"564":2,"671":1,"700":1}}],["funding",{"2":{"51":1,"62":1,"293":1}}],["fundraising",{"2":{"46":1,"51":1}}],["future",{"2":{"46":2,"51":1,"55":1,"56":2,"60":1,"61":1,"66":1,"102":1,"181":1,"285":1,"312":1,"317":1,"391":1,"446":1,"447":1,"587":1,"591":1,"676":1,"745":1}}],["fullnodes",{"2":{"137":1}}],["fullnode",{"2":{"133":6,"137":4}}],["fully",{"2":{"107":1,"108":1,"370":1,"447":1}}],["full",{"0":{"136":1,"205":1,"238":1,"463":1,"464":1,"608":1,"610":1,"663":1,"664":1,"666":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"723":1,"724":1,"727":1,"744":1},"1":{"137":1,"138":1,"139":1,"140":1,"141":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"609":1,"610":1,"611":2,"612":2,"613":2,"614":1,"615":1,"616":1,"617":1,"618":1,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":1,"626":1,"627":1,"628":1,"629":1,"630":1,"631":1,"632":1,"633":1,"634":1,"635":1,"636":1,"637":1,"638":1,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1,"664":1,"665":1,"666":1,"667":2,"668":1,"669":1,"670":2,"671":2,"672":1,"673":1,"674":1},"2":{"45":1,"73":1,"133":4,"137":1,"143":3,"201":1,"202":1,"204":1,"205":2,"214":1,"216":2,"217":2,"218":2,"238":1,"288":1,"302":1,"323":1,"324":2,"390":1,"392":1,"396":1,"417":3,"418":4,"427":3,"436":1,"461":1,"463":1,"464":3,"476":2,"477":2,"522":1,"539":1,"557":2,"592":4,"594":1,"601":2,"608":3,"609":3,"624":1,"627":1,"642":1,"656":1,"663":2,"664":2,"665":1,"670":6,"671":7,"672":9,"673":2,"674":1,"708":1,"711":1,"712":1,"713":1,"714":1,"715":1,"716":3,"720":2,"723":2,"724":3,"726":2,"727":7,"731":3,"737":1,"741":1,"744":17}}],["furthermore",{"2":{"71":1,"392":2,"430":1,"433":1}}],["further",{"2":{"45":2,"216":1}}],["fuelmint",{"2":{"39":1}}],["fuel",{"2":{"25":4}}],["federation",{"2":{"572":2}}],["federal",{"2":{"45":1}}],["feasible",{"2":{"428":1}}],["feature",{"2":{"104":2,"181":1,"237":1,"390":1,"677":1}}],["features",{"2":{"83":1,"102":1,"180":1,"308":1,"310":1,"322":1,"426":2,"596":1,"675":1,"676":6,"678":1}}],["ferret",{"2":{"103":1}}],["fetchposts",{"2":{"242":8,"245":2,"246":2,"250":8}}],["fetchpost",{"2":{"242":4}}],["fetches",{"2":{"242":4}}],["fetch",{"2":{"97":2,"250":4,"378":1}}],["fellow",{"2":{"58":1,"68":1,"73":1}}],["fellows",{"0":{"39":1,"40":1,"46":1},"1":{"47":1,"48":1,"49":1,"50":1,"51":1,"52":1},"2":{"21":1,"28":3,"29":1,"33":1,"37":1,"46":3,"48":1,"49":1,"50":4,"51":2,"52":1}}],["few",{"2":{"49":1,"88":1,"137":1,"179":2,"180":1,"182":1,"204":1,"255":1,"295":1,"386":1,"622":1}}],["feel",{"2":{"731":1}}],["fee=gas",{"2":{"404":1}}],["feecurrencies",{"2":{"298":2}}],["feegrant",{"2":{"283":1,"403":1}}],["fee",{"0":{"334":1,"401":1,"404":1,"439":1},"1":{"402":1,"403":1,"404":1,"405":1,"406":1},"2":{"197":2,"314":1,"332":5,"334":10,"343":6,"386":4,"387":5,"402":5,"404":3,"439":2,"441":1,"451":1}}],["fees=21000utia",{"2":{"629":1,"636":2}}],["fees=21000utiacelestia",{"2":{"629":1}}],["fees",{"0":{"402":1},"1":{"403":1,"404":1,"405":1},"2":{"42":1,"197":6,"204":2,"271":4,"334":1,"402":3,"406":1,"439":3,"534":2,"576":4,"637":2,"747":1,"749":1}}],["feedback",{"0":{"4":1},"2":{"4":1,"8":1,"24":1,"48":1,"50":2,"52":1,"54":1,"55":1,"56":2,"705":1,"731":1}}],["familiarize",{"2":{"388":1}}],["family",{"2":{"63":2}}],["fatalf",{"2":{"386":10}}],["fatal",{"0":{"595":1},"2":{"386":2,"595":2}}],["faster",{"2":{"604":1}}],["fastest",{"2":{"25":1,"581":1}}],["fast",{"2":{"287":1,"289":1}}],["falsediscard",{"2":{"647":1}}],["false",{"2":{"197":2,"271":24,"370":1,"436":3,"582":1,"586":2,"591":1,"602":1,"604":1,"605":1,"647":3,"742":1}}],["fallen",{"2":{"365":1}}],["falls",{"2":{"270":1,"364":1}}],["fall",{"2":{"104":1,"137":1,"237":1,"363":1}}],["fallback",{"0":{"104":1,"237":1,"363":1,"364":1,"365":1},"1":{"364":1,"365":1},"2":{"104":7,"237":6,"363":1,"364":5,"365":2,"533":1}}],["faults",{"2":{"133":1}}],["faucets",{"2":{"272":1,"370":1}}],["faucet",{"0":{"174":1,"467":1,"478":1,"728":1},"1":{"468":1,"479":1,"480":1},"2":{"86":1,"107":1,"117":1,"174":1,"203":1,"212":2,"228":1,"254":1,"305":1,"325":2,"350":1,"380":1,"467":1,"468":2,"478":1,"479":3,"480":2,"728":4}}],["face",{"2":{"238":1}}],["facebook",{"2":{"52":1}}],["facilitated",{"2":{"83":1}}],["facilitate",{"2":{"55":1,"242":2,"432":1}}],["factors",{"2":{"45":1,"60":1,"709":2}}],["faith",{"2":{"165":1}}],["failures",{"2":{"293":1}}],["failure",{"2":{"137":4,"742":2,"744":2,"745":2,"746":2}}],["failed",{"0":{"532":1,"533":1},"2":{"115":2,"231":2,"298":2,"532":2}}],["fails",{"2":{"104":1,"436":1}}],["fail",{"2":{"42":1,"329":1,"365":1}}],["fairly",{"2":{"11":1,"283":1}}],["fair",{"2":{"9":1,"472":1}}],["faq",{"0":{"412":1},"1":{"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1},"2":{"17":2}}],["frequently",{"2":{"734":1}}],["freshly",{"2":{"489":1}}],["fresh",{"2":{"168":1,"641":1}}],["free",{"2":{"7":1,"42":1,"58":1,"198":2,"391":2,"731":1}}],["friends",{"2":{"62":1,"63":2,"682":1}}],["friendly",{"2":{"59":2}}],["friday",{"2":{"25":1,"28":1,"31":1,"37":1}}],["frameworks",{"2":{"181":2,"184":1,"247":1,"290":1}}],["framework",{"2":{"102":1,"247":2,"441":1,"466":1,"726":1}}],["fraudulent",{"2":{"137":1,"622":1}}],["fraud",{"0":{"129":1,"429":1},"2":{"44":1,"129":1,"134":1,"137":3,"180":2,"392":1,"417":1,"418":3,"429":1,"433":1,"664":2}}],["fraction",{"2":{"29":1}}],["frontendcd",{"2":{"88":1,"255":1}}],["frontend",{"0":{"88":1,"89":1,"247":1,"255":1,"256":1},"1":{"248":1},"2":{"33":1,"86":3,"87":1,"88":5,"240":1,"245":1,"246":1,"247":10,"248":1,"254":4,"255":5,"393":1}}],["from=$validator",{"2":{"629":2,"636":2}}],["from=",{"2":{"565":2}}],["from",{"0":{"98":1,"406":1,"580":1},"1":{"99":1},"2":{"2":1,"4":1,"8":1,"13":1,"15":1,"16":1,"17":1,"41":1,"42":5,"44":4,"45":9,"50":3,"54":1,"55":1,"56":1,"61":1,"64":1,"65":1,"67":1,"68":1,"70":1,"72":1,"83":3,"86":3,"87":2,"88":1,"98":1,"102":1,"103":1,"114":1,"118":1,"119":1,"128":1,"129":4,"133":8,"135":1,"137":8,"148":1,"149":2,"150":2,"151":1,"152":1,"153":1,"159":1,"160":2,"166":1,"168":2,"169":6,"179":2,"180":1,"181":2,"190":1,"196":3,"197":8,"199":1,"202":2,"204":2,"205":1,"206":1,"217":1,"218":1,"222":1,"225":1,"228":2,"230":1,"233":1,"234":1,"235":1,"238":1,"240":1,"244":2,"246":3,"249":14,"250":23,"252":1,"254":5,"255":1,"272":1,"280":2,"285":1,"293":1,"295":6,"297":1,"298":4,"300":1,"306":1,"314":1,"319":2,"325":1,"328":3,"330":1,"331":1,"332":1,"333":3,"338":1,"340":1,"350":1,"357":1,"360":1,"361":2,"362":1,"364":4,"365":1,"374":1,"376":1,"378":1,"380":2,"383":1,"386":2,"387":3,"388":1,"390":1,"391":2,"402":3,"406":2,"410":6,"414":1,"417":1,"418":1,"420":1,"421":1,"422":2,"430":1,"433":1,"434":2,"436":2,"441":1,"447":5,"464":2,"471":1,"472":1,"477":1,"479":1,"489":1,"500":1,"501":2,"507":1,"508":2,"510":3,"513":5,"515":2,"516":3,"518":3,"522":1,"528":2,"530":3,"533":1,"534":2,"537":1,"538":1,"539":2,"544":1,"547":2,"553":1,"554":1,"560":1,"562":5,"563":7,"564":2,"566":4,"567":2,"572":7,"575":2,"576":14,"579":1,"593":1,"595":1,"598":1,"605":1,"613":3,"622":2,"623":3,"636":1,"637":3,"642":1,"643":1,"653":1,"661":2,"671":2,"699":1,"701":1,"716":1,"724":2,"728":1,"734":1,"745":2,"746":1,"747":1}}],["firewall",{"2":{"582":2,"591":2}}],["firstly",{"2":{"169":1}}],["first",{"2":{"48":1,"49":1,"52":2,"61":1,"68":1,"75":1,"77":1,"84":1,"102":1,"113":1,"118":2,"132":3,"133":1,"134":1,"135":1,"137":1,"149":2,"150":1,"153":2,"158":2,"159":1,"169":1,"187":1,"194":1,"201":1,"211":1,"213":1,"215":1,"229":1,"233":2,"234":2,"238":1,"242":8,"245":2,"246":4,"248":1,"250":2,"252":3,"254":2,"282":1,"295":2,"298":1,"303":1,"319":1,"343":1,"353":1,"361":1,"373":1,"380":2,"383":1,"386":1,"403":2,"406":1,"446":1,"449":1,"451":1,"461":1,"475":1,"483":1,"508":1,"513":1,"514":1,"517":1,"530":1,"532":2,"534":2,"563":3,"564":1,"569":1,"572":1,"592":1,"597":1,"627":1,"635":1,"654":1,"661":1,"676":1,"709":1,"710":1,"720":1}}],["figment",{"2":{"577":1}}],["figure",{"2":{"430":1,"432":1,"435":2}}],["figures",{"2":{"83":1}}],["five",{"2":{"446":1}}],["fit",{"0":{"422":1}}],["fits",{"2":{"180":1}}],["fix",{"2":{"406":1,"537":1}}],["fixed",{"2":{"403":2,"404":2}}],["fixing",{"2":{"2":1}}],["fill",{"2":{"572":1}}],["filters",{"2":{"364":1}}],["filter",{"0":{"280":1},"2":{"271":8,"277":4,"280":1}}],["file=",{"2":{"572":2}}],["filecoin",{"2":{"425":1}}],["file",{"0":{"515":1,"689":1,"690":1},"2":{"114":1,"115":2,"206":2,"211":1,"230":1,"231":2,"242":1,"247":1,"248":1,"272":9,"366":1,"381":1,"383":1,"386":5,"410":2,"500":1,"506":1,"508":1,"513":6,"514":2,"515":15,"522":1,"528":2,"530":3,"535":1,"544":2,"545":3,"557":6,"560":2,"563":5,"564":4,"569":1,"571":1,"572":1,"573":1,"580":1,"581":1,"593":1,"595":2,"607":1,"613":5,"643":1,"646":1,"647":1,"687":1,"688":2,"689":4,"690":2,"742":2,"744":2,"745":2,"746":1}}],["filesystem",{"2":{"659":1}}],["files",{"0":{"273":1,"384":1},"2":{"3":1,"76":1,"114":2,"115":2,"118":2,"230":2,"231":2,"234":2,"240":1,"319":1,"364":1,"384":1,"500":2,"528":2,"530":1,"544":2,"545":1,"557":2,"661":1,"689":4}}],["fields",{"2":{"149":1,"622":1}}],["field",{"2":{"148":1,"149":2,"153":1,"605":1,"644":2}}],["fide",{"2":{"45":1}}],["fine",{"2":{"436":1}}],["finished",{"2":{"114":2,"115":2,"230":2,"231":2,"386":2,"387":2,"746":1}}],["finger",{"2":{"59":1}}],["finality",{"2":{"178":1}}],["finalize",{"2":{"54":1,"267":1}}],["finally",{"2":{"159":1,"386":1,"403":1,"572":1}}],["final",{"2":{"54":1,"387":1,"433":3,"574":1,"576":2,"689":2}}],["financial",{"2":{"25":1,"45":1,"62":1}}],["finds",{"2":{"506":1,"539":1}}],["finding",{"2":{"5":1,"58":1,"62":1,"64":1,"66":2}}],["find",{"0":{"360":1,"362":1},"2":{"0":1,"4":1,"61":1,"62":1,"65":1,"78":1,"79":1,"82":1,"86":1,"109":1,"129":1,"134":2,"190":1,"204":1,"254":1,"292":1,"304":1,"305":1,"312":1,"317":1,"324":1,"325":1,"359":2,"476":1,"477":1,"530":1,"545":1,"554":1,"574":1,"591":1,"601":1,"604":1,"632":1,"659":1,"671":1,"677":1,"687":1,"688":1,"700":1,"716":2,"727":1,"739":1}}],["fontsize",{"2":{"250":4}}],["four",{"2":{"178":1,"407":1,"433":3,"563":1}}],["foundation",{"2":{"293":1,"446":1}}],["found",{"2":{"129":1,"133":1,"149":1,"150":1,"152":1,"153":2,"154":1,"169":1,"279":1,"297":1,"306":1,"329":1,"350":2,"378":1,"405":2,"442":1,"477":1,"496":1,"563":2,"622":3,"708":1}}],["foundry",{"2":{"86":1,"112":1,"113":1,"119":1,"123":1,"228":1,"229":1,"235":1,"238":1,"240":1,"241":2,"242":1,"247":2,"254":1}}],["founder",{"2":{"52":3}}],["folders",{"2":{"190":4,"271":1,"641":1}}],["folder",{"2":{"113":1,"229":1,"580":1}}],["followed",{"2":{"134":1}}],["follows",{"2":{"133":1,"147":1,"149":1,"150":1,"159":1,"279":1,"327":1,"539":1,"572":1,"709":1}}],["follow",{"2":{"12":1,"53":2,"56":1,"66":1,"98":1,"246":1,"270":1,"272":1,"300":1,"319":2,"359":2,"433":1,"461":1,"536":1,"537":1,"550":1,"552":1,"556":1,"573":1,"581":1,"611":1,"612":1,"624":1,"628":1,"631":1,"634":1,"636":1,"650":1,"651":1,"661":2,"667":1,"668":1,"673":1,"678":1,"679":1,"682":1,"703":1,"720":1}}],["following",{"2":{"1":1,"45":3,"49":1,"51":1,"59":1,"60":1,"70":1,"71":1,"72":1,"103":1,"108":3,"113":1,"114":2,"115":1,"123":1,"132":1,"147":1,"149":2,"152":1,"158":2,"159":1,"163":1,"171":1,"197":1,"213":1,"215":1,"216":1,"218":1,"223":1,"226":1,"229":1,"230":2,"231":1,"242":2,"244":1,"246":1,"247":1,"248":1,"250":1,"251":1,"252":1,"263":1,"264":1,"267":2,"268":1,"269":1,"271":1,"273":1,"275":1,"276":1,"298":2,"302":1,"318":1,"322":1,"325":4,"328":1,"329":1,"330":1,"331":1,"332":3,"333":3,"344":1,"345":2,"357":1,"358":1,"359":2,"374":1,"375":1,"376":1,"379":1,"380":1,"381":2,"383":1,"384":1,"386":2,"387":2,"393":2,"398":1,"399":1,"411":1,"430":1,"432":1,"433":1,"435":1,"479":1,"483":1,"484":3,"492":1,"501":1,"503":1,"504":1,"505":1,"515":1,"516":1,"522":2,"524":1,"526":1,"530":2,"534":4,"536":2,"539":1,"542":1,"545":2,"547":1,"548":1,"549":1,"553":1,"554":2,"563":1,"564":1,"565":1,"566":1,"567":1,"568":1,"569":1,"572":1,"582":1,"584":1,"585":1,"587":1,"591":1,"592":1,"593":2,"596":1,"601":1,"609":1,"610":1,"613":1,"615":1,"623":1,"624":1,"627":3,"632":1,"633":1,"636":2,"637":1,"656":1,"665":1,"666":1,"670":1,"671":2,"678":1,"680":1,"681":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":3,"690":2,"691":3,"692":1,"694":1,"695":1,"698":1,"700":3,"701":1,"709":1,"718":1,"728":1}}],["foster",{"2":{"70":1,"83":1}}],["fosters",{"2":{"61":1,"293":1}}],["fostering",{"2":{"59":1,"67":1}}],["focus",{"2":{"452":1,"471":1,"584":1}}],["focuses",{"2":{"308":1}}],["focused",{"2":{"60":2,"167":1,"471":1,"734":2}}],["focusing",{"2":{"8":2,"61":1}}],["foods",{"2":{"59":1}}],["food",{"2":{"59":2}}],["forward",{"2":{"742":1}}],["fortunately",{"2":{"572":1}}],["forth",{"2":{"41":1}}],["force",{"2":{"96":2}}],["forces",{"2":{"60":1}}],["forget",{"2":{"194":2}}],["forge",{"2":{"60":1,"86":2,"114":1,"115":2,"230":1,"231":2,"234":1,"242":3,"244":2,"254":2}}],["forest",{"2":{"435":1}}],["forever",{"2":{"423":1}}],["foreign",{"2":{"45":1}}],["foregoing",{"2":{"44":1}}],["formula",{"2":{"405":1}}],["formcontainerstyle",{"2":{"250":4}}],["former",{"2":{"434":1}}],["formerly",{"2":{"158":1}}],["formed",{"2":{"45":1}}],["formatting",{"0":{"327":1}}],["formattingbasic",{"2":{"314":1}}],["format",{"2":{"147":1,"148":1,"206":2,"217":1,"250":2,"327":1,"332":3,"333":1,"337":1,"340":1,"343":1,"519":1,"530":4,"560":1,"563":1}}],["formation",{"2":{"44":1}}],["formal",{"2":{"60":1}}],["form",{"0":{"71":1},"2":{"45":1,"46":1,"71":1,"447":1}}],["forms",{"2":{"43":1,"54":1,"55":1,"132":1}}],["forming",{"2":{"42":1}}],["forbes",{"2":{"28":2,"29":3,"52":1}}],["fork",{"2":{"2":3,"245":2,"406":1}}],["for",{"0":{"66":1,"129":1,"216":1,"217":1,"218":1,"219":1,"262":1,"281":1,"391":1,"417":1,"418":1,"431":1,"437":1,"451":1,"483":1,"569":1,"640":1,"688":1},"1":{"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"432":1,"438":1,"439":1,"484":1,"485":1,"486":1,"487":1,"488":1,"641":1,"642":1,"643":1,"644":1,"645":1,"646":1,"647":1},"2":{"0":1,"2":1,"3":4,"4":1,"5":2,"7":1,"8":3,"9":2,"11":1,"12":1,"14":2,"15":1,"17":1,"24":1,"25":1,"29":1,"33":1,"41":3,"42":6,"43":2,"44":4,"45":12,"46":2,"48":1,"50":1,"51":1,"52":2,"54":3,"55":1,"56":4,"57":1,"58":13,"59":6,"60":4,"61":6,"62":4,"63":2,"64":5,"65":8,"66":3,"67":2,"68":1,"70":2,"71":2,"74":1,"75":1,"78":2,"79":1,"81":3,"82":1,"83":1,"86":1,"102":5,"104":4,"108":2,"109":1,"111":1,"113":1,"114":1,"115":2,"117":1,"119":1,"124":1,"125":1,"127":1,"129":1,"131":1,"132":2,"133":12,"134":4,"135":3,"137":3,"141":2,"143":1,"144":1,"145":2,"146":2,"148":1,"149":1,"158":2,"159":1,"165":1,"167":1,"169":2,"170":2,"171":2,"177":2,"180":1,"181":2,"182":1,"184":1,"185":1,"186":3,"190":1,"192":1,"197":3,"201":2,"202":3,"204":1,"205":1,"206":5,"209":1,"210":1,"211":1,"212":2,"214":1,"215":1,"216":5,"222":5,"223":1,"224":2,"229":1,"230":1,"231":2,"235":1,"237":2,"238":1,"239":1,"240":3,"242":7,"246":1,"247":4,"248":2,"249":4,"250":4,"254":1,"263":1,"267":1,"269":2,"270":1,"271":2,"272":4,"273":2,"277":2,"279":1,"281":1,"283":2,"284":1,"285":2,"286":1,"290":1,"292":1,"293":3,"294":1,"295":2,"298":5,"299":2,"301":1,"306":1,"307":1,"309":1,"310":1,"312":1,"313":1,"317":1,"318":3,"319":3,"320":1,"322":2,"324":3,"325":5,"327":2,"328":1,"330":1,"331":1,"332":1,"333":2,"334":1,"336":1,"337":6,"345":1,"353":2,"354":1,"355":1,"359":1,"360":1,"361":1,"364":4,"365":1,"366":1,"367":1,"369":1,"370":1,"372":1,"373":5,"378":1,"379":1,"380":3,"381":2,"383":3,"385":1,"386":9,"388":2,"389":1,"390":2,"391":8,"392":2,"394":1,"395":1,"398":1,"399":1,"402":2,"403":3,"404":12,"405":4,"406":1,"410":4,"413":2,"414":1,"415":3,"416":4,"417":3,"419":1,"420":1,"421":1,"423":2,"424":2,"425":2,"426":1,"427":4,"428":3,"429":2,"430":7,"432":2,"433":4,"434":2,"435":3,"436":5,"442":2,"446":2,"447":2,"451":2,"452":1,"453":1,"457":1,"458":1,"459":2,"461":1,"465":1,"469":1,"470":1,"471":2,"475":1,"477":4,"481":1,"482":1,"484":1,"487":4,"491":1,"492":1,"494":1,"496":1,"499":1,"500":1,"502":3,"503":2,"504":2,"505":2,"506":3,"507":5,"508":5,"509":2,"510":1,"512":1,"513":4,"514":2,"515":3,"516":6,"517":1,"522":9,"524":1,"525":1,"526":1,"527":1,"528":2,"529":1,"530":8,"534":4,"535":3,"536":1,"539":10,"541":1,"542":1,"543":1,"544":1,"545":2,"548":3,"550":1,"552":1,"553":1,"554":6,"557":4,"560":2,"563":1,"570":2,"571":4,"572":1,"574":1,"575":1,"578":1,"580":2,"581":2,"582":3,"583":1,"584":3,"585":1,"586":2,"587":2,"589":1,"590":3,"591":3,"594":1,"595":1,"596":1,"601":4,"602":2,"605":1,"607":3,"608":1,"609":4,"613":3,"619":1,"620":1,"621":1,"622":1,"624":1,"627":3,"629":1,"630":1,"631":1,"632":1,"638":2,"642":1,"644":2,"646":2,"647":3,"649":1,"650":1,"651":3,"652":2,"653":2,"654":3,"655":1,"659":3,"660":1,"661":2,"662":1,"665":3,"667":1,"668":1,"671":11,"675":1,"676":2,"677":5,"678":1,"683":1,"684":3,"685":1,"687":2,"688":1,"689":1,"692":1,"694":1,"695":3,"699":8,"700":3,"705":2,"708":1,"709":1,"710":1,"716":6,"717":1,"718":1,"719":1,"720":3,"725":1,"727":1,"729":1,"730":1,"733":1,"734":1,"735":1,"740":1,"742":1,"745":1}}],["tb",{"2":{"548":1,"665":1}}],["tbd",{"2":{"283":1}}],["tty0",{"2":{"536":2}}],["ttypath=",{"2":{"536":2}}],["tls=false",{"2":{"586":2}}],["tls=true",{"2":{"585":2,"586":2}}],["tls=",{"2":{"585":2}}],["tls",{"0":{"586":1},"2":{"530":4,"532":4,"586":7}}],["tlsv1",{"2":{"93":2}}],["tmproto",{"2":{"410":6}}],["tm",{"2":{"283":1}}],["tcp",{"2":{"206":2,"222":2,"223":2,"338":6,"476":4,"522":2,"530":4,"582":2,"583":4,"591":1,"643":4,"745":2}}],["tj9wswcyhm0r0i8t+p3hpftdieuyr9wspvkl1r2s=",{"2":{"145":2}}],["txoption",{"2":{"410":2}}],["txtsudo",{"2":{"568":1}}],["txt",{"2":{"560":1,"568":5,"613":10}}],["txtcelestia",{"2":{"560":1}}],["txtnode",{"2":{"383":1}}],["txtvite",{"2":{"248":1}}],["txreceipt",{"2":{"364":2}}],["txdata",{"2":{"364":8}}],["txmgr",{"2":{"364":5}}],["txhashcelestia",{"2":{"343":1}}],["txhash",{"2":{"197":2,"343":1,"534":2,"629":3,"636":2}}],["tx",{"2":{"197":8,"204":4,"250":4,"271":10,"279":2,"360":2,"361":2,"402":1,"403":1,"408":2,"435":1,"534":4,"557":4,"562":6,"563":6,"564":2,"565":2,"566":4,"567":2,"576":10,"629":7,"636":6,"637":2,"646":4}}],["txsizecost",{"2":{"404":1}}],["txs",{"2":{"132":4,"135":6,"364":2,"557":2}}],["txcommitment",{"2":{"103":2}}],["ts",{"2":{"108":1,"355":1,"372":1}}],["tsx",{"2":{"88":2,"255":2}}],["ticketing",{"2":{"257":1}}],["title",{"2":{"242":24,"250":12,"563":6,"564":2}}],["tiny",{"2":{"226":1}}],["tia",{"0":{"258":1,"260":1,"263":1,"264":1,"265":1,"267":1,"268":1,"446":1,"448":1,"449":1,"450":1,"456":1},"1":{"259":1,"260":1,"261":2,"262":2,"263":2,"264":2,"265":1,"266":2,"267":2,"268":2,"447":1,"449":1,"450":1,"451":2,"452":2,"453":2,"454":2,"455":2,"456":2,"457":2,"458":2},"2":{"226":1,"258":3,"263":1,"298":6,"343":2,"441":1,"442":3,"444":1,"445":1,"446":1,"447":3,"449":2,"451":2,"452":1,"453":1,"454":1,"456":1,"457":2}}],["ti",{"2":{"222":2,"223":2}}],["tips",{"2":{"357":1,"389":1}}],["tip",{"2":{"87":1,"98":1,"99":1,"197":2,"212":1,"216":1,"222":1,"270":1,"290":1,"317":1,"323":1,"324":1,"325":1,"331":1,"361":2,"380":1,"487":1,"554":1,"589":1,"593":2,"613":1,"624":1,"632":1,"671":1,"692":1,"699":1,"716":1}}],["timing",{"2":{"83":1,"406":1}}],["timeout",{"2":{"108":2,"197":2,"271":4,"373":2,"410":2}}],["timeseries",{"2":{"572":2}}],["timestamp",{"2":{"197":3,"340":2,"360":2,"442":1,"534":2,"629":2,"636":2}}],["times",{"2":{"45":1,"427":1,"675":1,"734":1}}],["time",{"2":{"14":1,"15":1,"42":2,"45":2,"50":1,"54":1,"63":1,"114":1,"137":1,"179":1,"190":1,"197":2,"198":4,"205":1,"230":1,"238":1,"271":4,"273":1,"288":1,"340":2,"366":1,"387":1,"395":1,"403":1,"406":2,"410":2,"420":1,"435":1,"442":1,"534":1,"572":2,"597":1,"676":1,"742":1,"746":1}}],["tier",{"2":{"83":1}}],["twitch",{"2":{"64":1}}],["twitter",{"2":{"63":2,"64":1}}],["two",{"2":{"63":1,"114":1,"115":1,"146":2,"154":1,"159":1,"162":1,"169":1,"178":1,"230":1,"231":1,"269":1,"276":1,"295":1,"307":1,"364":1,"395":1,"400":1,"426":1,"430":1,"435":1,"438":1,"513":1,"527":1,"535":1,"543":1,"547":1,"563":1,"621":1,"622":1,"676":1,"677":2,"701":1,"734":1,"739":1}}],["t",{"0":{"423":1},"2":{"53":1,"58":1,"61":1,"63":1,"64":3,"98":2,"115":3,"137":1,"143":1,"148":1,"149":1,"150":1,"152":1,"153":1,"158":1,"179":1,"180":1,"181":2,"190":4,"202":1,"204":1,"231":3,"242":1,"270":1,"274":1,"298":2,"312":2,"328":1,"350":1,"399":1,"410":2,"417":1,"418":2,"423":2,"516":2,"517":1,"522":1,"524":1,"533":1,"534":1,"537":1,"539":1,"597":1,"643":1,"646":1,"663":1,"709":1,"734":1,"739":1}}],["tasked",{"2":{"418":1}}],["tasks",{"2":{"41":1,"319":1,"433":1,"661":1}}],["tab=staking",{"2":{"398":1}}],["table",{"0":{"291":1},"2":{"314":1,"446":1,"447":1,"477":1,"489":1,"522":6,"539":6}}],["tables",{"2":{"242":2}}],["tab",{"2":{"216":1}}],["taking",{"2":{"149":1,"150":1,"153":1,"621":1}}],["taken",{"2":{"151":1}}],["takes",{"2":{"115":1,"145":1,"146":1,"147":1,"231":1,"332":1,"386":1,"512":1,"514":1,"515":1,"517":1,"519":1}}],["takeaways",{"2":{"56":1}}],["take",{"2":{"9":1,"71":1,"114":1,"129":1,"132":1,"148":1,"152":2,"205":1,"230":1,"245":2,"427":1,"432":1,"436":1,"530":1,"545":1,"590":1,"607":1,"622":1}}],["targets",{"2":{"572":6}}],["targetnumberofpeers=1",{"2":{"522":6,"539":6}}],["target",{"2":{"96":2,"159":3,"250":4,"442":1,"484":1,"536":4,"538":2,"539":2,"543":1,"545":4,"557":2,"595":1,"742":4,"744":4,"745":4,"746":4}}],["tar",{"2":{"92":2,"94":8,"319":4,"320":32,"623":12,"661":4,"662":32}}],["tag",{"2":{"63":1,"222":2,"322":6,"580":12,"596":6,"653":6,"655":6,"656":6}}],["tags",{"2":{"54":1,"322":6,"354":2,"580":6,"596":6}}],["talented",{"2":{"61":1}}],["talks",{"2":{"58":1,"61":1,"64":1,"66":5}}],["talk",{"2":{"58":1,"61":1}}],["tailored",{"2":{"71":1,"83":1}}],["tailor",{"2":{"60":1,"62":1,"66":1}}],["tax",{"2":{"43":6,"45":2}}],["taxes",{"0":{"43":1},"2":{"42":1,"43":1}}],["tuning",{"2":{"436":1}}],["tuples",{"2":{"160":1}}],["tuple",{"2":{"125":10,"126":1,"134":1,"135":1,"145":3,"147":14,"153":16,"157":1,"160":1,"161":1}}],["tuplerootnonce",{"2":{"103":2,"147":2,"153":5}}],["tutorial",{"0":{"311":1,"313":1,"314":1},"1":{"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1},"2":{"106":1,"111":1,"113":1,"120":1,"186":1,"201":2,"205":1,"210":1,"213":3,"227":1,"229":1,"236":1,"238":1,"239":1,"240":1,"246":3,"253":1,"254":1,"258":1,"271":1,"285":1,"297":1,"311":1,"313":1,"314":1,"319":1,"326":1,"348":1,"349":1,"378":3,"380":1,"388":2,"409":1,"546":1,"549":1,"550":1,"552":1,"556":1,"579":1,"580":1,"584":5,"596":2,"597":1,"610":1,"612":1,"624":1,"627":1,"628":1,"631":1,"634":1,"636":1,"649":1,"650":1,"653":1,"663":1,"666":1,"667":1,"668":1,"673":1,"693":1,"696":1,"703":1,"704":1,"731":1}}],["tutorials",{"0":{"393":1},"2":{"0":1,"3":1,"50":2,"393":2,"394":1,"483":1,"731":1}}],["turned",{"2":{"618":1}}],["turn",{"2":{"66":1}}],["tuesday",{"2":{"28":1,"29":1,"33":1,"34":1}}],["tr",{"2":{"613":10,"623":6}}],["trying",{"2":{"350":1,"532":1,"595":1}}],["try",{"2":{"244":1,"280":1,"298":3,"327":1,"350":1,"370":1}}],["tries",{"2":{"436":1}}],["trigger",{"2":{"365":1}}],["triggers",{"2":{"365":1}}],["triggering",{"2":{"365":1}}],["triggered",{"2":{"237":3,"534":1}}],["tripods",{"2":{"58":1}}],["true",{"2":{"125":2,"242":6,"249":4,"271":10,"333":1,"571":4,"582":2,"586":1,"591":2,"604":1,"605":1,"647":1}}],["trusts",{"2":{"607":1}}],["trustedpeers",{"2":{"607":1}}],["trustedpeer",{"0":{"607":1}}],["trustedhash",{"0":{"607":1},"2":{"607":1}}],["trusted",{"2":{"74":1,"271":4,"547":2,"607":5,"622":2}}],["trust",{"2":{"63":1,"271":4,"426":1,"436":1,"622":4}}],["trees",{"0":{"430":1},"2":{"317":1,"426":1,"430":1}}],["tree",{"2":{"125":2,"126":1,"149":6,"152":6,"430":2,"432":2,"435":1}}],["treated",{"2":{"44":1,"403":1}}],["troubles",{"2":{"716":1}}],["troubleshooting",{"0":{"350":1,"588":1,"659":1},"1":{"589":1,"590":1,"591":1,"592":1,"593":1,"594":1,"595":1},"2":{"78":1,"212":1,"216":1,"222":2,"324":1,"325":1,"380":1,"553":1,"554":1,"598":1,"624":1,"632":1,"653":1,"671":2,"692":1,"699":2}}],["trolling",{"2":{"8":1}}],["trace|debug|info|warn|error|fatal|panic",{"2":{"530":2}}],["trackers",{"2":{"573":1}}],["track",{"2":{"54":1,"134":1,"160":1,"380":1,"585":1}}],["traditional",{"2":{"169":1,"295":1,"433":1}}],["traders",{"2":{"25":1}}],["transport",{"0":{"532":1},"2":{"532":2}}],["transparent",{"2":{"25":1}}],["transform",{"2":{"250":2}}],["transferred",{"2":{"279":1}}],["transferring",{"2":{"45":1}}],["transferhermes",{"2":{"276":1}}],["transferownership",{"2":{"242":2}}],["transfers",{"2":{"242":2}}],["transfer",{"0":{"279":1,"343":1},"1":{"280":1},"2":{"45":6,"87":1,"254":1,"269":1,"271":4,"276":7,"277":4,"279":6,"280":1,"343":7,"447":1,"562":1}}],["transitions",{"2":{"137":1,"433":1}}],["transact",{"2":{"104":1,"237":1,"398":1}}],["transactionindex",{"2":{"119":2,"235":2,"361":2}}],["transactionhash",{"2":{"119":2,"235":2}}],["transactions",{"0":{"406":1,"438":1,"618":1},"2":{"44":2,"45":2,"104":1,"134":1,"137":1,"141":1,"171":1,"178":2,"180":1,"226":1,"237":1,"245":1,"246":1,"247":1,"283":1,"284":1,"294":1,"301":1,"302":1,"316":1,"325":1,"360":3,"364":4,"378":1,"392":2,"395":3,"400":2,"401":2,"406":1,"410":4,"413":1,"420":1,"426":1,"427":1,"428":1,"432":1,"433":6,"434":1,"435":6,"436":2,"438":2,"439":2,"451":1,"457":1,"462":1,"466":1,"477":1,"543":1,"545":1,"554":1,"557":2,"577":1,"608":1,"618":1,"646":5,"647":1,"671":2,"699":1,"700":1,"704":1,"716":1,"722":1,"726":1,"747":3,"748":1,"749":2}}],["transaction",{"0":{"146":1,"360":1,"361":1,"435":1,"616":1,"646":1,"688":1,"747":1},"1":{"436":1,"748":1,"749":1},"2":{"44":1,"45":2,"109":2,"118":2,"134":1,"137":1,"146":3,"148":1,"149":1,"157":1,"178":2,"180":2,"181":1,"186":1,"197":3,"204":1,"206":2,"234":2,"237":1,"263":1,"264":1,"267":2,"268":1,"332":3,"333":3,"334":1,"343":1,"360":4,"361":2,"364":5,"365":3,"386":2,"387":1,"388":1,"400":1,"402":2,"403":3,"404":10,"405":1,"406":8,"410":14,"413":2,"414":3,"415":1,"419":3,"420":3,"421":2,"422":2,"424":2,"425":2,"426":1,"433":1,"435":3,"438":4,"439":2,"501":1,"534":1,"575":1,"576":4,"608":1,"615":1,"618":1,"636":3,"688":1,"709":4,"748":2}}],["translations",{"2":{"17":2}}],["tee",{"2":{"742":2,"744":2,"745":2,"746":2}}],["territories",{"2":{"706":1}}],["terminal",{"2":{"86":2,"87":2,"254":4,"319":1,"359":1,"581":2,"674":1,"698":1}}],["termination",{"2":{"45":1}}],["term",{"2":{"39":1,"45":1,"442":1}}],["terms",{"0":{"41":1,"42":1},"1":{"42":1,"43":1,"44":1,"45":1},"2":{"14":1,"15":1,"41":15,"42":1,"44":2,"45":7}}],["temp",{"2":{"581":1}}],["template",{"2":{"366":1}}],["temporary",{"0":{"15":1},"2":{"14":1,"15":1,"104":1,"192":1,"237":1}}],["textrpc",{"2":{"532":1}}],["texti",{"2":{"522":1,"539":1}}],["textarea",{"2":{"250":2}}],["textalign",{"2":{"250":4}}],["text$request",{"2":{"212":1,"325":1,"479":1,"728":1}}],["text",{"2":{"206":2,"250":2,"332":2,"333":1,"509":1,"536":1,"563":1,"564":1,"690":1}}],["text|json",{"2":{"206":2}}],["tendermint",{"2":{"108":4,"206":2,"270":2,"276":8,"283":2,"284":1,"285":1,"287":1,"288":2,"297":1,"340":4,"392":1,"410":6,"432":6,"547":1,"557":8,"569":2,"636":2,"641":2,"683":2,"691":2}}],["testtia",{"2":{"686":1}}],["testkey",{"2":{"685":1}}],["test3",{"2":{"576":4}}],["test2sig",{"2":{"576":4}}],["test2",{"2":{"576":8}}],["test1sig",{"2":{"576":4}}],["test1",{"2":{"576":8}}],["tested",{"2":{"244":1,"246":1,"286":1,"290":1,"366":1}}],["testonlyowner",{"2":{"242":2}}],["testfetchposts",{"2":{"242":2}}],["testforge",{"2":{"115":1,"231":1}}],["testupdatepost",{"2":{"242":2}}],["testcreatepost",{"2":{"242":2}}],["testcelestia",{"2":{"202":1,"211":1,"558":1}}],["teststaking",{"2":{"688":1}}],["tests",{"0":{"242":1},"2":{"115":4,"231":4,"243":1}}],["testsetnumber",{"2":{"115":6,"231":6}}],["testincrement",{"2":{"115":6,"231":6}}],["testing",{"0":{"252":1,"365":1},"2":{"111":1,"115":1,"117":1,"173":1,"231":1,"365":1,"471":3,"472":1,"676":1,"705":1,"733":1}}],["test",{"0":{"115":1,"231":1,"243":1},"2":{"98":2,"99":2,"108":3,"109":4,"115":14,"118":1,"149":1,"150":1,"152":1,"153":1,"170":2,"183":1,"192":1,"202":1,"206":2,"211":1,"216":6,"217":6,"218":6,"222":4,"223":4,"231":14,"233":2,"242":7,"243":2,"244":1,"245":2,"246":3,"251":1,"252":3,"253":1,"271":4,"273":1,"296":1,"298":1,"325":4,"368":1,"373":2,"380":3,"384":8,"554":3,"555":1,"558":1,"572":1,"576":6,"671":3,"672":1,"678":2,"685":1,"686":1,"688":1,"700":4,"702":1,"720":2,"734":1,"737":1,"739":1}}],["testnode",{"2":{"98":2,"99":1,"108":6}}],["testnetwork",{"2":{"678":1}}],["testnets",{"0":{"734":1},"2":{"41":1,"163":1,"181":1,"184":1,"185":1,"226":1,"272":1,"298":2,"676":2,"734":1}}],["testnet",{"0":{"41":1,"106":1,"168":1,"227":1,"254":1,"301":1,"303":1,"399":1,"682":1,"701":1,"720":1,"728":1},"1":{"42":1,"43":1,"44":1,"45":1,"107":1,"108":1,"109":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"255":1,"256":1,"257":1,"304":1,"305":1,"306":1,"683":1,"684":1,"685":1,"686":1,"687":1,"688":1,"689":1,"690":1,"691":1,"692":1,"721":1,"722":1,"723":1,"724":1,"725":1,"726":1,"727":1,"728":1,"729":1,"730":1},"2":{"41":5,"52":1,"100":1,"106":1,"107":2,"108":1,"109":2,"163":4,"168":1,"169":3,"170":1,"171":1,"173":3,"174":1,"176":3,"183":1,"184":1,"186":1,"192":1,"200":1,"201":2,"204":1,"208":1,"222":1,"224":1,"226":5,"227":1,"228":1,"236":1,"239":1,"245":1,"249":4,"254":2,"269":2,"271":11,"272":3,"274":1,"275":6,"276":8,"277":3,"291":3,"296":2,"298":2,"299":1,"301":2,"303":1,"304":1,"305":1,"322":1,"324":1,"325":2,"350":2,"396":3,"399":4,"446":1,"471":3,"472":1,"522":1,"553":1,"554":4,"613":1,"632":1,"671":4,"676":1,"677":1,"678":1,"682":2,"684":1,"687":2,"692":1,"699":1,"700":1,"701":2,"720":1,"722":1,"723":3,"725":3,"726":3,"728":1,"729":4,"734":2,"739":1}}],["tell",{"2":{"66":1}}],["telegram",{"2":{"50":1,"63":2,"470":1,"482":1,"574":1,"719":1,"730":1,"735":1}}],["television",{"2":{"45":1}}],["telemetry",{"2":{"44":1,"271":6}}],["tech",{"2":{"60":2,"62":1,"102":1}}],["technologies",{"2":{"66":1,"77":1,"180":1,"706":1}}],["technology",{"2":{"8":1,"60":1,"294":1,"378":1}}],["technical",{"2":{"3":1,"42":1,"54":1,"66":1}}],["team",{"0":{"40":1},"2":{"50":1,"52":2,"54":1,"59":1,"61":1,"63":1,"70":1,"547":1,"675":1,"676":1}}],["teach",{"2":{"25":1,"27":1,"29":1,"326":1}}],["typically",{"2":{"165":1,"456":1}}],["typical",{"2":{"134":1,"178":1,"288":2}}],["type=$node",{"2":{"653":6,"655":6,"656":6}}],["type=full",{"2":{"653":1}}],["type=fullexport",{"2":{"653":1}}],["type=bridge",{"2":{"653":1}}],["type=bridgeexport",{"2":{"653":1}}],["type=simple",{"2":{"536":2}}],["type=spanbatch",{"2":{"366":1}}],["type=1",{"2":{"366":1}}],["type=lightexport",{"2":{"653":1}}],["type=light",{"2":{"108":2,"222":2,"223":2,"373":2,"653":1}}],["type",{"0":{"368":1},"1":{"369":1,"370":1,"371":1},"2":{"103":1,"115":1,"119":2,"132":8,"133":7,"149":2,"151":1,"152":2,"194":4,"195":8,"197":2,"198":3,"199":5,"214":1,"216":7,"217":6,"218":6,"222":2,"223":6,"226":1,"231":1,"235":2,"271":12,"302":1,"325":4,"329":4,"340":4,"366":2,"380":2,"395":1,"414":2,"461":4,"475":1,"476":2,"477":2,"489":1,"534":4,"554":2,"563":4,"583":2,"585":4,"586":4,"589":4,"592":12,"593":4,"594":2,"595":4,"597":1,"601":1,"653":13,"655":8,"656":8,"671":2,"700":4,"710":2,"716":2,"720":4,"731":1}}],["typescript",{"2":{"33":1,"355":1,"372":1}}],["types",{"2":{"3":1,"60":1,"180":1,"323":1,"364":2,"405":2,"410":4,"424":1,"475":1,"476":1,"477":1,"582":1,"591":1,"597":1,"659":1,"710":1,"716":1,"737":1}}],["typography",{"2":{"76":1}}],["typos",{"2":{"2":1}}],["thus",{"2":{"165":1,"429":1,"433":3,"435":2,"487":1,"506":1,"508":1,"516":1,"538":1}}],["thursday",{"2":{"26":1,"33":1}}],["thought",{"2":{"132":2}}],["though",{"2":{"51":1,"433":1,"435":1}}],["those",{"2":{"8":1,"14":1,"15":1,"57":1,"58":1,"64":3,"67":1,"132":1,"133":1,"178":1,"283":1,"287":1,"298":1,"393":1,"395":2,"422":1,"424":1,"427":1,"461":1,"506":1,"563":1,"675":1,"676":3,"677":2,"689":1,"720":1}}],["think",{"2":{"132":1}}],["thinking",{"2":{"49":1}}],["things",{"0":{"425":1},"2":{"45":1,"88":1,"249":1,"255":1,"332":1,"368":1,"386":1}}],["thirdweb",{"2":{"176":1,"396":1}}],["third",{"2":{"42":10,"44":5,"45":1,"281":1,"534":1,"623":1}}],["this",{"0":{"422":1},"2":{"1":1,"2":2,"4":1,"9":1,"10":1,"12":1,"14":1,"15":1,"17":2,"21":1,"25":1,"27":1,"29":2,"44":2,"48":3,"60":2,"61":3,"62":2,"63":1,"64":2,"65":1,"66":7,"67":1,"68":1,"70":1,"71":1,"73":1,"74":2,"75":2,"77":1,"78":2,"79":2,"81":1,"82":1,"83":1,"87":2,"88":1,"90":1,"95":2,"103":4,"104":4,"106":2,"108":3,"109":1,"111":1,"113":1,"114":1,"115":3,"129":5,"131":4,"132":8,"133":6,"134":3,"135":3,"137":1,"145":2,"146":2,"148":3,"149":2,"153":2,"158":1,"159":1,"161":2,"165":1,"169":5,"173":1,"177":2,"180":1,"181":1,"186":2,"190":2,"192":1,"194":2,"197":1,"201":2,"205":1,"206":5,"209":1,"210":1,"211":1,"212":1,"213":3,"215":1,"216":1,"222":1,"223":3,"224":2,"227":1,"229":1,"230":1,"231":3,"237":2,"238":3,"239":1,"242":3,"244":1,"245":1,"250":4,"253":1,"254":2,"255":1,"257":2,"258":2,"261":1,"269":2,"271":1,"274":2,"276":2,"281":1,"283":1,"285":2,"287":1,"288":1,"290":2,"292":1,"293":2,"295":5,"296":2,"297":2,"298":5,"299":2,"314":1,"317":1,"319":4,"322":3,"323":1,"324":2,"326":1,"327":1,"330":1,"331":2,"332":1,"333":3,"338":1,"339":1,"340":2,"343":1,"346":1,"351":1,"356":1,"360":1,"364":3,"365":2,"366":2,"369":1,"370":4,"373":3,"378":3,"380":1,"381":1,"384":1,"388":2,"389":1,"391":4,"394":1,"402":1,"403":3,"404":3,"405":3,"406":4,"410":10,"413":1,"414":1,"415":1,"416":1,"417":2,"425":1,"428":2,"429":2,"430":2,"432":1,"433":4,"434":1,"435":2,"436":2,"439":1,"447":1,"452":1,"457":1,"459":1,"461":2,"465":1,"467":1,"475":1,"477":1,"478":1,"483":1,"484":1,"488":1,"493":1,"500":3,"508":1,"510":2,"522":1,"524":1,"528":2,"530":2,"532":2,"533":1,"534":3,"538":1,"539":1,"544":2,"546":1,"547":2,"554":1,"563":3,"568":2,"572":7,"573":1,"576":4,"579":1,"580":1,"581":1,"583":2,"584":3,"586":2,"587":2,"589":2,"592":2,"593":1,"594":1,"596":5,"602":2,"605":2,"608":1,"609":1,"613":1,"615":1,"617":2,"619":1,"620":3,"621":1,"622":2,"630":1,"635":1,"636":1,"637":2,"641":1,"642":1,"643":2,"644":1,"646":7,"647":3,"649":1,"650":1,"651":2,"654":4,"655":1,"659":1,"660":2,"661":2,"663":1,"674":1,"675":1,"677":3,"678":2,"682":1,"684":1,"685":2,"688":1,"689":5,"693":1,"694":1,"696":1,"699":1,"704":1,"705":1,"706":1,"709":1,"710":1,"716":1,"720":2,"725":1,"728":1,"731":3,"733":1,"736":1,"739":1,"745":1,"747":1,"748":1}}],["thank",{"2":{"62":1}}],["thanks",{"2":{"57":1}}],["thanking",{"2":{"56":1}}],["than",{"2":{"42":1,"45":2,"87":1,"160":1,"167":1,"169":1,"178":1,"204":1,"216":1,"254":1,"288":1,"295":1,"390":1,"391":1,"401":1,"422":1,"442":2,"487":1,"534":1,"539":2,"571":2,"592":1,"709":1}}],["that",{"0":{"417":1},"2":{"7":1,"8":1,"9":2,"19":1,"29":1,"33":2,"41":2,"42":9,"43":3,"44":1,"45":21,"48":2,"51":1,"53":1,"54":1,"55":1,"58":2,"59":1,"60":1,"62":1,"66":1,"71":2,"83":3,"87":2,"89":1,"98":1,"99":1,"102":3,"103":3,"108":1,"115":3,"124":1,"125":4,"127":2,"128":1,"129":13,"131":2,"132":18,"133":18,"134":4,"135":2,"137":6,"145":1,"146":2,"147":13,"148":2,"151":1,"153":7,"157":2,"158":1,"159":3,"166":1,"169":2,"170":1,"171":1,"176":1,"178":2,"179":1,"180":3,"181":3,"182":1,"183":1,"187":1,"190":1,"192":2,"198":2,"201":1,"204":1,"206":1,"212":1,"213":1,"214":1,"216":3,"222":1,"225":1,"226":1,"231":3,"234":1,"237":1,"239":3,"244":1,"245":1,"246":2,"247":2,"248":1,"249":1,"250":2,"252":2,"253":1,"254":2,"256":1,"258":1,"267":1,"269":2,"270":2,"272":3,"274":2,"276":1,"277":1,"283":1,"285":1,"287":1,"288":4,"294":1,"295":1,"296":1,"297":2,"298":4,"300":2,"301":1,"302":1,"319":1,"320":1,"322":1,"324":1,"325":1,"327":5,"328":1,"329":1,"333":1,"343":1,"350":1,"360":1,"364":3,"365":2,"366":1,"370":1,"378":2,"380":1,"383":1,"385":1,"386":8,"387":3,"388":1,"389":5,"390":2,"391":2,"392":1,"393":1,"394":1,"395":2,"401":1,"402":3,"403":1,"404":5,"406":2,"410":6,"413":4,"415":1,"416":1,"417":8,"418":2,"420":1,"421":1,"422":1,"423":1,"424":6,"425":1,"426":2,"427":3,"428":2,"429":1,"430":6,"432":4,"433":9,"434":4,"435":5,"436":4,"439":1,"447":1,"452":1,"456":1,"464":2,"471":2,"477":1,"484":2,"495":1,"496":1,"497":1,"500":2,"506":1,"510":2,"515":1,"516":2,"517":3,"519":1,"522":1,"528":3,"530":6,"532":2,"533":6,"534":6,"535":1,"536":1,"539":2,"544":3,"545":4,"547":1,"553":1,"554":1,"556":1,"563":5,"564":2,"572":5,"575":1,"578":2,"581":1,"582":4,"583":1,"585":1,"587":1,"591":4,"593":2,"595":1,"596":1,"597":1,"600":1,"607":1,"609":1,"613":2,"619":1,"621":1,"629":1,"634":1,"635":1,"636":3,"647":1,"648":1,"650":1,"651":2,"654":1,"661":1,"662":1,"663":1,"664":1,"671":2,"673":1,"675":1,"677":1,"689":1,"691":2,"694":1,"698":1,"700":1,"705":1,"706":1,"709":3,"716":1,"720":1,"724":2,"734":1,"738":1,"739":1,"742":1}}],["thread",{"2":{"416":1}}],["threatening",{"2":{"9":1}}],["threshold",{"2":{"271":4,"402":1,"575":1,"576":2}}],["three",{"2":{"46":1,"162":1,"334":1,"430":2,"433":1}}],["throughout",{"2":{"45":1,"70":1,"378":1}}],["throughput",{"2":{"25":1,"102":2,"158":1,"167":1,"428":1,"433":2,"483":1}}],["through",{"2":{"14":1,"44":1,"45":1,"56":1,"63":1,"210":1,"279":1,"295":1,"378":1,"397":1,"403":1,"404":1,"454":1,"530":1,"571":1,"572":1,"579":1,"592":1,"629":1,"663":1,"693":1,"731":1,"744":1,"745":1,"748":1}}],["theta",{"2":{"271":9,"272":2,"274":1,"275":6,"276":8,"277":3}}],["then",{"2":{"115":1,"131":2,"132":1,"134":2,"137":1,"145":1,"146":3,"148":1,"149":2,"150":1,"152":1,"159":4,"169":2,"218":1,"226":1,"231":1,"245":2,"246":1,"250":4,"251":1,"267":1,"295":2,"302":1,"319":2,"330":1,"333":1,"343":1,"350":1,"358":1,"380":1,"386":3,"387":1,"388":1,"395":1,"403":2,"404":1,"405":1,"406":1,"410":2,"413":1,"427":2,"436":3,"438":1,"439":1,"501":1,"510":1,"514":1,"522":2,"528":1,"529":1,"530":3,"534":2,"535":2,"537":1,"539":1,"545":1,"560":2,"563":2,"569":3,"572":3,"583":1,"587":2,"592":1,"593":1,"595":1,"604":1,"622":1,"661":2,"689":1}}],["there",{"0":{"424":1},"2":{"49":1,"60":1,"63":1,"68":1,"114":1,"115":1,"137":1,"158":1,"173":1,"178":1,"179":1,"180":1,"230":1,"231":1,"257":1,"269":1,"285":1,"295":1,"307":1,"324":1,"332":1,"402":1,"417":1,"418":2,"423":1,"424":1,"427":1,"428":1,"433":1,"467":1,"469":1,"478":1,"481":1,"500":1,"516":1,"521":1,"528":1,"544":1,"563":3,"590":1,"621":1,"709":2,"717":1,"728":1,"729":1,"731":1}}],["therefore",{"2":{"133":1,"390":1,"392":1,"410":2,"413":1,"428":1,"472":1}}],["therefor",{"2":{"45":1}}],["therefrom",{"2":{"45":1}}],["thereof",{"2":{"45":2}}],["thereto",{"2":{"42":1,"45":2}}],["these",{"2":{"12":1,"14":1,"15":1,"41":7,"44":2,"45":9,"52":1,"53":1,"57":1,"58":1,"59":1,"63":1,"68":1,"98":1,"129":2,"132":1,"133":2,"145":1,"146":2,"149":1,"151":1,"152":1,"159":1,"162":1,"178":1,"180":1,"204":1,"238":2,"257":1,"269":1,"282":1,"288":1,"319":2,"328":2,"334":1,"364":2,"391":1,"403":2,"405":1,"427":1,"433":2,"435":2,"464":1,"476":1,"485":1,"521":1,"527":1,"543":1,"564":1,"572":2,"581":1,"583":1,"622":1,"636":1,"645":1,"647":1,"659":1,"661":2,"682":1,"708":1,"709":1,"716":2,"724":1}}],["they",{"2":{"8":1,"9":1,"12":1,"41":1,"42":2,"45":2,"50":1,"58":1,"62":4,"63":2,"64":1,"65":1,"83":1,"137":1,"145":1,"146":1,"152":1,"171":1,"178":1,"179":1,"181":1,"274":1,"286":1,"298":2,"327":1,"391":1,"395":2,"402":1,"404":1,"406":3,"415":2,"417":2,"418":1,"424":1,"425":2,"428":1,"433":1,"472":1,"516":1,"534":1,"535":1,"539":1,"564":1,"675":1,"688":1,"689":1,"691":1,"694":2,"716":1,"727":1,"734":1,"747":1,"749":1}}],["their",{"2":{"8":1,"42":1,"45":1,"46":1,"54":1,"56":1,"58":2,"60":2,"61":2,"62":6,"63":3,"64":2,"65":2,"66":1,"71":1,"83":1,"131":1,"161":1,"168":1,"169":1,"170":1,"177":1,"179":2,"180":2,"181":3,"185":1,"225":1,"238":1,"242":2,"249":1,"289":1,"293":1,"294":1,"295":1,"297":1,"300":1,"308":1,"310":1,"314":1,"317":1,"370":1,"389":1,"391":4,"402":1,"406":1,"420":1,"424":1,"433":1,"434":2,"444":1,"452":3,"453":2,"471":1,"472":1,"477":1,"535":1,"572":2,"587":1,"618":1,"622":1,"675":1,"676":2,"687":1,"689":3,"716":1,"720":2,"734":1,"749":1}}],["theme",{"2":{"61":2}}],["them",{"2":{"2":1,"45":1,"56":1,"58":1,"62":4,"63":1,"64":3,"65":3,"128":1,"144":1,"149":3,"151":1,"152":2,"157":1,"169":1,"178":1,"242":2,"294":1,"295":1,"312":1,"317":1,"388":1,"392":1,"426":1,"441":1,"461":1,"464":1,"475":1,"484":1,"489":1,"512":1,"516":2,"528":1,"529":1,"538":1,"539":1,"544":1,"591":1,"593":1,"622":1,"688":1,"689":1,"710":1,"720":1,"724":1}}],["the",{"0":{"1":1,"30":1,"54":1,"55":1,"56":1,"87":1,"88":1,"89":1,"97":1,"128":1,"137":1,"144":1,"147":2,"155":1,"156":1,"169":1,"188":1,"189":1,"190":1,"191":2,"198":1,"199":1,"200":2,"214":1,"242":1,"243":1,"244":1,"246":1,"247":1,"249":1,"255":1,"256":1,"278":1,"290":1,"291":1,"293":1,"334":1,"337":1,"357":2,"361":1,"362":1,"365":1,"372":1,"373":1,"374":2,"375":1,"376":1,"383":1,"387":1,"406":1,"408":1,"409":1,"410":1,"414":1,"417":1,"420":1,"421":1,"435":1,"484":1,"491":1,"492":1,"494":1,"495":1,"497":1,"499":1,"501":1,"525":1,"526":1,"529":1,"530":1,"535":1,"537":1,"541":1,"542":1,"545":1,"550":1,"551":1,"553":1,"554":1,"555":1,"556":1,"567":1,"592":1,"594":1,"595":2,"611":1,"613":1,"624":1,"630":1,"632":1,"633":1,"634":1,"636":1,"645":1,"655":1,"656":1,"667":1,"669":1,"670":1,"671":1,"672":1,"673":1,"674":1,"688":1,"689":1,"692":1,"698":1,"699":1,"702":1,"732":1,"742":1},"1":{"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"145":1,"146":1,"148":2,"149":2,"150":2,"151":2,"152":2,"153":2,"189":1,"190":1,"191":1,"192":1,"215":1,"216":1,"217":1,"218":1,"219":1,"248":1,"291":1,"384":1,"385":1,"386":1,"387":1,"436":1,"485":1,"486":1,"487":1,"488":1,"496":1,"498":1,"499":1,"500":1,"501":1,"536":1,"537":1,"552":1,"553":1,"554":1,"555":2,"556":1,"631":1,"632":1,"633":1,"634":1,"635":1,"670":1,"671":1,"699":1,"700":1,"701":1,"702":1,"703":1,"733":1,"734":1,"735":1},"2":{"0":2,"1":2,"2":3,"3":2,"4":2,"5":4,"8":4,"9":1,"10":1,"11":3,"12":1,"13":4,"14":2,"15":3,"16":1,"17":2,"21":3,"24":1,"25":2,"29":3,"31":2,"33":3,"41":24,"42":25,"43":7,"44":15,"45":105,"46":6,"48":7,"49":5,"51":3,"52":5,"53":1,"54":8,"55":4,"56":6,"57":2,"58":12,"59":4,"60":13,"61":15,"62":14,"63":9,"64":8,"65":7,"66":15,"67":2,"68":5,"70":5,"71":5,"72":2,"73":1,"74":2,"75":3,"77":4,"78":3,"79":3,"80":4,"81":1,"82":2,"83":15,"84":1,"86":12,"87":9,"88":7,"97":4,"98":12,"99":1,"100":1,"102":11,"103":9,"104":17,"105":1,"108":8,"109":3,"111":3,"113":2,"114":10,"115":27,"117":3,"118":4,"119":7,"123":1,"124":3,"125":7,"126":2,"127":4,"128":4,"129":34,"131":2,"132":54,"133":37,"134":25,"135":17,"137":34,"139":1,"140":2,"141":4,"143":2,"144":1,"145":15,"146":18,"147":58,"148":8,"149":50,"150":11,"151":11,"152":26,"153":47,"154":7,"157":6,"158":6,"159":24,"160":9,"161":7,"162":2,"163":3,"165":1,"166":4,"167":3,"169":20,"171":4,"173":4,"174":1,"175":1,"176":1,"177":4,"178":4,"179":6,"180":5,"181":6,"186":2,"187":1,"189":2,"190":10,"191":1,"192":5,"194":4,"196":5,"197":15,"198":4,"199":3,"200":7,"201":3,"202":3,"203":1,"204":7,"205":4,"206":8,"207":1,"208":1,"211":3,"212":9,"213":3,"214":4,"215":4,"216":13,"217":1,"218":1,"221":1,"222":13,"223":11,"224":2,"225":2,"226":3,"227":1,"228":2,"229":2,"230":10,"231":27,"233":3,"234":4,"235":7,"236":1,"237":6,"238":2,"239":1,"242":29,"244":3,"245":10,"246":21,"247":9,"248":6,"249":4,"250":29,"251":3,"252":14,"254":23,"255":7,"258":3,"261":1,"262":2,"263":2,"264":2,"266":1,"267":4,"268":2,"269":5,"270":3,"271":5,"272":4,"273":5,"274":2,"275":2,"276":3,"277":2,"278":1,"279":5,"280":3,"281":1,"283":5,"284":2,"285":7,"286":2,"287":2,"288":5,"289":1,"290":1,"292":1,"293":9,"294":2,"295":15,"296":3,"297":1,"298":22,"299":3,"300":2,"301":2,"302":3,"303":1,"305":2,"306":3,"307":5,"308":6,"309":1,"310":4,"311":3,"312":5,"313":1,"314":3,"316":1,"317":5,"318":1,"319":6,"320":4,"322":15,"323":2,"324":10,"325":16,"326":2,"327":16,"328":11,"329":8,"330":6,"331":4,"332":21,"333":19,"334":10,"336":4,"337":6,"338":3,"340":4,"343":4,"344":1,"345":3,"346":4,"348":1,"349":2,"350":2,"354":3,"356":3,"357":5,"358":4,"359":11,"360":2,"361":8,"362":2,"363":2,"364":35,"365":9,"366":1,"367":2,"368":1,"369":4,"370":6,"371":2,"373":7,"374":5,"375":2,"376":2,"377":1,"378":7,"379":1,"380":19,"381":5,"382":1,"383":5,"384":3,"385":3,"386":31,"387":15,"388":3,"389":5,"390":4,"391":10,"392":6,"393":2,"396":2,"397":2,"398":2,"399":2,"401":1,"402":10,"403":26,"404":43,"405":6,"406":13,"409":1,"410":48,"411":3,"413":14,"414":9,"415":2,"416":2,"417":4,"418":7,"419":2,"420":3,"422":5,"423":6,"425":2,"426":4,"427":18,"428":9,"429":17,"430":32,"432":26,"433":24,"434":10,"435":47,"436":32,"438":16,"439":3,"441":3,"442":9,"444":1,"446":3,"447":10,"449":1,"451":2,"452":2,"453":1,"454":2,"456":1,"457":2,"458":1,"459":4,"461":8,"462":4,"465":5,"466":3,"468":1,"471":2,"472":3,"475":5,"476":1,"477":7,"479":2,"480":1,"483":2,"484":10,"485":2,"487":7,"488":3,"489":2,"491":2,"492":6,"493":3,"494":2,"495":2,"496":1,"497":6,"499":2,"500":6,"501":12,"502":7,"503":8,"504":8,"505":8,"506":7,"507":10,"508":12,"509":4,"510":10,"511":5,"512":14,"513":6,"514":9,"515":13,"516":11,"517":12,"518":1,"519":5,"520":3,"521":11,"522":25,"524":3,"525":2,"526":6,"527":9,"528":8,"529":4,"530":59,"532":2,"533":4,"534":19,"535":13,"536":9,"537":3,"538":13,"539":19,"541":3,"542":6,"543":8,"544":6,"545":26,"546":3,"547":13,"548":2,"549":1,"550":2,"552":3,"553":12,"554":9,"555":5,"556":3,"557":10,"558":3,"560":6,"563":22,"564":9,"565":1,"566":2,"567":1,"568":3,"569":3,"570":1,"571":7,"572":26,"573":4,"574":5,"575":3,"576":14,"578":2,"580":16,"581":10,"582":6,"583":2,"584":2,"585":6,"586":5,"587":11,"589":3,"590":2,"591":8,"592":4,"593":4,"594":1,"595":8,"596":15,"597":2,"598":3,"601":2,"602":3,"604":5,"605":3,"607":5,"608":6,"609":4,"610":1,"611":1,"612":1,"613":10,"615":1,"617":1,"618":1,"619":3,"620":5,"621":6,"622":10,"623":5,"624":4,"626":1,"627":4,"628":1,"629":10,"630":3,"631":1,"632":6,"633":1,"634":3,"636":12,"637":1,"638":1,"639":1,"642":1,"643":5,"644":3,"645":1,"646":6,"647":10,"648":1,"649":2,"650":1,"651":8,"653":9,"654":7,"655":9,"656":2,"659":3,"661":5,"662":4,"663":1,"664":2,"665":2,"666":1,"667":1,"668":1,"670":1,"671":16,"672":5,"673":2,"674":4,"675":7,"676":8,"677":11,"678":1,"680":1,"681":1,"683":2,"684":5,"685":4,"686":2,"687":6,"688":6,"689":10,"690":4,"691":6,"692":3,"694":3,"695":1,"696":1,"697":1,"698":4,"699":12,"700":10,"701":3,"702":5,"703":2,"705":6,"706":2,"708":2,"709":16,"710":6,"716":7,"718":1,"719":1,"720":10,"722":4,"725":5,"726":3,"727":2,"728":2,"731":7,"733":3,"734":3,"736":1,"737":1,"738":3,"739":4,"741":1,"742":1,"744":2,"745":4,"746":5,"747":2,"748":1,"749":1}}],["toggleview",{"2":{"250":6}}],["together",{"2":{"70":1,"364":1,"427":1,"433":1,"435":1,"436":1,"572":1}}],["tostring",{"2":{"250":4}}],["tomldiscard",{"2":{"647":1}}],["tomlexternal",{"2":{"644":1}}],["tomlsed",{"2":{"643":1}}],["tomlseeds=$",{"2":{"613":2}}],["tomlrpc",{"2":{"622":1}}],["tomlpruning",{"2":{"619":1,"620":1}}],["tomlpersistent",{"2":{"613":3}}],["tomlmin",{"2":{"617":1}}],["tomlindexer",{"2":{"616":1,"618":1,"646":1}}],["toml`",{"2":{"613":2}}],["toml$home",{"2":{"370":3}}],["tomlvim",{"2":{"271":1}}],["toml",{"0":{"206":1,"599":1,"601":1},"1":{"600":1,"601":1,"602":2,"603":2,"604":2,"605":2,"606":2,"607":2},"2":{"206":8,"271":3,"273":1,"277":1,"370":3,"522":1,"530":4,"535":1,"545":4,"571":1,"572":1,"601":4,"613":7,"615":1,"617":1,"618":1,"619":1,"620":2,"622":1,"643":2,"644":1,"646":2,"647":2,"690":1}}],["today",{"2":{"163":1,"239":1,"568":2}}],["todo",{"2":{"108":1,"385":2,"410":6}}],["tokenecho",{"2":{"381":1}}],["tokencelestia",{"2":{"327":1}}],["token=$",{"2":{"329":4,"331":2,"381":2}}],["token=",{"2":{"108":4,"383":2}}],["token",{"0":{"280":1,"329":1,"331":1,"456":1,"562":1},"2":{"102":1,"258":1,"279":1,"280":3,"327":7,"328":9,"329":6,"330":3,"331":2,"332":4,"336":1,"381":2,"383":2,"386":3,"452":3,"562":1,"564":1}}],["tokens",{"0":{"263":1,"305":1,"306":1,"566":1,"701":1},"1":{"306":1},"2":{"8":1,"41":2,"44":1,"61":1,"160":1,"197":1,"212":2,"258":1,"263":1,"264":1,"268":1,"269":1,"272":2,"280":1,"305":1,"325":2,"343":1,"350":2,"380":1,"446":1,"447":6,"467":2,"478":2,"479":1,"554":3,"562":1,"566":2,"629":1,"636":1,"671":3,"700":1,"701":1,"728":3}}],["totaldifficulty",{"2":{"360":2}}],["total",{"2":{"87":1,"145":2,"146":2,"152":3,"200":4,"254":1,"340":4,"402":1,"403":2,"404":6,"442":1,"446":1,"449":1,"534":1,"709":5}}],["topology",{"2":{"622":1}}],["top",{"2":{"83":1,"190":1,"226":1,"266":1,"301":1,"302":1,"308":1,"392":1,"432":1,"433":1,"712":1,"713":1,"714":1,"717":1,"729":1}}],["topic",{"2":{"54":1,"60":1,"61":1,"422":1,"563":1}}],["topics",{"2":{"2":1,"54":1,"61":2,"66":2,"162":1}}],["touch",{"2":{"51":1,"83":1}}],["too",{"2":{"688":2}}],["toolings",{"2":{"587":1}}],["toolkit",{"0":{"75":1},"1":{"76":1,"77":1,"78":1,"79":1,"80":1,"81":1},"2":{"74":1,"75":1}}],["tools",{"2":{"48":1,"50":1,"169":1,"295":1}}],["tool",{"2":{"42":1,"73":1,"247":1,"365":1,"557":2,"570":1,"647":1}}],["took",{"2":{"42":1}}],["towards",{"2":{"62":1}}],["toward",{"2":{"8":1,"16":1}}],["to",{"0":{"77":1,"101":1,"106":1,"110":1,"134":1,"140":1,"141":1,"147":1,"162":1,"186":1,"223":1,"246":1,"251":1,"258":1,"288":1,"289":1,"298":1,"302":1,"324":1,"343":1,"367":1,"377":1,"400":1,"410":1,"411":1,"425":1,"490":1,"498":1,"523":1,"533":1,"540":1,"568":1,"595":1,"615":1,"629":1,"648":1,"731":1},"1":{"102":1,"103":1,"104":1,"105":1,"107":1,"108":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"163":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":1,"411":1,"491":1,"492":1,"493":1,"494":1,"495":1,"496":1,"499":1,"500":1,"501":1,"524":1,"525":1,"526":1,"527":1,"528":1,"529":1,"530":1,"531":1,"532":1,"533":1,"534":1,"535":1,"536":1,"537":1,"541":1,"542":1,"543":1,"544":1,"545":1,"616":1,"617":1,"649":1,"650":1},"2":{"0":2,"1":1,"2":4,"5":2,"7":3,"8":3,"9":3,"11":2,"14":1,"15":1,"17":1,"19":1,"21":3,"22":1,"25":4,"27":2,"29":1,"33":4,"41":9,"42":20,"43":5,"44":12,"45":51,"46":3,"48":4,"49":3,"50":1,"53":3,"54":7,"55":1,"56":3,"57":2,"58":7,"59":4,"60":8,"61":14,"62":14,"63":10,"64":7,"65":14,"66":13,"67":1,"68":3,"70":4,"71":4,"72":2,"73":2,"74":2,"75":4,"77":2,"78":1,"79":1,"80":2,"81":1,"82":1,"83":6,"84":1,"85":1,"87":7,"88":2,"90":1,"97":2,"98":4,"99":3,"100":1,"102":8,"103":4,"104":12,"105":1,"106":1,"107":1,"108":8,"109":3,"111":3,"114":3,"115":4,"117":1,"118":5,"119":4,"120":4,"123":1,"125":6,"126":2,"127":1,"128":4,"129":21,"131":6,"132":23,"133":21,"134":8,"135":8,"137":13,"140":2,"141":1,"143":3,"144":2,"145":12,"146":12,"147":27,"148":4,"149":11,"150":2,"151":1,"152":7,"153":18,"154":1,"157":3,"158":4,"159":10,"160":5,"165":1,"166":1,"167":4,"168":2,"169":7,"170":2,"171":2,"173":3,"174":2,"175":2,"177":4,"178":5,"179":6,"180":6,"181":4,"182":1,"183":1,"186":3,"187":1,"190":1,"191":1,"192":3,"193":1,"194":2,"196":3,"197":8,"198":1,"200":1,"201":2,"202":3,"203":1,"204":6,"205":2,"206":3,"207":1,"208":2,"210":1,"211":2,"212":6,"213":1,"214":1,"215":1,"216":8,"218":1,"221":1,"222":7,"223":4,"224":1,"225":2,"226":3,"227":1,"230":3,"231":4,"233":2,"234":5,"235":4,"236":3,"237":7,"238":7,"240":3,"241":1,"242":5,"243":1,"244":3,"245":3,"246":12,"247":1,"248":1,"249":6,"250":15,"251":2,"252":11,"253":1,"254":9,"255":2,"257":1,"258":2,"261":1,"266":2,"267":1,"269":3,"270":2,"271":2,"272":7,"273":1,"274":2,"275":2,"276":4,"277":1,"279":2,"280":4,"282":2,"283":3,"285":2,"286":1,"288":3,"289":2,"290":2,"293":5,"294":2,"295":9,"296":1,"297":3,"298":14,"299":1,"300":3,"301":1,"302":4,"305":2,"306":6,"308":2,"310":3,"311":1,"312":4,"314":3,"316":2,"317":3,"319":3,"320":3,"322":2,"324":7,"325":8,"326":2,"327":9,"328":3,"329":5,"330":6,"331":1,"332":8,"333":9,"334":4,"336":1,"338":1,"339":1,"343":1,"344":1,"345":2,"346":2,"348":2,"350":1,"351":1,"354":1,"355":1,"357":1,"358":2,"359":3,"361":5,"362":1,"363":3,"364":11,"365":4,"366":1,"367":5,"368":2,"369":3,"370":14,"371":2,"372":1,"373":4,"374":1,"375":1,"376":1,"377":2,"378":8,"379":1,"380":10,"381":1,"382":5,"383":4,"384":2,"385":1,"386":15,"387":6,"388":5,"389":3,"390":4,"391":18,"392":7,"393":1,"395":3,"396":2,"397":2,"398":1,"399":1,"400":2,"402":3,"403":4,"404":9,"406":8,"410":26,"413":7,"414":3,"415":4,"416":2,"417":3,"418":7,"419":1,"420":5,"423":7,"424":4,"426":7,"427":4,"428":3,"429":6,"430":6,"432":9,"433":8,"434":8,"435":11,"436":8,"438":6,"441":3,"442":4,"444":3,"445":3,"446":2,"447":8,"451":1,"452":5,"453":2,"454":1,"459":1,"461":18,"462":4,"464":2,"465":2,"466":3,"467":1,"472":3,"475":9,"476":2,"477":7,"478":1,"483":2,"484":1,"485":1,"487":8,"489":2,"491":1,"492":2,"493":1,"494":2,"497":1,"499":1,"500":4,"501":5,"503":1,"504":1,"505":1,"506":2,"507":2,"508":4,"509":1,"510":10,"511":1,"512":4,"513":2,"514":3,"515":4,"516":5,"517":7,"519":2,"521":5,"522":15,"524":6,"525":1,"526":2,"527":4,"528":5,"529":4,"530":20,"532":3,"533":2,"534":14,"535":4,"536":5,"537":2,"538":8,"539":12,"541":1,"542":2,"543":4,"544":4,"545":10,"546":1,"547":5,"552":1,"553":5,"554":7,"555":1,"557":6,"560":4,"561":1,"562":6,"563":12,"564":10,"566":2,"570":2,"571":6,"572":23,"573":3,"574":4,"575":2,"576":8,"577":2,"578":1,"580":5,"581":4,"582":6,"583":1,"585":4,"586":10,"587":6,"589":4,"590":2,"591":6,"592":3,"593":3,"595":4,"596":1,"597":2,"598":2,"602":1,"604":4,"605":3,"607":1,"608":3,"609":4,"613":7,"615":2,"618":2,"619":2,"620":3,"621":2,"622":3,"623":1,"624":4,"626":1,"629":7,"630":4,"632":4,"635":2,"636":10,"637":5,"638":3,"639":1,"642":2,"643":3,"644":2,"645":1,"646":12,"647":9,"648":1,"649":3,"650":1,"651":10,"653":5,"654":9,"655":6,"656":2,"659":3,"660":1,"661":1,"662":3,"663":1,"664":1,"671":12,"672":1,"673":1,"674":2,"675":5,"676":6,"677":9,"678":4,"679":1,"680":1,"681":1,"682":2,"685":1,"687":3,"688":1,"689":4,"690":6,"691":2,"692":3,"693":1,"694":1,"699":10,"700":2,"701":2,"702":1,"705":2,"706":2,"708":1,"709":2,"710":10,"716":8,"720":21,"722":4,"724":2,"725":2,"726":3,"727":1,"728":1,"731":4,"733":1,"734":6,"736":2,"737":4,"738":2,"739":9,"741":1,"742":2,"744":1,"745":1,"746":1,"749":2}}]],"serializationVersion":2}';export{e as default}; diff --git a/pr-preview/pr-1358/assets/chunks/VPLocalSearchBox.8e917c92.js b/pr-preview/pr-1358/assets/chunks/VPLocalSearchBox.073a47f0.js similarity index 99% rename from pr-preview/pr-1358/assets/chunks/VPLocalSearchBox.8e917c92.js rename to pr-preview/pr-1358/assets/chunks/VPLocalSearchBox.073a47f0.js index 5a58d943ae..a5e37fddb4 100644 --- a/pr-preview/pr-1358/assets/chunks/VPLocalSearchBox.8e917c92.js +++ b/pr-preview/pr-1358/assets/chunks/VPLocalSearchBox.073a47f0.js @@ -1,4 +1,4 @@ -import{X as pt,h as ie,x as Be,ah as kt,ai as Nt,d as It,E as be,aj as et,g as we,ak as Dt,al as _t,y as Ot,am as Rt,j as De,O as he,V as xe,an as Mt,S as Lt,U as Pt,ao as zt,Y as Bt,s as Vt,ap as $t,o as X,b as Wt,k as F,a1 as jt,l as U,aq as Kt,ar as Jt,as as Ut,c as te,n as tt,e as Fe,D as rt,F as at,a as de,t as ve,at as Ht,p as Gt,m as qt,au as nt,av as Qt,a7 as Yt,ad as Zt,_ as Xt}from"./framework.2263f03b.js";import{u as er,c as tr}from"./theme.0be5931b.js";const rr={root:()=>pt(()=>import("./@localSearchIndexroot.a0ab7312.js"),[])};/*! +import{X as pt,h as ie,x as Be,ah as kt,ai as Nt,d as It,E as be,aj as et,g as we,ak as Dt,al as _t,y as Ot,am as Rt,j as De,O as he,V as xe,an as Mt,S as Lt,U as Pt,ao as zt,Y as Bt,s as Vt,ap as $t,o as X,b as Wt,k as F,a1 as jt,l as U,aq as Kt,ar as Jt,as as Ut,c as te,n as tt,e as Fe,D as rt,F as at,a as de,t as ve,at as Ht,p as Gt,m as qt,au as nt,av as Qt,a7 as Yt,ad as Zt,_ as Xt}from"./framework.2263f03b.js";import{u as er,c as tr}from"./theme.f4f3d47a.js";const rr={root:()=>pt(()=>import("./@localSearchIndexroot.03cb80d9.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var yt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ae=yt.join(","),mt=typeof Element>"u",se=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ce=!mt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Te=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ar=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},gt=function(e,t,r){if(Te(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ae));return t&&se.call(e,Ae)&&n.unshift(e),n=n.filter(r),n},bt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Te(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=se.call(i,Ae);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Te(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var m=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,m):n.push({scopeParent:i,candidates:m})}else a.unshift.apply(a,i.children)}}return n},wt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},oe=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ar(e))&&!wt(e)?0:e.tabIndex},nr=function(e,t){var r=oe(e);return r<0&&t&&!wt(e)?0:r},ir=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},xt=function(e){return e.tagName==="INPUT"},or=function(e){return xt(e)&&e.type==="hidden"},sr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},ur=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(se.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ce(e);if(u&&!u.shadowRoot&&n(u)===!0)return it(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(hr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return it(e);return!1},vr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},yr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=nr(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(ir).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},mr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=bt([e],t.includeContainer,{filter:Ve.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:pr}):r=gt(e,t.includeContainer,Ve.bind(null,t)),yr(r)},gr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=bt([e],t.includeContainer,{filter:ke.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=gt(e,t.includeContainer,ke.bind(null,t)),r},ue=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return se.call(e,Ae)===!1?!1:Ve(t,e)},br=yt.concat("iframe").join(","),_e=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return se.call(e,br)===!1?!1:ke(t,e)};/*! diff --git a/pr-preview/pr-1358/assets/chunks/theme.0be5931b.js b/pr-preview/pr-1358/assets/chunks/theme.f4f3d47a.js similarity index 99% rename from pr-preview/pr-1358/assets/chunks/theme.0be5931b.js rename to pr-preview/pr-1358/assets/chunks/theme.f4f3d47a.js index c273e9f63c..afe4361f45 100644 --- a/pr-preview/pr-1358/assets/chunks/theme.0be5931b.js +++ b/pr-preview/pr-1358/assets/chunks/theme.f4f3d47a.js @@ -1 +1 @@ -import{d as b,o as a,c as i,r as u,n as T,a as x,t as L,_ as m,b as $,w as v,T as ce,e as f,u as ze,i as De,f as ue,g as k,h as M,j as G,k as c,l,p as H,m as z,q as O,s as q,v as re,x as U,y as te,z as de,A as Ve,B as Ee,C as j,F as N,D as A,E as _e,G as Y,H as h,I as F,J as we,K as se,L as Z,M as ne,N as Fe,O as Oe,P as Le,Q as Ge,R as Ue,S as je,U as Ke,V as ke,W as Re,X as qe,Y as Se,Z as Me,$ as We,a0 as Ye,a1 as Je,a2 as Xe}from"./framework.2263f03b.js";const Ze=b({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),i("span",{class:T(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[x(L(e.text),1)],!0)],2))}});const Qe=m(Ze,[["__scopeId","data-v-ea5b2908"]]),et={key:0,class:"VPBackdrop"},tt=b({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),$(ce,{name:"fade"},{default:v(()=>[e.show?(a(),i("div",et)):f("",!0)]),_:1}))}});const st=m(tt,[["__scopeId","data-v-54a304ca"]]),P=ze;function nt(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function le(s){return/^\//.test(s)?s:`/${s}`}function J(s){const{pathname:e,search:t,hash:n,protocol:o}=new URL(s,"http://a.com");if(De(s)||s.startsWith("#")||!o.startsWith("http")||/\.(?!html|md)\w+($|\?)/i.test(s))return s;const{site:r}=P(),d=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${n}`);return ue(d)}function X({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:r}=P(),d=k(()=>{var _,g;return{label:(_=t.value.locales[n.value])==null?void 0:_.label,link:((g=t.value.locales[n.value])==null?void 0:g.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:k(()=>Object.entries(t.value.locales).flatMap(([_,g])=>s&&d.value.label===g.label?[]:{text:g.label,link:ot(g.link||(_==="root"?"/":`/${_}/`),r.value.i18nRouting!==!1&&e,o.value.relativePath.slice(d.value.link.length-1),!t.value.cleanUrls)})),currentLang:d}}function ot(s,e,t,n){return e?s.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const at=s=>(H("data-v-b9c0c15a"),s=s(),z(),s),rt={class:"NotFound"},lt={class:"code"},it={class:"title"},ct=at(()=>c("div",{class:"divider"},null,-1)),ut={class:"quote"},dt={class:"action"},_t=["href","aria-label"],vt=b({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=X({removeCurrent:!1}),o=M("/");return G(()=>{var d;const r=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((d=n.value.find(({link:p})=>p.startsWith(r)))==null?void 0:d.link)||n.value[0].link)}),(r,d)=>{var p,_,g,V,y;return a(),i("div",rt,[c("p",lt,L(((p=l(t).notFound)==null?void 0:p.code)??"404"),1),c("h1",it,L(((_=l(t).notFound)==null?void 0:_.title)??"PAGE NOT FOUND"),1),ct,c("blockquote",ut,L(((g=l(t).notFound)==null?void 0:g.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),c("div",dt,[c("a",{class:"link",href:l(ue)(o.value),"aria-label":((V=l(t).notFound)==null?void 0:V.linkLabel)??"go to home"},L(((y=l(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,_t)])])}}});const pt=m(vt,[["__scopeId","data-v-b9c0c15a"]]);function Ne(s,e){if(Array.isArray(s))return Q(s);if(s==null)return[];e=le(e);const t=Object.keys(s).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>e.startsWith(le(o))),n=t?s[t]:[];return Array.isArray(n)?Q(n):Q(n.items,n.base)}function ht(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function ft(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function ie(s,e){return Array.isArray(e)?e.some(t=>ie(s,t)):O(s,e.link)?!0:e.items?ie(s,e.items):!1}function Q(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=Q(n.items,o)),n})}function D(){const{frontmatter:s,page:e,theme:t}=P(),n=re("(min-width: 960px)"),o=M(!1),r=k(()=>{const B=t.value.sidebar,w=e.value.relativePath;return B?Ne(B,w):[]}),d=M(r.value);U(r,(B,w)=>{JSON.stringify(B)!==JSON.stringify(w)&&(d.value=r.value)});const p=k(()=>s.value.sidebar!==!1&&d.value.length>0&&s.value.layout!=="home"),_=k(()=>g?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),g=k(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),V=k(()=>p.value&&n.value),y=k(()=>p.value?ht(d.value):[]);function I(){o.value=!0}function S(){o.value=!1}function C(){o.value?S():I()}return{isOpen:o,sidebar:d,sidebarGroups:y,hasSidebar:p,hasAside:g,leftAside:_,isSidebarEnabled:V,open:I,close:S,toggle:C}}function mt(s,e){let t;te(()=>{t=s.value?document.activeElement:void 0}),G(()=>{window.addEventListener("keyup",n)}),de(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}const Ie=M(q?location.hash:"");q&&window.addEventListener("hashchange",()=>{Ie.value=location.hash});function gt(s){const{page:e}=P(),t=M(!1),n=k(()=>s.value.collapsed!=null),o=k(()=>!!s.value.link),r=M(!1),d=()=>{r.value=O(e.value.relativePath,s.value.link)};U([e,s,Ie],d),G(d);const p=k(()=>r.value?!0:s.value.items?ie(e.value.relativePath,s.value.items):!1),_=k(()=>!!(s.value.items&&s.value.items.length));te(()=>{t.value=!!(n.value&&s.value.collapsed)}),Ve(()=>{(r.value||p.value)&&(t.value=!1)});function g(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:p,hasChildren:_,toggle:g}}function bt(){const{hasSidebar:s}=D(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:k(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const $t=71;function ve(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function pe(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{title:kt(t),link:"#"+t.id,level:n}});return yt(e,s)}function kt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function yt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(d=>d.level>=n&&d.level<=o);const r=[];e:for(let d=0;d=0;_--){const g=s[_];if(g.level{requestAnimationFrame(r),window.addEventListener("scroll",n)}),Ee(()=>{d(location.hash)}),de(()=>{window.removeEventListener("scroll",n)});function r(){if(!t.value)return;const p=[].slice.call(s.value.querySelectorAll(".outline-link")),_=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(S=>p.some(C=>C.hash===S.hash&&S.offsetParent!==null)),g=window.scrollY,V=window.innerHeight,y=document.body.offsetHeight,I=Math.abs(g+V-y)<1;if(_.length&&I){d(_[_.length-1].hash);return}for(let S=0;S<_.length;S++){const C=_[S],B=_[S+1],[w,K]=Vt(S,C,B);if(w){d(K);return}}}function d(p){o&&o.classList.remove("active"),p==null?o=null:o=s.value.querySelector(`a[href="${decodeURIComponent(p)}"]`);const _=o;_?(_.classList.add("active"),e.value.style.top=_.offsetTop+33+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function ye(s){return s.parentElement.offsetTop-$t}function Vt(s,e,t){const n=window.scrollY;return s===0&&n===0?[!0,null]:n{const o=j("VPDocOutlineItem",!0);return a(),i("ul",{class:T(t.root?"root":"nested")},[(a(!0),i(N,null,A(t.headers,({children:r,link:d,title:p})=>(a(),i("li",null,[c("a",{class:"outline-link",href:d,onClick:e,title:p},L(p),9,wt),r!=null&&r.length?(a(),$(o,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}});const he=m(Lt,[["__scopeId","data-v-463da30f"]]),St=s=>(H("data-v-3a6c4994"),s=s(),z(),s),Mt={class:"content"},Nt={class:"outline-title",role:"heading","aria-level":"2"},It={"aria-labelledby":"doc-outline-aria-label"},Tt=St(()=>c("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Ct=b({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=_e([]);Y(()=>{n.value=pe(e.value.outline??t.value.outline)});const o=M(),r=M();return Pt(o,r),(d,p)=>(a(),i("div",{class:T(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[c("div",Mt,[c("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),c("div",Nt,L(l(ve)(l(t))),1),c("nav",It,[Tt,h(he,{headers:n.value,root:!0},null,8,["headers"])])])],2))}});const Bt=m(Ct,[["__scopeId","data-v-3a6c4994"]]),At={class:"VPDocAsideCarbonAds"},xt=b({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),i("div",At,[h(l(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ht=s=>(H("data-v-cb998dce"),s=s(),z(),s),zt={class:"VPDocAside"},Dt=Ht(()=>c("div",{class:"spacer"},null,-1)),Et=b({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),i("div",zt,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),h(Bt),u(t.$slots,"aside-outline-after",{},void 0,!0),Dt,u(t.$slots,"aside-ads-before",{},void 0,!0),l(e).carbonAds?(a(),$(xt,{key:0,"carbon-ads":l(e).carbonAds},null,8,["carbon-ads"])):f("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}});const Ft=m(Et,[["__scopeId","data-v-cb998dce"]]);function Ot(){const{theme:s,page:e}=P();return k(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Gt(){const{page:s,theme:e,frontmatter:t}=P();return k(()=>{var _,g,V,y,I,S,C,B;const n=Ne(e.value.sidebar,s.value.relativePath),o=ft(n),r=o.findIndex(w=>O(s.value.relativePath,w.link)),d=((_=e.value.docFooter)==null?void 0:_.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((g=e.value.docFooter)==null?void 0:g.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((V=o[r-1])==null?void 0:V.docFooterText)??((y=o[r-1])==null?void 0:y.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((I=o[r-1])==null?void 0:I.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((S=o[r+1])==null?void 0:S.docFooterText)??((C=o[r+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((B=o[r+1])==null?void 0:B.link)}}})}const Ut={},jt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Kt=c("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Rt=c("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),qt=[Kt,Rt];function Wt(s,e){return a(),i("svg",jt,qt)}const Yt=m(Ut,[["render",Wt]]),E=b({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=k(()=>e.tag??(e.href?"a":"span")),n=k(()=>e.href&&we.test(e.href));return(o,r)=>(a(),$(F(t.value),{class:T(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?l(J)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:v(()=>[u(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Jt={class:"VPLastUpdated"},Xt=["datetime"],Zt=b({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n,lang:o}=P(),r=k(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),d=k(()=>r.value.toISOString()),p=M("");return G(()=>{te(()=>{var _,g,V;p.value=new Intl.DateTimeFormat((g=(_=e.value.lastUpdated)==null?void 0:_.formatOptions)!=null&&g.forceLocale?o.value:void 0,((V=e.value.lastUpdated)==null?void 0:V.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(r.value)})}),(_,g)=>{var V;return a(),i("p",Jt,[x(L(((V=l(e).lastUpdated)==null?void 0:V.text)||l(e).lastUpdatedText||"Last updated")+": ",1),c("time",{datetime:d.value},L(p.value),9,Xt)])}}});const Qt=m(Zt,[["__scopeId","data-v-19a7ae4e"]]),es={key:0,class:"VPDocFooter"},ts={key:0,class:"edit-info"},ss={key:0,class:"edit-link"},ns={key:1,class:"last-updated"},os={key:1,class:"prev-next"},as={class:"pager"},rs=["href"],ls=["innerHTML"],is=["innerHTML"],cs={class:"pager"},us=["href"],ds=["innerHTML"],_s=["innerHTML"],vs=b({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=Ot(),r=Gt(),d=k(()=>e.value.editLink&&n.value.editLink!==!1),p=k(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),_=k(()=>d.value||p.value||r.value.prev||r.value.next);return(g,V)=>{var y,I,S,C,B,w;return _.value?(a(),i("footer",es,[u(g.$slots,"doc-footer-before",{},void 0,!0),d.value||p.value?(a(),i("div",ts,[d.value?(a(),i("div",ss,[h(E,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:v(()=>[h(Yt,{class:"edit-link-icon","aria-label":"edit icon"}),x(" "+L(l(o).text),1)]),_:1},8,["href"])])):f("",!0),p.value?(a(),i("div",ns,[h(Qt)])):f("",!0)])):f("",!0),(y=l(r).prev)!=null&&y.link||(I=l(r).next)!=null&&I.link?(a(),i("nav",os,[c("div",as,[(S=l(r).prev)!=null&&S.link?(a(),i("a",{key:0,class:"pager-link prev",href:l(J)(l(r).prev.link)},[c("span",{class:"desc",innerHTML:((C=l(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,ls),c("span",{class:"title",innerHTML:l(r).prev.text},null,8,is)],8,rs)):f("",!0)]),c("div",cs,[(B=l(r).next)!=null&&B.link?(a(),i("a",{key:0,class:"pager-link next",href:l(J)(l(r).next.link)},[c("span",{class:"desc",innerHTML:((w=l(e).docFooter)==null?void 0:w.next)||"Next page"},null,8,ds),c("span",{class:"title",innerHTML:l(r).next.text},null,8,_s)],8,us)):f("",!0)])])):f("",!0)])):f("",!0)}}});const ps=m(vs,[["__scopeId","data-v-a2d931e4"]]),hs={},fs={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ms=c("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),gs=[ms];function bs(s,e){return a(),i("svg",fs,gs)}const fe=m(hs,[["render",bs]]),$s={key:0,class:"VPDocOutlineDropdown"},ks={key:0,class:"items"},ys=b({__name:"VPDocOutlineDropdown",setup(s){const{frontmatter:e,theme:t}=P(),n=M(!1);Y(()=>{n.value=!1});const o=_e([]);return Y(()=>{o.value=pe(e.value.outline??t.value.outline)}),(r,d)=>o.value.length>0?(a(),i("div",$s,[c("button",{onClick:d[0]||(d[0]=p=>n.value=!n.value),class:T({open:n.value})},[x(L(l(ve)(l(t)))+" ",1),h(fe,{class:"icon"})],2),n.value?(a(),i("div",ks,[h(he,{headers:o.value},null,8,["headers"])])):f("",!0)])):f("",!0)}});const Ps=m(ys,[["__scopeId","data-v-95bb0785"]]),Vs=s=>(H("data-v-a3c25e27"),s=s(),z(),s),ws={class:"container"},Ls=Vs(()=>c("div",{class:"aside-curtain"},null,-1)),Ss={class:"aside-container"},Ms={class:"aside-content"},Ns={class:"content"},Is={class:"content-container"},Ts={class:"main"},Cs=b({__name:"VPDoc",setup(s){const{theme:e}=P(),t=se(),{hasSidebar:n,hasAside:o,leftAside:r}=D(),d=k(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,_)=>{const g=j("Content");return a(),i("div",{class:T(["VPDoc",{"has-sidebar":l(n),"has-aside":l(o)}])},[u(p.$slots,"doc-top",{},void 0,!0),c("div",ws,[l(o)?(a(),i("div",{key:0,class:T(["aside",{"left-aside":l(r)}])},[Ls,c("div",Ss,[c("div",Ms,[h(Ft,null,{"aside-top":v(()=>[u(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),c("div",Ns,[c("div",Is,[u(p.$slots,"doc-before",{},void 0,!0),h(Ps),c("main",Ts,[h(g,{class:T(["vp-doc",[d.value,l(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),h(ps,null,{"doc-footer-before":v(()=>[u(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(p.$slots,"doc-after",{},void 0,!0)])])]),u(p.$slots,"doc-bottom",{},void 0,!0)],2)}}});const Bs=m(Cs,[["__scopeId","data-v-a3c25e27"]]),As=b({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{}},setup(s){const e=s,t=k(()=>e.href&&we.test(e.href)),n=k(()=>e.tag||e.href?"a":"button");return(o,r)=>(a(),$(F(n.value),{class:T(["VPButton",[o.size,o.theme]]),href:o.href?l(J)(o.href):void 0,target:t.value?"_blank":void 0,rel:t.value?"noreferrer":void 0},{default:v(()=>[x(L(o.text),1)]),_:1},8,["class","href","target","rel"]))}});const xs=m(As,[["__scopeId","data-v-1e76fe75"]]),Hs=["src","alt"],zs=b({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=j("VPImage",!0);return e.image?(a(),i(N,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),i("img",Z({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:l(ue)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Hs)):(a(),i(N,{key:1},[h(n,Z({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),h(n,Z({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}});const ee=m(zs,[["__scopeId","data-v-ab19afbb"]]),Ds=s=>(H("data-v-5a3e9999"),s=s(),z(),s),Es={class:"container"},Fs={class:"main"},Os={key:0,class:"name"},Gs=["innerHTML"],Us=["innerHTML"],js=["innerHTML"],Ks={key:0,class:"actions"},Rs={key:0,class:"image"},qs={class:"image-container"},Ws=Ds(()=>c("div",{class:"image-bg"},null,-1)),Ys=b({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=ne("hero-image-slot-exists");return(t,n)=>(a(),i("div",{class:T(["VPHero",{"has-image":t.image||l(e)}])},[c("div",Es,[c("div",Fs,[u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),i("h1",Os,[c("span",{innerHTML:t.name,class:"clip"},null,8,Gs)])):f("",!0),t.text?(a(),i("p",{key:1,innerHTML:t.text,class:"text"},null,8,Us)):f("",!0),t.tagline?(a(),i("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,js)):f("",!0)],!0),t.actions?(a(),i("div",Ks,[(a(!0),i(N,null,A(t.actions,o=>(a(),i("div",{key:o.link,class:"action"},[h(xs,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||l(e)?(a(),i("div",Rs,[c("div",qs,[Ws,u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(ee,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}});const Js=m(Ys,[["__scopeId","data-v-5a3e9999"]]),Xs=b({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>l(e).hero?(a(),$(Js,{key:0,class:"VPHomeHero",name:l(e).hero.name,text:l(e).hero.text,tagline:l(e).hero.tagline,image:l(e).hero.image,actions:l(e).hero.actions},{"home-hero-info":v(()=>[u(t.$slots,"home-hero-info")]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Zs={},Qs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},en=c("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),tn=[en];function sn(s,e){return a(),i("svg",Qs,tn)}const nn=m(Zs,[["render",sn]]),on={class:"box"},an={key:0,class:"icon"},rn=["innerHTML"],ln=["innerHTML"],cn=["innerHTML"],un={key:4,class:"link-text"},dn={class:"link-text-value"},_n=b({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),$(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[c("article",on,[typeof e.icon=="object"&&e.icon.wrap?(a(),i("div",an,[h(ee,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(ee,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),i("div",{key:2,class:"icon",innerHTML:e.icon},null,8,rn)):f("",!0),c("h2",{class:"title",innerHTML:e.title},null,8,ln),e.details?(a(),i("p",{key:3,class:"details",innerHTML:e.details},null,8,cn)):f("",!0),e.linkText?(a(),i("div",un,[c("p",dn,[x(L(e.linkText)+" ",1),h(nn,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}});const vn=m(_n,[["__scopeId","data-v-ee984185"]]),pn={key:0,class:"VPFeatures"},hn={class:"container"},fn={class:"items"},mn=b({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=k(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),i("div",pn,[c("div",hn,[c("div",fn,[(a(!0),i(N,null,A(n.features,r=>(a(),i("div",{key:r.title,class:T(["item",[t.value]])},[h(vn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}});const gn=m(mn,[["__scopeId","data-v-b1eea84a"]]),bn=b({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>l(e).features?(a(),$(gn,{key:0,class:"VPHomeFeatures",features:l(e).features},null,8,["features"])):f("",!0)}}),$n={class:"VPHome"},kn=b({__name:"VPHome",setup(s){return(e,t)=>{const n=j("Content");return a(),i("div",$n,[u(e.$slots,"home-hero-before",{},void 0,!0),h(Xs,null,{"home-hero-info":v(()=>[u(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(e.$slots,"home-hero-after",{},void 0,!0),u(e.$slots,"home-features-before",{},void 0,!0),h(bn),u(e.$slots,"home-features-after",{},void 0,!0),h(n)])}}});const yn=m(kn,[["__scopeId","data-v-20eabd3a"]]),Pn={},Vn={class:"VPPage"};function wn(s,e){const t=j("Content");return a(),i("div",Vn,[u(s.$slots,"page-top"),h(t),u(s.$slots,"page-bottom")])}const Ln=m(Pn,[["render",wn]]),Sn=b({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,r)=>(a(),i("div",{class:T(["VPContent",{"has-sidebar":l(n),"is-home":l(t).layout==="home"}]),id:"VPContent"},[l(e).isNotFound?u(o.$slots,"not-found",{key:0},()=>[h(pt)],!0):l(t).layout==="page"?(a(),$(Ln,{key:1},{"page-top":v(()=>[u(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(t).layout==="home"?(a(),$(yn,{key:2},{"home-hero-before":v(()=>[u(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(t).layout&&l(t).layout!=="doc"?(a(),$(F(l(t).layout),{key:3})):(a(),$(Bs,{key:4},{"doc-top":v(()=>[u(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[u(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[u(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[u(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[u(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Mn=m(Sn,[["__scopeId","data-v-3cf691b6"]]),Nn={class:"container"},In=["innerHTML"],Tn=["innerHTML"],Cn=b({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,r)=>l(e).footer&&l(t).footer!==!1?(a(),i("footer",{key:0,class:T(["VPFooter",{"has-sidebar":l(n)}])},[c("div",Nn,[l(e).footer.message?(a(),i("p",{key:0,class:"message",innerHTML:l(e).footer.message},null,8,In)):f("",!0),l(e).footer.copyright?(a(),i("p",{key:1,class:"copyright",innerHTML:l(e).footer.copyright},null,8,Tn)):f("",!0)])],2)):f("",!0)}});const Bn=m(Cn,[["__scopeId","data-v-e4279f1c"]]),An={class:"header"},xn={class:"outline"},Hn=b({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=M(!1),o=M(0),r=M();Y(()=>{n.value=!1});function d(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(g){g.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),Oe(()=>{n.value=!1}))}function _(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(g,V)=>(a(),i("div",{class:"VPLocalNavOutlineDropdown",style:Fe({"--vp-vh":o.value+"px"})},[g.headers.length>0?(a(),i("button",{key:0,onClick:d,class:T({open:n.value})},[x(L(l(ve)(l(t)))+" ",1),h(fe,{class:"icon"})],2)):(a(),i("button",{key:1,onClick:_},L(l(t).returnToTopLabel||"Return to top"),1)),h(ce,{name:"flyout"},{default:v(()=>[n.value?(a(),i("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:p},[c("div",An,[c("a",{class:"top-link",href:"#",onClick:_},L(l(t).returnToTopLabel||"Return to top"),1)]),c("div",xn,[h(he,{headers:g.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}});const zn=m(Hn,[["__scopeId","data-v-24251f6f"]]),Dn={},En={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Fn=c("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),On=c("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),Gn=c("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Un=c("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),jn=[Fn,On,Gn,Un];function Kn(s,e){return a(),i("svg",En,jn)}const Rn=m(Dn,[["render",Kn]]),qn=["aria-expanded"],Wn={class:"menu-text"},Yn=b({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D(),{y:o}=Le(),r=_e([]),d=M(0);G(()=>{d.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Y(()=>{r.value=pe(t.value.outline??e.value.outline)});const p=k(()=>r.value.length===0&&!n.value),_=k(()=>({VPLocalNav:!0,fixed:p.value,"reached-top":o.value>=d.value}));return(g,V)=>l(t).layout!=="home"&&(!p.value||l(o)>=d.value)?(a(),i("div",{key:0,class:T(_.value)},[l(n)?(a(),i("button",{key:0,class:"menu","aria-expanded":g.open,"aria-controls":"VPSidebarNav",onClick:V[0]||(V[0]=y=>g.$emit("open-menu"))},[h(Rn,{class:"menu-icon"}),c("span",Wn,L(l(e).sidebarMenuLabel||"Menu"),1)],8,qn)):f("",!0),h(zn,{headers:r.value,navHeight:d.value},null,8,["headers","navHeight"])],2)):f("",!0)}});const Jn=m(Yn,[["__scopeId","data-v-9e669cc1"]]);function Xn(){const s=M(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const r=se();return U(()=>r.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Zn={},Qn={class:"VPSwitch",type:"button",role:"switch"},eo={class:"check"},to={key:0,class:"icon"};function so(s,e){return a(),i("button",Qn,[c("span",eo,[s.$slots.default?(a(),i("span",to,[u(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const no=m(Zn,[["render",so],["__scopeId","data-v-1c29e291"]]),oo={},ao={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ro=c("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),lo=[ro];function io(s,e){return a(),i("svg",ao,lo)}const co=m(oo,[["render",io]]),uo={},_o={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},vo=Ge('',9),po=[vo];function ho(s,e){return a(),i("svg",_o,po)}const fo=m(uo,[["render",ho]]),mo=b({__name:"VPSwitchAppearance",setup(s){const{isDark:e}=P(),t=ne("toggle-appearance",()=>{e.value=!e.value});return(n,o)=>(a(),$(no,{title:"toggle dark mode",class:"VPSwitchAppearance","aria-checked":l(e),onClick:l(t)},{default:v(()=>[h(fo,{class:"sun"}),h(co,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const me=m(mo,[["__scopeId","data-v-3329432d"]]),go={key:0,class:"VPNavBarAppearance"},bo=b({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>l(e).appearance&&l(e).appearance!=="force-dark"?(a(),i("div",go,[h(me)])):f("",!0)}});const $o=m(bo,[["__scopeId","data-v-283b26e9"]]),ge=M();let Te=!1,ae=0;function ko(s){const e=M(!1);if(q){!Te&&yo(),ae++;const t=U(ge,n=>{var o,r,d;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(r=s.onFocus)==null||r.call(s)):(e.value=!1,(d=s.onBlur)==null||d.call(s))});de(()=>{t(),ae--,ae||Po()})}return Ue(e)}function yo(){document.addEventListener("focusin",Ce),Te=!0,ge.value=document.activeElement}function Po(){document.removeEventListener("focusin",Ce)}function Ce(){ge.value=document.activeElement}const Vo={},wo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Lo=c("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),So=[Lo];function Mo(s,e){return a(),i("svg",wo,So)}const Be=m(Vo,[["render",Mo]]),No={},Io={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},To=c("circle",{cx:"12",cy:"12",r:"2"},null,-1),Co=c("circle",{cx:"19",cy:"12",r:"2"},null,-1),Bo=c("circle",{cx:"5",cy:"12",r:"2"},null,-1),Ao=[To,Co,Bo];function xo(s,e){return a(),i("svg",Io,Ao)}const Ho=m(No,[["render",xo]]),zo={class:"VPMenuLink"},Do=b({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),i("div",zo,[h(E,{class:T({active:l(O)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:v(()=>[x(L(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const oe=m(Do,[["__scopeId","data-v-f51f088d"]]),Eo={class:"VPMenuGroup"},Fo={key:0,class:"title"},Oo=b({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),i("div",Eo,[e.text?(a(),i("p",Fo,L(e.text),1)):f("",!0),(a(!0),i(N,null,A(e.items,n=>(a(),i(N,null,["link"in n?(a(),$(oe,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}});const Go=m(Oo,[["__scopeId","data-v-a6b0397c"]]),Uo={class:"VPMenu"},jo={key:0,class:"items"},Ko=b({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),i("div",Uo,[e.items?(a(),i("div",jo,[(a(!0),i(N,null,A(e.items,n=>(a(),i(N,{key:n.text},["link"in n?(a(),$(oe,{key:0,item:n},null,8,["item"])):(a(),$(Go,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),u(e.$slots,"default",{},void 0,!0)]))}});const Ro=m(Ko,[["__scopeId","data-v-e42ed9b3"]]),qo=["aria-expanded","aria-label"],Wo={key:0,class:"text"},Yo=["innerHTML"],Jo={class:"menu"},Xo=b({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=M(!1),t=M();ko({el:t,onBlur:n});function n(){e.value=!1}return(o,r)=>(a(),i("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=d=>e.value=!0),onMouseleave:r[2]||(r[2]=d=>e.value=!1)},[c("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:r[0]||(r[0]=d=>e.value=!e.value)},[o.button||o.icon?(a(),i("span",Wo,[o.icon?(a(),$(F(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),i("span",{key:1,innerHTML:o.button},null,8,Yo)):f("",!0),h(Be,{class:"text-icon"})])):(a(),$(Ho,{key:1,class:"icon"}))],8,qo),c("div",Jo,[h(Ro,{items:o.items},{default:v(()=>[u(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const be=m(Xo,[["__scopeId","data-v-aa8de344"]]),Zo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Qo=["href","aria-label","innerHTML"],ea=b({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=k(()=>typeof e.icon=="object"?e.icon.svg:Zo[e.icon]);return(n,o)=>(a(),i("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Qo))}});const ta=m(ea,[["__scopeId","data-v-16cf740a"]]),sa={class:"VPSocialLinks"},na=b({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),i("div",sa,[(a(!0),i(N,null,A(e.links,({link:n,icon:o,ariaLabel:r})=>(a(),$(ta,{key:n,icon:o,link:n,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}});const $e=m(na,[["__scopeId","data-v-e71e869c"]]),oa={key:0,class:"group translations"},aa={class:"trans-title"},ra={key:1,class:"group"},la={class:"item appearance"},ia={class:"label"},ca={class:"appearance-action"},ua={key:2,class:"group"},da={class:"item social-links"},_a=b({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=X({correspondingLink:!0}),r=k(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(d,p)=>r.value?(a(),$(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[l(n).length&&l(o).label?(a(),i("div",oa,[c("p",aa,L(l(o).label),1),(a(!0),i(N,null,A(l(n),_=>(a(),$(oe,{key:_.link,item:_},null,8,["item"]))),128))])):f("",!0),l(e).appearance?(a(),i("div",ra,[c("div",la,[c("p",ia,L(l(t).darkModeSwitchLabel||"Appearance"),1),c("div",ca,[h(me)])])])):f("",!0),l(t).socialLinks?(a(),i("div",ua,[c("div",da,[h($e,{class:"social-links-list",links:l(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}});const va=m(_a,[["__scopeId","data-v-c8c2ae4b"]]),pa=s=>(H("data-v-6bee1efd"),s=s(),z(),s),ha=["aria-expanded"],fa=pa(()=>c("span",{class:"container"},[c("span",{class:"top"}),c("span",{class:"middle"}),c("span",{class:"bottom"})],-1)),ma=[fa],ga=b({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),i("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},ma,10,ha))}});const ba=m(ga,[["__scopeId","data-v-6bee1efd"]]),$a=["innerHTML"],ka=b({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),$(E,{class:T({VPNavBarMenuLink:!0,active:l(O)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:v(()=>[c("span",{innerHTML:t.item.text},null,8,$a)]),_:1},8,["class","href","target","rel"]))}});const ya=m(ka,[["__scopeId","data-v-cb318fec"]]),Pa=b({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=P(),n=r=>"link"in r?O(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(n),o=k(()=>n(e.item));return(r,d)=>(a(),$(be,{class:T({VPNavBarMenuGroup:!0,active:l(O)(l(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||o.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Va=s=>(H("data-v-f732b5d0"),s=s(),z(),s),wa={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},La=Va(()=>c("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Sa=b({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>l(e).nav?(a(),i("nav",wa,[La,(a(!0),i(N,null,A(l(e).nav,o=>(a(),i(N,{key:o.text},["link"in o?(a(),$(ya,{key:0,item:o},null,8,["item"])):(a(),$(Pa,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}});const Ma=m(Sa,[["__scopeId","data-v-f732b5d0"]]);function Na(s,e){const{localeIndex:t}=P();function n(o){var S,C;const r=o.split("."),d=s&&typeof s=="object",p=d&&((C=(S=s.locales)==null?void 0:S[t.value])==null?void 0:C.translations)||null,_=d&&s.translations||null;let g=p,V=_,y=e;const I=r.pop();for(const B of r){let w=null;const K=y==null?void 0:y[B];K&&(w=y=K);const W=V==null?void 0:V[B];W&&(w=V=W);const R=g==null?void 0:g[B];R&&(w=g=R),K||(y=w),W||(V=w),R||(g=w)}return(g==null?void 0:g[I])??(V==null?void 0:V[I])??(y==null?void 0:y[I])??""}return n}const Ia=["aria-label"],Ta={class:"DocSearch-Button-Container"},Ca=c("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[c("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ba={class:"DocSearch-Button-Placeholder"},Aa=c("span",{class:"DocSearch-Button-Keys"},[c("kbd",{class:"DocSearch-Button-Key"}),c("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Pe=b({__name:"VPNavBarSearchButton",setup(s){const{theme:e}=P(),t={button:{buttonText:"Search",buttonAriaLabel:"Search"}},n=je(Na)(Ke(()=>{var o;return(o=e.value.search)==null?void 0:o.options}),t);return(o,r)=>(a(),i("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":l(n)("button.buttonAriaLabel")},[c("span",Ta,[Ca,c("span",Ba,L(l(n)("button.buttonText")),1)]),Aa],8,Ia))}});const xa={class:"VPNavBarSearch"},Ha={id:"local-search"},za={key:1,id:"docsearch"},Da=b({__name:"VPNavBarSearch",setup(s){const e=Re(()=>qe(()=>import("./VPLocalSearchBox.8e917c92.js"),["assets/chunks/VPLocalSearchBox.8e917c92.js","assets/chunks/framework.2263f03b.js"])),t=()=>null,{theme:n}=P(),o=M(!1),r=M(!1);G(()=>{});function d(){o.value||(o.value=!0,setTimeout(p,16))}function p(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||p()},16)}function _(y){const I=y.target,S=I.tagName;return I.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const g=M(!1);ke("k",y=>{(y.ctrlKey||y.metaKey)&&(y.preventDefault(),g.value=!0)}),ke("/",y=>{_(y)||(y.preventDefault(),g.value=!0)});const V="local";return(y,I)=>{var S;return a(),i("div",xa,[l(V)==="local"?(a(),i(N,{key:0},[g.value?(a(),$(l(e),{key:0,onClose:I[0]||(I[0]=C=>g.value=!1)})):f("",!0),c("div",Ha,[h(Pe,{onClick:I[1]||(I[1]=C=>g.value=!0)})])],64)):l(V)==="algolia"?(a(),i(N,{key:1},[o.value?(a(),$(l(t),{key:0,algolia:((S=l(n).search)==null?void 0:S.options)??l(n).algolia,onVnodeBeforeMount:I[2]||(I[2]=C=>r.value=!0)},null,8,["algolia"])):f("",!0),r.value?f("",!0):(a(),i("div",za,[h(Pe,{onClick:d})]))],64)):f("",!0)])}}});const Ea=b({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>l(e).socialLinks?(a(),$($e,{key:0,class:"VPNavBarSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}});const Fa=m(Ea,[["__scopeId","data-v-ef6192dc"]]),Oa=["href"],Ga=b({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=D(),{currentLang:o}=X();return(r,d)=>(a(),i("div",{class:T(["VPNavBarTitle",{"has-sidebar":l(n)}])},[c("a",{class:"title",href:l(t).logoLink??l(J)(l(o).link)},[u(r.$slots,"nav-bar-title-before",{},void 0,!0),l(t).logo?(a(),$(ee,{key:0,class:"logo",image:l(t).logo},null,8,["image"])):f("",!0),l(t).siteTitle?(a(),i(N,{key:1},[x(L(l(t).siteTitle),1)],64)):l(t).siteTitle===void 0?(a(),i(N,{key:2},[x(L(l(e).title),1)],64)):f("",!0),u(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,Oa)],2))}});const Ua=m(Ga,[["__scopeId","data-v-2973dbb4"]]),ja={},Ka={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ra=c("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),qa=c("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Wa=[Ra,qa];function Ya(s,e){return a(),i("svg",Ka,Wa)}const Ae=m(ja,[["render",Ya]]),Ja={class:"items"},Xa={class:"title"},Za=b({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=X({correspondingLink:!0});return(o,r)=>l(t).length&&l(n).label?(a(),$(be,{key:0,class:"VPNavBarTranslations",icon:Ae,label:l(e).langMenuLabel||"Change language"},{default:v(()=>[c("div",Ja,[c("p",Xa,L(l(n).label),1),(a(!0),i(N,null,A(l(t),d=>(a(),$(oe,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}});const Qa=m(Za,[["__scopeId","data-v-ff4524ae"]]),er=s=>(H("data-v-f1abbc6e"),s=s(),z(),s),tr={class:"container"},sr={class:"title"},nr={class:"content"},or=er(()=>c("div",{class:"curtain"},null,-1)),ar={class:"content-body"},rr=b({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Le(),{hasSidebar:t}=D(),{frontmatter:n}=P(),o=M({});return Ve(()=>{o.value={"has-sidebar":t.value,top:n.value.layout==="home"&&e.value===0}}),(r,d)=>(a(),i("div",{class:T(["VPNavBar",o.value])},[c("div",tr,[c("div",sr,[h(Ua,null,{"nav-bar-title-before":v(()=>[u(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),c("div",nr,[or,c("div",ar,[u(r.$slots,"nav-bar-content-before",{},void 0,!0),h(Da,{class:"search"}),h(Ma,{class:"menu"}),h(Qa,{class:"translations"}),h($o,{class:"appearance"}),h(Fa,{class:"social-links"}),h(va,{class:"extra"}),u(r.$slots,"nav-bar-content-after",{},void 0,!0),h(ba,{class:"hamburger",active:r.isScreenOpen,onClick:d[0]||(d[0]=p=>r.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const lr=m(rr,[["__scopeId","data-v-f1abbc6e"]]),ir={key:0,class:"VPNavScreenAppearance"},cr={class:"text"},ur=b({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>l(e).appearance?(a(),i("div",ir,[c("p",cr,L(l(t).darkModeSwitchLabel||"Appearance"),1),h(me)])):f("",!0)}});const dr=m(ur,[["__scopeId","data-v-0dc5cf49"]]),_r=b({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),$(E,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:v(()=>[x(L(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const vr=m(_r,[["__scopeId","data-v-fe523e3d"]]),pr={},hr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},fr=c("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),mr=[fr];function gr(s,e){return a(),i("svg",hr,mr)}const br=m(pr,[["render",gr]]),$r=b({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),$(E,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:v(()=>[x(L(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const xe=m($r,[["__scopeId","data-v-aea78dd1"]]),kr={class:"VPNavScreenMenuGroupSection"},yr={key:0,class:"title"},Pr=b({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),i("div",kr,[e.text?(a(),i("p",yr,L(e.text),1)):f("",!0),(a(!0),i(N,null,A(e.items,n=>(a(),$(xe,{key:n.text,item:n},null,8,["item"]))),128))]))}});const Vr=m(Pr,[["__scopeId","data-v-f60dbfa7"]]),wr=["aria-controls","aria-expanded"],Lr={class:"button-text"},Sr=["id"],Mr={key:1,class:"group"},Nr=b({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=M(!1),n=k(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(r,d)=>(a(),i("div",{class:T(["VPNavScreenMenuGroup",{open:t.value}])},[c("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[c("span",Lr,L(r.text),1),h(br,{class:"button-icon"})],8,wr),c("div",{id:n.value,class:"items"},[(a(!0),i(N,null,A(r.items,p=>(a(),i(N,{key:p.text},["link"in p?(a(),i("div",{key:p.text,class:"item"},[h(xe,{item:p},null,8,["item"])])):(a(),i("div",Mr,[h(Vr,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,Sr)],2))}});const Ir=m(Nr,[["__scopeId","data-v-c2c554ed"]]),Tr={key:0,class:"VPNavScreenMenu"},Cr=b({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>l(e).nav?(a(),i("nav",Tr,[(a(!0),i(N,null,A(l(e).nav,o=>(a(),i(N,{key:o.text},["link"in o?(a(),$(vr,{key:0,item:o},null,8,["item"])):(a(),$(Ir,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Br=b({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>l(e).socialLinks?(a(),$($e,{key:0,class:"VPNavScreenSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}}),Ar={class:"list"},xr=b({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=X({correspondingLink:!0}),n=M(!1);function o(){n.value=!n.value}return(r,d)=>l(e).length&&l(t).label?(a(),i("div",{key:0,class:T(["VPNavScreenTranslations",{open:n.value}])},[c("button",{class:"title",onClick:o},[h(Ae,{class:"icon lang"}),x(" "+L(l(t).label)+" ",1),h(Be,{class:"icon chevron"})]),c("ul",Ar,[(a(!0),i(N,null,A(l(e),p=>(a(),i("li",{key:p.link,class:"item"},[h(E,{class:"link",href:p.link},{default:v(()=>[x(L(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}});const Hr=m(xr,[["__scopeId","data-v-41505286"]]),zr={class:"container"},Dr=b({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=M(null),t=Se(q?document.body:null);return(n,o)=>(a(),$(ce,{name:"fade",onEnter:o[0]||(o[0]=r=>t.value=!0),onAfterLeave:o[1]||(o[1]=r=>t.value=!1)},{default:v(()=>[n.open?(a(),i("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[c("div",zr,[u(n.$slots,"nav-screen-content-before",{},void 0,!0),h(Cr,{class:"menu"}),h(Hr,{class:"translations"}),h(dr,{class:"appearance"}),h(Br,{class:"social-links"}),u(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}});const Er=m(Dr,[["__scopeId","data-v-57cce842"]]),Fr={key:0,class:"VPNav"},Or=b({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Xn(),{frontmatter:o}=P(),r=k(()=>o.value.navbar!==!1);return Me("close-screen",t),te(()=>{q&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(d,p)=>r.value?(a(),i("header",Fr,[h(lr,{"is-screen-open":l(e),onToggleScreen:l(n)},{"nav-bar-title-before":v(()=>[u(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(d.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(Er,{open:l(e)},{"nav-screen-content-before":v(()=>[u(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}});const Gr=m(Or,[["__scopeId","data-v-7ad780c2"]]),Ur=s=>(H("data-v-bd01e0d5"),s=s(),z(),s),jr=["role","tabindex"],Kr=Ur(()=>c("div",{class:"indicator"},null,-1)),Rr=["onKeydown"],qr={key:1,class:"items"},Wr=b({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:d,hasChildren:p,toggle:_}=gt(k(()=>e.item)),g=k(()=>p.value?"section":"div"),V=k(()=>o.value?"a":"div"),y=k(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),I=k(()=>o.value?void 0:"button"),S=k(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":r.value},{"has-active":d.value}]);function C(w){"key"in w&&w.key!=="Enter"||!e.item.link&&_()}function B(){e.item.link&&_()}return(w,K)=>{const W=j("VPSidebarItem",!0);return a(),$(F(g.value),{class:T(["VPSidebarItem",S.value])},{default:v(()=>[w.item.text?(a(),i("div",Z({key:0,class:"item",role:I.value},Ye(w.item.items?{click:C,keydown:C}:{},!0),{tabindex:w.item.items&&0}),[Kr,w.item.link?(a(),$(E,{key:0,tag:V.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:v(()=>[(a(),$(F(y.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(F(y.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null?(a(),i("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:We(B,["enter"]),tabindex:"0"},[h(fe,{class:"caret-icon"})],40,Rr)):f("",!0)],16,jr)):f("",!0),w.item.items&&w.item.items.length?(a(),i("div",qr,[w.depth<5?(a(!0),i(N,{key:0},A(w.item.items,R=>(a(),$(W,{key:R.text,item:R,depth:w.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}});const Yr=m(Wr,[["__scopeId","data-v-bd01e0d5"]]),He=s=>(H("data-v-ee2efba5"),s=s(),z(),s),Jr=He(()=>c("div",{class:"curtain"},null,-1)),Xr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Zr=He(()=>c("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Qr=b({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=D(),n=s,o=M(null),r=Se(q?document.body:null);return U([n,o],()=>{var d;n.open?(r.value=!0,(d=o.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"}),(d,p)=>l(t)?(a(),i("aside",{key:0,class:T(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:p[0]||(p[0]=Je(()=>{},["stop"]))},[Jr,c("nav",Xr,[Zr,u(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),i(N,null,A(l(e),_=>(a(),i("div",{key:_.text,class:"group"},[h(Yr,{item:_,depth:0},null,8,["item"])]))),128)),u(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}});const el=m(Qr,[["__scopeId","data-v-ee2efba5"]]),tl=b({__name:"VPSkipLink",setup(s){const e=se(),t=M();U(()=>e.path,()=>t.value.focus());function n({target:o}){const r=document.getElementById(decodeURIComponent(o.hash).slice(1));if(r){const d=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",d)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",d),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(a(),i(N,null,[c("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),c("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}});const sl=m(tl,[["__scopeId","data-v-c8291ffa"]]),nl=b({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=D(),o=se();U(()=>o.path,n),mt(e,n);const{frontmatter:r}=P(),d=Xe(),p=k(()=>!!d["home-hero-image"]);return Me("hero-image-slot-exists",p),(_,g)=>{const V=j("Content");return l(r).layout!==!1?(a(),i("div",{key:0,class:T(["Layout",l(r).pageClass])},[u(_.$slots,"layout-top",{},void 0,!0),h(sl),h(st,{class:"backdrop",show:l(e),onClick:l(n)},null,8,["show","onClick"]),h(Gr,null,{"nav-bar-title-before":v(()=>[u(_.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(_.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(_.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(_.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[u(_.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(_.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),h(Jn,{open:l(e),onOpenMenu:l(t)},null,8,["open","onOpenMenu"]),h(el,{open:l(e)},{"sidebar-nav-before":v(()=>[u(_.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[u(_.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(Mn,null,{"page-top":v(()=>[u(_.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(_.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[u(_.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[u(_.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(_.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(_.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(_.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(_.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(_.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[u(_.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(_.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(_.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[u(_.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(_.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[u(_.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(_.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(_.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(_.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(_.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(_.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(Bn),u(_.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(V,{key:1}))}}});const ol=m(nl,[["__scopeId","data-v-9d8abc1e"]]);const rl={Layout:ol,enhanceApp:({app:s})=>{s.component("Badge",Qe)}};export{Na as c,rl as t,P as u}; +import{d as b,o as a,c as i,r as u,n as T,a as x,t as L,_ as m,b as $,w as v,T as ce,e as f,u as ze,i as De,f as ue,g as k,h as M,j as G,k as c,l,p as H,m as z,q as O,s as q,v as re,x as U,y as te,z as de,A as Ve,B as Ee,C as j,F as N,D as A,E as _e,G as Y,H as h,I as F,J as we,K as se,L as Z,M as ne,N as Fe,O as Oe,P as Le,Q as Ge,R as Ue,S as je,U as Ke,V as ke,W as Re,X as qe,Y as Se,Z as Me,$ as We,a0 as Ye,a1 as Je,a2 as Xe}from"./framework.2263f03b.js";const Ze=b({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),i("span",{class:T(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[x(L(e.text),1)],!0)],2))}});const Qe=m(Ze,[["__scopeId","data-v-ea5b2908"]]),et={key:0,class:"VPBackdrop"},tt=b({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),$(ce,{name:"fade"},{default:v(()=>[e.show?(a(),i("div",et)):f("",!0)]),_:1}))}});const st=m(tt,[["__scopeId","data-v-54a304ca"]]),P=ze;function nt(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function le(s){return/^\//.test(s)?s:`/${s}`}function J(s){const{pathname:e,search:t,hash:n,protocol:o}=new URL(s,"http://a.com");if(De(s)||s.startsWith("#")||!o.startsWith("http")||/\.(?!html|md)\w+($|\?)/i.test(s))return s;const{site:r}=P(),d=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${n}`);return ue(d)}function X({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:r}=P(),d=k(()=>{var _,g;return{label:(_=t.value.locales[n.value])==null?void 0:_.label,link:((g=t.value.locales[n.value])==null?void 0:g.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:k(()=>Object.entries(t.value.locales).flatMap(([_,g])=>s&&d.value.label===g.label?[]:{text:g.label,link:ot(g.link||(_==="root"?"/":`/${_}/`),r.value.i18nRouting!==!1&&e,o.value.relativePath.slice(d.value.link.length-1),!t.value.cleanUrls)})),currentLang:d}}function ot(s,e,t,n){return e?s.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const at=s=>(H("data-v-b9c0c15a"),s=s(),z(),s),rt={class:"NotFound"},lt={class:"code"},it={class:"title"},ct=at(()=>c("div",{class:"divider"},null,-1)),ut={class:"quote"},dt={class:"action"},_t=["href","aria-label"],vt=b({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=X({removeCurrent:!1}),o=M("/");return G(()=>{var d;const r=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((d=n.value.find(({link:p})=>p.startsWith(r)))==null?void 0:d.link)||n.value[0].link)}),(r,d)=>{var p,_,g,V,y;return a(),i("div",rt,[c("p",lt,L(((p=l(t).notFound)==null?void 0:p.code)??"404"),1),c("h1",it,L(((_=l(t).notFound)==null?void 0:_.title)??"PAGE NOT FOUND"),1),ct,c("blockquote",ut,L(((g=l(t).notFound)==null?void 0:g.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),c("div",dt,[c("a",{class:"link",href:l(ue)(o.value),"aria-label":((V=l(t).notFound)==null?void 0:V.linkLabel)??"go to home"},L(((y=l(t).notFound)==null?void 0:y.linkText)??"Take me home"),9,_t)])])}}});const pt=m(vt,[["__scopeId","data-v-b9c0c15a"]]);function Ne(s,e){if(Array.isArray(s))return Q(s);if(s==null)return[];e=le(e);const t=Object.keys(s).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>e.startsWith(le(o))),n=t?s[t]:[];return Array.isArray(n)?Q(n):Q(n.items,n.base)}function ht(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function ft(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function ie(s,e){return Array.isArray(e)?e.some(t=>ie(s,t)):O(s,e.link)?!0:e.items?ie(s,e.items):!1}function Q(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=Q(n.items,o)),n})}function D(){const{frontmatter:s,page:e,theme:t}=P(),n=re("(min-width: 960px)"),o=M(!1),r=k(()=>{const B=t.value.sidebar,w=e.value.relativePath;return B?Ne(B,w):[]}),d=M(r.value);U(r,(B,w)=>{JSON.stringify(B)!==JSON.stringify(w)&&(d.value=r.value)});const p=k(()=>s.value.sidebar!==!1&&d.value.length>0&&s.value.layout!=="home"),_=k(()=>g?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),g=k(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),V=k(()=>p.value&&n.value),y=k(()=>p.value?ht(d.value):[]);function I(){o.value=!0}function S(){o.value=!1}function C(){o.value?S():I()}return{isOpen:o,sidebar:d,sidebarGroups:y,hasSidebar:p,hasAside:g,leftAside:_,isSidebarEnabled:V,open:I,close:S,toggle:C}}function mt(s,e){let t;te(()=>{t=s.value?document.activeElement:void 0}),G(()=>{window.addEventListener("keyup",n)}),de(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}const Ie=M(q?location.hash:"");q&&window.addEventListener("hashchange",()=>{Ie.value=location.hash});function gt(s){const{page:e}=P(),t=M(!1),n=k(()=>s.value.collapsed!=null),o=k(()=>!!s.value.link),r=M(!1),d=()=>{r.value=O(e.value.relativePath,s.value.link)};U([e,s,Ie],d),G(d);const p=k(()=>r.value?!0:s.value.items?ie(e.value.relativePath,s.value.items):!1),_=k(()=>!!(s.value.items&&s.value.items.length));te(()=>{t.value=!!(n.value&&s.value.collapsed)}),Ve(()=>{(r.value||p.value)&&(t.value=!1)});function g(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:p,hasChildren:_,toggle:g}}function bt(){const{hasSidebar:s}=D(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:k(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const $t=71;function ve(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function pe(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{title:kt(t),link:"#"+t.id,level:n}});return yt(e,s)}function kt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function yt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(d=>d.level>=n&&d.level<=o);const r=[];e:for(let d=0;d=0;_--){const g=s[_];if(g.level{requestAnimationFrame(r),window.addEventListener("scroll",n)}),Ee(()=>{d(location.hash)}),de(()=>{window.removeEventListener("scroll",n)});function r(){if(!t.value)return;const p=[].slice.call(s.value.querySelectorAll(".outline-link")),_=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(S=>p.some(C=>C.hash===S.hash&&S.offsetParent!==null)),g=window.scrollY,V=window.innerHeight,y=document.body.offsetHeight,I=Math.abs(g+V-y)<1;if(_.length&&I){d(_[_.length-1].hash);return}for(let S=0;S<_.length;S++){const C=_[S],B=_[S+1],[w,K]=Vt(S,C,B);if(w){d(K);return}}}function d(p){o&&o.classList.remove("active"),p==null?o=null:o=s.value.querySelector(`a[href="${decodeURIComponent(p)}"]`);const _=o;_?(_.classList.add("active"),e.value.style.top=_.offsetTop+33+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function ye(s){return s.parentElement.offsetTop-$t}function Vt(s,e,t){const n=window.scrollY;return s===0&&n===0?[!0,null]:n{const o=j("VPDocOutlineItem",!0);return a(),i("ul",{class:T(t.root?"root":"nested")},[(a(!0),i(N,null,A(t.headers,({children:r,link:d,title:p})=>(a(),i("li",null,[c("a",{class:"outline-link",href:d,onClick:e,title:p},L(p),9,wt),r!=null&&r.length?(a(),$(o,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}});const he=m(Lt,[["__scopeId","data-v-463da30f"]]),St=s=>(H("data-v-3a6c4994"),s=s(),z(),s),Mt={class:"content"},Nt={class:"outline-title",role:"heading","aria-level":"2"},It={"aria-labelledby":"doc-outline-aria-label"},Tt=St(()=>c("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Ct=b({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=_e([]);Y(()=>{n.value=pe(e.value.outline??t.value.outline)});const o=M(),r=M();return Pt(o,r),(d,p)=>(a(),i("div",{class:T(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[c("div",Mt,[c("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),c("div",Nt,L(l(ve)(l(t))),1),c("nav",It,[Tt,h(he,{headers:n.value,root:!0},null,8,["headers"])])])],2))}});const Bt=m(Ct,[["__scopeId","data-v-3a6c4994"]]),At={class:"VPDocAsideCarbonAds"},xt=b({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),i("div",At,[h(l(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ht=s=>(H("data-v-cb998dce"),s=s(),z(),s),zt={class:"VPDocAside"},Dt=Ht(()=>c("div",{class:"spacer"},null,-1)),Et=b({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),i("div",zt,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),h(Bt),u(t.$slots,"aside-outline-after",{},void 0,!0),Dt,u(t.$slots,"aside-ads-before",{},void 0,!0),l(e).carbonAds?(a(),$(xt,{key:0,"carbon-ads":l(e).carbonAds},null,8,["carbon-ads"])):f("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}});const Ft=m(Et,[["__scopeId","data-v-cb998dce"]]);function Ot(){const{theme:s,page:e}=P();return k(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Gt(){const{page:s,theme:e,frontmatter:t}=P();return k(()=>{var _,g,V,y,I,S,C,B;const n=Ne(e.value.sidebar,s.value.relativePath),o=ft(n),r=o.findIndex(w=>O(s.value.relativePath,w.link)),d=((_=e.value.docFooter)==null?void 0:_.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((g=e.value.docFooter)==null?void 0:g.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((V=o[r-1])==null?void 0:V.docFooterText)??((y=o[r-1])==null?void 0:y.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((I=o[r-1])==null?void 0:I.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((S=o[r+1])==null?void 0:S.docFooterText)??((C=o[r+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((B=o[r+1])==null?void 0:B.link)}}})}const Ut={},jt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Kt=c("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Rt=c("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),qt=[Kt,Rt];function Wt(s,e){return a(),i("svg",jt,qt)}const Yt=m(Ut,[["render",Wt]]),E=b({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=k(()=>e.tag??(e.href?"a":"span")),n=k(()=>e.href&&we.test(e.href));return(o,r)=>(a(),$(F(t.value),{class:T(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?l(J)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:v(()=>[u(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Jt={class:"VPLastUpdated"},Xt=["datetime"],Zt=b({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n,lang:o}=P(),r=k(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),d=k(()=>r.value.toISOString()),p=M("");return G(()=>{te(()=>{var _,g,V;p.value=new Intl.DateTimeFormat((g=(_=e.value.lastUpdated)==null?void 0:_.formatOptions)!=null&&g.forceLocale?o.value:void 0,((V=e.value.lastUpdated)==null?void 0:V.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(r.value)})}),(_,g)=>{var V;return a(),i("p",Jt,[x(L(((V=l(e).lastUpdated)==null?void 0:V.text)||l(e).lastUpdatedText||"Last updated")+": ",1),c("time",{datetime:d.value},L(p.value),9,Xt)])}}});const Qt=m(Zt,[["__scopeId","data-v-19a7ae4e"]]),es={key:0,class:"VPDocFooter"},ts={key:0,class:"edit-info"},ss={key:0,class:"edit-link"},ns={key:1,class:"last-updated"},os={key:1,class:"prev-next"},as={class:"pager"},rs=["href"],ls=["innerHTML"],is=["innerHTML"],cs={class:"pager"},us=["href"],ds=["innerHTML"],_s=["innerHTML"],vs=b({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=Ot(),r=Gt(),d=k(()=>e.value.editLink&&n.value.editLink!==!1),p=k(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),_=k(()=>d.value||p.value||r.value.prev||r.value.next);return(g,V)=>{var y,I,S,C,B,w;return _.value?(a(),i("footer",es,[u(g.$slots,"doc-footer-before",{},void 0,!0),d.value||p.value?(a(),i("div",ts,[d.value?(a(),i("div",ss,[h(E,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:v(()=>[h(Yt,{class:"edit-link-icon","aria-label":"edit icon"}),x(" "+L(l(o).text),1)]),_:1},8,["href"])])):f("",!0),p.value?(a(),i("div",ns,[h(Qt)])):f("",!0)])):f("",!0),(y=l(r).prev)!=null&&y.link||(I=l(r).next)!=null&&I.link?(a(),i("nav",os,[c("div",as,[(S=l(r).prev)!=null&&S.link?(a(),i("a",{key:0,class:"pager-link prev",href:l(J)(l(r).prev.link)},[c("span",{class:"desc",innerHTML:((C=l(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,ls),c("span",{class:"title",innerHTML:l(r).prev.text},null,8,is)],8,rs)):f("",!0)]),c("div",cs,[(B=l(r).next)!=null&&B.link?(a(),i("a",{key:0,class:"pager-link next",href:l(J)(l(r).next.link)},[c("span",{class:"desc",innerHTML:((w=l(e).docFooter)==null?void 0:w.next)||"Next page"},null,8,ds),c("span",{class:"title",innerHTML:l(r).next.text},null,8,_s)],8,us)):f("",!0)])])):f("",!0)])):f("",!0)}}});const ps=m(vs,[["__scopeId","data-v-a2d931e4"]]),hs={},fs={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ms=c("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),gs=[ms];function bs(s,e){return a(),i("svg",fs,gs)}const fe=m(hs,[["render",bs]]),$s={key:0,class:"VPDocOutlineDropdown"},ks={key:0,class:"items"},ys=b({__name:"VPDocOutlineDropdown",setup(s){const{frontmatter:e,theme:t}=P(),n=M(!1);Y(()=>{n.value=!1});const o=_e([]);return Y(()=>{o.value=pe(e.value.outline??t.value.outline)}),(r,d)=>o.value.length>0?(a(),i("div",$s,[c("button",{onClick:d[0]||(d[0]=p=>n.value=!n.value),class:T({open:n.value})},[x(L(l(ve)(l(t)))+" ",1),h(fe,{class:"icon"})],2),n.value?(a(),i("div",ks,[h(he,{headers:o.value},null,8,["headers"])])):f("",!0)])):f("",!0)}});const Ps=m(ys,[["__scopeId","data-v-95bb0785"]]),Vs=s=>(H("data-v-a3c25e27"),s=s(),z(),s),ws={class:"container"},Ls=Vs(()=>c("div",{class:"aside-curtain"},null,-1)),Ss={class:"aside-container"},Ms={class:"aside-content"},Ns={class:"content"},Is={class:"content-container"},Ts={class:"main"},Cs=b({__name:"VPDoc",setup(s){const{theme:e}=P(),t=se(),{hasSidebar:n,hasAside:o,leftAside:r}=D(),d=k(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,_)=>{const g=j("Content");return a(),i("div",{class:T(["VPDoc",{"has-sidebar":l(n),"has-aside":l(o)}])},[u(p.$slots,"doc-top",{},void 0,!0),c("div",ws,[l(o)?(a(),i("div",{key:0,class:T(["aside",{"left-aside":l(r)}])},[Ls,c("div",Ss,[c("div",Ms,[h(Ft,null,{"aside-top":v(()=>[u(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),c("div",Ns,[c("div",Is,[u(p.$slots,"doc-before",{},void 0,!0),h(Ps),c("main",Ts,[h(g,{class:T(["vp-doc",[d.value,l(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),h(ps,null,{"doc-footer-before":v(()=>[u(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(p.$slots,"doc-after",{},void 0,!0)])])]),u(p.$slots,"doc-bottom",{},void 0,!0)],2)}}});const Bs=m(Cs,[["__scopeId","data-v-a3c25e27"]]),As=b({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{}},setup(s){const e=s,t=k(()=>e.href&&we.test(e.href)),n=k(()=>e.tag||e.href?"a":"button");return(o,r)=>(a(),$(F(n.value),{class:T(["VPButton",[o.size,o.theme]]),href:o.href?l(J)(o.href):void 0,target:t.value?"_blank":void 0,rel:t.value?"noreferrer":void 0},{default:v(()=>[x(L(o.text),1)]),_:1},8,["class","href","target","rel"]))}});const xs=m(As,[["__scopeId","data-v-1e76fe75"]]),Hs=["src","alt"],zs=b({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=j("VPImage",!0);return e.image?(a(),i(N,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),i("img",Z({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:l(ue)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Hs)):(a(),i(N,{key:1},[h(n,Z({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),h(n,Z({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}});const ee=m(zs,[["__scopeId","data-v-ab19afbb"]]),Ds=s=>(H("data-v-5a3e9999"),s=s(),z(),s),Es={class:"container"},Fs={class:"main"},Os={key:0,class:"name"},Gs=["innerHTML"],Us=["innerHTML"],js=["innerHTML"],Ks={key:0,class:"actions"},Rs={key:0,class:"image"},qs={class:"image-container"},Ws=Ds(()=>c("div",{class:"image-bg"},null,-1)),Ys=b({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=ne("hero-image-slot-exists");return(t,n)=>(a(),i("div",{class:T(["VPHero",{"has-image":t.image||l(e)}])},[c("div",Es,[c("div",Fs,[u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),i("h1",Os,[c("span",{innerHTML:t.name,class:"clip"},null,8,Gs)])):f("",!0),t.text?(a(),i("p",{key:1,innerHTML:t.text,class:"text"},null,8,Us)):f("",!0),t.tagline?(a(),i("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,js)):f("",!0)],!0),t.actions?(a(),i("div",Ks,[(a(!0),i(N,null,A(t.actions,o=>(a(),i("div",{key:o.link,class:"action"},[h(xs,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||l(e)?(a(),i("div",Rs,[c("div",qs,[Ws,u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(ee,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}});const Js=m(Ys,[["__scopeId","data-v-5a3e9999"]]),Xs=b({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>l(e).hero?(a(),$(Js,{key:0,class:"VPHomeHero",name:l(e).hero.name,text:l(e).hero.text,tagline:l(e).hero.tagline,image:l(e).hero.image,actions:l(e).hero.actions},{"home-hero-info":v(()=>[u(t.$slots,"home-hero-info")]),"home-hero-image":v(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Zs={},Qs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},en=c("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),tn=[en];function sn(s,e){return a(),i("svg",Qs,tn)}const nn=m(Zs,[["render",sn]]),on={class:"box"},an={key:0,class:"icon"},rn=["innerHTML"],ln=["innerHTML"],cn=["innerHTML"],un={key:4,class:"link-text"},dn={class:"link-text-value"},_n=b({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),$(E,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[c("article",on,[typeof e.icon=="object"&&e.icon.wrap?(a(),i("div",an,[h(ee,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(ee,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),i("div",{key:2,class:"icon",innerHTML:e.icon},null,8,rn)):f("",!0),c("h2",{class:"title",innerHTML:e.title},null,8,ln),e.details?(a(),i("p",{key:3,class:"details",innerHTML:e.details},null,8,cn)):f("",!0),e.linkText?(a(),i("div",un,[c("p",dn,[x(L(e.linkText)+" ",1),h(nn,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}});const vn=m(_n,[["__scopeId","data-v-ee984185"]]),pn={key:0,class:"VPFeatures"},hn={class:"container"},fn={class:"items"},mn=b({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=k(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),i("div",pn,[c("div",hn,[c("div",fn,[(a(!0),i(N,null,A(n.features,r=>(a(),i("div",{key:r.title,class:T(["item",[t.value]])},[h(vn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}});const gn=m(mn,[["__scopeId","data-v-b1eea84a"]]),bn=b({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>l(e).features?(a(),$(gn,{key:0,class:"VPHomeFeatures",features:l(e).features},null,8,["features"])):f("",!0)}}),$n={class:"VPHome"},kn=b({__name:"VPHome",setup(s){return(e,t)=>{const n=j("Content");return a(),i("div",$n,[u(e.$slots,"home-hero-before",{},void 0,!0),h(Xs,null,{"home-hero-info":v(()=>[u(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(e.$slots,"home-hero-after",{},void 0,!0),u(e.$slots,"home-features-before",{},void 0,!0),h(bn),u(e.$slots,"home-features-after",{},void 0,!0),h(n)])}}});const yn=m(kn,[["__scopeId","data-v-20eabd3a"]]),Pn={},Vn={class:"VPPage"};function wn(s,e){const t=j("Content");return a(),i("div",Vn,[u(s.$slots,"page-top"),h(t),u(s.$slots,"page-bottom")])}const Ln=m(Pn,[["render",wn]]),Sn=b({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,r)=>(a(),i("div",{class:T(["VPContent",{"has-sidebar":l(n),"is-home":l(t).layout==="home"}]),id:"VPContent"},[l(e).isNotFound?u(o.$slots,"not-found",{key:0},()=>[h(pt)],!0):l(t).layout==="page"?(a(),$(Ln,{key:1},{"page-top":v(()=>[u(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(t).layout==="home"?(a(),$(yn,{key:2},{"home-hero-before":v(()=>[u(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(t).layout&&l(t).layout!=="doc"?(a(),$(F(l(t).layout),{key:3})):(a(),$(Bs,{key:4},{"doc-top":v(()=>[u(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[u(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[u(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[u(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[u(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Mn=m(Sn,[["__scopeId","data-v-3cf691b6"]]),Nn={class:"container"},In=["innerHTML"],Tn=["innerHTML"],Cn=b({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D();return(o,r)=>l(e).footer&&l(t).footer!==!1?(a(),i("footer",{key:0,class:T(["VPFooter",{"has-sidebar":l(n)}])},[c("div",Nn,[l(e).footer.message?(a(),i("p",{key:0,class:"message",innerHTML:l(e).footer.message},null,8,In)):f("",!0),l(e).footer.copyright?(a(),i("p",{key:1,class:"copyright",innerHTML:l(e).footer.copyright},null,8,Tn)):f("",!0)])],2)):f("",!0)}});const Bn=m(Cn,[["__scopeId","data-v-e4279f1c"]]),An={class:"header"},xn={class:"outline"},Hn=b({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=M(!1),o=M(0),r=M();Y(()=>{n.value=!1});function d(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(g){g.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),Oe(()=>{n.value=!1}))}function _(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(g,V)=>(a(),i("div",{class:"VPLocalNavOutlineDropdown",style:Fe({"--vp-vh":o.value+"px"})},[g.headers.length>0?(a(),i("button",{key:0,onClick:d,class:T({open:n.value})},[x(L(l(ve)(l(t)))+" ",1),h(fe,{class:"icon"})],2)):(a(),i("button",{key:1,onClick:_},L(l(t).returnToTopLabel||"Return to top"),1)),h(ce,{name:"flyout"},{default:v(()=>[n.value?(a(),i("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:p},[c("div",An,[c("a",{class:"top-link",href:"#",onClick:_},L(l(t).returnToTopLabel||"Return to top"),1)]),c("div",xn,[h(he,{headers:g.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}});const zn=m(Hn,[["__scopeId","data-v-24251f6f"]]),Dn={},En={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Fn=c("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),On=c("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),Gn=c("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Un=c("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),jn=[Fn,On,Gn,Un];function Kn(s,e){return a(),i("svg",En,jn)}const Rn=m(Dn,[["render",Kn]]),qn=["aria-expanded"],Wn={class:"menu-text"},Yn=b({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=D(),{y:o}=Le(),r=_e([]),d=M(0);G(()=>{d.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Y(()=>{r.value=pe(t.value.outline??e.value.outline)});const p=k(()=>r.value.length===0&&!n.value),_=k(()=>({VPLocalNav:!0,fixed:p.value,"reached-top":o.value>=d.value}));return(g,V)=>l(t).layout!=="home"&&(!p.value||l(o)>=d.value)?(a(),i("div",{key:0,class:T(_.value)},[l(n)?(a(),i("button",{key:0,class:"menu","aria-expanded":g.open,"aria-controls":"VPSidebarNav",onClick:V[0]||(V[0]=y=>g.$emit("open-menu"))},[h(Rn,{class:"menu-icon"}),c("span",Wn,L(l(e).sidebarMenuLabel||"Menu"),1)],8,qn)):f("",!0),h(zn,{headers:r.value,navHeight:d.value},null,8,["headers","navHeight"])],2)):f("",!0)}});const Jn=m(Yn,[["__scopeId","data-v-9e669cc1"]]);function Xn(){const s=M(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const r=se();return U(()=>r.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Zn={},Qn={class:"VPSwitch",type:"button",role:"switch"},eo={class:"check"},to={key:0,class:"icon"};function so(s,e){return a(),i("button",Qn,[c("span",eo,[s.$slots.default?(a(),i("span",to,[u(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const no=m(Zn,[["render",so],["__scopeId","data-v-1c29e291"]]),oo={},ao={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ro=c("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),lo=[ro];function io(s,e){return a(),i("svg",ao,lo)}const co=m(oo,[["render",io]]),uo={},_o={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},vo=Ge('',9),po=[vo];function ho(s,e){return a(),i("svg",_o,po)}const fo=m(uo,[["render",ho]]),mo=b({__name:"VPSwitchAppearance",setup(s){const{isDark:e}=P(),t=ne("toggle-appearance",()=>{e.value=!e.value});return(n,o)=>(a(),$(no,{title:"toggle dark mode",class:"VPSwitchAppearance","aria-checked":l(e),onClick:l(t)},{default:v(()=>[h(fo,{class:"sun"}),h(co,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const me=m(mo,[["__scopeId","data-v-3329432d"]]),go={key:0,class:"VPNavBarAppearance"},bo=b({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>l(e).appearance&&l(e).appearance!=="force-dark"?(a(),i("div",go,[h(me)])):f("",!0)}});const $o=m(bo,[["__scopeId","data-v-283b26e9"]]),ge=M();let Te=!1,ae=0;function ko(s){const e=M(!1);if(q){!Te&&yo(),ae++;const t=U(ge,n=>{var o,r,d;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(r=s.onFocus)==null||r.call(s)):(e.value=!1,(d=s.onBlur)==null||d.call(s))});de(()=>{t(),ae--,ae||Po()})}return Ue(e)}function yo(){document.addEventListener("focusin",Ce),Te=!0,ge.value=document.activeElement}function Po(){document.removeEventListener("focusin",Ce)}function Ce(){ge.value=document.activeElement}const Vo={},wo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Lo=c("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),So=[Lo];function Mo(s,e){return a(),i("svg",wo,So)}const Be=m(Vo,[["render",Mo]]),No={},Io={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},To=c("circle",{cx:"12",cy:"12",r:"2"},null,-1),Co=c("circle",{cx:"19",cy:"12",r:"2"},null,-1),Bo=c("circle",{cx:"5",cy:"12",r:"2"},null,-1),Ao=[To,Co,Bo];function xo(s,e){return a(),i("svg",Io,Ao)}const Ho=m(No,[["render",xo]]),zo={class:"VPMenuLink"},Do=b({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),i("div",zo,[h(E,{class:T({active:l(O)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:v(()=>[x(L(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const oe=m(Do,[["__scopeId","data-v-f51f088d"]]),Eo={class:"VPMenuGroup"},Fo={key:0,class:"title"},Oo=b({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),i("div",Eo,[e.text?(a(),i("p",Fo,L(e.text),1)):f("",!0),(a(!0),i(N,null,A(e.items,n=>(a(),i(N,null,["link"in n?(a(),$(oe,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}});const Go=m(Oo,[["__scopeId","data-v-a6b0397c"]]),Uo={class:"VPMenu"},jo={key:0,class:"items"},Ko=b({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),i("div",Uo,[e.items?(a(),i("div",jo,[(a(!0),i(N,null,A(e.items,n=>(a(),i(N,{key:n.text},["link"in n?(a(),$(oe,{key:0,item:n},null,8,["item"])):(a(),$(Go,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),u(e.$slots,"default",{},void 0,!0)]))}});const Ro=m(Ko,[["__scopeId","data-v-e42ed9b3"]]),qo=["aria-expanded","aria-label"],Wo={key:0,class:"text"},Yo=["innerHTML"],Jo={class:"menu"},Xo=b({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=M(!1),t=M();ko({el:t,onBlur:n});function n(){e.value=!1}return(o,r)=>(a(),i("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=d=>e.value=!0),onMouseleave:r[2]||(r[2]=d=>e.value=!1)},[c("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:r[0]||(r[0]=d=>e.value=!e.value)},[o.button||o.icon?(a(),i("span",Wo,[o.icon?(a(),$(F(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),i("span",{key:1,innerHTML:o.button},null,8,Yo)):f("",!0),h(Be,{class:"text-icon"})])):(a(),$(Ho,{key:1,class:"icon"}))],8,qo),c("div",Jo,[h(Ro,{items:o.items},{default:v(()=>[u(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const be=m(Xo,[["__scopeId","data-v-aa8de344"]]),Zo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Qo=["href","aria-label","innerHTML"],ea=b({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=k(()=>typeof e.icon=="object"?e.icon.svg:Zo[e.icon]);return(n,o)=>(a(),i("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Qo))}});const ta=m(ea,[["__scopeId","data-v-16cf740a"]]),sa={class:"VPSocialLinks"},na=b({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),i("div",sa,[(a(!0),i(N,null,A(e.links,({link:n,icon:o,ariaLabel:r})=>(a(),$(ta,{key:n,icon:o,link:n,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}});const $e=m(na,[["__scopeId","data-v-e71e869c"]]),oa={key:0,class:"group translations"},aa={class:"trans-title"},ra={key:1,class:"group"},la={class:"item appearance"},ia={class:"label"},ca={class:"appearance-action"},ua={key:2,class:"group"},da={class:"item social-links"},_a=b({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=X({correspondingLink:!0}),r=k(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(d,p)=>r.value?(a(),$(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[l(n).length&&l(o).label?(a(),i("div",oa,[c("p",aa,L(l(o).label),1),(a(!0),i(N,null,A(l(n),_=>(a(),$(oe,{key:_.link,item:_},null,8,["item"]))),128))])):f("",!0),l(e).appearance?(a(),i("div",ra,[c("div",la,[c("p",ia,L(l(t).darkModeSwitchLabel||"Appearance"),1),c("div",ca,[h(me)])])])):f("",!0),l(t).socialLinks?(a(),i("div",ua,[c("div",da,[h($e,{class:"social-links-list",links:l(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}});const va=m(_a,[["__scopeId","data-v-c8c2ae4b"]]),pa=s=>(H("data-v-6bee1efd"),s=s(),z(),s),ha=["aria-expanded"],fa=pa(()=>c("span",{class:"container"},[c("span",{class:"top"}),c("span",{class:"middle"}),c("span",{class:"bottom"})],-1)),ma=[fa],ga=b({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),i("button",{type:"button",class:T(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},ma,10,ha))}});const ba=m(ga,[["__scopeId","data-v-6bee1efd"]]),$a=["innerHTML"],ka=b({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),$(E,{class:T({VPNavBarMenuLink:!0,active:l(O)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:v(()=>[c("span",{innerHTML:t.item.text},null,8,$a)]),_:1},8,["class","href","target","rel"]))}});const ya=m(ka,[["__scopeId","data-v-cb318fec"]]),Pa=b({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=P(),n=r=>"link"in r?O(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(n),o=k(()=>n(e.item));return(r,d)=>(a(),$(be,{class:T({VPNavBarMenuGroup:!0,active:l(O)(l(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||o.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Va=s=>(H("data-v-f732b5d0"),s=s(),z(),s),wa={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},La=Va(()=>c("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Sa=b({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>l(e).nav?(a(),i("nav",wa,[La,(a(!0),i(N,null,A(l(e).nav,o=>(a(),i(N,{key:o.text},["link"in o?(a(),$(ya,{key:0,item:o},null,8,["item"])):(a(),$(Pa,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}});const Ma=m(Sa,[["__scopeId","data-v-f732b5d0"]]);function Na(s,e){const{localeIndex:t}=P();function n(o){var S,C;const r=o.split("."),d=s&&typeof s=="object",p=d&&((C=(S=s.locales)==null?void 0:S[t.value])==null?void 0:C.translations)||null,_=d&&s.translations||null;let g=p,V=_,y=e;const I=r.pop();for(const B of r){let w=null;const K=y==null?void 0:y[B];K&&(w=y=K);const W=V==null?void 0:V[B];W&&(w=V=W);const R=g==null?void 0:g[B];R&&(w=g=R),K||(y=w),W||(V=w),R||(g=w)}return(g==null?void 0:g[I])??(V==null?void 0:V[I])??(y==null?void 0:y[I])??""}return n}const Ia=["aria-label"],Ta={class:"DocSearch-Button-Container"},Ca=c("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[c("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ba={class:"DocSearch-Button-Placeholder"},Aa=c("span",{class:"DocSearch-Button-Keys"},[c("kbd",{class:"DocSearch-Button-Key"}),c("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Pe=b({__name:"VPNavBarSearchButton",setup(s){const{theme:e}=P(),t={button:{buttonText:"Search",buttonAriaLabel:"Search"}},n=je(Na)(Ke(()=>{var o;return(o=e.value.search)==null?void 0:o.options}),t);return(o,r)=>(a(),i("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":l(n)("button.buttonAriaLabel")},[c("span",Ta,[Ca,c("span",Ba,L(l(n)("button.buttonText")),1)]),Aa],8,Ia))}});const xa={class:"VPNavBarSearch"},Ha={id:"local-search"},za={key:1,id:"docsearch"},Da=b({__name:"VPNavBarSearch",setup(s){const e=Re(()=>qe(()=>import("./VPLocalSearchBox.073a47f0.js"),["assets/chunks/VPLocalSearchBox.073a47f0.js","assets/chunks/framework.2263f03b.js"])),t=()=>null,{theme:n}=P(),o=M(!1),r=M(!1);G(()=>{});function d(){o.value||(o.value=!0,setTimeout(p,16))}function p(){const y=new Event("keydown");y.key="k",y.metaKey=!0,window.dispatchEvent(y),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||p()},16)}function _(y){const I=y.target,S=I.tagName;return I.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const g=M(!1);ke("k",y=>{(y.ctrlKey||y.metaKey)&&(y.preventDefault(),g.value=!0)}),ke("/",y=>{_(y)||(y.preventDefault(),g.value=!0)});const V="local";return(y,I)=>{var S;return a(),i("div",xa,[l(V)==="local"?(a(),i(N,{key:0},[g.value?(a(),$(l(e),{key:0,onClose:I[0]||(I[0]=C=>g.value=!1)})):f("",!0),c("div",Ha,[h(Pe,{onClick:I[1]||(I[1]=C=>g.value=!0)})])],64)):l(V)==="algolia"?(a(),i(N,{key:1},[o.value?(a(),$(l(t),{key:0,algolia:((S=l(n).search)==null?void 0:S.options)??l(n).algolia,onVnodeBeforeMount:I[2]||(I[2]=C=>r.value=!0)},null,8,["algolia"])):f("",!0),r.value?f("",!0):(a(),i("div",za,[h(Pe,{onClick:d})]))],64)):f("",!0)])}}});const Ea=b({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>l(e).socialLinks?(a(),$($e,{key:0,class:"VPNavBarSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}});const Fa=m(Ea,[["__scopeId","data-v-ef6192dc"]]),Oa=["href"],Ga=b({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=D(),{currentLang:o}=X();return(r,d)=>(a(),i("div",{class:T(["VPNavBarTitle",{"has-sidebar":l(n)}])},[c("a",{class:"title",href:l(t).logoLink??l(J)(l(o).link)},[u(r.$slots,"nav-bar-title-before",{},void 0,!0),l(t).logo?(a(),$(ee,{key:0,class:"logo",image:l(t).logo},null,8,["image"])):f("",!0),l(t).siteTitle?(a(),i(N,{key:1},[x(L(l(t).siteTitle),1)],64)):l(t).siteTitle===void 0?(a(),i(N,{key:2},[x(L(l(e).title),1)],64)):f("",!0),u(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,Oa)],2))}});const Ua=m(Ga,[["__scopeId","data-v-2973dbb4"]]),ja={},Ka={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ra=c("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),qa=c("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Wa=[Ra,qa];function Ya(s,e){return a(),i("svg",Ka,Wa)}const Ae=m(ja,[["render",Ya]]),Ja={class:"items"},Xa={class:"title"},Za=b({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=X({correspondingLink:!0});return(o,r)=>l(t).length&&l(n).label?(a(),$(be,{key:0,class:"VPNavBarTranslations",icon:Ae,label:l(e).langMenuLabel||"Change language"},{default:v(()=>[c("div",Ja,[c("p",Xa,L(l(n).label),1),(a(!0),i(N,null,A(l(t),d=>(a(),$(oe,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}});const Qa=m(Za,[["__scopeId","data-v-ff4524ae"]]),er=s=>(H("data-v-f1abbc6e"),s=s(),z(),s),tr={class:"container"},sr={class:"title"},nr={class:"content"},or=er(()=>c("div",{class:"curtain"},null,-1)),ar={class:"content-body"},rr=b({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Le(),{hasSidebar:t}=D(),{frontmatter:n}=P(),o=M({});return Ve(()=>{o.value={"has-sidebar":t.value,top:n.value.layout==="home"&&e.value===0}}),(r,d)=>(a(),i("div",{class:T(["VPNavBar",o.value])},[c("div",tr,[c("div",sr,[h(Ua,null,{"nav-bar-title-before":v(()=>[u(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),c("div",nr,[or,c("div",ar,[u(r.$slots,"nav-bar-content-before",{},void 0,!0),h(Da,{class:"search"}),h(Ma,{class:"menu"}),h(Qa,{class:"translations"}),h($o,{class:"appearance"}),h(Fa,{class:"social-links"}),h(va,{class:"extra"}),u(r.$slots,"nav-bar-content-after",{},void 0,!0),h(ba,{class:"hamburger",active:r.isScreenOpen,onClick:d[0]||(d[0]=p=>r.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const lr=m(rr,[["__scopeId","data-v-f1abbc6e"]]),ir={key:0,class:"VPNavScreenAppearance"},cr={class:"text"},ur=b({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>l(e).appearance?(a(),i("div",ir,[c("p",cr,L(l(t).darkModeSwitchLabel||"Appearance"),1),h(me)])):f("",!0)}});const dr=m(ur,[["__scopeId","data-v-0dc5cf49"]]),_r=b({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),$(E,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:v(()=>[x(L(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const vr=m(_r,[["__scopeId","data-v-fe523e3d"]]),pr={},hr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},fr=c("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),mr=[fr];function gr(s,e){return a(),i("svg",hr,mr)}const br=m(pr,[["render",gr]]),$r=b({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),$(E,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:v(()=>[x(L(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const xe=m($r,[["__scopeId","data-v-aea78dd1"]]),kr={class:"VPNavScreenMenuGroupSection"},yr={key:0,class:"title"},Pr=b({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),i("div",kr,[e.text?(a(),i("p",yr,L(e.text),1)):f("",!0),(a(!0),i(N,null,A(e.items,n=>(a(),$(xe,{key:n.text,item:n},null,8,["item"]))),128))]))}});const Vr=m(Pr,[["__scopeId","data-v-f60dbfa7"]]),wr=["aria-controls","aria-expanded"],Lr={class:"button-text"},Sr=["id"],Mr={key:1,class:"group"},Nr=b({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=M(!1),n=k(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(r,d)=>(a(),i("div",{class:T(["VPNavScreenMenuGroup",{open:t.value}])},[c("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[c("span",Lr,L(r.text),1),h(br,{class:"button-icon"})],8,wr),c("div",{id:n.value,class:"items"},[(a(!0),i(N,null,A(r.items,p=>(a(),i(N,{key:p.text},["link"in p?(a(),i("div",{key:p.text,class:"item"},[h(xe,{item:p},null,8,["item"])])):(a(),i("div",Mr,[h(Vr,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,Sr)],2))}});const Ir=m(Nr,[["__scopeId","data-v-c2c554ed"]]),Tr={key:0,class:"VPNavScreenMenu"},Cr=b({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>l(e).nav?(a(),i("nav",Tr,[(a(!0),i(N,null,A(l(e).nav,o=>(a(),i(N,{key:o.text},["link"in o?(a(),$(vr,{key:0,item:o},null,8,["item"])):(a(),$(Ir,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Br=b({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>l(e).socialLinks?(a(),$($e,{key:0,class:"VPNavScreenSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}}),Ar={class:"list"},xr=b({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=X({correspondingLink:!0}),n=M(!1);function o(){n.value=!n.value}return(r,d)=>l(e).length&&l(t).label?(a(),i("div",{key:0,class:T(["VPNavScreenTranslations",{open:n.value}])},[c("button",{class:"title",onClick:o},[h(Ae,{class:"icon lang"}),x(" "+L(l(t).label)+" ",1),h(Be,{class:"icon chevron"})]),c("ul",Ar,[(a(!0),i(N,null,A(l(e),p=>(a(),i("li",{key:p.link,class:"item"},[h(E,{class:"link",href:p.link},{default:v(()=>[x(L(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}});const Hr=m(xr,[["__scopeId","data-v-41505286"]]),zr={class:"container"},Dr=b({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=M(null),t=Se(q?document.body:null);return(n,o)=>(a(),$(ce,{name:"fade",onEnter:o[0]||(o[0]=r=>t.value=!0),onAfterLeave:o[1]||(o[1]=r=>t.value=!1)},{default:v(()=>[n.open?(a(),i("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[c("div",zr,[u(n.$slots,"nav-screen-content-before",{},void 0,!0),h(Cr,{class:"menu"}),h(Hr,{class:"translations"}),h(dr,{class:"appearance"}),h(Br,{class:"social-links"}),u(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}});const Er=m(Dr,[["__scopeId","data-v-57cce842"]]),Fr={key:0,class:"VPNav"},Or=b({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Xn(),{frontmatter:o}=P(),r=k(()=>o.value.navbar!==!1);return Me("close-screen",t),te(()=>{q&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(d,p)=>r.value?(a(),i("header",Fr,[h(lr,{"is-screen-open":l(e),onToggleScreen:l(n)},{"nav-bar-title-before":v(()=>[u(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(d.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(Er,{open:l(e)},{"nav-screen-content-before":v(()=>[u(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}});const Gr=m(Or,[["__scopeId","data-v-7ad780c2"]]),Ur=s=>(H("data-v-bd01e0d5"),s=s(),z(),s),jr=["role","tabindex"],Kr=Ur(()=>c("div",{class:"indicator"},null,-1)),Rr=["onKeydown"],qr={key:1,class:"items"},Wr=b({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:d,hasChildren:p,toggle:_}=gt(k(()=>e.item)),g=k(()=>p.value?"section":"div"),V=k(()=>o.value?"a":"div"),y=k(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),I=k(()=>o.value?void 0:"button"),S=k(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":r.value},{"has-active":d.value}]);function C(w){"key"in w&&w.key!=="Enter"||!e.item.link&&_()}function B(){e.item.link&&_()}return(w,K)=>{const W=j("VPSidebarItem",!0);return a(),$(F(g.value),{class:T(["VPSidebarItem",S.value])},{default:v(()=>[w.item.text?(a(),i("div",Z({key:0,class:"item",role:I.value},Ye(w.item.items?{click:C,keydown:C}:{},!0),{tabindex:w.item.items&&0}),[Kr,w.item.link?(a(),$(E,{key:0,tag:V.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:v(()=>[(a(),$(F(y.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(F(y.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null?(a(),i("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:We(B,["enter"]),tabindex:"0"},[h(fe,{class:"caret-icon"})],40,Rr)):f("",!0)],16,jr)):f("",!0),w.item.items&&w.item.items.length?(a(),i("div",qr,[w.depth<5?(a(!0),i(N,{key:0},A(w.item.items,R=>(a(),$(W,{key:R.text,item:R,depth:w.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}});const Yr=m(Wr,[["__scopeId","data-v-bd01e0d5"]]),He=s=>(H("data-v-ee2efba5"),s=s(),z(),s),Jr=He(()=>c("div",{class:"curtain"},null,-1)),Xr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Zr=He(()=>c("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Qr=b({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=D(),n=s,o=M(null),r=Se(q?document.body:null);return U([n,o],()=>{var d;n.open?(r.value=!0,(d=o.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"}),(d,p)=>l(t)?(a(),i("aside",{key:0,class:T(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:p[0]||(p[0]=Je(()=>{},["stop"]))},[Jr,c("nav",Xr,[Zr,u(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),i(N,null,A(l(e),_=>(a(),i("div",{key:_.text,class:"group"},[h(Yr,{item:_,depth:0},null,8,["item"])]))),128)),u(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}});const el=m(Qr,[["__scopeId","data-v-ee2efba5"]]),tl=b({__name:"VPSkipLink",setup(s){const e=se(),t=M();U(()=>e.path,()=>t.value.focus());function n({target:o}){const r=document.getElementById(decodeURIComponent(o.hash).slice(1));if(r){const d=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",d)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",d),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(a(),i(N,null,[c("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),c("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}});const sl=m(tl,[["__scopeId","data-v-c8291ffa"]]),nl=b({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=D(),o=se();U(()=>o.path,n),mt(e,n);const{frontmatter:r}=P(),d=Xe(),p=k(()=>!!d["home-hero-image"]);return Me("hero-image-slot-exists",p),(_,g)=>{const V=j("Content");return l(r).layout!==!1?(a(),i("div",{key:0,class:T(["Layout",l(r).pageClass])},[u(_.$slots,"layout-top",{},void 0,!0),h(sl),h(st,{class:"backdrop",show:l(e),onClick:l(n)},null,8,["show","onClick"]),h(Gr,null,{"nav-bar-title-before":v(()=>[u(_.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[u(_.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[u(_.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[u(_.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[u(_.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[u(_.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),h(Jn,{open:l(e),onOpenMenu:l(t)},null,8,["open","onOpenMenu"]),h(el,{open:l(e)},{"sidebar-nav-before":v(()=>[u(_.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[u(_.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(Mn,null,{"page-top":v(()=>[u(_.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[u(_.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[u(_.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[u(_.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[u(_.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[u(_.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[u(_.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[u(_.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[u(_.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[u(_.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[u(_.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[u(_.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[u(_.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[u(_.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[u(_.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[u(_.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[u(_.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[u(_.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[u(_.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[u(_.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(Bn),u(_.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(V,{key:1}))}}});const ol=m(nl,[["__scopeId","data-v-9d8abc1e"]]);const rl={Layout:ol,enhanceApp:({app:s})=>{s.component("Badge",Qe)}};export{Na as c,rl as t,P as u}; diff --git a/pr-preview/pr-1358/assets/community_calendar.md.3366a606.js b/pr-preview/pr-1358/assets/community_calendar.md.723a1b30.js similarity index 95% rename from pr-preview/pr-1358/assets/community_calendar.md.3366a606.js rename to pr-preview/pr-1358/assets/community_calendar.md.723a1b30.js index e3e05c2bb5..267955cd70 100644 --- a/pr-preview/pr-1358/assets/community_calendar.md.3366a606.js +++ b/pr-preview/pr-1358/assets/community_calendar.md.723a1b30.js @@ -1 +1 @@ -import{_ as t,o as n,c as o,k as e,a}from"./chunks/framework.2263f03b.js";const b=JSON.parse(`{"title":"Community calendar","description":"Find all the different community call events happening in Celestia's community.","frontmatter":{"description":"Find all the different community call events happening in Celestia's community.","head":[["meta",{"name":"og:title","content":"Community calendar | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/calendar.md","filePath":"community/calendar.md","lastUpdated":1705009966000}`),l={name:"community/calendar.md"},c=e("h1",{id:"community-calendar",tabindex:"-1"},[a("Community calendar "),e("a",{class:"header-anchor",href:"#community-calendar","aria-label":'Permalink to "Community calendar"'},"​")],-1),i=e("p",null,"The Celestia community calendar is available for finding all the different community call events happening in Celestia's community.",-1),r=e("p",null,[e("a",{href:"https://calendar.google.com/calendar/u/0?cid=Y19za2JzbjIzNWszYmlzdHNoZ3RvNmw5ODYyNEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t",target:"_blank",rel:"noreferrer"},"Add the community calendar to your personal calendar"),a(" to stay updated with all the events.")],-1),s=e("p",null,[a("Explore "),e("a",{href:"https://github.com/celestiaorg/community-calls/blob/main/README.md",target:"_blank",rel:"noreferrer"},"past community call agendas, notes, and recordings"),a(" for more insights.")],-1),m=[c,i,r,s];function d(u,h,p,f,_,y){return n(),o("div",null,m)}const C=t(l,[["render",d]]);export{b as __pageData,C as default}; +import{_ as t,o as n,c as o,k as e,a}from"./chunks/framework.2263f03b.js";const b=JSON.parse(`{"title":"Community calendar","description":"Find all the different community call events happening in Celestia's community.","frontmatter":{"description":"Find all the different community call events happening in Celestia's community.","head":[["meta",{"name":"og:title","content":"Community calendar | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/calendar.md","filePath":"community/calendar.md","lastUpdated":1705010189000}`),l={name:"community/calendar.md"},c=e("h1",{id:"community-calendar",tabindex:"-1"},[a("Community calendar "),e("a",{class:"header-anchor",href:"#community-calendar","aria-label":'Permalink to "Community calendar"'},"​")],-1),i=e("p",null,"The Celestia community calendar is available for finding all the different community call events happening in Celestia's community.",-1),r=e("p",null,[e("a",{href:"https://calendar.google.com/calendar/u/0?cid=Y19za2JzbjIzNWszYmlzdHNoZ3RvNmw5ODYyNEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t",target:"_blank",rel:"noreferrer"},"Add the community calendar to your personal calendar"),a(" to stay updated with all the events.")],-1),s=e("p",null,[a("Explore "),e("a",{href:"https://github.com/celestiaorg/community-calls/blob/main/README.md",target:"_blank",rel:"noreferrer"},"past community call agendas, notes, and recordings"),a(" for more insights.")],-1),m=[c,i,r,s];function d(u,h,p,f,_,y){return n(),o("div",null,m)}const C=t(l,[["render",d]]);export{b as __pageData,C as default}; diff --git a/pr-preview/pr-1358/assets/community_calendar.md.3366a606.lean.js b/pr-preview/pr-1358/assets/community_calendar.md.723a1b30.lean.js similarity index 95% rename from pr-preview/pr-1358/assets/community_calendar.md.3366a606.lean.js rename to pr-preview/pr-1358/assets/community_calendar.md.723a1b30.lean.js index e3e05c2bb5..267955cd70 100644 --- a/pr-preview/pr-1358/assets/community_calendar.md.3366a606.lean.js +++ b/pr-preview/pr-1358/assets/community_calendar.md.723a1b30.lean.js @@ -1 +1 @@ -import{_ as t,o as n,c as o,k as e,a}from"./chunks/framework.2263f03b.js";const b=JSON.parse(`{"title":"Community calendar","description":"Find all the different community call events happening in Celestia's community.","frontmatter":{"description":"Find all the different community call events happening in Celestia's community.","head":[["meta",{"name":"og:title","content":"Community calendar | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/calendar.md","filePath":"community/calendar.md","lastUpdated":1705009966000}`),l={name:"community/calendar.md"},c=e("h1",{id:"community-calendar",tabindex:"-1"},[a("Community calendar "),e("a",{class:"header-anchor",href:"#community-calendar","aria-label":'Permalink to "Community calendar"'},"​")],-1),i=e("p",null,"The Celestia community calendar is available for finding all the different community call events happening in Celestia's community.",-1),r=e("p",null,[e("a",{href:"https://calendar.google.com/calendar/u/0?cid=Y19za2JzbjIzNWszYmlzdHNoZ3RvNmw5ODYyNEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t",target:"_blank",rel:"noreferrer"},"Add the community calendar to your personal calendar"),a(" to stay updated with all the events.")],-1),s=e("p",null,[a("Explore "),e("a",{href:"https://github.com/celestiaorg/community-calls/blob/main/README.md",target:"_blank",rel:"noreferrer"},"past community call agendas, notes, and recordings"),a(" for more insights.")],-1),m=[c,i,r,s];function d(u,h,p,f,_,y){return n(),o("div",null,m)}const C=t(l,[["render",d]]);export{b as __pageData,C as default}; +import{_ as t,o as n,c as o,k as e,a}from"./chunks/framework.2263f03b.js";const b=JSON.parse(`{"title":"Community calendar","description":"Find all the different community call events happening in Celestia's community.","frontmatter":{"description":"Find all the different community call events happening in Celestia's community.","head":[["meta",{"name":"og:title","content":"Community calendar | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/calendar.md","filePath":"community/calendar.md","lastUpdated":1705010189000}`),l={name:"community/calendar.md"},c=e("h1",{id:"community-calendar",tabindex:"-1"},[a("Community calendar "),e("a",{class:"header-anchor",href:"#community-calendar","aria-label":'Permalink to "Community calendar"'},"​")],-1),i=e("p",null,"The Celestia community calendar is available for finding all the different community call events happening in Celestia's community.",-1),r=e("p",null,[e("a",{href:"https://calendar.google.com/calendar/u/0?cid=Y19za2JzbjIzNWszYmlzdHNoZ3RvNmw5ODYyNEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t",target:"_blank",rel:"noreferrer"},"Add the community calendar to your personal calendar"),a(" to stay updated with all the events.")],-1),s=e("p",null,[a("Explore "),e("a",{href:"https://github.com/celestiaorg/community-calls/blob/main/README.md",target:"_blank",rel:"noreferrer"},"past community call agendas, notes, and recordings"),a(" for more insights.")],-1),m=[c,i,r,s];function d(u,h,p,f,_,y){return n(),o("div",null,m)}const C=t(l,[["render",d]]);export{b as __pageData,C as default}; diff --git a/pr-preview/pr-1358/assets/community_coc.md.2ee9f246.js b/pr-preview/pr-1358/assets/community_coc.md.80a4bdb0.js similarity index 98% rename from pr-preview/pr-1358/assets/community_coc.md.2ee9f246.js rename to pr-preview/pr-1358/assets/community_coc.md.80a4bdb0.js index ab66cea6f0..685becfb7d 100644 --- a/pr-preview/pr-1358/assets/community_coc.md.2ee9f246.js +++ b/pr-preview/pr-1358/assets/community_coc.md.80a4bdb0.js @@ -1 +1 @@ -import{_ as e,o,c as a,Q as t}from"./chunks/framework.2263f03b.js";const f=JSON.parse(`{"title":"Celestia.org Code of Conduct","description":"Fundamental shared values and special norms that distinguish Celestia's community.","frontmatter":{"description":"Fundamental shared values and special norms that distinguish Celestia's community.","head":[["meta",{"name":"og:title","content":"Celestia.org Code of Conduct | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/coc.md","filePath":"community/coc.md","lastUpdated":1705009966000}`),n={name:"community/coc.md"},i=t('

Celestia.org Code of Conduct

Our Pledge

We as Celestia.org members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Our Standards

Examples of behavior that contributes to a positive environment for our community include:

  • Demonstrating empathy and kindness toward other people
  • Being respectful of differing opinions, viewpoints, and experiences
  • Giving and gracefully accepting constructive feedback
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • Focusing on what is best not just for us as individuals, but for the overall community
  • Contributing to conversations about Celestia’s technology and ecosystem

Examples of unacceptable behavior include:

  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or email address, without their explicit permission
  • Focusing on the prices of digital assets or tokens, or where they can be purchased
  • Other conduct which could reasonably be considered inappropriate in a professional setting

Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

Scope

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at Celestia.org Discord. All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

1. Correction

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

2. Warning

Community Impact: A violation through a single incident or series of actions.

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

3. Temporary Ban

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

4. Permanent Ban

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

Consequence: A permanent ban from any sort of public interaction within the community.

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

',35),r=[i];function s(c,l,d,p,u,h){return o(),a("div",null,r)}const g=e(n,[["render",s]]);export{f as __pageData,g as default}; +import{_ as e,o,c as a,Q as t}from"./chunks/framework.2263f03b.js";const f=JSON.parse(`{"title":"Celestia.org Code of Conduct","description":"Fundamental shared values and special norms that distinguish Celestia's community.","frontmatter":{"description":"Fundamental shared values and special norms that distinguish Celestia's community.","head":[["meta",{"name":"og:title","content":"Celestia.org Code of Conduct | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/coc.md","filePath":"community/coc.md","lastUpdated":1705010189000}`),n={name:"community/coc.md"},i=t('

Celestia.org Code of Conduct

Our Pledge

We as Celestia.org members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Our Standards

Examples of behavior that contributes to a positive environment for our community include:

  • Demonstrating empathy and kindness toward other people
  • Being respectful of differing opinions, viewpoints, and experiences
  • Giving and gracefully accepting constructive feedback
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • Focusing on what is best not just for us as individuals, but for the overall community
  • Contributing to conversations about Celestia’s technology and ecosystem

Examples of unacceptable behavior include:

  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or email address, without their explicit permission
  • Focusing on the prices of digital assets or tokens, or where they can be purchased
  • Other conduct which could reasonably be considered inappropriate in a professional setting

Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

Scope

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at Celestia.org Discord. All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

1. Correction

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

2. Warning

Community Impact: A violation through a single incident or series of actions.

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

3. Temporary Ban

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

4. Permanent Ban

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

Consequence: A permanent ban from any sort of public interaction within the community.

Attribution

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

',35),r=[i];function s(c,l,d,p,u,h){return o(),a("div",null,r)}const g=e(n,[["render",s]]);export{f as __pageData,g as default}; diff --git a/pr-preview/pr-1358/assets/community_coc.md.2ee9f246.lean.js b/pr-preview/pr-1358/assets/community_coc.md.80a4bdb0.lean.js similarity index 82% rename from pr-preview/pr-1358/assets/community_coc.md.2ee9f246.lean.js rename to pr-preview/pr-1358/assets/community_coc.md.80a4bdb0.lean.js index 6429472a93..34994637cf 100644 --- a/pr-preview/pr-1358/assets/community_coc.md.2ee9f246.lean.js +++ b/pr-preview/pr-1358/assets/community_coc.md.80a4bdb0.lean.js @@ -1 +1 @@ -import{_ as e,o,c as a,Q as t}from"./chunks/framework.2263f03b.js";const f=JSON.parse(`{"title":"Celestia.org Code of Conduct","description":"Fundamental shared values and special norms that distinguish Celestia's community.","frontmatter":{"description":"Fundamental shared values and special norms that distinguish Celestia's community.","head":[["meta",{"name":"og:title","content":"Celestia.org Code of Conduct | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/coc.md","filePath":"community/coc.md","lastUpdated":1705009966000}`),n={name:"community/coc.md"},i=t("",35),r=[i];function s(c,l,d,p,u,h){return o(),a("div",null,r)}const g=e(n,[["render",s]]);export{f as __pageData,g as default}; +import{_ as e,o,c as a,Q as t}from"./chunks/framework.2263f03b.js";const f=JSON.parse(`{"title":"Celestia.org Code of Conduct","description":"Fundamental shared values and special norms that distinguish Celestia's community.","frontmatter":{"description":"Fundamental shared values and special norms that distinguish Celestia's community.","head":[["meta",{"name":"og:title","content":"Celestia.org Code of Conduct | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/coc.md","filePath":"community/coc.md","lastUpdated":1705010189000}`),n={name:"community/coc.md"},i=t("",35),r=[i];function s(c,l,d,p,u,h){return o(),a("div",null,r)}const g=e(n,[["render",s]]);export{f as __pageData,g as default}; diff --git a/pr-preview/pr-1358/assets/community_cohort-one-content.md.ab451cc5.js b/pr-preview/pr-1358/assets/community_cohort-one-content.md.3e986d06.js similarity index 99% rename from pr-preview/pr-1358/assets/community_cohort-one-content.md.ab451cc5.js rename to pr-preview/pr-1358/assets/community_cohort-one-content.md.3e986d06.js index f9fb2326c4..0dc4f9de2a 100644 --- a/pr-preview/pr-1358/assets/community_cohort-one-content.md.ab451cc5.js +++ b/pr-preview/pr-1358/assets/community_cohort-one-content.md.3e986d06.js @@ -1 +1 @@ -import{_ as e,o as r,c as t,Q as o}from"./chunks/framework.2263f03b.js";const p=JSON.parse('{"title":"Cohort one content & calendar","description":"The content and calendar of the first Modular Fellows cohort.","frontmatter":{"description":"The content and calendar of the first Modular Fellows cohort.","head":[["meta",{"name":"og:title","content":"Cohort one content & calendar | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/cohort-one-content.md","filePath":"community/cohort-one-content.md","lastUpdated":1705009966000}'),a={name:"community/cohort-one-content.md"},n=o('

Cohort one content & calendar

Month 1 - learning and exploring (start building whenever you’re ready)

Milestone - present an idea that you want to pursue

Week 1 - 26 September

🚀 Kickoff call - 26 September @ 11am EDT / 3pm UTC / 5pm CEST


Week 2 - 3 October

📗 Lesson 1 - Introduction to Celestia and the Cosmos SDK (Nader and Yaz)

🧑‍🏫 Office Hour

  • Wednesday 5 October @ 11am EDT / 3pm UTC / 5pm CEST

Week 3 - 10 October

📗 Lesson 2 - Building a sovereign rollup with Ignite and Rollkit on Celestia with Yaz

🧑‍🏫 Office Hour

  • Wednesday 12 October @ 11am EDT / 3pm UTC / 5pm CEST

Week 4 - 17 October

🪧 Present your idea

  • Wednesday 19 October @ 11am EDT / 3pm UTC / 5pm CEST

Month 2 - designing & implementing a basic prototype

Milestone - present the prototype for feedback

Week 5 - 24 October

📗 Lesson 3 - Introduction to Fuel with Emily Herbert

🧑‍🏫 Wednesday Office Hour

  • 26 October @ 11am EDT / 3pm UTC / 5pm CEST

🧠 Modular Insights with Skip Protocol


Week 6 - 31 October

🧑‍🏫 Thursday Office Hour

  • 3 November - @ 11am EDT / 3pm UTC / 5pm CEST

Week 7 - 7 November

📗 Lesson 4 - Introduction to Astria with Josh Bowen

🧑‍🏫 Office Hour

  • Wednesday 9 November @ 11am EST / 4pm UTC / 5pm CEST

Week 8 - 14 November

Modular Fellows AMA with Evan Forbes

Modular Fellows AMA with Dr. Mustafa Al-Bassam

  • Tuesday 15 November @ 10am EST / 3pm UTC / 4pm CEST

🧑‍🏫 Wednesday Office Hour

  • 16 November @ 11am EST / 4pm UTC / 5pm CEST

Modular Fellows AMA with Zaki Manian

  • Friday 18 November @ 11am EST / 4pm UTC / 5pm CEST

Week 9 - 21 November

📗 Lesson 5 - Quantum Gravity Bridge with Evan Forbes

  • Monday 21 November @ 11am EST / 4pm UTC / 5pm CEST
    • In this lesson, Evan Forbes will teach us about the Quantum Gravity Bridge (Blobstream) and layer 2s. Blobstream proves that some data was posted on Celestia. Rollups use the this bridge to provide strong data availability guarantees for block data at a fraction of the cost of calldata on Ethereum.
  • Lesson #5 - Quantum Gravity Bridge with Evan Forbes (Recording)

Modular Fellows AMA with Ismail Khoffi

🪧 Present your project prototype


Month 3 - build out the prototype into a functional product

Milestone - demo, write up of product

Week 10 - 28 November

🧠 Modular Insights with dYmension

🧑‍🏫 Wednesday Office Hour

  • 30 November - @ 11am EST / 4pm UTC / 5pm CEST

🧠 Modular Insights with Eclipse


Week 11 - 5 December

🧑‍🏫 Office Hour

  • Wednesday 7 December - @ 11am EST / 4pm UTC / 5pm CEST

Dec 12 - Week 12

Modular Fellows AMA with John Adler

📗 Lesson 6 with Cosmology

  • Tuesday 13 December @ 1pm EST / 6pm UTC / 7pm CEST
  • Building apps in the Cosmos
    • Learn how to build apps that quickly and easily interact with Cosmos blockchains and wallets.
    • Convert custom Cosmos SDK chains and CosmWasm Smart Contracts into neatly packaged Typescript modules that can be published to npm and brought into frontend projects.
  • Lesson #6 - Cosmology (Recording)

📗 Lesson 7 with CosmWasm

  • Thursday 15 December @ 11am EST / 5pm UTC / 6pm CEST
    • CosmWasm is a new smart contracting platform built for the Cosmos ecosystem.
    • Learn to build a Smart Contract in under 1 hour in Rust. You will learn all the basic pieces you need to shape your Smart Contract.
  • Lesson #7 - CosmWasm (Recording)

Dec 19 - Week 13 - no scheduled events, meet with mentors

🧑‍🏫 Office Hour

  • Tuesday 20 December @ 11am EDT / 3pm UTC / 5pm CEST

Dec 26 - Week 14 - no scheduled events, holiday break 🎉


Jan 2 - Week 15 - no scheduled events, meet with mentors

🧑‍🏫 Office Hour

  • Wednesday 4 January @ 11am EDT / 3pm UTC / 5pm CEST

Jan 9 - Week 16 - submissions due

🧑‍🏫 Office Hour

  • Monday 9 January @ 11am EDT / 3pm UTC / 5pm CEST

🪧 Demo Day

🪧 Write up of project due

  • Friday 13 January @ 11:59pm EST

Project repositories

Individual fellows

Team fellows

',105),l=[n];function i(s,h,u,d,m,c){return r(),t("div",null,l)}const b=e(a,[["render",i]]);export{p as __pageData,b as default}; +import{_ as e,o as r,c as t,Q as o}from"./chunks/framework.2263f03b.js";const p=JSON.parse('{"title":"Cohort one content & calendar","description":"The content and calendar of the first Modular Fellows cohort.","frontmatter":{"description":"The content and calendar of the first Modular Fellows cohort.","head":[["meta",{"name":"og:title","content":"Cohort one content & calendar | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/cohort-one-content.md","filePath":"community/cohort-one-content.md","lastUpdated":1705010189000}'),a={name:"community/cohort-one-content.md"},n=o('

Cohort one content & calendar

Month 1 - learning and exploring (start building whenever you’re ready)

Milestone - present an idea that you want to pursue

Week 1 - 26 September

🚀 Kickoff call - 26 September @ 11am EDT / 3pm UTC / 5pm CEST


Week 2 - 3 October

📗 Lesson 1 - Introduction to Celestia and the Cosmos SDK (Nader and Yaz)

🧑‍🏫 Office Hour

  • Wednesday 5 October @ 11am EDT / 3pm UTC / 5pm CEST

Week 3 - 10 October

📗 Lesson 2 - Building a sovereign rollup with Ignite and Rollkit on Celestia with Yaz

🧑‍🏫 Office Hour

  • Wednesday 12 October @ 11am EDT / 3pm UTC / 5pm CEST

Week 4 - 17 October

🪧 Present your idea

  • Wednesday 19 October @ 11am EDT / 3pm UTC / 5pm CEST

Month 2 - designing & implementing a basic prototype

Milestone - present the prototype for feedback

Week 5 - 24 October

📗 Lesson 3 - Introduction to Fuel with Emily Herbert

🧑‍🏫 Wednesday Office Hour

  • 26 October @ 11am EDT / 3pm UTC / 5pm CEST

🧠 Modular Insights with Skip Protocol


Week 6 - 31 October

🧑‍🏫 Thursday Office Hour

  • 3 November - @ 11am EDT / 3pm UTC / 5pm CEST

Week 7 - 7 November

📗 Lesson 4 - Introduction to Astria with Josh Bowen

🧑‍🏫 Office Hour

  • Wednesday 9 November @ 11am EST / 4pm UTC / 5pm CEST

Week 8 - 14 November

Modular Fellows AMA with Evan Forbes

Modular Fellows AMA with Dr. Mustafa Al-Bassam

  • Tuesday 15 November @ 10am EST / 3pm UTC / 4pm CEST

🧑‍🏫 Wednesday Office Hour

  • 16 November @ 11am EST / 4pm UTC / 5pm CEST

Modular Fellows AMA with Zaki Manian

  • Friday 18 November @ 11am EST / 4pm UTC / 5pm CEST

Week 9 - 21 November

📗 Lesson 5 - Quantum Gravity Bridge with Evan Forbes

  • Monday 21 November @ 11am EST / 4pm UTC / 5pm CEST
    • In this lesson, Evan Forbes will teach us about the Quantum Gravity Bridge (Blobstream) and layer 2s. Blobstream proves that some data was posted on Celestia. Rollups use the this bridge to provide strong data availability guarantees for block data at a fraction of the cost of calldata on Ethereum.
  • Lesson #5 - Quantum Gravity Bridge with Evan Forbes (Recording)

Modular Fellows AMA with Ismail Khoffi

🪧 Present your project prototype


Month 3 - build out the prototype into a functional product

Milestone - demo, write up of product

Week 10 - 28 November

🧠 Modular Insights with dYmension

🧑‍🏫 Wednesday Office Hour

  • 30 November - @ 11am EST / 4pm UTC / 5pm CEST

🧠 Modular Insights with Eclipse


Week 11 - 5 December

🧑‍🏫 Office Hour

  • Wednesday 7 December - @ 11am EST / 4pm UTC / 5pm CEST

Dec 12 - Week 12

Modular Fellows AMA with John Adler

📗 Lesson 6 with Cosmology

  • Tuesday 13 December @ 1pm EST / 6pm UTC / 7pm CEST
  • Building apps in the Cosmos
    • Learn how to build apps that quickly and easily interact with Cosmos blockchains and wallets.
    • Convert custom Cosmos SDK chains and CosmWasm Smart Contracts into neatly packaged Typescript modules that can be published to npm and brought into frontend projects.
  • Lesson #6 - Cosmology (Recording)

📗 Lesson 7 with CosmWasm

  • Thursday 15 December @ 11am EST / 5pm UTC / 6pm CEST
    • CosmWasm is a new smart contracting platform built for the Cosmos ecosystem.
    • Learn to build a Smart Contract in under 1 hour in Rust. You will learn all the basic pieces you need to shape your Smart Contract.
  • Lesson #7 - CosmWasm (Recording)

Dec 19 - Week 13 - no scheduled events, meet with mentors

🧑‍🏫 Office Hour

  • Tuesday 20 December @ 11am EDT / 3pm UTC / 5pm CEST

Dec 26 - Week 14 - no scheduled events, holiday break 🎉


Jan 2 - Week 15 - no scheduled events, meet with mentors

🧑‍🏫 Office Hour

  • Wednesday 4 January @ 11am EDT / 3pm UTC / 5pm CEST

Jan 9 - Week 16 - submissions due

🧑‍🏫 Office Hour

  • Monday 9 January @ 11am EDT / 3pm UTC / 5pm CEST

🪧 Demo Day

🪧 Write up of project due

  • Friday 13 January @ 11:59pm EST

Project repositories

Individual fellows

Team fellows

',105),l=[n];function i(s,h,u,d,m,c){return r(),t("div",null,l)}const b=e(a,[["render",i]]);export{p as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/community_cohort-one-content.md.ab451cc5.lean.js b/pr-preview/pr-1358/assets/community_cohort-one-content.md.3e986d06.lean.js similarity index 91% rename from pr-preview/pr-1358/assets/community_cohort-one-content.md.ab451cc5.lean.js rename to pr-preview/pr-1358/assets/community_cohort-one-content.md.3e986d06.lean.js index 52cdcf8b86..d7be20aa59 100644 --- a/pr-preview/pr-1358/assets/community_cohort-one-content.md.ab451cc5.lean.js +++ b/pr-preview/pr-1358/assets/community_cohort-one-content.md.3e986d06.lean.js @@ -1 +1 @@ -import{_ as e,o as r,c as t,Q as o}from"./chunks/framework.2263f03b.js";const p=JSON.parse('{"title":"Cohort one content & calendar","description":"The content and calendar of the first Modular Fellows cohort.","frontmatter":{"description":"The content and calendar of the first Modular Fellows cohort.","head":[["meta",{"name":"og:title","content":"Cohort one content & calendar | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/cohort-one-content.md","filePath":"community/cohort-one-content.md","lastUpdated":1705009966000}'),a={name:"community/cohort-one-content.md"},n=o("",105),l=[n];function i(s,h,u,d,m,c){return r(),t("div",null,l)}const b=e(a,[["render",i]]);export{p as __pageData,b as default}; +import{_ as e,o as r,c as t,Q as o}from"./chunks/framework.2263f03b.js";const p=JSON.parse('{"title":"Cohort one content & calendar","description":"The content and calendar of the first Modular Fellows cohort.","frontmatter":{"description":"The content and calendar of the first Modular Fellows cohort.","head":[["meta",{"name":"og:title","content":"Cohort one content & calendar | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/cohort-one-content.md","filePath":"community/cohort-one-content.md","lastUpdated":1705010189000}'),a={name:"community/cohort-one-content.md"},n=o("",105),l=[n];function i(s,h,u,d,m,c){return r(),t("div",null,l)}const b=e(a,[["render",i]]);export{p as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/community_itn-tos.md.7b9132bb.js b/pr-preview/pr-1358/assets/community_itn-tos.md.9a6c75b0.js similarity index 99% rename from pr-preview/pr-1358/assets/community_itn-tos.md.7b9132bb.js rename to pr-preview/pr-1358/assets/community_itn-tos.md.9a6c75b0.js index 25f32a8885..484b6856e6 100644 --- a/pr-preview/pr-1358/assets/community_itn-tos.md.7b9132bb.js +++ b/pr-preview/pr-1358/assets/community_itn-tos.md.9a6c75b0.js @@ -1 +1 @@ -import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS","description":"These Terms govern your ability to participate in the Incentivized Testnet Award Program.","frontmatter":{"description":"These Terms govern your ability to participate in the Incentivized Testnet Award Program.","lastUpdated":false,"editLink":false,"head":[["meta",{"name":"og:title","content":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/itn-tos.md","filePath":"community/itn-tos.md","lastUpdated":1705009966000}'),r={name:"community/itn-tos.md"},n=a('

SUPPLEMENTAL INCENTIVIZED TESTNET TERMS

Last Revised on 1/16/2023

Welcome to the Supplemental Terms (these "ITN Award Program Terms" or "Terms") for the Incentivized Testnet Award Program (the "ITN Award Program" or the "Program") as operated on behalf of Strange Loop Labs AG ("Company", "we" or "us"). The ITN Award Program provides eligible users of a Testnet designated by the Company the opportunity to earn rewards, which may include Celestia tokens. These Terms are supplemental to, and incorporate by reference, the broader Celestia Terms of Service ("Services Terms") available at Celestia Terms of Service.

Defined terms used but not defined herein have the meaning set forth in the Services Terms. The Program and your participation in it is a Service as defined under the Services Terms.

These Terms govern your ability to participate in the Program and any awards you receive from that participation, which may include Celestia tokens ("ITN Rewards").

Please read these Terms carefully, as they include important information about your legal rights. By participating in the Program or claiming ITN Rewards, you are agreeing to these Terms. If you do not understand or agree to these Terms, please do not participate in the Program or claim ITN Rewards.

In order to participate in the Program you must provide certain information about you. Our collection of such information, your rights with respect to such collection, and other relevant information is described in the Celestia Privacy Policy available at Celestia Privacy Policy, and is supplemented by Section 3 of these Terms.

The Program is a discretionary Service provided by the Company, pursuant to which the Company may, in its sole discretion, provide you ITN Rewards for your successful completion of certain tasks on a Testnet designated by the Company. Please note that any such Testnet itself (as well as any other Testnets or any mainnet deployment of the Celestia Protocol) is not a Service and does not constitute an element of the Services. We do not control the Celestia Protocol and accept no liability for its operation or its deployment in any testnet or mainnet environment.

1. General Terms

1.1 You must be eighteen (18) years of age or older and capable of forming a binding contract with the Company in order to participate in the Program or receive ITN Rewards.

1.2 You agree and acknowledge that you (a) may receive ITN Rewards for free (other than applicable taxes, if any) from your participation in the Program, (b) were not previously promised ITN Rewards, unless pursuant to a separate written agreement, and (c) took no action in anticipation of or in reliance on receiving any ITN Rewards, unless pursuant to a separate written agreement.

1.3 Your eligibility to participate in or receive ITN Rewards from the Program is subject to our sole discretion. The complete list of actions you must complete to earn ITN Rewards may not have been described in the documentation released by us from time to time, you may not receive ITN Rewards even if you successfully complete such actions, and no documentation related to the Program entitles you to any ITN Rewards or to participate in the Program.

1.4 You agree and acknowledge that (a) you are not a Prohibited Person, (b) you are not a U.S. Person as defined in Rule 902(k) of Regulation S under the U.S. Securities Act of 1933, as amended (the "1933 Act" or "Act"), (c) you will not use a VPN or other tool to circumvent any geoblock or other restrictions that we may have implemented for participants in the Program, and (d) you are not participating in, and have not become eligible to participate in, the Program by receiving credentials from any other person or entity. Any circumvention or violation of the above will permanently disqualify you from participation in the Program.

1.5 You agree and acknowledge that if you are unable to claim ITN Rewards due to technical bugs, gas fees, loss of access to a Wallet or the keys thereto, or for any other reason, you will have no recourse or claim against us or any other Company Entity and that neither we nor any other Company Entity will bear any liability.

1.6 You agree and acknowledge that claiming an ITN Reward may require reliance on or an integration with third party products (e.g., a Wallet or an unaffiliated network or blockchain) that we do not control. In the event that you are unable to access such products or integrations, or if they fail for any reason, and you are unable to participate in the Program or claim ITN Rewards, you will have no recourse or claim against us or any other Company Entity and neither we nor any other Company Entity will bear any liability.

1.7 The Company may share identifying information and documentation with certain vendors or third-party providers who provide such identity verification and sanctions and watchlist screening services (the "Third-Party Services"). You agree that your access and use of such Third-Party Services is governed solely by the terms and conditions of such Third-Party Services, and the Company is not responsible or liable for, and make no representations as to any aspect of such Third-Party Services, including, without limitation, their content or the manner in which they handle, protect, manage or process data or any interaction between you and the provider of such Third-Party Services. You irrevocably waive any claim against the Company with respect to such Third-Party Services. We are not liable for any damage or loss caused or alleged to be caused by or in connection with your enablement, access or use of any such Third-Party Services, or your reliance on the privacy practices, data security processes or other policies of such Third-Party Services.

2. Taxes

2.1 You are responsible for the payment of all taxes associated with your participation in the Program and your receipt of ITN Rewards. You agree to provide the Company with any additional information and complete any required tax or other forms relating to your receipt of ITN Rewards. You may suffer adverse tax consequences as a result of your participation in the Program or your receipt of ITN Rewards. You hereby represent that (a) you have consulted with a tax adviser that you deem advisable in connection with your participation, or that you have had the opportunity to obtain tax advice but have chosen not to do so, (b) the Company has not provided you with any tax advice with respect to your participation, and (c) you are not relying on the Company for any tax advice.

3. Supplemental Privacy Information

We may collect information to help us determine the reliability or uptime of your activities within the Program, including through the use of telemetry or metrics endpoints to collect and analyse such information, and link this information to a unique identifier to represent your activities within the Program. We may display all of the foregoing information on a public dashboard.

Additionally, we may collect certain information about you from Third-Party Services and may combine information we receive from you with information we obtain from Third-Party Services, including but not limited to:

  • Transaction information. Information related to transactions in your Wallet, your Wallet address, activities performed using your Wallet, tokens received by your Wallet, or transactions initiated or completed.
  • Identification information. We collect your government identification (e.g., driver’s license, passport, etc.), proof of address, biometric information, and entity formation information if applicable. By agreeing to these Terms, you consent to our use of your biometric information, and understand and agree that our use of the biometric information is necessary for the performance of these Terms and the implementation of the Services.

We collect this information to confirm your eligibility to participate in the Program and receive ITN Rewards, comply with our legal obligations, detect and prevent fraud, and to provide you with the Program.

Any information we receive from third-party sources will be treated in accordance with the Celestia Privacy Policy, available at Celestia Privacy Policy. We are not responsible or liable for the accuracy of the information provided to us by third parties and are not responsible for any third party’s policies or practices. See Section 9 of the Celestia Privacy Policy for more information.

4. Certain Additional Representations

4.1 Receipt of Rewards Entirely for Own Account. Your eligibility to receive ITN Rewards is made in reliance upon your representation to the Company, which by your agreement to these Terms you hereby confirm, that any ITN Rewards you receive will be for your own account, not as a nominee or agent, and not with a view to the resale or distribution of any part thereof, and that you have no present intention of selling, granting any participation in, or otherwise distributing the same. By agreeing to these Terms, you further represent that you do not presently have any contract, undertaking, agreement or arrangement with any person to sell, transfer or grant participations to such person or to any third person, with respect to any ITN Rewards. If you are agreeing to these terms on behalf of an entity, that entity has not been formed for the specific purpose of obtaining the ITN Rewards.

4.2 Disclosure of Information. Your eligibility to receive ITN Rewards is made in reliance upon your representation to the Company, which by your agreement to these Terms you hereby confirm, that you have sufficient knowledge of and experience in business and financial matters to be able to evaluate the risks and merits of your participation in the Program and of any ITN Rewards and are able to bear the risks thereof. You hereby affirm that you have not relied on any representations or warranties made by the Company related to the Program, including, but not limited to, conversations of any kind, whether through oral or electronic communication, or any white paper.

4.3 Compliance with United States Securities Laws. You understand that the ITN Rewards have not been, and will not be, registered under the 1933 Act or any applicable state securities laws. You acknowledge that the availability of an exemption from the registration provisions of the Securities Act and other applicable state securities laws depends upon, among other things, the bona fide nature of your intent as described in Section 4.1 above and with respect to the accuracy of your representations as expressed throughout these Terms. You understand that the ITN Rewards may be deemed "restricted securities" under applicable United States federal and state securities laws and that, pursuant to these laws, you may be restricted from transferring any ITN Rewards unless they are registered with the Securities and Exchange Commission and qualified by state authorities, or an exemption from such registration and qualification requirements is available. You acknowledge that the Company does not undertake any obligation to register or qualify the ITN Rewards for resale, and exemptions from registration and qualification may not be available or may not permit you to transfer all or any of the ITN Rewards in the amounts or at the times proposed by you. You further acknowledge that if an exemption from registration or qualification is available, such exemption may be conditioned on various requirements including, but not limited to, the time and manner of sale, the holding period for the ITN Rewards, and on other factors outside of your control, for which the Company makes no assurances and may not be able to satisfy.

4.4 Compliance with Liechtenstein Security Law. You understand that nothing in these Terms will be deemed to constitute a prospectus of any sort in Liechtenstein or in any jurisdiction in the EU; nor does it in any way pertain to a public offering or a solicitation of an offer to buy any securities in Liechtenstein or in any jurisdiction in the EU.

4.5 No Public Market. You understand that no public market now exists for the ITN Rewards, and that the Company has not made any assurances that a public market will ever exist for the ITN Rewards.

4.6 No Solicitation. At no time were you presented with or solicited by any publicly issued or circulated newspaper, mail, radio, television or other form of general advertising or solicitation in connection with any invitation to participate in the Program or offer of the ITN Rewards.

4.7 Other Applicable Laws. You hereby represent that you have satisfied yourself as to the full observance of the laws of your jurisdiction in connection with any invitation to participate in the Program, receipt of ITN Awards, and other use of these Terms, including (a) the legal requirements within your jurisdiction for participating in the Program and receiving ITN Rewards, (b) any foreign exchange restrictions applicable to such participation or receipt, (c) any governmental or other consents that may need to be obtained, and (d) the income tax and other tax consequences, if any, that may be relevant to the receipt, holding, sale, or transfer of the ITN Rewards. Your participation in the Program and continued beneficial ownership of ITN Rewards will not violate any applicable securities or other laws of your jurisdiction.

4.8 Non-US Transaction. You are not a U.S. Person as defined in Rule 902(k) of Regulation S under the 1933 Act. The offer of the ITN Rewards to you was made in an offshore transaction (as defined in Rule 902(h) of Regulation S), no directed selling efforts (as defined in Rule 902(c) of Regulation S) were made in the United States, and you are not obtaining the ITN Rewards for the account or benefit of any U.S. Person.

4.9 Transfer Restrictions. You will not, during the Restricted Period (as defined below) offer or sell any of the ITN Rewards (or create or maintain any derivative position equivalent thereto) in the United States, to or for the account or benefit of a U.S. Person or other than in accordance with Regulation S. The Company reserves the right to impose additional transfer restrictions with respect to the ITN Rewards in its sole discretion.

4.10 Subsequent Sales. You will, after the expiration of the applicable Restricted Period, only offer, sell, pledge or otherwise transfer the ITN Rewards (or create or maintain any derivative position equivalent thereto) pursuant to registration under the 1933 Act or any available exemption therefrom and, in any case, in accordance with applicable state securities laws.

4.11 Legends. You acknowledge and agree that the ITN Rewards will be deemed to bear the following legends: (a) any legend required by the securities laws of any state or country to the extent such laws are applicable to the ITN Rewards represented by the certificate so legended, and (b): the following legend (and even without such legend the following restrictions apply):

THE ITN REWARDS HAVE NOT BEEN REGISTERED UNDER THE ACT WITH THE UNITED STATES SECURITIES AND EXCHANGE COMMISSION, AND THE COMPANY DOES NOT INTEND TO REGISTER THEM. THE ITN REWARDS HAVE BEEN OBTAINED TO HOLD FOR THE LONG TERM AND NOT WITH A VIEW TO, OR IN CONNECTION WITH, THE SALE OR DISTRIBUTION THEREFOR. PRIOR TO THE ONE YEAR ANNIVERSARY FROM THE TERMINATION OF THE ITN REWARD PROGRAM (THE "PROGRAM COMPLETION DATE" AND SUCH ONE YEAR PERIOD, THE "RESTRICTED PERIOD"), THE ITN REWARDS MAY NOT BE OFFERED OR SOLD (INCLUDING OPENING A SHORT POSITION IN SUCH ITN REWARDS) IN THE UNITED STATES OR TO U.S. PERSONS AS DEFINED BY RULE 902(k) ADOPTED UNDER THE ACT, OTHER THAN TO DISTRIBUTORS, UNLESS THE ITN REWARDS ARE REGISTERED UNDER THE ACT, OR AN EXEMPTION FROM THE REGISTRATION REQUIREMENTS OF THE ACT IS AVAILABLE. RECIPIENTS OF ITN REWARDS PRIOR TO THE ONE YEAR ANNIVERSARY OF THE PROGRAM COMPLETION DATE MAY SELL SUCH ITN REWARDS ONLY PURSUANT TO AN EXEMPTION FROM REGISTRATION UNDER THE ACT OR OTHERWISE IN ACCORDANCE WITH THE PROVISIONS OF REGULATION S OF THE ACT, OR IN TRANSACTIONS EFFECTED OUTSIDE OF THE UNITED STATES PROVIDED THEY DO NOT SOLICIT (AND NO ONE ACTING ON THEIR BEHALF SOLICITS) PURCHASERS IN THE UNITED STATES OR OTHERWISE ENGAGE(S) IN SELLING EFFORTS IN THE UNITED STATES AND PROVIDED THAT HEDGING TRANSACTIONS INVOLVING THESE ITN REWARDS MAY NOT BE CONDUCTED UNLESS IN COMPLIANCE WITH THE ACT. A HOLDER OF THE ITN REWARDS WHO IS A DISTRIBUTOR, DEALER, SUB-UNDERWRITER OR OTHER SECURITIES PROFESSIONAL, IN ADDITION, CANNOT PRIOR TO THE ONE YEAR ANNIVERSARY OF THE PROGRAM COMPLETION DATE SELL THE ITN REWARDS TO A U.S. PERSON AS DEFINED BY RULE 902(k) OF REGULATION S UNLESS THE ITN REWARDS ARE REGISTERED UNDER THE ACT OR AN EXEMPTION FROM REGISTRATION UNDER THE ACT IS AVAILABLE.

',37),i=[n];function s(c,l,d,h,u,p){return t(),o("div",null,i)}const T=e(r,[["render",s]]);export{m as __pageData,T as default}; +import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS","description":"These Terms govern your ability to participate in the Incentivized Testnet Award Program.","frontmatter":{"description":"These Terms govern your ability to participate in the Incentivized Testnet Award Program.","lastUpdated":false,"editLink":false,"head":[["meta",{"name":"og:title","content":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/itn-tos.md","filePath":"community/itn-tos.md","lastUpdated":1705010189000}'),r={name:"community/itn-tos.md"},n=a('

SUPPLEMENTAL INCENTIVIZED TESTNET TERMS

Last Revised on 1/16/2023

Welcome to the Supplemental Terms (these "ITN Award Program Terms" or "Terms") for the Incentivized Testnet Award Program (the "ITN Award Program" or the "Program") as operated on behalf of Strange Loop Labs AG ("Company", "we" or "us"). The ITN Award Program provides eligible users of a Testnet designated by the Company the opportunity to earn rewards, which may include Celestia tokens. These Terms are supplemental to, and incorporate by reference, the broader Celestia Terms of Service ("Services Terms") available at Celestia Terms of Service.

Defined terms used but not defined herein have the meaning set forth in the Services Terms. The Program and your participation in it is a Service as defined under the Services Terms.

These Terms govern your ability to participate in the Program and any awards you receive from that participation, which may include Celestia tokens ("ITN Rewards").

Please read these Terms carefully, as they include important information about your legal rights. By participating in the Program or claiming ITN Rewards, you are agreeing to these Terms. If you do not understand or agree to these Terms, please do not participate in the Program or claim ITN Rewards.

In order to participate in the Program you must provide certain information about you. Our collection of such information, your rights with respect to such collection, and other relevant information is described in the Celestia Privacy Policy available at Celestia Privacy Policy, and is supplemented by Section 3 of these Terms.

The Program is a discretionary Service provided by the Company, pursuant to which the Company may, in its sole discretion, provide you ITN Rewards for your successful completion of certain tasks on a Testnet designated by the Company. Please note that any such Testnet itself (as well as any other Testnets or any mainnet deployment of the Celestia Protocol) is not a Service and does not constitute an element of the Services. We do not control the Celestia Protocol and accept no liability for its operation or its deployment in any testnet or mainnet environment.

1. General Terms

1.1 You must be eighteen (18) years of age or older and capable of forming a binding contract with the Company in order to participate in the Program or receive ITN Rewards.

1.2 You agree and acknowledge that you (a) may receive ITN Rewards for free (other than applicable taxes, if any) from your participation in the Program, (b) were not previously promised ITN Rewards, unless pursuant to a separate written agreement, and (c) took no action in anticipation of or in reliance on receiving any ITN Rewards, unless pursuant to a separate written agreement.

1.3 Your eligibility to participate in or receive ITN Rewards from the Program is subject to our sole discretion. The complete list of actions you must complete to earn ITN Rewards may not have been described in the documentation released by us from time to time, you may not receive ITN Rewards even if you successfully complete such actions, and no documentation related to the Program entitles you to any ITN Rewards or to participate in the Program.

1.4 You agree and acknowledge that (a) you are not a Prohibited Person, (b) you are not a U.S. Person as defined in Rule 902(k) of Regulation S under the U.S. Securities Act of 1933, as amended (the "1933 Act" or "Act"), (c) you will not use a VPN or other tool to circumvent any geoblock or other restrictions that we may have implemented for participants in the Program, and (d) you are not participating in, and have not become eligible to participate in, the Program by receiving credentials from any other person or entity. Any circumvention or violation of the above will permanently disqualify you from participation in the Program.

1.5 You agree and acknowledge that if you are unable to claim ITN Rewards due to technical bugs, gas fees, loss of access to a Wallet or the keys thereto, or for any other reason, you will have no recourse or claim against us or any other Company Entity and that neither we nor any other Company Entity will bear any liability.

1.6 You agree and acknowledge that claiming an ITN Reward may require reliance on or an integration with third party products (e.g., a Wallet or an unaffiliated network or blockchain) that we do not control. In the event that you are unable to access such products or integrations, or if they fail for any reason, and you are unable to participate in the Program or claim ITN Rewards, you will have no recourse or claim against us or any other Company Entity and neither we nor any other Company Entity will bear any liability.

1.7 The Company may share identifying information and documentation with certain vendors or third-party providers who provide such identity verification and sanctions and watchlist screening services (the "Third-Party Services"). You agree that your access and use of such Third-Party Services is governed solely by the terms and conditions of such Third-Party Services, and the Company is not responsible or liable for, and make no representations as to any aspect of such Third-Party Services, including, without limitation, their content or the manner in which they handle, protect, manage or process data or any interaction between you and the provider of such Third-Party Services. You irrevocably waive any claim against the Company with respect to such Third-Party Services. We are not liable for any damage or loss caused or alleged to be caused by or in connection with your enablement, access or use of any such Third-Party Services, or your reliance on the privacy practices, data security processes or other policies of such Third-Party Services.

2. Taxes

2.1 You are responsible for the payment of all taxes associated with your participation in the Program and your receipt of ITN Rewards. You agree to provide the Company with any additional information and complete any required tax or other forms relating to your receipt of ITN Rewards. You may suffer adverse tax consequences as a result of your participation in the Program or your receipt of ITN Rewards. You hereby represent that (a) you have consulted with a tax adviser that you deem advisable in connection with your participation, or that you have had the opportunity to obtain tax advice but have chosen not to do so, (b) the Company has not provided you with any tax advice with respect to your participation, and (c) you are not relying on the Company for any tax advice.

3. Supplemental Privacy Information

We may collect information to help us determine the reliability or uptime of your activities within the Program, including through the use of telemetry or metrics endpoints to collect and analyse such information, and link this information to a unique identifier to represent your activities within the Program. We may display all of the foregoing information on a public dashboard.

Additionally, we may collect certain information about you from Third-Party Services and may combine information we receive from you with information we obtain from Third-Party Services, including but not limited to:

  • Transaction information. Information related to transactions in your Wallet, your Wallet address, activities performed using your Wallet, tokens received by your Wallet, or transactions initiated or completed.
  • Identification information. We collect your government identification (e.g., driver’s license, passport, etc.), proof of address, biometric information, and entity formation information if applicable. By agreeing to these Terms, you consent to our use of your biometric information, and understand and agree that our use of the biometric information is necessary for the performance of these Terms and the implementation of the Services.

We collect this information to confirm your eligibility to participate in the Program and receive ITN Rewards, comply with our legal obligations, detect and prevent fraud, and to provide you with the Program.

Any information we receive from third-party sources will be treated in accordance with the Celestia Privacy Policy, available at Celestia Privacy Policy. We are not responsible or liable for the accuracy of the information provided to us by third parties and are not responsible for any third party’s policies or practices. See Section 9 of the Celestia Privacy Policy for more information.

4. Certain Additional Representations

4.1 Receipt of Rewards Entirely for Own Account. Your eligibility to receive ITN Rewards is made in reliance upon your representation to the Company, which by your agreement to these Terms you hereby confirm, that any ITN Rewards you receive will be for your own account, not as a nominee or agent, and not with a view to the resale or distribution of any part thereof, and that you have no present intention of selling, granting any participation in, or otherwise distributing the same. By agreeing to these Terms, you further represent that you do not presently have any contract, undertaking, agreement or arrangement with any person to sell, transfer or grant participations to such person or to any third person, with respect to any ITN Rewards. If you are agreeing to these terms on behalf of an entity, that entity has not been formed for the specific purpose of obtaining the ITN Rewards.

4.2 Disclosure of Information. Your eligibility to receive ITN Rewards is made in reliance upon your representation to the Company, which by your agreement to these Terms you hereby confirm, that you have sufficient knowledge of and experience in business and financial matters to be able to evaluate the risks and merits of your participation in the Program and of any ITN Rewards and are able to bear the risks thereof. You hereby affirm that you have not relied on any representations or warranties made by the Company related to the Program, including, but not limited to, conversations of any kind, whether through oral or electronic communication, or any white paper.

4.3 Compliance with United States Securities Laws. You understand that the ITN Rewards have not been, and will not be, registered under the 1933 Act or any applicable state securities laws. You acknowledge that the availability of an exemption from the registration provisions of the Securities Act and other applicable state securities laws depends upon, among other things, the bona fide nature of your intent as described in Section 4.1 above and with respect to the accuracy of your representations as expressed throughout these Terms. You understand that the ITN Rewards may be deemed "restricted securities" under applicable United States federal and state securities laws and that, pursuant to these laws, you may be restricted from transferring any ITN Rewards unless they are registered with the Securities and Exchange Commission and qualified by state authorities, or an exemption from such registration and qualification requirements is available. You acknowledge that the Company does not undertake any obligation to register or qualify the ITN Rewards for resale, and exemptions from registration and qualification may not be available or may not permit you to transfer all or any of the ITN Rewards in the amounts or at the times proposed by you. You further acknowledge that if an exemption from registration or qualification is available, such exemption may be conditioned on various requirements including, but not limited to, the time and manner of sale, the holding period for the ITN Rewards, and on other factors outside of your control, for which the Company makes no assurances and may not be able to satisfy.

4.4 Compliance with Liechtenstein Security Law. You understand that nothing in these Terms will be deemed to constitute a prospectus of any sort in Liechtenstein or in any jurisdiction in the EU; nor does it in any way pertain to a public offering or a solicitation of an offer to buy any securities in Liechtenstein or in any jurisdiction in the EU.

4.5 No Public Market. You understand that no public market now exists for the ITN Rewards, and that the Company has not made any assurances that a public market will ever exist for the ITN Rewards.

4.6 No Solicitation. At no time were you presented with or solicited by any publicly issued or circulated newspaper, mail, radio, television or other form of general advertising or solicitation in connection with any invitation to participate in the Program or offer of the ITN Rewards.

4.7 Other Applicable Laws. You hereby represent that you have satisfied yourself as to the full observance of the laws of your jurisdiction in connection with any invitation to participate in the Program, receipt of ITN Awards, and other use of these Terms, including (a) the legal requirements within your jurisdiction for participating in the Program and receiving ITN Rewards, (b) any foreign exchange restrictions applicable to such participation or receipt, (c) any governmental or other consents that may need to be obtained, and (d) the income tax and other tax consequences, if any, that may be relevant to the receipt, holding, sale, or transfer of the ITN Rewards. Your participation in the Program and continued beneficial ownership of ITN Rewards will not violate any applicable securities or other laws of your jurisdiction.

4.8 Non-US Transaction. You are not a U.S. Person as defined in Rule 902(k) of Regulation S under the 1933 Act. The offer of the ITN Rewards to you was made in an offshore transaction (as defined in Rule 902(h) of Regulation S), no directed selling efforts (as defined in Rule 902(c) of Regulation S) were made in the United States, and you are not obtaining the ITN Rewards for the account or benefit of any U.S. Person.

4.9 Transfer Restrictions. You will not, during the Restricted Period (as defined below) offer or sell any of the ITN Rewards (or create or maintain any derivative position equivalent thereto) in the United States, to or for the account or benefit of a U.S. Person or other than in accordance with Regulation S. The Company reserves the right to impose additional transfer restrictions with respect to the ITN Rewards in its sole discretion.

4.10 Subsequent Sales. You will, after the expiration of the applicable Restricted Period, only offer, sell, pledge or otherwise transfer the ITN Rewards (or create or maintain any derivative position equivalent thereto) pursuant to registration under the 1933 Act or any available exemption therefrom and, in any case, in accordance with applicable state securities laws.

4.11 Legends. You acknowledge and agree that the ITN Rewards will be deemed to bear the following legends: (a) any legend required by the securities laws of any state or country to the extent such laws are applicable to the ITN Rewards represented by the certificate so legended, and (b): the following legend (and even without such legend the following restrictions apply):

THE ITN REWARDS HAVE NOT BEEN REGISTERED UNDER THE ACT WITH THE UNITED STATES SECURITIES AND EXCHANGE COMMISSION, AND THE COMPANY DOES NOT INTEND TO REGISTER THEM. THE ITN REWARDS HAVE BEEN OBTAINED TO HOLD FOR THE LONG TERM AND NOT WITH A VIEW TO, OR IN CONNECTION WITH, THE SALE OR DISTRIBUTION THEREFOR. PRIOR TO THE ONE YEAR ANNIVERSARY FROM THE TERMINATION OF THE ITN REWARD PROGRAM (THE "PROGRAM COMPLETION DATE" AND SUCH ONE YEAR PERIOD, THE "RESTRICTED PERIOD"), THE ITN REWARDS MAY NOT BE OFFERED OR SOLD (INCLUDING OPENING A SHORT POSITION IN SUCH ITN REWARDS) IN THE UNITED STATES OR TO U.S. PERSONS AS DEFINED BY RULE 902(k) ADOPTED UNDER THE ACT, OTHER THAN TO DISTRIBUTORS, UNLESS THE ITN REWARDS ARE REGISTERED UNDER THE ACT, OR AN EXEMPTION FROM THE REGISTRATION REQUIREMENTS OF THE ACT IS AVAILABLE. RECIPIENTS OF ITN REWARDS PRIOR TO THE ONE YEAR ANNIVERSARY OF THE PROGRAM COMPLETION DATE MAY SELL SUCH ITN REWARDS ONLY PURSUANT TO AN EXEMPTION FROM REGISTRATION UNDER THE ACT OR OTHERWISE IN ACCORDANCE WITH THE PROVISIONS OF REGULATION S OF THE ACT, OR IN TRANSACTIONS EFFECTED OUTSIDE OF THE UNITED STATES PROVIDED THEY DO NOT SOLICIT (AND NO ONE ACTING ON THEIR BEHALF SOLICITS) PURCHASERS IN THE UNITED STATES OR OTHERWISE ENGAGE(S) IN SELLING EFFORTS IN THE UNITED STATES AND PROVIDED THAT HEDGING TRANSACTIONS INVOLVING THESE ITN REWARDS MAY NOT BE CONDUCTED UNLESS IN COMPLIANCE WITH THE ACT. A HOLDER OF THE ITN REWARDS WHO IS A DISTRIBUTOR, DEALER, SUB-UNDERWRITER OR OTHER SECURITIES PROFESSIONAL, IN ADDITION, CANNOT PRIOR TO THE ONE YEAR ANNIVERSARY OF THE PROGRAM COMPLETION DATE SELL THE ITN REWARDS TO A U.S. PERSON AS DEFINED BY RULE 902(k) OF REGULATION S UNLESS THE ITN REWARDS ARE REGISTERED UNDER THE ACT OR AN EXEMPTION FROM REGISTRATION UNDER THE ACT IS AVAILABLE.

',37),i=[n];function s(c,l,d,h,u,p){return t(),o("div",null,i)}const T=e(r,[["render",s]]);export{m as __pageData,T as default}; diff --git a/pr-preview/pr-1358/assets/community_itn-tos.md.7b9132bb.lean.js b/pr-preview/pr-1358/assets/community_itn-tos.md.9a6c75b0.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/community_itn-tos.md.7b9132bb.lean.js rename to pr-preview/pr-1358/assets/community_itn-tos.md.9a6c75b0.lean.js index 82216097af..82741f37c7 100644 --- a/pr-preview/pr-1358/assets/community_itn-tos.md.7b9132bb.lean.js +++ b/pr-preview/pr-1358/assets/community_itn-tos.md.9a6c75b0.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS","description":"These Terms govern your ability to participate in the Incentivized Testnet Award Program.","frontmatter":{"description":"These Terms govern your ability to participate in the Incentivized Testnet Award Program.","lastUpdated":false,"editLink":false,"head":[["meta",{"name":"og:title","content":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/itn-tos.md","filePath":"community/itn-tos.md","lastUpdated":1705009966000}'),r={name:"community/itn-tos.md"},n=a("",37),i=[n];function s(c,l,d,h,u,p){return t(),o("div",null,i)}const T=e(r,[["render",s]]);export{m as __pageData,T as default}; +import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS","description":"These Terms govern your ability to participate in the Incentivized Testnet Award Program.","frontmatter":{"description":"These Terms govern your ability to participate in the Incentivized Testnet Award Program.","lastUpdated":false,"editLink":false,"head":[["meta",{"name":"og:title","content":"SUPPLEMENTAL INCENTIVIZED TESTNET TERMS | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/itn-tos.md","filePath":"community/itn-tos.md","lastUpdated":1705010189000}'),r={name:"community/itn-tos.md"},n=a("",37),i=[n];function s(c,l,d,h,u,p){return t(),o("div",null,i)}const T=e(r,[["render",s]]);export{m as __pageData,T as default}; diff --git a/pr-preview/pr-1358/assets/community_modular-fellows.md.f8968cd3.js b/pr-preview/pr-1358/assets/community_modular-fellows.md.43e72762.js similarity index 99% rename from pr-preview/pr-1358/assets/community_modular-fellows.md.f8968cd3.js rename to pr-preview/pr-1358/assets/community_modular-fellows.md.43e72762.js index d73e1c5391..971486cc86 100644 --- a/pr-preview/pr-1358/assets/community_modular-fellows.md.f8968cd3.js +++ b/pr-preview/pr-1358/assets/community_modular-fellows.md.43e72762.js @@ -1 +1 @@ -import{_ as e,o,c as t,Q as r}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/modular_fellows.jpg",g=JSON.parse('{"title":"Modular Fellows","description":"A program designed to support the future of scalable and sovereign blockchain networks.","frontmatter":{"description":"A program designed to support the future of scalable and sovereign blockchain networks.","head":[["meta",{"name":"og:title","content":"Modular Fellows | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-fellows.md","filePath":"community/modular-fellows.md","lastUpdated":1705009966000}'),l={name:"community/modular-fellows.md"},i=r('

Modular Fellows

Modular Fellows

Modular Fellows is a program designed to empower modular builders with the right resources to build the future of scalable and sovereign blockchain networks.

Over the course of the three month program, Modular Fellows will receive engineering support, mentorship, and a monthly stipend of $3,000 to build a project of their choice. After the program, continuing support will be available for Fellows in the form of fundraising help and grants.

Applications are currently closed. Check back for details about future cohorts.

Overview

Milestones

Each month, the Fellows will complete a project milestone, culminating in a demo-day presentation.

  • Month 1 - Learning and Exploring (start building whenever you’re ready)

    In this month, you will immerse yourself in modular blockchains to come up with ideas of protocols, tools or applications to build during the rest of the program.

    • Milestone - present an idea that you want to pursue
  • Month 2 - Designing & Implementing a Basic Prototype

    In this month, you will design and implement a basic prototype of the idea that you settled on during the first month.

    • Milestone - present the prototype for feedback
  • Month 3 - Build out the Prototype into a Functional Product

    In this month, you will expand on your prototype to build a functional product which you will demo and explain with a write up.

    • Milestone - demo, write up of product

Project ideas

Fellows do not need to have a specific project idea at the start of the program, but you will need to settle on one by the end of the first month. There are no right or wrong ideas, but here are a few to get you thinking:

  • New execution layers, e.g. a Move rollup
  • Rollup infrastructure services, e.g. one click deploy rollup sequencers
  • Modular interoperability solutions, e.g. settlement layers or bridges
  • Modular versions of the following
    • Popular DeFi apps e.g. AMMs & lending protocols
    • NFT platforms
    • Naming services like ENS
    • Social graphs like Lens Protocol

Support

  1. Weekly office hours

    An optional meeting to ask questions, get help and receive feedback.

    Wednesdays alternating at 8:00am or 6:00pm Central US time.

  2. Lessons & tutorials

    Presentations from Celestia Labs team members & mentors explaining key concepts or giving tutorials on specific tools.

  3. Demos from participants

    Presentations from fellows about what they are working on for feedback.

  4. Communication

    Fellows will share a Telegram group with other Modular Fellows and Modular Mentors.

  5. Monthly stipend

    Fellows will receive $3,000.00 per month paid on completion of each milestone.

Continuation

Though the program lasts only 3 months, we will provide you with continuing support in the following ways.

  • Grants & Funding - We will assist you in fundraising or in applying for a grant so that you can continue building your project.
  • Alumni Network - You will be inducted into the Modular Fellows alumni network where you can keep in touch with other past and future Modular Fellows.

Modular Mentors

Modular Fellows will work closely with the Celestia Labs team and a group of hand-picked Modular Mentors who will help solve engineering problems and provide feedback on milestones.

These are the Mentors for the first cohort:

  • Wei Dai - Research partner at Bain Capital Crypto
  • Can Gurel - Researcher at Delphi Digital
  • Eric Wall - Blockchain Researcher
  • Eli Krenzke - Research Team Partner at Polychain
  • Zaki Manian - Co-Founder of Sommelier, Co-Founder of iqlusion, helped build the Cosmos ecosystem, including launching the first public Cosmos testnet
  • Marko Baricevic - Cosmos-sdk lead and founder of binary holdings works.
  • Morgan Beller - General Partner at NFX, a seed-stage venture capital fund, prev. Head of Strategy for Facebook's Novi
  • John Adler - CRO, Celestia Labs
  • Mustafa Al-Bassam - CEO, Celestia Labs
  • Ismail Khoffi - CTO, Celestia Labs
  • Evan Forbes - Software Engineer, Celestia Labs
',21),n=[i];function s(p,u,h,d,c,m){return o(),t("div",null,n)}const w=e(l,[["render",s]]);export{g as __pageData,w as default}; +import{_ as e,o,c as t,Q as r}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/modular_fellows.jpg",g=JSON.parse('{"title":"Modular Fellows","description":"A program designed to support the future of scalable and sovereign blockchain networks.","frontmatter":{"description":"A program designed to support the future of scalable and sovereign blockchain networks.","head":[["meta",{"name":"og:title","content":"Modular Fellows | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-fellows.md","filePath":"community/modular-fellows.md","lastUpdated":1705010189000}'),l={name:"community/modular-fellows.md"},i=r('

Modular Fellows

Modular Fellows

Modular Fellows is a program designed to empower modular builders with the right resources to build the future of scalable and sovereign blockchain networks.

Over the course of the three month program, Modular Fellows will receive engineering support, mentorship, and a monthly stipend of $3,000 to build a project of their choice. After the program, continuing support will be available for Fellows in the form of fundraising help and grants.

Applications are currently closed. Check back for details about future cohorts.

Overview

Milestones

Each month, the Fellows will complete a project milestone, culminating in a demo-day presentation.

  • Month 1 - Learning and Exploring (start building whenever you’re ready)

    In this month, you will immerse yourself in modular blockchains to come up with ideas of protocols, tools or applications to build during the rest of the program.

    • Milestone - present an idea that you want to pursue
  • Month 2 - Designing & Implementing a Basic Prototype

    In this month, you will design and implement a basic prototype of the idea that you settled on during the first month.

    • Milestone - present the prototype for feedback
  • Month 3 - Build out the Prototype into a Functional Product

    In this month, you will expand on your prototype to build a functional product which you will demo and explain with a write up.

    • Milestone - demo, write up of product

Project ideas

Fellows do not need to have a specific project idea at the start of the program, but you will need to settle on one by the end of the first month. There are no right or wrong ideas, but here are a few to get you thinking:

  • New execution layers, e.g. a Move rollup
  • Rollup infrastructure services, e.g. one click deploy rollup sequencers
  • Modular interoperability solutions, e.g. settlement layers or bridges
  • Modular versions of the following
    • Popular DeFi apps e.g. AMMs & lending protocols
    • NFT platforms
    • Naming services like ENS
    • Social graphs like Lens Protocol

Support

  1. Weekly office hours

    An optional meeting to ask questions, get help and receive feedback.

    Wednesdays alternating at 8:00am or 6:00pm Central US time.

  2. Lessons & tutorials

    Presentations from Celestia Labs team members & mentors explaining key concepts or giving tutorials on specific tools.

  3. Demos from participants

    Presentations from fellows about what they are working on for feedback.

  4. Communication

    Fellows will share a Telegram group with other Modular Fellows and Modular Mentors.

  5. Monthly stipend

    Fellows will receive $3,000.00 per month paid on completion of each milestone.

Continuation

Though the program lasts only 3 months, we will provide you with continuing support in the following ways.

  • Grants & Funding - We will assist you in fundraising or in applying for a grant so that you can continue building your project.
  • Alumni Network - You will be inducted into the Modular Fellows alumni network where you can keep in touch with other past and future Modular Fellows.

Modular Mentors

Modular Fellows will work closely with the Celestia Labs team and a group of hand-picked Modular Mentors who will help solve engineering problems and provide feedback on milestones.

These are the Mentors for the first cohort:

  • Wei Dai - Research partner at Bain Capital Crypto
  • Can Gurel - Researcher at Delphi Digital
  • Eric Wall - Blockchain Researcher
  • Eli Krenzke - Research Team Partner at Polychain
  • Zaki Manian - Co-Founder of Sommelier, Co-Founder of iqlusion, helped build the Cosmos ecosystem, including launching the first public Cosmos testnet
  • Marko Baricevic - Cosmos-sdk lead and founder of binary holdings works.
  • Morgan Beller - General Partner at NFX, a seed-stage venture capital fund, prev. Head of Strategy for Facebook's Novi
  • John Adler - CRO, Celestia Labs
  • Mustafa Al-Bassam - CEO, Celestia Labs
  • Ismail Khoffi - CTO, Celestia Labs
  • Evan Forbes - Software Engineer, Celestia Labs
',21),n=[i];function s(p,u,h,d,c,m){return o(),t("div",null,n)}const w=e(l,[["render",s]]);export{g as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/community_modular-fellows.md.f8968cd3.lean.js b/pr-preview/pr-1358/assets/community_modular-fellows.md.43e72762.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/community_modular-fellows.md.f8968cd3.lean.js rename to pr-preview/pr-1358/assets/community_modular-fellows.md.43e72762.lean.js index 9933a7e641..220f1b1ffd 100644 --- a/pr-preview/pr-1358/assets/community_modular-fellows.md.f8968cd3.lean.js +++ b/pr-preview/pr-1358/assets/community_modular-fellows.md.43e72762.lean.js @@ -1 +1 @@ -import{_ as e,o,c as t,Q as r}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/modular_fellows.jpg",g=JSON.parse('{"title":"Modular Fellows","description":"A program designed to support the future of scalable and sovereign blockchain networks.","frontmatter":{"description":"A program designed to support the future of scalable and sovereign blockchain networks.","head":[["meta",{"name":"og:title","content":"Modular Fellows | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-fellows.md","filePath":"community/modular-fellows.md","lastUpdated":1705009966000}'),l={name:"community/modular-fellows.md"},i=r("",21),n=[i];function s(p,u,h,d,c,m){return o(),t("div",null,n)}const w=e(l,[["render",s]]);export{g as __pageData,w as default}; +import{_ as e,o,c as t,Q as r}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/modular_fellows.jpg",g=JSON.parse('{"title":"Modular Fellows","description":"A program designed to support the future of scalable and sovereign blockchain networks.","frontmatter":{"description":"A program designed to support the future of scalable and sovereign blockchain networks.","head":[["meta",{"name":"og:title","content":"Modular Fellows | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-fellows.md","filePath":"community/modular-fellows.md","lastUpdated":1705010189000}'),l={name:"community/modular-fellows.md"},i=r("",21),n=[i];function s(p,u,h,d,c,m){return o(),t("div",null,n)}const w=e(l,[["render",s]]);export{g as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9d50b746.js b/pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9f0c82ae.js similarity index 99% rename from pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9d50b746.js rename to pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9f0c82ae.js index 9d786213c4..d4b5516bfd 100644 --- a/pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9d50b746.js +++ b/pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9f0c82ae.js @@ -1 +1 @@ -import{_ as e,o as t,c as i,Q as o}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Modular Meetup guide","description":"A guide that helps in organizing a successful Modular Meetup.","frontmatter":{"description":"A guide that helps in organizing a successful Modular Meetup.","head":[["meta",{"name":"og:title","content":"Modular Meetup guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-guide.md","filePath":"community/modular-meetup-guide.md","lastUpdated":1705009966000}'),a={name:"community/modular-meetup-guide.md"},n=o('

Modular Meetup guide

These are recommended steps you can follow that can help you organize a successful Modular Meetup. You aren’t required to follow the entire checklist but it is available to help aid you in your journey to organize a Modular Meetup.

Before the Meetup

  1. Determine the meetup topic and objectives.
  2. Select a suitable date and time for the event.
  3. Secure a convenient and accessible venue that can accommodate the expected number of attendees.
  4. Finalize a schedule or agenda for the event, including speakers, presentations, and activities.
  5. Prepare and send out invitations to potential attendees using various channels (email, social media, community platforms, etc.).
  6. Create and share promotional materials (graphics, blog posts, etc.) to raise awareness about the meetup.
  7. Confirm speakers, including their availability, presentation topics, and technical requirements. If you are working from a Speaker List, please reach out to Nat for any support needed on coordination with speakers.
  8. Arrange any necessary equipment, such as microphones, projectors, and whiteboards.
  9. Plan and arrange refreshments, if applicable.
  10. Prepare and print any required materials, like agendas, name tags, and feedback forms.
  11. Coordinate with volunteers or team members to help manage the event.
  12. Set up a registration system or RSVP process to track attendance.
  13. Send out reminder messages to registered attendees prior to the event.
  14. Conduct a final review of the event logistics, including venue setup, equipment functionality, and volunteer roles.

During the Meetup

  1. Set up the venue, including arranging seating, preparing equipment, and displaying any promotional materials.
  2. Designate a registration area and ensure that someone is available to greet and check-in attendees.
  3. Welcome the attendees and provide an overview of the event schedule.
  4. Introduce speakers and facilitate any presentations or discussions.
  5. Encourage networking and interaction among attendees during breaks or dedicated activities.
  6. Capture the event with photos or videos for future promotions and documentation.
  7. Collect feedback from attendees using forms, online surveys, or informal conversations if needed.

After the Meetup

  1. Send follow-up messages to attendees, thanking them for their participation and soliciting additional feedback.
  2. Evaluate the success of the event by reviewing feedback and assessing key performance indicators (e.g., attendance, engagement, etc.).
  3. Analyze and document lessons learned, identifying areas for improvement in future meetups.
  4. Share event highlights, photos, and key takeaways with the community through social media, blog posts, or newsletters.
  5. Connect with speakers, attendees, and volunteers to maintain and strengthen relationships.
  6. Begin planning for the next meetup, applying insights gained from the previous event to enhance the experience for future attendees.

Logistics and guidance

These are provided guidelines for different components of kickstarting a Modular Meetup to help you get started on the logistics of organizing a meetup. A lot of those guidelines are thanks to the wonderful write ups in Ethereum Meetup Support Program and Elastic Community Organizer Guides.

Venue

Selecting the perfect venue for your Modular Meetup is essential in creating a welcoming atmosphere for the Celestia community.

  1. Startup Incubators
    • Often they would have spaces for meetups.
  2. Libraries
    • Libraries can normally have spaces for meetups at little to no costs
  3. Co-working spaces:
    • Co-working spaces might be able to offer necessary equipment like microphones, projectors, and whiteboards.
  4. Restaurants:
    • Restaurants might have private rooms for larger groups of people that you can book, depending on the restaurant.
  5. Universities and Blockchain Clubs:
    • Partnering with universities and their local university clubs can offer you a lot of spaces for meetups, as well as necessary equipments if needed for giving a talk.
  6. Other options:
    • If you're having difficulty finding a venue, don't hesitate to ask for help within the Celestia community. Your fellow organizers and attendees may have valuable suggestions or connections.

An ideal venue should offer:

  • Sufficient seating for the audience
  • A projector and screen
  • A microphone (especially for meetups with 10+ attendees)
  • Optional: A whiteboard for speakers or workshops (not always necessary, but a nice addition)

Consider recording the event, even with a smartphone, to share with the community later. If the speaker uses a microphone, their voice will be more audible in the video. We might be able to post those recordings of the meetup talks on a meetup youtube channel after.

Remember to negotiate on costs and seek discounts, emphasizing that your meetup benefits the community.

Collaborate with your venue provider to explore options like borrowing recording equipment, tripods, or even having them record the event for you. Some providers may offer these services for free or at a reduced cost.

Catering and refreshments

Providing refreshments or catering for your Modular Meetup enhances the overall experience and encourages networking among attendees.

  1. Determine your budget
    • Identify the amount you can allocate for food and drinks at your event which will help you determine how much you can bring in refreshments. You can also contact the Celestia Devrel team for ideas and support. Costs for refreshments and drinks can vary depending on your location, so be mindful to be flexible on your plans according to your specific location and budget.
  2. Offer a variety of refreshments
    • If you're ordering in, pizza and finger foods work well, but you can also have more budget-friendly options for food.
    • Offering drinks like beer, soda, or lemonade are great, but water also works. Keep in mind that not everyone drinks alcohol so it’s not a requirement. But having at least water and plastic cups works well.
  3. Plan ahead
    • Order refreshments 1 or 2 days in advance and schedule delivery to avoid last-minute stress during the event.

By following these recommendations, you'll be able to provide enjoyable refreshments for your Celestia Modular Meetup attendees while fostering a friendly and engaging atmosphere.

Audience

Understanding your audience and estimating attendance are crucial for organizing successful Modular Meetups for Celestia.

  1. Research the local tech scene:
    • Investigate the types of meetups and events popular in your area. Attend other technology-focused events to get a sense of the audience size and interests. This information will help you tailor your meetup to attract a larger audience.
  2. Assess the availability of speakers:
    • Before organizing a meetup, ensure that you have access to a pool of knowledgeable speakers. If you anticipate difficulty in securing speakers, consider joining forces with an existing meetup group or speaking at other events before launching a new group. This approach will help spread the word about your planned Modular Meetup and gauge interest. Speakers are covered in the following section with a reference to Speaker List offered by the Modular Meetup program.
  3. Establish connections with other user groups:
    • Forge relationships with other tech-focused meetup groups to mutually promote each other's events, potentially increasing attendance.
  4. Set a regular routine for your meetup:
    • Communicate how often you plan to hold meetups, whether it's monthly or quarterly, to help attendees manage their expectations and maintain their interest.
  5. Organize casual meetups:
    • If there's a gap between more formal events, arrange casual meetups at pubs or cafes to keep people engaged and connect with potential speakers for future events.
  6. Estimate the number of attendees:
    • Consider factors such as the size of your city, the popularity of the topic, and the appeal of the event description when estimating attendance.

Speakers

Securing engaging and knowledgeable speakers is key to hosting an exceptional Celestia Modular Meetup.

  1. Define your event topic
    • Determine the theme of your event, focusing on areas such as DeFi, Gaming, NFTs, coding workshops, protocol changes, rollups, data availability, or other topics relevant to the Modular ecosystem. This will help you find speakers with expertise in the chosen subject.
  2. Utilize the Speaker List provided by the Modular Meetup program
    • As a meetup organizer, you have access to a curated list of talented speakers from Celestia Labs and the broader Modular ecosystem. This valuable resource can connect you with experts who can share their knowledge with your meetup attendees.
  3. Aim for multiple speakers
    • Ideally, invite 2-3 speakers to your event, allotting 20-40 minutes per talk. Schedule short breaks between presentations to maintain audience engagement.
  4. Organize the speaker lineup
    • Discuss the topics and slides with your speakers before the event to ensure a smooth flow. Arrange the talks in a logical order, saving the most impactful presentation for last.
  5. Invite local speakers
    • For your first meetup, consider presenting an introduction to the Celestia ecosystem or a specific area of interest. Encourage local experts or enthusiasts to speak at future meetups. This approach fosters community involvement and helps build a network of potential speakers.
  6. Seek speaker referrals
    • Ask your current speakers, attendees, or other meetup organizers for referrals. Personal connections often lead to discovering new speakers with valuable insights.
  7. Leverage your meetup discussion board
    • Post a call for speakers on your meetup discussion board to reach out to potential presenters within your community. Be clear about the event theme and requirements to attract relevant speakers.
  8. Offer incentives and appreciation
    • Reward speakers with tokens of gratitude, such as T-shirts, gifts, or public recognition, to show your appreciation for their contribution to the meetup. The Celestia Labs Devrel team can help with swag logistics if needed.

Sponsors

Finding sponsors for your meetup can be challenging, but securing financial support is crucial for covering costs related to venue and refreshments.

  1. Leverage Celestia Labs' support
    • Celestia Labs may offer co-sponsorship for your meetup. However, they also encourage organizers to find local co-sponsors to help cover costs and create a more sustainable event.
  2. Offer value to your sponsors:
    • Show potential sponsors how partnering with your event will benefit them. Include their logo on event banners, mention them in the event description, and give them a shoutout at the beginning of the event. If they desire, allow them to place a rollup banner at the venue.
  3. Reach out to your network
    • Ask friends and acquaintances if they know of coworking spaces, schools, universities, or companies interested in sponsorship. A personal connection can significantly increase the chances of securing support.
  4. Approach speakers for sponsorship
    • Request speakers or their affiliated projects to contribute towards the event's expenses, such as catering costs. This can be an effective way to obtain additional funding.
  5. Create a sponsorship deck
    • Develop a compelling sponsorship deck to pitch your event to tech companies in your city or potential online sponsors. This presentation should highlight the benefits of supporting your event and showcase past successful meetups.
  6. Research local companies
    • Investigate businesses in your area that may be interested in sponsoring your event. Tailor your pitch to align with their industry and demonstrate how the meetup can benefit their company.
  7. Engage sponsors during the event
    • Allow sponsors to briefly address the audience, participate in Q&A sessions, or mention their hiring needs. Remember to avoid sales pitches, as they can negatively impact the meetup experience.
  8. Thank your sponsors
    • Express gratitude to your sponsors at the beginning and end of the meetup. Acknowledging their support encourages continued collaboration and enhances the credibility of your event.

Communications and marketing

Effectively marketing and announcing your Modular Meetup is essential for attracting attendees and ensuring a successful event.

  1. Plan your announcement
    • Announce your meetup at least two weeks prior. This gives your audience ample time to prepare and increases the likelihood of their attendance.
  2. Utilize Celestia Labs' resources
    • Celestia Labs can help co-promote your meetup on social media and Discord. They can also add your event to their online calendar, email local contacts, and share the event via their Developer Relations Team on Twitter. Don't hesitate to reach out to them for assistance.
  3. Share on social media
    • Promote your event on Twitter and any other popular social media platforms in your area. Tag speakers, sponsors, and use relevant hashtags to increase visibility.
  4. Leverage local community groups
    • Post your event in local Telegram, Discord, or other community groups relevant to your city. These groups often have many members who may be interested in attending your event.
  5. Engage speakers and the venue
    • Maintain communication with speakers and the venue to ensure any changes can be announced in advance. Trust is critical, so avoid canceling planned meetups whenever possible.
  6. Send reminders via meetup.com (optional)
    • After announcing your event, send a warm invite to your meetup group members through meetup.com. Additionally, send a reminder email one day before the event to encourage attendance.
  7. Share with friends and family
    • Invite your friends, family, and acquaintances to the meetup, as they may help spread the word or know someone interested in the event.
  8. Utilize conference groups
    • If you've attended conferences, share your meetup in the associated Telegram or social media groups, as there may be members nearby who would be interested in attending.

Recording

Recording and live-streaming your Modular Meetup can greatly benefit those who cannot attend in person and expand the reach of your event.

  1. Plan for recording
    • Consider recording your meetup to create additional learning resources and share the knowledge with a broader audience.
  2. Consider live-streaming
    • Live-streaming your event on platforms like Twitch, YouTube, or Twitter allows remote participants to watch and engage in the meetup. This can also boost your event's reach and create a sense of inclusion for those who couldn't attend in person.
  3. Coordinate with Celestia Labs
    • Celestia Labs can potentially help cover recording costs and promote recorded meetups. Reach out to them at meetups@celestia.org to discuss available options and support. They can also assist with finding local contacts for recording if you don't have one already.
  4. Utilize available resources
    • If you have a small budget, consider allocating some funds for recording and live-streaming your event. Look for local professionals or affordable equipment rentals to ensure high-quality recordings.
  5. Share recordings on Celestia Labs' channels
    • Celestia Labs can help promote recorded meetups by sharing videos in their meetups playlist on YouTube and hosting them on their website. Ensure you coordinate with Celestia Labs to provide them with the recorded video.
  6. Promote recorded content
    • Share the recordings on your social media channels and meetup group after the event. This helps attendees revisit the content and allows those who couldn't attend to learn from the talks.

Utilizing Meetup.com platform

Celestia Labs is committed to supporting your meetup efforts by helping you with meetup.com, from setting up the group to covering organizer dues. Below is a detailed overview of how Celestia Labs can assist you.

  1. Meetup.com organizer dues
    • Celestia Labs is happy to cover organizer dues for meetup.com. To get started, send an email to meetups@celestia.org and let them help you with the process.
  2. Co-organizing existing groups
    • If you already have a meetup.com group but need Celestia Labs' assistance with organizing or covering dues, email meetups@celestia.org to add one of their employees as the Organizer.
  3. Setting up groups on Meetup.com
    • Celestia Labs will help you set up your meetup group, including logos, naming, custom URLs, group description, and other essential details. They provide a unique logo for Celestia Modular Meetups, which you can use for your group.
  4. User group naming
    • Celestia Labs recommends naming your group "Celestia Modular Meetup" to encompass various aspects of the Celestia community and create a consistent brand.
  5. Custom URL for the group
    • Meetup.com allows you to create a custom URL for your user group. Celestia Labs encourages consistent URLs across regions, making it easy for people to find your meetup group.
  6. Group description
    • Celestia Labs has a standard group description to ensure consistency across all meetups. However, if you'd like to customize it, let them know.
  7. New member intake questions
    • To improve the quality of your meetups, Celestia Labs suggests a set of intake questions for new members. The answers can help you better understand their needs and interests, allowing you to plan engaging meetups.
  8. Welcome message
    • Celestia Labs provides a welcome message for new members joining your group. If you'd like to customize this message, let them know.

Onboarding questions for community members joining a Modular Meetup

  1. Q1: How did you hear about this Modular Meetup?
    • Why: This information helps us understand the most effective channels for recruiting new participants to the meetup.
  2. Q2: What do you hope to gain by participating in this meetup? (e.g., networking, learning about Celestia, learning about Modularity, finding a job, etc.)
    • Why: This information helps us cater to the needs of the user group members. If most attendees are looking for networking opportunities, we can schedule casual meetups alongside informative talks.
  3. Q3: Are you currently using or planning to use Celestia, Rollkit, Celestia’s Node API or any of the rollups deployed on Celestia? Tell us all about it. We will use your response to help us better understand what talks would be most beneficial to the group.
    • Why: Responses to this question help us determine the most relevant talks for the group members. If we discover that most participants are interested in a specific area, we can tailor the talks accordingly.
  4. Q4: We love Celestia and the modular ecosystem, but we also appreciate other Web3 technologies. What other topics would you like to hear about? (e.g., Infrastructure, Data Storage, DID, MEV)
    • Why: Knowing our group participants' interests in other technical areas helps us understand what related topics would be useful and valuable to the group, which in turn helps when recruiting speakers.
  5. Q5: Would you be interested in speaking at a future meetup? We welcome 2-minute lightning talks to 1-hour deep dives. Would you be interested in hosting a meetup? If you answer yes to this question, the group organizers will contact you to follow up.
    • Why: One of the challenges in hosting regular meetups is finding speakers. We hope this question will identify people eager to share their stories and expertise with the group, making the lives of organizers easier.
',42),r=[n];function s(l,u,c,d,h,p){return t(),i("div",null,r)}const f=e(a,[["render",s]]);export{g as __pageData,f as default}; +import{_ as e,o as t,c as i,Q as o}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Modular Meetup guide","description":"A guide that helps in organizing a successful Modular Meetup.","frontmatter":{"description":"A guide that helps in organizing a successful Modular Meetup.","head":[["meta",{"name":"og:title","content":"Modular Meetup guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-guide.md","filePath":"community/modular-meetup-guide.md","lastUpdated":1705010189000}'),a={name:"community/modular-meetup-guide.md"},n=o('

Modular Meetup guide

These are recommended steps you can follow that can help you organize a successful Modular Meetup. You aren’t required to follow the entire checklist but it is available to help aid you in your journey to organize a Modular Meetup.

Before the Meetup

  1. Determine the meetup topic and objectives.
  2. Select a suitable date and time for the event.
  3. Secure a convenient and accessible venue that can accommodate the expected number of attendees.
  4. Finalize a schedule or agenda for the event, including speakers, presentations, and activities.
  5. Prepare and send out invitations to potential attendees using various channels (email, social media, community platforms, etc.).
  6. Create and share promotional materials (graphics, blog posts, etc.) to raise awareness about the meetup.
  7. Confirm speakers, including their availability, presentation topics, and technical requirements. If you are working from a Speaker List, please reach out to Nat for any support needed on coordination with speakers.
  8. Arrange any necessary equipment, such as microphones, projectors, and whiteboards.
  9. Plan and arrange refreshments, if applicable.
  10. Prepare and print any required materials, like agendas, name tags, and feedback forms.
  11. Coordinate with volunteers or team members to help manage the event.
  12. Set up a registration system or RSVP process to track attendance.
  13. Send out reminder messages to registered attendees prior to the event.
  14. Conduct a final review of the event logistics, including venue setup, equipment functionality, and volunteer roles.

During the Meetup

  1. Set up the venue, including arranging seating, preparing equipment, and displaying any promotional materials.
  2. Designate a registration area and ensure that someone is available to greet and check-in attendees.
  3. Welcome the attendees and provide an overview of the event schedule.
  4. Introduce speakers and facilitate any presentations or discussions.
  5. Encourage networking and interaction among attendees during breaks or dedicated activities.
  6. Capture the event with photos or videos for future promotions and documentation.
  7. Collect feedback from attendees using forms, online surveys, or informal conversations if needed.

After the Meetup

  1. Send follow-up messages to attendees, thanking them for their participation and soliciting additional feedback.
  2. Evaluate the success of the event by reviewing feedback and assessing key performance indicators (e.g., attendance, engagement, etc.).
  3. Analyze and document lessons learned, identifying areas for improvement in future meetups.
  4. Share event highlights, photos, and key takeaways with the community through social media, blog posts, or newsletters.
  5. Connect with speakers, attendees, and volunteers to maintain and strengthen relationships.
  6. Begin planning for the next meetup, applying insights gained from the previous event to enhance the experience for future attendees.

Logistics and guidance

These are provided guidelines for different components of kickstarting a Modular Meetup to help you get started on the logistics of organizing a meetup. A lot of those guidelines are thanks to the wonderful write ups in Ethereum Meetup Support Program and Elastic Community Organizer Guides.

Venue

Selecting the perfect venue for your Modular Meetup is essential in creating a welcoming atmosphere for the Celestia community.

  1. Startup Incubators
    • Often they would have spaces for meetups.
  2. Libraries
    • Libraries can normally have spaces for meetups at little to no costs
  3. Co-working spaces:
    • Co-working spaces might be able to offer necessary equipment like microphones, projectors, and whiteboards.
  4. Restaurants:
    • Restaurants might have private rooms for larger groups of people that you can book, depending on the restaurant.
  5. Universities and Blockchain Clubs:
    • Partnering with universities and their local university clubs can offer you a lot of spaces for meetups, as well as necessary equipments if needed for giving a talk.
  6. Other options:
    • If you're having difficulty finding a venue, don't hesitate to ask for help within the Celestia community. Your fellow organizers and attendees may have valuable suggestions or connections.

An ideal venue should offer:

  • Sufficient seating for the audience
  • A projector and screen
  • A microphone (especially for meetups with 10+ attendees)
  • Optional: A whiteboard for speakers or workshops (not always necessary, but a nice addition)

Consider recording the event, even with a smartphone, to share with the community later. If the speaker uses a microphone, their voice will be more audible in the video. We might be able to post those recordings of the meetup talks on a meetup youtube channel after.

Remember to negotiate on costs and seek discounts, emphasizing that your meetup benefits the community.

Collaborate with your venue provider to explore options like borrowing recording equipment, tripods, or even having them record the event for you. Some providers may offer these services for free or at a reduced cost.

Catering and refreshments

Providing refreshments or catering for your Modular Meetup enhances the overall experience and encourages networking among attendees.

  1. Determine your budget
    • Identify the amount you can allocate for food and drinks at your event which will help you determine how much you can bring in refreshments. You can also contact the Celestia Devrel team for ideas and support. Costs for refreshments and drinks can vary depending on your location, so be mindful to be flexible on your plans according to your specific location and budget.
  2. Offer a variety of refreshments
    • If you're ordering in, pizza and finger foods work well, but you can also have more budget-friendly options for food.
    • Offering drinks like beer, soda, or lemonade are great, but water also works. Keep in mind that not everyone drinks alcohol so it’s not a requirement. But having at least water and plastic cups works well.
  3. Plan ahead
    • Order refreshments 1 or 2 days in advance and schedule delivery to avoid last-minute stress during the event.

By following these recommendations, you'll be able to provide enjoyable refreshments for your Celestia Modular Meetup attendees while fostering a friendly and engaging atmosphere.

Audience

Understanding your audience and estimating attendance are crucial for organizing successful Modular Meetups for Celestia.

  1. Research the local tech scene:
    • Investigate the types of meetups and events popular in your area. Attend other technology-focused events to get a sense of the audience size and interests. This information will help you tailor your meetup to attract a larger audience.
  2. Assess the availability of speakers:
    • Before organizing a meetup, ensure that you have access to a pool of knowledgeable speakers. If you anticipate difficulty in securing speakers, consider joining forces with an existing meetup group or speaking at other events before launching a new group. This approach will help spread the word about your planned Modular Meetup and gauge interest. Speakers are covered in the following section with a reference to Speaker List offered by the Modular Meetup program.
  3. Establish connections with other user groups:
    • Forge relationships with other tech-focused meetup groups to mutually promote each other's events, potentially increasing attendance.
  4. Set a regular routine for your meetup:
    • Communicate how often you plan to hold meetups, whether it's monthly or quarterly, to help attendees manage their expectations and maintain their interest.
  5. Organize casual meetups:
    • If there's a gap between more formal events, arrange casual meetups at pubs or cafes to keep people engaged and connect with potential speakers for future events.
  6. Estimate the number of attendees:
    • Consider factors such as the size of your city, the popularity of the topic, and the appeal of the event description when estimating attendance.

Speakers

Securing engaging and knowledgeable speakers is key to hosting an exceptional Celestia Modular Meetup.

  1. Define your event topic
    • Determine the theme of your event, focusing on areas such as DeFi, Gaming, NFTs, coding workshops, protocol changes, rollups, data availability, or other topics relevant to the Modular ecosystem. This will help you find speakers with expertise in the chosen subject.
  2. Utilize the Speaker List provided by the Modular Meetup program
    • As a meetup organizer, you have access to a curated list of talented speakers from Celestia Labs and the broader Modular ecosystem. This valuable resource can connect you with experts who can share their knowledge with your meetup attendees.
  3. Aim for multiple speakers
    • Ideally, invite 2-3 speakers to your event, allotting 20-40 minutes per talk. Schedule short breaks between presentations to maintain audience engagement.
  4. Organize the speaker lineup
    • Discuss the topics and slides with your speakers before the event to ensure a smooth flow. Arrange the talks in a logical order, saving the most impactful presentation for last.
  5. Invite local speakers
    • For your first meetup, consider presenting an introduction to the Celestia ecosystem or a specific area of interest. Encourage local experts or enthusiasts to speak at future meetups. This approach fosters community involvement and helps build a network of potential speakers.
  6. Seek speaker referrals
    • Ask your current speakers, attendees, or other meetup organizers for referrals. Personal connections often lead to discovering new speakers with valuable insights.
  7. Leverage your meetup discussion board
    • Post a call for speakers on your meetup discussion board to reach out to potential presenters within your community. Be clear about the event theme and requirements to attract relevant speakers.
  8. Offer incentives and appreciation
    • Reward speakers with tokens of gratitude, such as T-shirts, gifts, or public recognition, to show your appreciation for their contribution to the meetup. The Celestia Labs Devrel team can help with swag logistics if needed.

Sponsors

Finding sponsors for your meetup can be challenging, but securing financial support is crucial for covering costs related to venue and refreshments.

  1. Leverage Celestia Labs' support
    • Celestia Labs may offer co-sponsorship for your meetup. However, they also encourage organizers to find local co-sponsors to help cover costs and create a more sustainable event.
  2. Offer value to your sponsors:
    • Show potential sponsors how partnering with your event will benefit them. Include their logo on event banners, mention them in the event description, and give them a shoutout at the beginning of the event. If they desire, allow them to place a rollup banner at the venue.
  3. Reach out to your network
    • Ask friends and acquaintances if they know of coworking spaces, schools, universities, or companies interested in sponsorship. A personal connection can significantly increase the chances of securing support.
  4. Approach speakers for sponsorship
    • Request speakers or their affiliated projects to contribute towards the event's expenses, such as catering costs. This can be an effective way to obtain additional funding.
  5. Create a sponsorship deck
    • Develop a compelling sponsorship deck to pitch your event to tech companies in your city or potential online sponsors. This presentation should highlight the benefits of supporting your event and showcase past successful meetups.
  6. Research local companies
    • Investigate businesses in your area that may be interested in sponsoring your event. Tailor your pitch to align with their industry and demonstrate how the meetup can benefit their company.
  7. Engage sponsors during the event
    • Allow sponsors to briefly address the audience, participate in Q&A sessions, or mention their hiring needs. Remember to avoid sales pitches, as they can negatively impact the meetup experience.
  8. Thank your sponsors
    • Express gratitude to your sponsors at the beginning and end of the meetup. Acknowledging their support encourages continued collaboration and enhances the credibility of your event.

Communications and marketing

Effectively marketing and announcing your Modular Meetup is essential for attracting attendees and ensuring a successful event.

  1. Plan your announcement
    • Announce your meetup at least two weeks prior. This gives your audience ample time to prepare and increases the likelihood of their attendance.
  2. Utilize Celestia Labs' resources
    • Celestia Labs can help co-promote your meetup on social media and Discord. They can also add your event to their online calendar, email local contacts, and share the event via their Developer Relations Team on Twitter. Don't hesitate to reach out to them for assistance.
  3. Share on social media
    • Promote your event on Twitter and any other popular social media platforms in your area. Tag speakers, sponsors, and use relevant hashtags to increase visibility.
  4. Leverage local community groups
    • Post your event in local Telegram, Discord, or other community groups relevant to your city. These groups often have many members who may be interested in attending your event.
  5. Engage speakers and the venue
    • Maintain communication with speakers and the venue to ensure any changes can be announced in advance. Trust is critical, so avoid canceling planned meetups whenever possible.
  6. Send reminders via meetup.com (optional)
    • After announcing your event, send a warm invite to your meetup group members through meetup.com. Additionally, send a reminder email one day before the event to encourage attendance.
  7. Share with friends and family
    • Invite your friends, family, and acquaintances to the meetup, as they may help spread the word or know someone interested in the event.
  8. Utilize conference groups
    • If you've attended conferences, share your meetup in the associated Telegram or social media groups, as there may be members nearby who would be interested in attending.

Recording

Recording and live-streaming your Modular Meetup can greatly benefit those who cannot attend in person and expand the reach of your event.

  1. Plan for recording
    • Consider recording your meetup to create additional learning resources and share the knowledge with a broader audience.
  2. Consider live-streaming
    • Live-streaming your event on platforms like Twitch, YouTube, or Twitter allows remote participants to watch and engage in the meetup. This can also boost your event's reach and create a sense of inclusion for those who couldn't attend in person.
  3. Coordinate with Celestia Labs
    • Celestia Labs can potentially help cover recording costs and promote recorded meetups. Reach out to them at meetups@celestia.org to discuss available options and support. They can also assist with finding local contacts for recording if you don't have one already.
  4. Utilize available resources
    • If you have a small budget, consider allocating some funds for recording and live-streaming your event. Look for local professionals or affordable equipment rentals to ensure high-quality recordings.
  5. Share recordings on Celestia Labs' channels
    • Celestia Labs can help promote recorded meetups by sharing videos in their meetups playlist on YouTube and hosting them on their website. Ensure you coordinate with Celestia Labs to provide them with the recorded video.
  6. Promote recorded content
    • Share the recordings on your social media channels and meetup group after the event. This helps attendees revisit the content and allows those who couldn't attend to learn from the talks.

Utilizing Meetup.com platform

Celestia Labs is committed to supporting your meetup efforts by helping you with meetup.com, from setting up the group to covering organizer dues. Below is a detailed overview of how Celestia Labs can assist you.

  1. Meetup.com organizer dues
    • Celestia Labs is happy to cover organizer dues for meetup.com. To get started, send an email to meetups@celestia.org and let them help you with the process.
  2. Co-organizing existing groups
    • If you already have a meetup.com group but need Celestia Labs' assistance with organizing or covering dues, email meetups@celestia.org to add one of their employees as the Organizer.
  3. Setting up groups on Meetup.com
    • Celestia Labs will help you set up your meetup group, including logos, naming, custom URLs, group description, and other essential details. They provide a unique logo for Celestia Modular Meetups, which you can use for your group.
  4. User group naming
    • Celestia Labs recommends naming your group "Celestia Modular Meetup" to encompass various aspects of the Celestia community and create a consistent brand.
  5. Custom URL for the group
    • Meetup.com allows you to create a custom URL for your user group. Celestia Labs encourages consistent URLs across regions, making it easy for people to find your meetup group.
  6. Group description
    • Celestia Labs has a standard group description to ensure consistency across all meetups. However, if you'd like to customize it, let them know.
  7. New member intake questions
    • To improve the quality of your meetups, Celestia Labs suggests a set of intake questions for new members. The answers can help you better understand their needs and interests, allowing you to plan engaging meetups.
  8. Welcome message
    • Celestia Labs provides a welcome message for new members joining your group. If you'd like to customize this message, let them know.

Onboarding questions for community members joining a Modular Meetup

  1. Q1: How did you hear about this Modular Meetup?
    • Why: This information helps us understand the most effective channels for recruiting new participants to the meetup.
  2. Q2: What do you hope to gain by participating in this meetup? (e.g., networking, learning about Celestia, learning about Modularity, finding a job, etc.)
    • Why: This information helps us cater to the needs of the user group members. If most attendees are looking for networking opportunities, we can schedule casual meetups alongside informative talks.
  3. Q3: Are you currently using or planning to use Celestia, Rollkit, Celestia’s Node API or any of the rollups deployed on Celestia? Tell us all about it. We will use your response to help us better understand what talks would be most beneficial to the group.
    • Why: Responses to this question help us determine the most relevant talks for the group members. If we discover that most participants are interested in a specific area, we can tailor the talks accordingly.
  4. Q4: We love Celestia and the modular ecosystem, but we also appreciate other Web3 technologies. What other topics would you like to hear about? (e.g., Infrastructure, Data Storage, DID, MEV)
    • Why: Knowing our group participants' interests in other technical areas helps us understand what related topics would be useful and valuable to the group, which in turn helps when recruiting speakers.
  5. Q5: Would you be interested in speaking at a future meetup? We welcome 2-minute lightning talks to 1-hour deep dives. Would you be interested in hosting a meetup? If you answer yes to this question, the group organizers will contact you to follow up.
    • Why: One of the challenges in hosting regular meetups is finding speakers. We hope this question will identify people eager to share their stories and expertise with the group, making the lives of organizers easier.
',42),r=[n];function s(l,u,c,d,h,p){return t(),i("div",null,r)}const f=e(a,[["render",s]]);export{g as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9d50b746.lean.js b/pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9f0c82ae.lean.js similarity index 91% rename from pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9d50b746.lean.js rename to pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9f0c82ae.lean.js index fb9833a7a0..c5f70fa841 100644 --- a/pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9d50b746.lean.js +++ b/pr-preview/pr-1358/assets/community_modular-meetup-guide.md.9f0c82ae.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as i,Q as o}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Modular Meetup guide","description":"A guide that helps in organizing a successful Modular Meetup.","frontmatter":{"description":"A guide that helps in organizing a successful Modular Meetup.","head":[["meta",{"name":"og:title","content":"Modular Meetup guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-guide.md","filePath":"community/modular-meetup-guide.md","lastUpdated":1705009966000}'),a={name:"community/modular-meetup-guide.md"},n=o("",42),r=[n];function s(l,u,c,d,h,p){return t(),i("div",null,r)}const f=e(a,[["render",s]]);export{g as __pageData,f as default}; +import{_ as e,o as t,c as i,Q as o}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Modular Meetup guide","description":"A guide that helps in organizing a successful Modular Meetup.","frontmatter":{"description":"A guide that helps in organizing a successful Modular Meetup.","head":[["meta",{"name":"og:title","content":"Modular Meetup guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-guide.md","filePath":"community/modular-meetup-guide.md","lastUpdated":1705010189000}'),a={name:"community/modular-meetup-guide.md"},n=o("",42),r=[n];function s(l,u,c,d,h,p){return t(),i("div",null,r)}const f=e(a,[["render",s]]);export{g as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/community_modular-meetup-intro.md.0a65dcb2.js b/pr-preview/pr-1358/assets/community_modular-meetup-intro.md.de857e63.js similarity index 98% rename from pr-preview/pr-1358/assets/community_modular-meetup-intro.md.0a65dcb2.js rename to pr-preview/pr-1358/assets/community_modular-meetup-intro.md.de857e63.js index 618424d262..837f257900 100644 --- a/pr-preview/pr-1358/assets/community_modular-meetup-intro.md.0a65dcb2.js +++ b/pr-preview/pr-1358/assets/community_modular-meetup-intro.md.de857e63.js @@ -1 +1 @@ -import{_ as e,o,c as a,Q as t}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/Celestia_Modular_meetup2.jpg",f=JSON.parse('{"title":"Celestia Modular Meetup program","description":"The ultimate guide for Modular Meetup organizers!","frontmatter":{"description":"The ultimate guide for Modular Meetup organizers!","head":[["meta",{"name":"og:title","content":"Celestia Modular Meetup program | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-intro.md","filePath":"community/modular-meetup-intro.md","lastUpdated":1705009966000}'),i={name:"community/modular-meetup-intro.md"},n=t('

Celestia Modular Meetup program

Modular Meetup Banner

Welcome to the ultimate guide for Modular Meetup organizers! This collection of resources is designed for those enthusiastic about fostering grassroots Modular Meetups with support from Celestia around the world.

Program description

The Celestia Modular Meetup Program aims to empower meetup organizers, providing education and support, and encouraging collaboration within the Web3 ecosystem. This rapidly growing community has already achieved incredible success with the first Modular Meetup in Lisbon, and will grow from there.

Join fellow enthusiasts, engage in enlightening discussions, and make the most of the insightful resources provided. These resources are designed to serve as a go-to playbook for meetup organizers, especially when starting your journey.

Important info

Celestia.org Community Code of Conduct

The purpose of our Community Code of Conduct is to foster an inclusive, welcoming, and supportive environment for everyone participating in Celestia community events. We're all here to learn from each other, expand our skillsets, and enjoy a positive experience together.

All meetup attendees, speakers, sponsors, and volunteers, including the event organizing team, are kindly asked to adhere to the following Code of Conduct. Organizers will respectfully enforce this code throughout the event. We genuinely appreciate the cooperation of all participants in maintaining a safe and empowering space for everyone.

Signup form

To become part of the program, please complete the registration form.

Following the review and approval of your submission, you will receive an email confirmation and an invitation to participate in the upcoming Modular Meetup call. Furthermore, you will be granted access to the exclusive Discord channel labeled "#modular-meetup" on our Discord server. Please take note that joining our Discord is a prerequisite for channel access. It's essential to recognize that this program is tailored for dedicated organizers with a genuine interest in nurturing their local modular ecosystem community.

Emails

As a participant in the Celestia Modular Meetup Program, you can expect to receive the following emails:

  1. Welcome email with links to calendar events and Discord channel
  2. Monthly Catch-up call invites
  3. Recap emails with notes from calls

Discord

Your active participation is key to unlocking the full potential of this vibrant community. Our primary communication tool is Discord, providing an engaging platform to connect with fellow organizers:

Materials

As a meetup organizer, you'll gain access to the Celestia Modular Meetup Program's list of resources. This collection should become your trusted companion in organizing events. Drawing upon the wisdom of seasoned event organizers, this resource is available for you and your co-organizers to explore and learn.

',23),s=[n];function l(u,c,d,p,m,h){return o(),a("div",null,s)}const y=e(i,[["render",l]]);export{f as __pageData,y as default}; +import{_ as e,o,c as a,Q as t}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/Celestia_Modular_meetup2.jpg",f=JSON.parse('{"title":"Celestia Modular Meetup program","description":"The ultimate guide for Modular Meetup organizers!","frontmatter":{"description":"The ultimate guide for Modular Meetup organizers!","head":[["meta",{"name":"og:title","content":"Celestia Modular Meetup program | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-intro.md","filePath":"community/modular-meetup-intro.md","lastUpdated":1705010189000}'),i={name:"community/modular-meetup-intro.md"},n=t('

Celestia Modular Meetup program

Modular Meetup Banner

Welcome to the ultimate guide for Modular Meetup organizers! This collection of resources is designed for those enthusiastic about fostering grassroots Modular Meetups with support from Celestia around the world.

Program description

The Celestia Modular Meetup Program aims to empower meetup organizers, providing education and support, and encouraging collaboration within the Web3 ecosystem. This rapidly growing community has already achieved incredible success with the first Modular Meetup in Lisbon, and will grow from there.

Join fellow enthusiasts, engage in enlightening discussions, and make the most of the insightful resources provided. These resources are designed to serve as a go-to playbook for meetup organizers, especially when starting your journey.

Important info

Celestia.org Community Code of Conduct

The purpose of our Community Code of Conduct is to foster an inclusive, welcoming, and supportive environment for everyone participating in Celestia community events. We're all here to learn from each other, expand our skillsets, and enjoy a positive experience together.

All meetup attendees, speakers, sponsors, and volunteers, including the event organizing team, are kindly asked to adhere to the following Code of Conduct. Organizers will respectfully enforce this code throughout the event. We genuinely appreciate the cooperation of all participants in maintaining a safe and empowering space for everyone.

Signup form

To become part of the program, please complete the registration form.

Following the review and approval of your submission, you will receive an email confirmation and an invitation to participate in the upcoming Modular Meetup call. Furthermore, you will be granted access to the exclusive Discord channel labeled "#modular-meetup" on our Discord server. Please take note that joining our Discord is a prerequisite for channel access. It's essential to recognize that this program is tailored for dedicated organizers with a genuine interest in nurturing their local modular ecosystem community.

Emails

As a participant in the Celestia Modular Meetup Program, you can expect to receive the following emails:

  1. Welcome email with links to calendar events and Discord channel
  2. Monthly Catch-up call invites
  3. Recap emails with notes from calls

Discord

Your active participation is key to unlocking the full potential of this vibrant community. Our primary communication tool is Discord, providing an engaging platform to connect with fellow organizers:

Materials

As a meetup organizer, you'll gain access to the Celestia Modular Meetup Program's list of resources. This collection should become your trusted companion in organizing events. Drawing upon the wisdom of seasoned event organizers, this resource is available for you and your co-organizers to explore and learn.

',23),s=[n];function l(u,c,d,p,m,h){return o(),a("div",null,s)}const y=e(i,[["render",l]]);export{f as __pageData,y as default}; diff --git a/pr-preview/pr-1358/assets/community_modular-meetup-intro.md.0a65dcb2.lean.js b/pr-preview/pr-1358/assets/community_modular-meetup-intro.md.de857e63.lean.js similarity index 91% rename from pr-preview/pr-1358/assets/community_modular-meetup-intro.md.0a65dcb2.lean.js rename to pr-preview/pr-1358/assets/community_modular-meetup-intro.md.de857e63.lean.js index 1fafd68ce5..908a9cfd48 100644 --- a/pr-preview/pr-1358/assets/community_modular-meetup-intro.md.0a65dcb2.lean.js +++ b/pr-preview/pr-1358/assets/community_modular-meetup-intro.md.de857e63.lean.js @@ -1 +1 @@ -import{_ as e,o,c as a,Q as t}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/Celestia_Modular_meetup2.jpg",f=JSON.parse('{"title":"Celestia Modular Meetup program","description":"The ultimate guide for Modular Meetup organizers!","frontmatter":{"description":"The ultimate guide for Modular Meetup organizers!","head":[["meta",{"name":"og:title","content":"Celestia Modular Meetup program | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-intro.md","filePath":"community/modular-meetup-intro.md","lastUpdated":1705009966000}'),i={name:"community/modular-meetup-intro.md"},n=t("",23),s=[n];function l(u,c,d,p,m,h){return o(),a("div",null,s)}const y=e(i,[["render",l]]);export{f as __pageData,y as default}; +import{_ as e,o,c as a,Q as t}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/Celestia_Modular_meetup2.jpg",f=JSON.parse('{"title":"Celestia Modular Meetup program","description":"The ultimate guide for Modular Meetup organizers!","frontmatter":{"description":"The ultimate guide for Modular Meetup organizers!","head":[["meta",{"name":"og:title","content":"Celestia Modular Meetup program | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-intro.md","filePath":"community/modular-meetup-intro.md","lastUpdated":1705010189000}'),i={name:"community/modular-meetup-intro.md"},n=t("",23),s=[n];function l(u,c,d,p,m,h){return o(),a("div",null,s)}const y=e(i,[["render",l]]);export{f as __pageData,y as default}; diff --git a/pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.86a564ad.js b/pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.02daca06.js similarity index 98% rename from pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.86a564ad.js rename to pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.02daca06.js index ac50fc03e9..9a5ada7619 100644 --- a/pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.86a564ad.js +++ b/pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.02daca06.js @@ -1 +1 @@ -import{_ as e,o,c as i,Q as t}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Modular Meetup Toolkit","description":"A toolkit for Modular Meetups.","frontmatter":{"description":"A toolkit for Modular Meetups.","head":[["meta",{"name":"og:title","content":"Modular Meetup Toolkit | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-toolkit.md","filePath":"community/modular-meetup-toolkit.md","lastUpdated":1705009966000}'),l={name:"community/modular-meetup-toolkit.md"},a=t('

Modular Meetup Toolkit

Welcome to the Modular Meetups Toolkit! This kit is designed to help you run successful meetups for the Celestia community. As the first modular blockchain, Celestia offers a lot to discuss and explore. This kit includes useful resources and materials to help you plan and execute your meetups effectively.

Celestia branding guidelines

  • Brand kit
    1. Includes logo files, color schemes, typography, icons and illustrations

Sample “Introduction to Modularity” workshop presentation

  • Sample presentation - introduction to modularity
  • Summary: This is an overview presentation on Modular blockchains and dives deep into Celestia core technologies.
  • The sample presentation covers:
    1. What are modular blockchains?
    2. The benefits of modular over monolithic blockchains
    3. Introduction to Celestia: The first modular blockchain
    4. The concept of Data Availability Sampling
    5. Sovereign Rollups
    6. Q&A session

Sample “Run a Celestia light node” workshop presentation

  • Sample presentation - run a light node
  • Summary: This is an overview presentation goes over running a Celestia light node. You can find existing video presentations for this here:
  • The sample presentation covers:
    1. What is a Celestia light node?
    2. The role of light nodes in the Celestia ecosystem
    3. Setting up a light node: hardware and software requirements
    4. Step-by-step guide on how to run a Celestia light node
    5. Troubleshooting common issues
    6. Best practices for maintaining a light node
    7. Q&A session

Sample “Deploy a Sovereign Rollup” workshop presentation

  • Sample presentation - deploy a sovereign rollup
  • Summary: This is an overview presentation on deploying a sovereign rollup with Rollkit on Celestia. You can find existing video presentations for this here:
  • The sample presentation covers:
    1. What is a sovereign rollup?
    2. The role of sovereign rollups in the Celestia ecosystem
    3. Introduction to Rollkit
    4. Setting up a sovereign rollup: hardware and software requirements
    5. Q&A session

Sample “Modular Meetup Introduction” workshop presentation

Swag logistics

With this Modular Meetups Organizer Kit, you’ll have everything you need to plan and execute engaging, informative, and successful meetups for the Celestia community. Happy organizing!

',15),r=[a];function n(s,p,u,d,h,c){return o(),i("div",null,r)}const f=e(l,[["render",n]]);export{g as __pageData,f as default}; +import{_ as e,o,c as i,Q as t}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Modular Meetup Toolkit","description":"A toolkit for Modular Meetups.","frontmatter":{"description":"A toolkit for Modular Meetups.","head":[["meta",{"name":"og:title","content":"Modular Meetup Toolkit | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-toolkit.md","filePath":"community/modular-meetup-toolkit.md","lastUpdated":1705010189000}'),l={name:"community/modular-meetup-toolkit.md"},a=t('

Modular Meetup Toolkit

Welcome to the Modular Meetups Toolkit! This kit is designed to help you run successful meetups for the Celestia community. As the first modular blockchain, Celestia offers a lot to discuss and explore. This kit includes useful resources and materials to help you plan and execute your meetups effectively.

Celestia branding guidelines

  • Brand kit
    1. Includes logo files, color schemes, typography, icons and illustrations

Sample “Introduction to Modularity” workshop presentation

  • Sample presentation - introduction to modularity
  • Summary: This is an overview presentation on Modular blockchains and dives deep into Celestia core technologies.
  • The sample presentation covers:
    1. What are modular blockchains?
    2. The benefits of modular over monolithic blockchains
    3. Introduction to Celestia: The first modular blockchain
    4. The concept of Data Availability Sampling
    5. Sovereign Rollups
    6. Q&A session

Sample “Run a Celestia light node” workshop presentation

  • Sample presentation - run a light node
  • Summary: This is an overview presentation goes over running a Celestia light node. You can find existing video presentations for this here:
  • The sample presentation covers:
    1. What is a Celestia light node?
    2. The role of light nodes in the Celestia ecosystem
    3. Setting up a light node: hardware and software requirements
    4. Step-by-step guide on how to run a Celestia light node
    5. Troubleshooting common issues
    6. Best practices for maintaining a light node
    7. Q&A session

Sample “Deploy a Sovereign Rollup” workshop presentation

  • Sample presentation - deploy a sovereign rollup
  • Summary: This is an overview presentation on deploying a sovereign rollup with Rollkit on Celestia. You can find existing video presentations for this here:
  • The sample presentation covers:
    1. What is a sovereign rollup?
    2. The role of sovereign rollups in the Celestia ecosystem
    3. Introduction to Rollkit
    4. Setting up a sovereign rollup: hardware and software requirements
    5. Q&A session

Sample “Modular Meetup Introduction” workshop presentation

Swag logistics

With this Modular Meetups Organizer Kit, you’ll have everything you need to plan and execute engaging, informative, and successful meetups for the Celestia community. Happy organizing!

',15),r=[a];function n(s,p,u,d,h,c){return o(),i("div",null,r)}const f=e(l,[["render",n]]);export{g as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.86a564ad.lean.js b/pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.02daca06.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.86a564ad.lean.js rename to pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.02daca06.lean.js index 8c0c4a271b..48b814a6d8 100644 --- a/pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.86a564ad.lean.js +++ b/pr-preview/pr-1358/assets/community_modular-meetup-toolkit.md.02daca06.lean.js @@ -1 +1 @@ -import{_ as e,o,c as i,Q as t}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Modular Meetup Toolkit","description":"A toolkit for Modular Meetups.","frontmatter":{"description":"A toolkit for Modular Meetups.","head":[["meta",{"name":"og:title","content":"Modular Meetup Toolkit | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-toolkit.md","filePath":"community/modular-meetup-toolkit.md","lastUpdated":1705009966000}'),l={name:"community/modular-meetup-toolkit.md"},a=t("",15),r=[a];function n(s,p,u,d,h,c){return o(),i("div",null,r)}const f=e(l,[["render",n]]);export{g as __pageData,f as default}; +import{_ as e,o,c as i,Q as t}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Modular Meetup Toolkit","description":"A toolkit for Modular Meetups.","frontmatter":{"description":"A toolkit for Modular Meetups.","head":[["meta",{"name":"og:title","content":"Modular Meetup Toolkit | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/modular-meetup-toolkit.md","filePath":"community/modular-meetup-toolkit.md","lastUpdated":1705010189000}'),l={name:"community/modular-meetup-toolkit.md"},a=t("",15),r=[a];function n(s,p,u,d,h,c){return o(),i("div",null,r)}const f=e(l,[["render",n]]);export{g as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/community_overview.md.7f8230c7.js b/pr-preview/pr-1358/assets/community_overview.md.eec32cc5.js similarity index 94% rename from pr-preview/pr-1358/assets/community_overview.md.7f8230c7.js rename to pr-preview/pr-1358/assets/community_overview.md.eec32cc5.js index 35e3e4c942..f35a1480d3 100644 --- a/pr-preview/pr-1358/assets/community_overview.md.7f8230c7.js +++ b/pr-preview/pr-1358/assets/community_overview.md.eec32cc5.js @@ -1 +1 @@ -import{_ as o,o as i,c as a,k as e,a as t}from"./chunks/framework.2263f03b.js";const y=JSON.parse('{"title":"Community overview","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Community overview | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/overview.md","filePath":"community/overview.md","lastUpdated":1705009966000}'),n={name:"community/overview.md"},r=e("h1",{id:"community-overview",tabindex:"-1"},[t("Community overview "),e("a",{class:"header-anchor",href:"#community-overview","aria-label":'Permalink to "Community overview"'},"​")],-1),c=e("p",null,"This section will highlight all the different resources and activities for the Celestia community.",-1),s=e("p",null,[t("Here you will find links to our "),e("a",{href:"./calendar"},"community calendar"),t(", "),e("a",{href:"./coc"},"Code of Conduct"),t(" and other community-related resources.")],-1),m=[r,c,s];function l(d,u,v,h,_,f){return i(),a("div",null,m)}const w=o(n,[["render",l]]);export{y as __pageData,w as default}; +import{_ as o,o as i,c as a,k as e,a as t}from"./chunks/framework.2263f03b.js";const y=JSON.parse('{"title":"Community overview","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Community overview | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/overview.md","filePath":"community/overview.md","lastUpdated":1705010189000}'),n={name:"community/overview.md"},r=e("h1",{id:"community-overview",tabindex:"-1"},[t("Community overview "),e("a",{class:"header-anchor",href:"#community-overview","aria-label":'Permalink to "Community overview"'},"​")],-1),c=e("p",null,"This section will highlight all the different resources and activities for the Celestia community.",-1),s=e("p",null,[t("Here you will find links to our "),e("a",{href:"./calendar"},"community calendar"),t(", "),e("a",{href:"./coc"},"Code of Conduct"),t(" and other community-related resources.")],-1),m=[r,c,s];function l(d,u,v,h,_,f){return i(),a("div",null,m)}const w=o(n,[["render",l]]);export{y as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/community_overview.md.7f8230c7.lean.js b/pr-preview/pr-1358/assets/community_overview.md.eec32cc5.lean.js similarity index 94% rename from pr-preview/pr-1358/assets/community_overview.md.7f8230c7.lean.js rename to pr-preview/pr-1358/assets/community_overview.md.eec32cc5.lean.js index 35e3e4c942..f35a1480d3 100644 --- a/pr-preview/pr-1358/assets/community_overview.md.7f8230c7.lean.js +++ b/pr-preview/pr-1358/assets/community_overview.md.eec32cc5.lean.js @@ -1 +1 @@ -import{_ as o,o as i,c as a,k as e,a as t}from"./chunks/framework.2263f03b.js";const y=JSON.parse('{"title":"Community overview","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Community overview | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/overview.md","filePath":"community/overview.md","lastUpdated":1705009966000}'),n={name:"community/overview.md"},r=e("h1",{id:"community-overview",tabindex:"-1"},[t("Community overview "),e("a",{class:"header-anchor",href:"#community-overview","aria-label":'Permalink to "Community overview"'},"​")],-1),c=e("p",null,"This section will highlight all the different resources and activities for the Celestia community.",-1),s=e("p",null,[t("Here you will find links to our "),e("a",{href:"./calendar"},"community calendar"),t(", "),e("a",{href:"./coc"},"Code of Conduct"),t(" and other community-related resources.")],-1),m=[r,c,s];function l(d,u,v,h,_,f){return i(),a("div",null,m)}const w=o(n,[["render",l]]);export{y as __pageData,w as default}; +import{_ as o,o as i,c as a,k as e,a as t}from"./chunks/framework.2263f03b.js";const y=JSON.parse('{"title":"Community overview","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Community overview | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/overview.md","filePath":"community/overview.md","lastUpdated":1705010189000}'),n={name:"community/overview.md"},r=e("h1",{id:"community-overview",tabindex:"-1"},[t("Community overview "),e("a",{class:"header-anchor",href:"#community-overview","aria-label":'Permalink to "Community overview"'},"​")],-1),c=e("p",null,"This section will highlight all the different resources and activities for the Celestia community.",-1),s=e("p",null,[t("Here you will find links to our "),e("a",{href:"./calendar"},"community calendar"),t(", "),e("a",{href:"./coc"},"Code of Conduct"),t(" and other community-related resources.")],-1),m=[r,c,s];function l(d,u,v,h,_,f){return i(),a("div",null,m)}const w=o(n,[["render",l]]);export{y as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/community_speaker-list.md.b218cd47.js b/pr-preview/pr-1358/assets/community_speaker-list.md.63b5b766.js similarity index 97% rename from pr-preview/pr-1358/assets/community_speaker-list.md.b218cd47.js rename to pr-preview/pr-1358/assets/community_speaker-list.md.63b5b766.js index 0c5874118a..62045d4350 100644 --- a/pr-preview/pr-1358/assets/community_speaker-list.md.b218cd47.js +++ b/pr-preview/pr-1358/assets/community_speaker-list.md.63b5b766.js @@ -1 +1 @@ -import{_ as t,o as a,c as s,k as e,a as i}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Speaker list","description":"Invite a speaker from the ecosystem to your Modular Meetup.","frontmatter":{"description":"Invite a speaker from the ecosystem to your Modular Meetup.","head":[["meta",{"name":"og:title","content":"Speaker list | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/speaker-list.md","filePath":"community/speaker-list.md","lastUpdated":1705009966000}'),o={name:"community/speaker-list.md"},r=e("h1",{id:"speaker-list",tabindex:"-1"},[i("Speaker list "),e("a",{class:"header-anchor",href:"#speaker-list","aria-label":'Permalink to "Speaker list"'},"​")],-1),n=e("p",null,"As a Modular Meetup organizer, we understand the importance of delivering engaging and informative content to your attendees. That's why we've created an exclusive Speaker List specifically tailored for organizers participating in the Modular Meetup Program. This resource gives you access to a curated selection of top-tier speakers who are passionate about Celestia and the modular ecosystem. Due to privacy, the list is not shared publicly but is accessible to participants of the Modular Meetup program when they create a meetup.",-1),l=e("p",null,"The Speaker List features experts from Celestia Labs, as well as prominent figures from the broader Celestia and modular communities. Each individual is well-versed in various aspects of the modular ecosystem, ensuring that your meetup attendees gain valuable insights and deepen their understanding of modular blockchains.",-1),c=e("p",null,"By joining the Modular Meetup Program, you can enjoy the benefits of our Speaker List and bring a touch of expertise to your events. The speakers can participate either in person or virtually, depending on location and timing.",-1),p=e("p",null,"You can expect benefits from the Speaker List including high-quality presentations, interactive Q&A sessions, and knowledge-sharing opportunities facilitated by the best and brightest in the Celestia ecosystem. With our Speaker List, you'll be able to create memorable and impactful Modular Meetups that foster genuine connections and promote growth within the community.",-1),d=[r,n,l,c,p];function u(h,m,f,g,y,k){return a(),s("div",null,d)}const v=t(o,[["render",u]]);export{b as __pageData,v as default}; +import{_ as t,o as a,c as s,k as e,a as i}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Speaker list","description":"Invite a speaker from the ecosystem to your Modular Meetup.","frontmatter":{"description":"Invite a speaker from the ecosystem to your Modular Meetup.","head":[["meta",{"name":"og:title","content":"Speaker list | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/speaker-list.md","filePath":"community/speaker-list.md","lastUpdated":1705010189000}'),o={name:"community/speaker-list.md"},r=e("h1",{id:"speaker-list",tabindex:"-1"},[i("Speaker list "),e("a",{class:"header-anchor",href:"#speaker-list","aria-label":'Permalink to "Speaker list"'},"​")],-1),n=e("p",null,"As a Modular Meetup organizer, we understand the importance of delivering engaging and informative content to your attendees. That's why we've created an exclusive Speaker List specifically tailored for organizers participating in the Modular Meetup Program. This resource gives you access to a curated selection of top-tier speakers who are passionate about Celestia and the modular ecosystem. Due to privacy, the list is not shared publicly but is accessible to participants of the Modular Meetup program when they create a meetup.",-1),l=e("p",null,"The Speaker List features experts from Celestia Labs, as well as prominent figures from the broader Celestia and modular communities. Each individual is well-versed in various aspects of the modular ecosystem, ensuring that your meetup attendees gain valuable insights and deepen their understanding of modular blockchains.",-1),c=e("p",null,"By joining the Modular Meetup Program, you can enjoy the benefits of our Speaker List and bring a touch of expertise to your events. The speakers can participate either in person or virtually, depending on location and timing.",-1),p=e("p",null,"You can expect benefits from the Speaker List including high-quality presentations, interactive Q&A sessions, and knowledge-sharing opportunities facilitated by the best and brightest in the Celestia ecosystem. With our Speaker List, you'll be able to create memorable and impactful Modular Meetups that foster genuine connections and promote growth within the community.",-1),d=[r,n,l,c,p];function u(h,m,f,g,y,k){return a(),s("div",null,d)}const v=t(o,[["render",u]]);export{b as __pageData,v as default}; diff --git a/pr-preview/pr-1358/assets/community_speaker-list.md.b218cd47.lean.js b/pr-preview/pr-1358/assets/community_speaker-list.md.63b5b766.lean.js similarity index 97% rename from pr-preview/pr-1358/assets/community_speaker-list.md.b218cd47.lean.js rename to pr-preview/pr-1358/assets/community_speaker-list.md.63b5b766.lean.js index 0c5874118a..62045d4350 100644 --- a/pr-preview/pr-1358/assets/community_speaker-list.md.b218cd47.lean.js +++ b/pr-preview/pr-1358/assets/community_speaker-list.md.63b5b766.lean.js @@ -1 +1 @@ -import{_ as t,o as a,c as s,k as e,a as i}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Speaker list","description":"Invite a speaker from the ecosystem to your Modular Meetup.","frontmatter":{"description":"Invite a speaker from the ecosystem to your Modular Meetup.","head":[["meta",{"name":"og:title","content":"Speaker list | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/speaker-list.md","filePath":"community/speaker-list.md","lastUpdated":1705009966000}'),o={name:"community/speaker-list.md"},r=e("h1",{id:"speaker-list",tabindex:"-1"},[i("Speaker list "),e("a",{class:"header-anchor",href:"#speaker-list","aria-label":'Permalink to "Speaker list"'},"​")],-1),n=e("p",null,"As a Modular Meetup organizer, we understand the importance of delivering engaging and informative content to your attendees. That's why we've created an exclusive Speaker List specifically tailored for organizers participating in the Modular Meetup Program. This resource gives you access to a curated selection of top-tier speakers who are passionate about Celestia and the modular ecosystem. Due to privacy, the list is not shared publicly but is accessible to participants of the Modular Meetup program when they create a meetup.",-1),l=e("p",null,"The Speaker List features experts from Celestia Labs, as well as prominent figures from the broader Celestia and modular communities. Each individual is well-versed in various aspects of the modular ecosystem, ensuring that your meetup attendees gain valuable insights and deepen their understanding of modular blockchains.",-1),c=e("p",null,"By joining the Modular Meetup Program, you can enjoy the benefits of our Speaker List and bring a touch of expertise to your events. The speakers can participate either in person or virtually, depending on location and timing.",-1),p=e("p",null,"You can expect benefits from the Speaker List including high-quality presentations, interactive Q&A sessions, and knowledge-sharing opportunities facilitated by the best and brightest in the Celestia ecosystem. With our Speaker List, you'll be able to create memorable and impactful Modular Meetups that foster genuine connections and promote growth within the community.",-1),d=[r,n,l,c,p];function u(h,m,f,g,y,k){return a(),s("div",null,d)}const v=t(o,[["render",u]]);export{b as __pageData,v as default}; +import{_ as t,o as a,c as s,k as e,a as i}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Speaker list","description":"Invite a speaker from the ecosystem to your Modular Meetup.","frontmatter":{"description":"Invite a speaker from the ecosystem to your Modular Meetup.","head":[["meta",{"name":"og:title","content":"Speaker list | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"community/speaker-list.md","filePath":"community/speaker-list.md","lastUpdated":1705010189000}'),o={name:"community/speaker-list.md"},r=e("h1",{id:"speaker-list",tabindex:"-1"},[i("Speaker list "),e("a",{class:"header-anchor",href:"#speaker-list","aria-label":'Permalink to "Speaker list"'},"​")],-1),n=e("p",null,"As a Modular Meetup organizer, we understand the importance of delivering engaging and informative content to your attendees. That's why we've created an exclusive Speaker List specifically tailored for organizers participating in the Modular Meetup Program. This resource gives you access to a curated selection of top-tier speakers who are passionate about Celestia and the modular ecosystem. Due to privacy, the list is not shared publicly but is accessible to participants of the Modular Meetup program when they create a meetup.",-1),l=e("p",null,"The Speaker List features experts from Celestia Labs, as well as prominent figures from the broader Celestia and modular communities. Each individual is well-versed in various aspects of the modular ecosystem, ensuring that your meetup attendees gain valuable insights and deepen their understanding of modular blockchains.",-1),c=e("p",null,"By joining the Modular Meetup Program, you can enjoy the benefits of our Speaker List and bring a touch of expertise to your events. The speakers can participate either in person or virtually, depending on location and timing.",-1),p=e("p",null,"You can expect benefits from the Speaker List including high-quality presentations, interactive Q&A sessions, and knowledge-sharing opportunities facilitated by the best and brightest in the Celestia ecosystem. With our Speaker List, you'll be able to create memorable and impactful Modular Meetups that foster genuine connections and promote growth within the community.",-1),d=[r,n,l,c,p];function u(h,m,f,g,y,k){return a(),s("div",null,d)}const v=t(o,[["render",u]]);export{b as __pageData,v as default}; diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.f18c1216.js b/pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.24fb99a5.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.f18c1216.js rename to pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.24fb99a5.js index 9faee5f1ae..a2526c0749 100644 --- a/pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.f18c1216.js +++ b/pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.24fb99a5.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/gm-arb.png",F=JSON.parse('{"title":"Deploy a dapp on your Arbitrum rollup devnet","description":"Make your own GM Portal dapp on your Arbitrum rollup.","frontmatter":{"description":"Make your own GM Portal dapp on your Arbitrum rollup.","head":[["meta",{"name":"og:title","content":"Deploy a dapp on your Arbitrum rollup devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-dapp-deploy.md","filePath":"developers/arbitrum-dapp-deploy.md","lastUpdated":1705009966000}'),p={name:"developers/arbitrum-dapp-deploy.md"},t=n(`

Deploy a dapp on your Arbitrum rollup devnet

First, review the Arbitrum integration, Deploy an Arbitrum rollup devnet, and Deploy a smart contract to your Arbitrum rollup pages.

Dependencies

Setup and contract deployment

  1. Clone the gm-portal from Github and start the frontend:

    bash
    cd $HOME
    +import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/gm-arb.png",F=JSON.parse('{"title":"Deploy a dapp on your Arbitrum rollup devnet","description":"Make your own GM Portal dapp on your Arbitrum rollup.","frontmatter":{"description":"Make your own GM Portal dapp on your Arbitrum rollup.","head":[["meta",{"name":"og:title","content":"Deploy a dapp on your Arbitrum rollup devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-dapp-deploy.md","filePath":"developers/arbitrum-dapp-deploy.md","lastUpdated":1705010189000}'),p={name:"developers/arbitrum-dapp-deploy.md"},t=n(`

    Deploy a dapp on your Arbitrum rollup devnet

    First, review the Arbitrum integration, Deploy an Arbitrum rollup devnet, and Deploy a smart contract to your Arbitrum rollup pages.

    Dependencies

    Setup and contract deployment

    1. Clone the gm-portal from Github and start the frontend:

      bash
      cd $HOME
       git clone https://github.com/jcstein/gm-portal.git
       cd gm-portal && git checkout arbitrum
       cd frontend && yarn && yarn dev
      cd $HOME
      diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.f18c1216.lean.js b/pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.24fb99a5.lean.js
      similarity index 92%
      rename from pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.f18c1216.lean.js
      rename to pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.24fb99a5.lean.js
      index 7433f9076b..5582e504bd 100644
      --- a/pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.f18c1216.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_arbitrum-dapp-deploy.md.24fb99a5.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/gm-arb.png",F=JSON.parse('{"title":"Deploy a dapp on your Arbitrum rollup devnet","description":"Make your own GM Portal dapp on your Arbitrum rollup.","frontmatter":{"description":"Make your own GM Portal dapp on your Arbitrum rollup.","head":[["meta",{"name":"og:title","content":"Deploy a dapp on your Arbitrum rollup devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-dapp-deploy.md","filePath":"developers/arbitrum-dapp-deploy.md","lastUpdated":1705009966000}'),p={name:"developers/arbitrum-dapp-deploy.md"},t=n("",16),e=[t];function r(c,i,y,d,E,h){return a(),o("div",null,e)}const m=s(p,[["render",r]]);export{F as __pageData,m as default};
      +import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/gm-arb.png",F=JSON.parse('{"title":"Deploy a dapp on your Arbitrum rollup devnet","description":"Make your own GM Portal dapp on your Arbitrum rollup.","frontmatter":{"description":"Make your own GM Portal dapp on your Arbitrum rollup.","head":[["meta",{"name":"og:title","content":"Deploy a dapp on your Arbitrum rollup devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-dapp-deploy.md","filePath":"developers/arbitrum-dapp-deploy.md","lastUpdated":1705010189000}'),p={name:"developers/arbitrum-dapp-deploy.md"},t=n("",16),e=[t];function r(c,i,y,d,E,h){return a(),o("div",null,e)}const m=s(p,[["render",r]]);export{F as __pageData,m as default};
      diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.ce1fe08e.js b/pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.dd94baab.js
      similarity index 99%
      rename from pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.ce1fe08e.js
      rename to pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.dd94baab.js
      index 42f364feb0..11f2ada497 100644
      --- a/pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.ce1fe08e.js
      +++ b/pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.dd94baab.js
      @@ -1,4 +1,4 @@
      -import{_ as n,o as l,c as o,Q as a,k as s}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Deploy an Arbitrum rollup devnet","description":"A guide on how to install Arbitrum Nitro and deploy an instance on an Ubuntu AMD machine, including the installation of necessary dependencies, cloning the repository, and installing Nitro from source.","frontmatter":{"description":"A guide on how to install Arbitrum Nitro and deploy an instance on an Ubuntu AMD machine, including the installation of necessary dependencies, cloning the repository, and installing Nitro from source.","head":[["meta",{"name":"og:title","content":"Deploy an Arbitrum rollup devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-deploy.md","filePath":"developers/arbitrum-deploy.md","lastUpdated":1705009966000}'),p={name:"developers/arbitrum-deploy.md"},e=a(`

      Deploy an Arbitrum rollup devnet

      We will go over installation of Arbitrum Nitro and deploying an instance on an Ubuntu AMD machine. This section covers all necessary dependencies needed to be installed.

      Dependencies

      General

      bash
      sudo apt update && sudo apt upgrade -y
      +import{_ as n,o as l,c as o,Q as a,k as s}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Deploy an Arbitrum rollup devnet","description":"A guide on how to install Arbitrum Nitro and deploy an instance on an Ubuntu AMD machine, including the installation of necessary dependencies, cloning the repository, and installing Nitro from source.","frontmatter":{"description":"A guide on how to install Arbitrum Nitro and deploy an instance on an Ubuntu AMD machine, including the installation of necessary dependencies, cloning the repository, and installing Nitro from source.","head":[["meta",{"name":"og:title","content":"Deploy an Arbitrum rollup devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-deploy.md","filePath":"developers/arbitrum-deploy.md","lastUpdated":1705010189000}'),p={name:"developers/arbitrum-deploy.md"},e=a(`

      Deploy an Arbitrum rollup devnet

      We will go over installation of Arbitrum Nitro and deploying an instance on an Ubuntu AMD machine. This section covers all necessary dependencies needed to be installed.

      Dependencies

      General

      bash
      sudo apt update && sudo apt upgrade -y
       sudo apt install curl tar wget clang pkg-config libssl-dev cmake jq build-essential git make ncdu -y
      sudo apt update && sudo apt upgrade -y
       sudo apt install curl tar wget clang pkg-config libssl-dev cmake jq build-essential git make ncdu -y

      Rust

      bash
      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
       source "$HOME/.cargo/env"
      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
      diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.ce1fe08e.lean.js b/pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.dd94baab.lean.js
      similarity index 94%
      rename from pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.ce1fe08e.lean.js
      rename to pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.dd94baab.lean.js
      index d5ab6cd1c7..cd635ac8b5 100644
      --- a/pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.ce1fe08e.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_arbitrum-deploy.md.dd94baab.lean.js
      @@ -1 +1 @@
      -import{_ as n,o as l,c as o,Q as a,k as s}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Deploy an Arbitrum rollup devnet","description":"A guide on how to install Arbitrum Nitro and deploy an instance on an Ubuntu AMD machine, including the installation of necessary dependencies, cloning the repository, and installing Nitro from source.","frontmatter":{"description":"A guide on how to install Arbitrum Nitro and deploy an instance on an Ubuntu AMD machine, including the installation of necessary dependencies, cloning the repository, and installing Nitro from source.","head":[["meta",{"name":"og:title","content":"Deploy an Arbitrum rollup devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-deploy.md","filePath":"developers/arbitrum-deploy.md","lastUpdated":1705009966000}'),p={name:"developers/arbitrum-deploy.md"},e=a("",26),t=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Arbitrum Nitro Rollup with Celestia as DA, validating blocks with WASM",src:"https://youtube.com/embed/xihXA3wkuLI",allowfullscreen:""})],-1),c=a("",3),r=[e,t,c];function y(E,i,F,d,u,h){return l(),o("div",null,r)}const m=n(p,[["render",y]]);export{g as __pageData,m as default};
      +import{_ as n,o as l,c as o,Q as a,k as s}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Deploy an Arbitrum rollup devnet","description":"A guide on how to install Arbitrum Nitro and deploy an instance on an Ubuntu AMD machine, including the installation of necessary dependencies, cloning the repository, and installing Nitro from source.","frontmatter":{"description":"A guide on how to install Arbitrum Nitro and deploy an instance on an Ubuntu AMD machine, including the installation of necessary dependencies, cloning the repository, and installing Nitro from source.","head":[["meta",{"name":"og:title","content":"Deploy an Arbitrum rollup devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-deploy.md","filePath":"developers/arbitrum-deploy.md","lastUpdated":1705010189000}'),p={name:"developers/arbitrum-deploy.md"},e=a("",26),t=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Arbitrum Nitro Rollup with Celestia as DA, validating blocks with WASM",src:"https://youtube.com/embed/xihXA3wkuLI",allowfullscreen:""})],-1),c=a("",3),r=[e,t,c];function y(E,i,F,d,u,h){return l(),o("div",null,r)}const m=n(p,[["render",y]]);export{g as __pageData,m as default};
      diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-integration.md.fb46832c.js b/pr-preview/pr-1358/assets/developers_arbitrum-integration.md.5263b4a9.js
      similarity index 99%
      rename from pr-preview/pr-1358/assets/developers_arbitrum-integration.md.fb46832c.js
      rename to pr-preview/pr-1358/assets/developers_arbitrum-integration.md.5263b4a9.js
      index c90bf74cbd..ca2cd52781 100644
      --- a/pr-preview/pr-1358/assets/developers_arbitrum-integration.md.fb46832c.js
      +++ b/pr-preview/pr-1358/assets/developers_arbitrum-integration.md.5263b4a9.js
      @@ -1,4 +1,4 @@
      -import{_ as e,o as a,c as t,Q as s}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/Celestia-Arbitrum.png",f=JSON.parse('{"title":"Introduction to Arbitrum rollups with Celestia as DA","description":"An overview of the integration of Arbitrum Nitro with Celestia, detailing the key features and benefits, including the Ethereum fallback mechanism.","frontmatter":{"description":"An overview of the integration of Arbitrum Nitro with Celestia, detailing the key features and benefits, including the Ethereum fallback mechanism.","head":[["meta",{"name":"og:title","content":"Introduction to Arbitrum rollups with Celestia as DA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-integration.md","filePath":"developers/arbitrum-integration.md","lastUpdated":1705009966000}'),o={name:"developers/arbitrum-integration.md"},r=s('

      Introduction to Arbitrum rollups with Celestia as DA

      Celestia_Arbitrum

      Overview

      The integration of Celestia with Arbitrum Orbit and the Nitro tech stack marks the first external contribution to the Arbitrum Orbit protocol layer, offering developers an additional option for selecting a data availability layer alongside Arbitrum AnyTrust. The integration allows developers to deploy an Arbitrum Rollup that uses Celestia for data availability and settles on Ethereum.

      Arbitrum Orbit is a framework that enables the creation of customized, self-managed Arbitrum Rollup and AnyTrust chains. Key highlights of Arbitrum Orbit include:

      1. Creation of custom chains: Orbit allows the creation of dedicated chains that settle to Arbitrum's Layer 2 chains (Arbitrum One, Nova, Goerli, Sepolia), with customizable features like throughput, privacy, gas token, and governance.
      2. Solving Ethereum's scalability: Orbit addresses Ethereum's congestion and high demand for block space by enabling the creation of personal rollups, which offer scalable, secure alternatives to Ethereum's public chains.
      3. Decentralized application development: Orbit chains provide dedicated throughput, EVM+ compatibility, independent roadmaps, and reliable gas prices enhancing the development and operation of decentralized apps.
      4. Benefits to the Ethereum ecosystem: Orbit contributes to a multi-chain future for Ethereum, enhancing scalability, offering flexible security models, and enabling experimentation with execution environments and governance models.
      5. Versatility and interoperability: Orbit chains can be used for a range of purposes, from hosting a single dApp to an ecosystem of dApps, with the capability to communicate with other Orbit chains.

      Blobstream

      The Celestia and Arbitrum integration also includes Blobstream, which relays commitments to Celestia’s data root to an onchain light client on Ethereum. This allows L2 solutions that settle on Ethereum to benefit from the scalability Celestia’s data availability layer can provide.

      As part of this integration, Blobstream has been incorporated into the Arbitrum SequencerInbox.sol contract.

      In the SequencerInbox.sol contract, the validateBatchData modifier has been designed to authenticate that the data root is on Celestia when reading a batch of data. This is achieved by the following code by @Ferret-san:

      Note that the data above is the bytes serialized version of this struct in Go:

      go
      type BlobPointer struct {
      +import{_ as e,o as a,c as t,Q as s}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/Celestia-Arbitrum.png",f=JSON.parse('{"title":"Introduction to Arbitrum rollups with Celestia as DA","description":"An overview of the integration of Arbitrum Nitro with Celestia, detailing the key features and benefits, including the Ethereum fallback mechanism.","frontmatter":{"description":"An overview of the integration of Arbitrum Nitro with Celestia, detailing the key features and benefits, including the Ethereum fallback mechanism.","head":[["meta",{"name":"og:title","content":"Introduction to Arbitrum rollups with Celestia as DA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-integration.md","filePath":"developers/arbitrum-integration.md","lastUpdated":1705010189000}'),o={name:"developers/arbitrum-integration.md"},r=s('

      Introduction to Arbitrum rollups with Celestia as DA

      Celestia_Arbitrum

      Overview

      The integration of Celestia with Arbitrum Orbit and the Nitro tech stack marks the first external contribution to the Arbitrum Orbit protocol layer, offering developers an additional option for selecting a data availability layer alongside Arbitrum AnyTrust. The integration allows developers to deploy an Arbitrum Rollup that uses Celestia for data availability and settles on Ethereum.

      Arbitrum Orbit is a framework that enables the creation of customized, self-managed Arbitrum Rollup and AnyTrust chains. Key highlights of Arbitrum Orbit include:

      1. Creation of custom chains: Orbit allows the creation of dedicated chains that settle to Arbitrum's Layer 2 chains (Arbitrum One, Nova, Goerli, Sepolia), with customizable features like throughput, privacy, gas token, and governance.
      2. Solving Ethereum's scalability: Orbit addresses Ethereum's congestion and high demand for block space by enabling the creation of personal rollups, which offer scalable, secure alternatives to Ethereum's public chains.
      3. Decentralized application development: Orbit chains provide dedicated throughput, EVM+ compatibility, independent roadmaps, and reliable gas prices enhancing the development and operation of decentralized apps.
      4. Benefits to the Ethereum ecosystem: Orbit contributes to a multi-chain future for Ethereum, enhancing scalability, offering flexible security models, and enabling experimentation with execution environments and governance models.
      5. Versatility and interoperability: Orbit chains can be used for a range of purposes, from hosting a single dApp to an ecosystem of dApps, with the capability to communicate with other Orbit chains.

      Blobstream

      The Celestia and Arbitrum integration also includes Blobstream, which relays commitments to Celestia’s data root to an onchain light client on Ethereum. This allows L2 solutions that settle on Ethereum to benefit from the scalability Celestia’s data availability layer can provide.

      As part of this integration, Blobstream has been incorporated into the Arbitrum SequencerInbox.sol contract.

      In the SequencerInbox.sol contract, the validateBatchData modifier has been designed to authenticate that the data root is on Celestia when reading a batch of data. This is achieved by the following code by @Ferret-san:

      Note that the data above is the bytes serialized version of this struct in Go:

      go
      type BlobPointer struct {
          BlockHeight    uint64
          Start          uint64
          SharesLength   uint64
      diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-integration.md.fb46832c.lean.js b/pr-preview/pr-1358/assets/developers_arbitrum-integration.md.5263b4a9.lean.js
      similarity index 93%
      rename from pr-preview/pr-1358/assets/developers_arbitrum-integration.md.fb46832c.lean.js
      rename to pr-preview/pr-1358/assets/developers_arbitrum-integration.md.5263b4a9.lean.js
      index c749912cc1..8345f2a5d7 100644
      --- a/pr-preview/pr-1358/assets/developers_arbitrum-integration.md.fb46832c.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_arbitrum-integration.md.5263b4a9.lean.js
      @@ -1 +1 @@
      -import{_ as e,o as a,c as t,Q as s}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/Celestia-Arbitrum.png",f=JSON.parse('{"title":"Introduction to Arbitrum rollups with Celestia as DA","description":"An overview of the integration of Arbitrum Nitro with Celestia, detailing the key features and benefits, including the Ethereum fallback mechanism.","frontmatter":{"description":"An overview of the integration of Arbitrum Nitro with Celestia, detailing the key features and benefits, including the Ethereum fallback mechanism.","head":[["meta",{"name":"og:title","content":"Introduction to Arbitrum rollups with Celestia as DA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-integration.md","filePath":"developers/arbitrum-integration.md","lastUpdated":1705009966000}'),o={name:"developers/arbitrum-integration.md"},r=s("",20),i=[r];function l(p,c,h,d,u,b){return a(),t("div",null,i)}const y=e(o,[["render",l]]);export{f as __pageData,y as default};
      +import{_ as e,o as a,c as t,Q as s}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/Celestia-Arbitrum.png",f=JSON.parse('{"title":"Introduction to Arbitrum rollups with Celestia as DA","description":"An overview of the integration of Arbitrum Nitro with Celestia, detailing the key features and benefits, including the Ethereum fallback mechanism.","frontmatter":{"description":"An overview of the integration of Arbitrum Nitro with Celestia, detailing the key features and benefits, including the Ethereum fallback mechanism.","head":[["meta",{"name":"og:title","content":"Introduction to Arbitrum rollups with Celestia as DA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-integration.md","filePath":"developers/arbitrum-integration.md","lastUpdated":1705010189000}'),o={name:"developers/arbitrum-integration.md"},r=s("",20),i=[r];function l(p,c,h,d,u,b){return a(),t("div",null,i)}const y=e(o,[["render",l]]);export{f as __pageData,y as default};
      diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.d37f1721.js b/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.af0f93fd.js
      similarity index 73%
      rename from pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.d37f1721.js
      rename to pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.af0f93fd.js
      index a8be9d0a0f..5cff8b7783 100644
      --- a/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.d37f1721.js
      +++ b/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.af0f93fd.js
      @@ -1,10 +1,10 @@
      -import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,a as o,t as l,l as e,Q as n}from"./chunks/framework.2263f03b.js";const c=n('

      Deploy an Arbitrum rollup to Mocha testnet

      WARNING

      This tutorial is under construction. 🏗️

      This guide covers deploying an Arbitrum Nitro rollup to Mocha testnet using Celestia as DA.

      Dependencies

      Setting up your light node

      ',6),_=s("p",null,[o("Change the following in "),s("a",{href:"https://github.com/celestiaorg/nitro-testnode/blob/e4e5acd36890e650c581188ef746a7b02202583a/docker-compose.yaml#L3-L15",target:"_blank",rel:"noreferrer"},[s("code",null,"nitro-testnode/docker-compose.yaml")]),o(":")],-1),r={class:"language-bash vp-adaptive-theme"},i=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),d={class:"shiki github-dark has-diff vp-code-dark"},y=s("span",{class:"line"},[s("span",{style:{color:"#B392F0"}},"da:")],-1),h=n(' container_name: 'da-celestia'',1),T=n(' user: root ',1),u=n(' platform: linux/x86_64',1),C=n(' image: "ghcr.io/rollkit/local-celestia-devnet:v0.12.1" ',1),F=n(' image: "ghcr.io/celestiaorg/celestia-node:v0.12.3" ',1),A=n(' command: > ',1),f=n(' celestia light start ',1),S=n(' --core.ip rpc-mocha.pops.one ',1),m=n(' --p2p.network mocha ',1),g=n(' --log.level debug --gateway ',1),P=s("span",{class:"line diff add"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"environment:"),s("span",{style:{color:"#E1E4E8"}}," ")],-1),I=n(' - NODE_TYPE=light ',1),b=n(' - P2P_NETWORK=mocha ',1),V=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"ports:")],-1),D=n(' - "26657:26657"',1),B=n(' - "26658:26658"',1),q=n(' - "26659:26659"',1),N=s("span",{class:"line diff add"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"volumes:"),s("span",{style:{color:"#E1E4E8"}}," ")],-1),v={class:"line diff add"},R=s("span",{style:{color:"#E1E4E8"}}," ",-1),k=s("span",{style:{color:"#B392F0"}},"-",-1),O=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),x={style:{color:"#9ECBFF"}},M=s("span",{style:{color:"#E1E4E8"}}," ",-1),w=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"healthcheck:")],-1),H=n(' test: ["CMD", "curl", "-f", "http://localhost:26659/header/1"]',1),L=n(' interval: 10s',1),$=n(' timeout: 5s',1),K=n(' retries: 5',1),U=n(' start_period: 30s',1),W={class:"shiki github-light has-diff vp-code-light"},G=s("span",{class:"line"},[s("span",{style:{color:"#6F42C1"}},"da:")],-1),Y=n(' container_name: 'da-celestia'',1),j=n(' user: root ',1),J=n(' platform: linux/x86_64',1),Q=n(' image: "ghcr.io/rollkit/local-celestia-devnet:v0.12.1" ',1),z=n(' image: "ghcr.io/celestiaorg/celestia-node:v0.12.3" ',1),X=n(' command: > ',1),Z=n(' celestia light start ',1),ss=n(' --core.ip rpc-mocha.pops.one ',1),os=n(' --p2p.network mocha ',1),ns=n(' --log.level debug --gateway ',1),as=s("span",{class:"line diff add"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"environment:"),s("span",{style:{color:"#24292E"}}," ")],-1),ls=n(' - NODE_TYPE=light ',1),es=n(' - P2P_NETWORK=mocha ',1),ts=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"ports:")],-1),ps=n(' - "26657:26657"',1),cs=n(' - "26658:26658"',1),_s=n(' - "26659:26659"',1),rs=s("span",{class:"line diff add"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"volumes:"),s("span",{style:{color:"#24292E"}}," ")],-1),is={class:"line diff add"},Es=s("span",{style:{color:"#24292E"}}," ",-1),ds=s("span",{style:{color:"#6F42C1"}},"-",-1),ys=s("span",{style:{color:"#24292E"}}," $HOME",-1),hs={style:{color:"#032F62"}},Ts=s("span",{style:{color:"#24292E"}}," ",-1),us=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"healthcheck:")],-1),Cs=n(' test: ["CMD", "curl", "-f", "http://localhost:26659/header/1"]',1),Fs=n(' interval: 10s',1),As=n(' timeout: 5s',1),fs=n(' retries: 5',1),Ss=n(' start_period: 30s',1),ms=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"WARNING"),s("p",null,[o("It is not advised to run with "),s("code",null,"user: root"),o(" permissions in production.")])],-1),gs=s("p",null,[o("In "),s("a",{href:"https://github.com/celestiaorg/nitro-testnode/blob/e4e5acd36890e650c581188ef746a7b02202583a/test-node.bash#L7-L287",target:"_blank",rel:"noreferrer"},[s("code",null,"nitro-testnode/test-node.bash")]),o(" make the following changes:")],-1),Ps={class:"language-bash vp-adaptive-theme"},Is=s("button",{title:"Copy Code",class:"copy"},null,-1),bs=s("span",{class:"lang"},"bash",-1),Vs={class:"shiki github-dark has-diff vp-code-dark"},Ds=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 7")],-1),Bs=n('NODE_PATH="/home/celestia/bridge/" ',1),qs={class:"line diff add"},Ns=s("span",{style:{color:"#E1E4E8"}},"NODE_PATH",-1),vs=s("span",{style:{color:"#F97583"}},"=",-1),Rs={style:{color:"#9ECBFF"}},ks=s("span",{style:{color:"#E1E4E8"}}," ",-1),Os=s("span",{class:"line"},null,-1),xs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 287")],-1),Ms=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# NOTE: depending on the version you're using, you may have a different")],-1),ws=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# container name to start. Change yours accordingly to `celestia-da`.")],-1),Hs=n('export CELESTIA_NODE_AUTH_TOKEN="$(docker exec nitro-testnode-da-1 celestia bridge auth admin --node.store ${NODE_PATH})" ',1),Ls=n('export CELESTIA_NODE_AUTH_TOKEN="$(docker exec celestia-da celestia light auth admin --node.store ${NODE_PATH})" ',1),$s={class:"shiki github-light has-diff vp-code-light"},Ks=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 7")],-1),Us=n('NODE_PATH="/home/celestia/bridge/" ',1),Ws={class:"line diff add"},Gs=s("span",{style:{color:"#24292E"}},"NODE_PATH",-1),Ys=s("span",{style:{color:"#D73A49"}},"=",-1),js={style:{color:"#032F62"}},Js=s("span",{style:{color:"#24292E"}}," ",-1),Qs=s("span",{class:"line"},null,-1),zs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 287")],-1),Xs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# NOTE: depending on the version you're using, you may have a different")],-1),Zs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# container name to start. Change yours accordingly to `celestia-da`.")],-1),so=n('export CELESTIA_NODE_AUTH_TOKEN="$(docker exec nitro-testnode-da-1 celestia bridge auth admin --node.store ${NODE_PATH})" ',1),oo=n('export CELESTIA_NODE_AUTH_TOKEN="$(docker exec celestia-da celestia light auth admin --node.store ${NODE_PATH})" ',1),no=n(`
    2. Pick a namespace, <your-10bytenamespace> that is 10 bytes in hexadecimal. In nitro-testnode/scripts/config.ts make the following changes:

      bash
      "tendermint-rpc": "http://da:26657", 
      +import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,a as o,t as l,l as e,Q as n}from"./chunks/framework.2263f03b.js";const _=n('

      Deploy an Arbitrum rollup to Mocha testnet

      WARNING

      This tutorial is under construction. 🏗️

      This guide covers deploying an Arbitrum Nitro rollup to Mocha testnet using Celestia as DA.

      Dependencies

      Setting up your light node

      ',6),c=s("p",null,[o("Change the following in "),s("a",{href:"https://github.com/celestiaorg/nitro-testnode/blob/e4e5acd36890e650c581188ef746a7b02202583a/docker-compose.yaml#L3-L15",target:"_blank",rel:"noreferrer"},[s("code",null,"nitro-testnode/docker-compose.yaml")]),o(":")],-1),r={class:"language-bash vp-adaptive-theme"},i=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),d={class:"shiki github-dark has-diff vp-code-dark"},y=s("span",{class:"line"},[s("span",{style:{color:"#B392F0"}},"da:")],-1),h=n(' container_name: 'da-celestia'',1),T=n(' user: root ',1),u=n(' platform: linux/x86_64',1),C=n(' image: "ghcr.io/rollkit/local-celestia-devnet:v0.12.1" ',1),F=n(' image: "ghcr.io/celestiaorg/celestia-node:v0.12.3" ',1),A=n(' command: > ',1),f=n(' celestia light start ',1),S=n(' --core.ip rpc-mocha.pops.one ',1),m=n(' --p2p.network mocha ',1),g=n(' --log.level debug --gateway ',1),P=s("span",{class:"line diff add"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"environment:"),s("span",{style:{color:"#E1E4E8"}}," ")],-1),I=n(' - NODE_TYPE=light ',1),b=n(' - P2P_NETWORK=mocha ',1),V=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"ports:")],-1),B=n(' - "26657:26657"',1),q=n(' - "26658:26658"',1),D=n(' - "26659:26659"',1),v=s("span",{class:"line diff add"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"volumes:"),s("span",{style:{color:"#E1E4E8"}}," ")],-1),N={class:"line diff add"},R=s("span",{style:{color:"#E1E4E8"}}," ",-1),k=s("span",{style:{color:"#B392F0"}},"-",-1),M=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),w={style:{color:"#9ECBFF"}},O=s("span",{style:{color:"#E1E4E8"}}," ",-1),x=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"healthcheck:")],-1),L=n(' test: ["CMD", "curl", "-f", "http://localhost:26659/header/1"]',1),H=n(' interval: 10s',1),W=n(' timeout: 5s',1),G=n(' retries: 5',1),Y=n(' start_period: 30s',1),$={class:"shiki github-light has-diff vp-code-light"},K=s("span",{class:"line"},[s("span",{style:{color:"#6F42C1"}},"da:")],-1),j=n(' container_name: 'da-celestia'',1),J=n(' user: root ',1),Q=n(' platform: linux/x86_64',1),U=n(' image: "ghcr.io/rollkit/local-celestia-devnet:v0.12.1" ',1),z=n(' image: "ghcr.io/celestiaorg/celestia-node:v0.12.3" ',1),X=n(' command: > ',1),Z=n(' celestia light start ',1),ss=n(' --core.ip rpc-mocha.pops.one ',1),os=n(' --p2p.network mocha ',1),ns=n(' --log.level debug --gateway ',1),as=s("span",{class:"line diff add"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"environment:"),s("span",{style:{color:"#24292E"}}," ")],-1),ls=n(' - NODE_TYPE=light ',1),es=n(' - P2P_NETWORK=mocha ',1),ts=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"ports:")],-1),ps=n(' - "26657:26657"',1),_s=n(' - "26658:26658"',1),cs=n(' - "26659:26659"',1),rs=s("span",{class:"line diff add"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"volumes:"),s("span",{style:{color:"#24292E"}}," ")],-1),is={class:"line diff add"},Es=s("span",{style:{color:"#24292E"}}," ",-1),ds=s("span",{style:{color:"#6F42C1"}},"-",-1),ys=s("span",{style:{color:"#24292E"}}," $HOME",-1),hs={style:{color:"#032F62"}},Ts=s("span",{style:{color:"#24292E"}}," ",-1),us=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"healthcheck:")],-1),Cs=n(' test: ["CMD", "curl", "-f", "http://localhost:26659/header/1"]',1),Fs=n(' interval: 10s',1),As=n(' timeout: 5s',1),fs=n(' retries: 5',1),Ss=n(' start_period: 30s',1),ms=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"WARNING"),s("p",null,[o("It is not advised to run with "),s("code",null,"user: root"),o(" permissions in production.")])],-1),gs=s("p",null,[o("In "),s("a",{href:"https://github.com/celestiaorg/nitro-testnode/blob/e4e5acd36890e650c581188ef746a7b02202583a/test-node.bash#L7-L287",target:"_blank",rel:"noreferrer"},[s("code",null,"nitro-testnode/test-node.bash")]),o(" make the following changes:")],-1),Ps={class:"language-bash vp-adaptive-theme"},Is=s("button",{title:"Copy Code",class:"copy"},null,-1),bs=s("span",{class:"lang"},"bash",-1),Vs={class:"shiki github-dark has-diff vp-code-dark"},Bs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 7")],-1),qs=n('NODE_PATH="/home/celestia/bridge/" ',1),Ds={class:"line diff add"},vs=s("span",{style:{color:"#E1E4E8"}},"NODE_PATH",-1),Ns=s("span",{style:{color:"#F97583"}},"=",-1),Rs={style:{color:"#9ECBFF"}},ks=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ms={class:"shiki github-light has-diff vp-code-light"},ws=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 7")],-1),Os=n('NODE_PATH="/home/celestia/bridge/" ',1),xs={class:"line diff add"},Ls=s("span",{style:{color:"#24292E"}},"NODE_PATH",-1),Hs=s("span",{style:{color:"#D73A49"}},"=",-1),Ws={style:{color:"#032F62"}},Gs=s("span",{style:{color:"#24292E"}}," ",-1),Ys=n(`
    3. Pick a namespace, <your-10bytenamespace> that is 10 bytes in hexadecimal. In nitro-testnode/scripts/config.ts make the following changes:

      bash
      "tendermint-rpc": "http://da:26657", 
       "tendermint-rpc": "http://rpc-mocha.pops.one:26657", 
       "namespace-id": "000008e5f679bf7116cb", 
       "namespace-id": "<your-10bytenamespace>", 
      "tendermint-rpc": "http://da:26657", 
       "tendermint-rpc": "http://rpc-mocha.pops.one:26657", 
       "namespace-id": "000008e5f679bf7116cb", 
      -"namespace-id": "<your-10bytenamespace>", 
    4. TODO ADD CHANGES FOR BLOBSTREAM

    5. `,2),ao=n('

      Run your Nitro rollup on Mocha

      1. Start your rollup:

        bash
        ./test-node.bash --init --dev
        ./test-node.bash --init --dev
      2. Send a transaction:

        bash
        ./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000
        ./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000
      3. Find the batch transaction on mocha in the namespace you used. In this demonstration, I used the nitrovroom namespace.

      Congratulations! Your Arbitrum Nitro rollup testnet is now posting to Mocha testnet for data availability. 🏎️

      ',3),ro=JSON.parse('{"title":"Deploy an Arbitrum rollup to Mocha testnet","description":"An overview of the deploying Arbitrum Nitro and Celestia rollup to Mocha testnet.","frontmatter":{"description":"An overview of the deploying Arbitrum Nitro and Celestia rollup to Mocha testnet.","head":[["meta",{"name":"og:title","content":"Deploy an Arbitrum rollup to Mocha testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-mocha.md","filePath":"developers/arbitrum-mocha.md","lastUpdated":1705009966000}'),lo={name:"developers/arbitrum-mocha.md"},io=Object.assign(lo,{setup(eo){return(to,po)=>(t(),p("div",null,[c,s("ol",null,[s("li",null,[s("p",null,[o("Fully sync and fund a light node on Mocha testnet using the binary. This will use default node store of "),s("code",null,"$HOME/.celestia-light-"+l(e(a).mochaChainId),1),o(". This is what the docker-compose setup for the testnode will pick up as a node store. If you choose to use another node store, you will need to make changes yourself to reflect this.")])]),s("li",null,[_,s("div",r,[i,E,s("pre",d,[s("code",null,[y,o(` +"namespace-id": "<your-10bytenamespace>",
    6. TODO ADD CHANGES FOR BLOBSTREAM

    7. `,2),$s=n('

      Run your Nitro rollup on Mocha

      1. Start your rollup:

        bash
        ./test-node.bash --init --dev
        ./test-node.bash --init --dev
      2. Send a transaction:

        bash
        ./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000
        ./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000
      3. Find the batch transaction on mocha in the namespace you used. In this demonstration, I used the nitrovroom namespace.

      Congratulations! Your Arbitrum Nitro rollup testnet is now posting to Mocha testnet for data availability. 🏎️

      ',3),Xs=JSON.parse('{"title":"Deploy an Arbitrum rollup to Mocha testnet","description":"An overview of the deploying Arbitrum Nitro and Celestia rollup to Mocha testnet.","frontmatter":{"description":"An overview of the deploying Arbitrum Nitro and Celestia rollup to Mocha testnet.","head":[["meta",{"name":"og:title","content":"Deploy an Arbitrum rollup to Mocha testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-mocha.md","filePath":"developers/arbitrum-mocha.md","lastUpdated":1705010189000}'),Ks={name:"developers/arbitrum-mocha.md"},Zs=Object.assign(Ks,{setup(js){return(Js,Qs)=>(t(),p("div",null,[_,s("ol",null,[s("li",null,[s("p",null,[o("Fully sync and fund a light node on Mocha testnet using the binary. This will use default node store of "),s("code",null,"$HOME/.celestia-light-"+l(e(a).mochaChainId),1),o(". This is what the docker-compose setup for the testnode will pick up as a node store. If you choose to use another node store, you will need to make changes yourself to reflect this.")])]),s("li",null,[c,s("div",r,[i,E,s("pre",d,[s("code",null,[y,o(` `),h,o(` `),T,o(` `),u,o(` @@ -19,21 +19,21 @@ import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,a `),I,o(` `),b,o(` `),V,o(` -`),D,o(` `),B,o(` `),q,o(` -`),N,o(` -`),s("span",v,[R,k,O,s("span",x,"/.celestia-light-"+l(e(a).mochaChainId)+"/:/home/celestia/.celestia-light-"+l(e(a).mochaChainId)+"/",1),M]),o(` -`),w,o(` -`),H,o(` +`),D,o(` +`),v,o(` +`),s("span",N,[R,k,M,s("span",w,"/.celestia-light-"+l(e(a).mochaChainId)+"/:/home/celestia/.celestia-light-"+l(e(a).mochaChainId)+"/",1),O]),o(` +`),x,o(` `),L,o(` -`),$,o(` -`),K,o(` -`),U])]),s("pre",W,[s("code",null,[G,o(` -`),Y,o(` +`),H,o(` +`),W,o(` +`),G,o(` +`),Y])]),s("pre",$,[s("code",null,[K,o(` `),j,o(` `),J,o(` `),Q,o(` +`),U,o(` `),z,o(` `),X,o(` `),Z,o(` @@ -45,8 +45,8 @@ import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,a `),es,o(` `),ts,o(` `),ps,o(` -`),cs,o(` `),_s,o(` +`),cs,o(` `),rs,o(` `),s("span",is,[Es,ds,ys,s("span",hs,"/.celestia-light-"+l(e(a).mochaChainId)+"/:/home/celestia/.celestia-light-"+l(e(a).mochaChainId)+"/",1),Ts]),o(` `),us,o(` @@ -54,20 +54,8 @@ import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,a `),Fs,o(` `),As,o(` `),fs,o(` -`),Ss])])]),ms]),s("li",null,[gs,s("div",Ps,[Is,bs,s("pre",Vs,[s("code",null,[Ds,o(` -`),Bs,o(` -`),s("span",qs,[Ns,vs,s("span",Rs,'"/home/celestia/.celestia-light-'+l(e(a).mochaChainId)+'/"',1),ks]),o(` +`),Ss])])]),ms]),s("li",null,[gs,s("div",Ps,[Is,bs,s("pre",Vs,[s("code",null,[Bs,o(` +`),qs,o(` +`),s("span",Ds,[vs,Ns,s("span",Rs,'"/home/celestia/.celestia-light-'+l(e(a).mochaChainId)+'/"',1),ks])])]),s("pre",Ms,[s("code",null,[ws,o(` `),Os,o(` -`),xs,o(` -`),Ms,o(` -`),ws,o(` -`),Hs,o(` -`),Ls])]),s("pre",$s,[s("code",null,[Ks,o(` -`),Us,o(` -`),s("span",Ws,[Gs,Ys,s("span",js,'"/home/celestia/.celestia-light-'+l(e(a).mochaChainId)+'/"',1),Js]),o(` -`),Qs,o(` -`),zs,o(` -`),Xs,o(` -`),Zs,o(` -`),so,o(` -`),oo])])])]),no]),ao]))}});export{ro as __pageData,io as default}; +`),s("span",xs,[Ls,Hs,s("span",Ws,'"/home/celestia/.celestia-light-'+l(e(a).mochaChainId)+'/"',1),Gs])])])])]),Ys]),$s]))}});export{Xs as __pageData,Zs as default}; diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.af0f93fd.lean.js b/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.af0f93fd.lean.js new file mode 100644 index 0000000000..b9340b0735 --- /dev/null +++ b/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.af0f93fd.lean.js @@ -0,0 +1,55 @@ +import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,a as o,t as l,l as e,Q as n}from"./chunks/framework.2263f03b.js";const _=n("",6),c=s("p",null,[o("Change the following in "),s("a",{href:"https://github.com/celestiaorg/nitro-testnode/blob/e4e5acd36890e650c581188ef746a7b02202583a/docker-compose.yaml#L3-L15",target:"_blank",rel:"noreferrer"},[s("code",null,"nitro-testnode/docker-compose.yaml")]),o(":")],-1),r={class:"language-bash vp-adaptive-theme"},i=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),d={class:"shiki github-dark has-diff vp-code-dark"},y=s("span",{class:"line"},[s("span",{style:{color:"#B392F0"}},"da:")],-1),h=n("",1),T=n("",1),u=n("",1),C=n("",1),F=n("",1),A=n("",1),f=n("",1),S=n("",1),m=n("",1),g=n("",1),P=s("span",{class:"line diff add"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"environment:"),s("span",{style:{color:"#E1E4E8"}}," ")],-1),I=n("",1),b=n("",1),V=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"ports:")],-1),B=n("",1),q=n("",1),D=n("",1),v=s("span",{class:"line diff add"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"volumes:"),s("span",{style:{color:"#E1E4E8"}}," ")],-1),N={class:"line diff add"},R=s("span",{style:{color:"#E1E4E8"}}," ",-1),k=s("span",{style:{color:"#B392F0"}},"-",-1),M=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),w={style:{color:"#9ECBFF"}},O=s("span",{style:{color:"#E1E4E8"}}," ",-1),x=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"healthcheck:")],-1),L=n("",1),H=n("",1),W=n("",1),G=n("",1),Y=n("",1),$={class:"shiki github-light has-diff vp-code-light"},K=s("span",{class:"line"},[s("span",{style:{color:"#6F42C1"}},"da:")],-1),j=n("",1),J=n("",1),Q=n("",1),U=n("",1),z=n("",1),X=n("",1),Z=n("",1),ss=n("",1),os=n("",1),ns=n("",1),as=s("span",{class:"line diff add"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"environment:"),s("span",{style:{color:"#24292E"}}," ")],-1),ls=n("",1),es=n("",1),ts=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"ports:")],-1),ps=n("",1),_s=n("",1),cs=n("",1),rs=s("span",{class:"line diff add"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"volumes:"),s("span",{style:{color:"#24292E"}}," ")],-1),is={class:"line diff add"},Es=s("span",{style:{color:"#24292E"}}," ",-1),ds=s("span",{style:{color:"#6F42C1"}},"-",-1),ys=s("span",{style:{color:"#24292E"}}," $HOME",-1),hs={style:{color:"#032F62"}},Ts=s("span",{style:{color:"#24292E"}}," ",-1),us=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"healthcheck:")],-1),Cs=n("",1),Fs=n("",1),As=n("",1),fs=n("",1),Ss=n("",1),ms=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"WARNING"),s("p",null,[o("It is not advised to run with "),s("code",null,"user: root"),o(" permissions in production.")])],-1),gs=s("p",null,[o("In "),s("a",{href:"https://github.com/celestiaorg/nitro-testnode/blob/e4e5acd36890e650c581188ef746a7b02202583a/test-node.bash#L7-L287",target:"_blank",rel:"noreferrer"},[s("code",null,"nitro-testnode/test-node.bash")]),o(" make the following changes:")],-1),Ps={class:"language-bash vp-adaptive-theme"},Is=s("button",{title:"Copy Code",class:"copy"},null,-1),bs=s("span",{class:"lang"},"bash",-1),Vs={class:"shiki github-dark has-diff vp-code-dark"},Bs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 7")],-1),qs=n("",1),Ds={class:"line diff add"},vs=s("span",{style:{color:"#E1E4E8"}},"NODE_PATH",-1),Ns=s("span",{style:{color:"#F97583"}},"=",-1),Rs={style:{color:"#9ECBFF"}},ks=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ms={class:"shiki github-light has-diff vp-code-light"},ws=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 7")],-1),Os=n("",1),xs={class:"line diff add"},Ls=s("span",{style:{color:"#24292E"}},"NODE_PATH",-1),Hs=s("span",{style:{color:"#D73A49"}},"=",-1),Ws={style:{color:"#032F62"}},Gs=s("span",{style:{color:"#24292E"}}," ",-1),Ys=n("",2),$s=n("",3),Xs=JSON.parse('{"title":"Deploy an Arbitrum rollup to Mocha testnet","description":"An overview of the deploying Arbitrum Nitro and Celestia rollup to Mocha testnet.","frontmatter":{"description":"An overview of the deploying Arbitrum Nitro and Celestia rollup to Mocha testnet.","head":[["meta",{"name":"og:title","content":"Deploy an Arbitrum rollup to Mocha testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-mocha.md","filePath":"developers/arbitrum-mocha.md","lastUpdated":1705010189000}'),Ks={name:"developers/arbitrum-mocha.md"},Zs=Object.assign(Ks,{setup(js){return(Js,Qs)=>(t(),p("div",null,[_,s("ol",null,[s("li",null,[s("p",null,[o("Fully sync and fund a light node on Mocha testnet using the binary. This will use default node store of "),s("code",null,"$HOME/.celestia-light-"+l(e(a).mochaChainId),1),o(". This is what the docker-compose setup for the testnode will pick up as a node store. If you choose to use another node store, you will need to make changes yourself to reflect this.")])]),s("li",null,[c,s("div",r,[i,E,s("pre",d,[s("code",null,[y,o(` +`),h,o(` +`),T,o(` +`),u,o(` +`),C,o(` +`),F,o(` +`),A,o(` +`),f,o(` +`),S,o(` +`),m,o(` +`),g,o(` +`),P,o(` +`),I,o(` +`),b,o(` +`),V,o(` +`),B,o(` +`),q,o(` +`),D,o(` +`),v,o(` +`),s("span",N,[R,k,M,s("span",w,"/.celestia-light-"+l(e(a).mochaChainId)+"/:/home/celestia/.celestia-light-"+l(e(a).mochaChainId)+"/",1),O]),o(` +`),x,o(` +`),L,o(` +`),H,o(` +`),W,o(` +`),G,o(` +`),Y])]),s("pre",$,[s("code",null,[K,o(` +`),j,o(` +`),J,o(` +`),Q,o(` +`),U,o(` +`),z,o(` +`),X,o(` +`),Z,o(` +`),ss,o(` +`),os,o(` +`),ns,o(` +`),as,o(` +`),ls,o(` +`),es,o(` +`),ts,o(` +`),ps,o(` +`),_s,o(` +`),cs,o(` +`),rs,o(` +`),s("span",is,[Es,ds,ys,s("span",hs,"/.celestia-light-"+l(e(a).mochaChainId)+"/:/home/celestia/.celestia-light-"+l(e(a).mochaChainId)+"/",1),Ts]),o(` +`),us,o(` +`),Cs,o(` +`),Fs,o(` +`),As,o(` +`),fs,o(` +`),Ss])])]),ms]),s("li",null,[gs,s("div",Ps,[Is,bs,s("pre",Vs,[s("code",null,[Bs,o(` +`),qs,o(` +`),s("span",Ds,[vs,Ns,s("span",Rs,'"/home/celestia/.celestia-light-'+l(e(a).mochaChainId)+'/"',1),ks])])]),s("pre",Ms,[s("code",null,[ws,o(` +`),Os,o(` +`),s("span",xs,[Ls,Hs,s("span",Ws,'"/home/celestia/.celestia-light-'+l(e(a).mochaChainId)+'/"',1),Gs])])])])]),Ys]),$s]))}});export{Xs as __pageData,Zs as default}; diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.d37f1721.lean.js b/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.d37f1721.lean.js deleted file mode 100644 index 3f27330281..0000000000 --- a/pr-preview/pr-1358/assets/developers_arbitrum-mocha.md.d37f1721.lean.js +++ /dev/null @@ -1,67 +0,0 @@ -import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,a as o,t as l,l as e,Q as n}from"./chunks/framework.2263f03b.js";const c=n("",6),_=s("p",null,[o("Change the following in "),s("a",{href:"https://github.com/celestiaorg/nitro-testnode/blob/e4e5acd36890e650c581188ef746a7b02202583a/docker-compose.yaml#L3-L15",target:"_blank",rel:"noreferrer"},[s("code",null,"nitro-testnode/docker-compose.yaml")]),o(":")],-1),r={class:"language-bash vp-adaptive-theme"},i=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),d={class:"shiki github-dark has-diff vp-code-dark"},y=s("span",{class:"line"},[s("span",{style:{color:"#B392F0"}},"da:")],-1),h=n("",1),T=n("",1),u=n("",1),C=n("",1),F=n("",1),A=n("",1),f=n("",1),S=n("",1),m=n("",1),g=n("",1),P=s("span",{class:"line diff add"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"environment:"),s("span",{style:{color:"#E1E4E8"}}," ")],-1),I=n("",1),b=n("",1),V=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"ports:")],-1),D=n("",1),B=n("",1),q=n("",1),N=s("span",{class:"line diff add"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"volumes:"),s("span",{style:{color:"#E1E4E8"}}," ")],-1),v={class:"line diff add"},R=s("span",{style:{color:"#E1E4E8"}}," ",-1),k=s("span",{style:{color:"#B392F0"}},"-",-1),O=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),x={style:{color:"#9ECBFF"}},M=s("span",{style:{color:"#E1E4E8"}}," ",-1),w=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#B392F0"}},"healthcheck:")],-1),H=n("",1),L=n("",1),$=n("",1),K=n("",1),U=n("",1),W={class:"shiki github-light has-diff vp-code-light"},G=s("span",{class:"line"},[s("span",{style:{color:"#6F42C1"}},"da:")],-1),Y=n("",1),j=n("",1),J=n("",1),Q=n("",1),z=n("",1),X=n("",1),Z=n("",1),ss=n("",1),os=n("",1),ns=n("",1),as=s("span",{class:"line diff add"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"environment:"),s("span",{style:{color:"#24292E"}}," ")],-1),ls=n("",1),es=n("",1),ts=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"ports:")],-1),ps=n("",1),cs=n("",1),_s=n("",1),rs=s("span",{class:"line diff add"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"volumes:"),s("span",{style:{color:"#24292E"}}," ")],-1),is={class:"line diff add"},Es=s("span",{style:{color:"#24292E"}}," ",-1),ds=s("span",{style:{color:"#6F42C1"}},"-",-1),ys=s("span",{style:{color:"#24292E"}}," $HOME",-1),hs={style:{color:"#032F62"}},Ts=s("span",{style:{color:"#24292E"}}," ",-1),us=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#6F42C1"}},"healthcheck:")],-1),Cs=n("",1),Fs=n("",1),As=n("",1),fs=n("",1),Ss=n("",1),ms=s("div",{class:"warning custom-block"},[s("p",{class:"custom-block-title"},"WARNING"),s("p",null,[o("It is not advised to run with "),s("code",null,"user: root"),o(" permissions in production.")])],-1),gs=s("p",null,[o("In "),s("a",{href:"https://github.com/celestiaorg/nitro-testnode/blob/e4e5acd36890e650c581188ef746a7b02202583a/test-node.bash#L7-L287",target:"_blank",rel:"noreferrer"},[s("code",null,"nitro-testnode/test-node.bash")]),o(" make the following changes:")],-1),Ps={class:"language-bash vp-adaptive-theme"},Is=s("button",{title:"Copy Code",class:"copy"},null,-1),bs=s("span",{class:"lang"},"bash",-1),Vs={class:"shiki github-dark has-diff vp-code-dark"},Ds=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 7")],-1),Bs=n("",1),qs={class:"line diff add"},Ns=s("span",{style:{color:"#E1E4E8"}},"NODE_PATH",-1),vs=s("span",{style:{color:"#F97583"}},"=",-1),Rs={style:{color:"#9ECBFF"}},ks=s("span",{style:{color:"#E1E4E8"}}," ",-1),Os=s("span",{class:"line"},null,-1),xs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 287")],-1),Ms=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# NOTE: depending on the version you're using, you may have a different")],-1),ws=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# container name to start. Change yours accordingly to `celestia-da`.")],-1),Hs=n("",1),Ls=n("",1),$s={class:"shiki github-light has-diff vp-code-light"},Ks=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 7")],-1),Us=n("",1),Ws={class:"line diff add"},Gs=s("span",{style:{color:"#24292E"}},"NODE_PATH",-1),Ys=s("span",{style:{color:"#D73A49"}},"=",-1),js={style:{color:"#032F62"}},Js=s("span",{style:{color:"#24292E"}}," ",-1),Qs=s("span",{class:"line"},null,-1),zs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# Line 287")],-1),Xs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# NOTE: depending on the version you're using, you may have a different")],-1),Zs=s("span",{class:"line"},[s("span",{style:{color:"#6A737D"}},"# container name to start. Change yours accordingly to `celestia-da`.")],-1),so=n("",1),oo=n("",1),no=n("",2),ao=n("",3),ro=JSON.parse('{"title":"Deploy an Arbitrum rollup to Mocha testnet","description":"An overview of the deploying Arbitrum Nitro and Celestia rollup to Mocha testnet.","frontmatter":{"description":"An overview of the deploying Arbitrum Nitro and Celestia rollup to Mocha testnet.","head":[["meta",{"name":"og:title","content":"Deploy an Arbitrum rollup to Mocha testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-mocha.md","filePath":"developers/arbitrum-mocha.md","lastUpdated":1705009966000}'),lo={name:"developers/arbitrum-mocha.md"},io=Object.assign(lo,{setup(eo){return(to,po)=>(t(),p("div",null,[c,s("ol",null,[s("li",null,[s("p",null,[o("Fully sync and fund a light node on Mocha testnet using the binary. This will use default node store of "),s("code",null,"$HOME/.celestia-light-"+l(e(a).mochaChainId),1),o(". This is what the docker-compose setup for the testnode will pick up as a node store. If you choose to use another node store, you will need to make changes yourself to reflect this.")])]),s("li",null,[_,s("div",r,[i,E,s("pre",d,[s("code",null,[y,o(` -`),h,o(` -`),T,o(` -`),u,o(` -`),C,o(` -`),F,o(` -`),A,o(` -`),f,o(` -`),S,o(` -`),m,o(` -`),g,o(` -`),P,o(` -`),I,o(` -`),b,o(` -`),V,o(` -`),D,o(` -`),B,o(` -`),q,o(` -`),N,o(` -`),s("span",v,[R,k,O,s("span",x,"/.celestia-light-"+l(e(a).mochaChainId)+"/:/home/celestia/.celestia-light-"+l(e(a).mochaChainId)+"/",1),M]),o(` -`),w,o(` -`),H,o(` -`),L,o(` -`),$,o(` -`),K,o(` -`),U])]),s("pre",W,[s("code",null,[G,o(` -`),Y,o(` -`),j,o(` -`),J,o(` -`),Q,o(` -`),z,o(` -`),X,o(` -`),Z,o(` -`),ss,o(` -`),os,o(` -`),ns,o(` -`),as,o(` -`),ls,o(` -`),es,o(` -`),ts,o(` -`),ps,o(` -`),cs,o(` -`),_s,o(` -`),rs,o(` -`),s("span",is,[Es,ds,ys,s("span",hs,"/.celestia-light-"+l(e(a).mochaChainId)+"/:/home/celestia/.celestia-light-"+l(e(a).mochaChainId)+"/",1),Ts]),o(` -`),us,o(` -`),Cs,o(` -`),Fs,o(` -`),As,o(` -`),fs,o(` -`),Ss])])]),ms]),s("li",null,[gs,s("div",Ps,[Is,bs,s("pre",Vs,[s("code",null,[Ds,o(` -`),Bs,o(` -`),s("span",qs,[Ns,vs,s("span",Rs,'"/home/celestia/.celestia-light-'+l(e(a).mochaChainId)+'/"',1),ks]),o(` -`),Os,o(` -`),xs,o(` -`),Ms,o(` -`),ws,o(` -`),Hs,o(` -`),Ls])]),s("pre",$s,[s("code",null,[Ks,o(` -`),Us,o(` -`),s("span",Ws,[Gs,Ys,s("span",js,'"/home/celestia/.celestia-light-'+l(e(a).mochaChainId)+'/"',1),Js]),o(` -`),Qs,o(` -`),zs,o(` -`),Xs,o(` -`),Zs,o(` -`),so,o(` -`),oo])])])]),no]),ao]))}});export{ro as __pageData,io as default}; diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.4b9c4b79.js b/pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.60cea1ec.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.4b9c4b79.js rename to pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.60cea1ec.js index aa82293f0c..2a09ddd2ee 100644 --- a/pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.4b9c4b79.js +++ b/pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.60cea1ec.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy a smart contract to your Arbitrum rollup","description":"A tutorial that guides you through the process of deploying a smart contract to your Arbitrum rollup using a L2 Nitro devnet, including setting up the environment, creating and testing the smart contract, and interacting with the deployed contract.","frontmatter":{"description":"A tutorial that guides you through the process of deploying a smart contract to your Arbitrum rollup using a L2 Nitro devnet, including setting up the environment, creating and testing the smart contract, and interacting with the deployed contract.","head":[["meta",{"name":"og:title","content":"Deploy a smart contract to your Arbitrum rollup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-smart-contract.md","filePath":"developers/arbitrum-smart-contract.md","lastUpdated":1705009966000}'),l={name:"developers/arbitrum-smart-contract.md"},p=o(`

      Deploy a smart contract to your Arbitrum rollup

      Overview

      Welcome to the guide on deploying a smart contract to your Arbitrum rollup. In this tutorial, you will learn how to deploy a smart contract using the L2 Nitro devnet and the provided public and private keys for testing purposes.

      Prerequisites

      Setup

      First, in your $HOME directory, set up a new project folder for this tutorial and init the project with npm:

      bash
      cd $HOME
      +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy a smart contract to your Arbitrum rollup","description":"A tutorial that guides you through the process of deploying a smart contract to your Arbitrum rollup using a L2 Nitro devnet, including setting up the environment, creating and testing the smart contract, and interacting with the deployed contract.","frontmatter":{"description":"A tutorial that guides you through the process of deploying a smart contract to your Arbitrum rollup using a L2 Nitro devnet, including setting up the environment, creating and testing the smart contract, and interacting with the deployed contract.","head":[["meta",{"name":"og:title","content":"Deploy a smart contract to your Arbitrum rollup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-smart-contract.md","filePath":"developers/arbitrum-smart-contract.md","lastUpdated":1705010189000}'),l={name:"developers/arbitrum-smart-contract.md"},p=o(`

      Deploy a smart contract to your Arbitrum rollup

      Overview

      Welcome to the guide on deploying a smart contract to your Arbitrum rollup. In this tutorial, you will learn how to deploy a smart contract using the L2 Nitro devnet and the provided public and private keys for testing purposes.

      Prerequisites

      Setup

      First, in your $HOME directory, set up a new project folder for this tutorial and init the project with npm:

      bash
      cd $HOME
       mkdir counter-project && cd counter-project && npm init -y
      cd $HOME
       mkdir counter-project && cd counter-project && npm init -y

      Next, initialize a Foundry project with the following command:

      bash
      forge init counter_contract
      forge init counter_contract

      Create your smart contract

      Take a look at the Counter.sol file in your counter-project/counter_contract/src directory:

      solidity
      // SPDX-License-Identifier: UNLICENSED
       pragma solidity ^0.8.13;
      diff --git a/pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.4b9c4b79.lean.js b/pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.60cea1ec.lean.js
      similarity index 94%
      rename from pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.4b9c4b79.lean.js
      rename to pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.60cea1ec.lean.js
      index 3d82131522..cae3f61837 100644
      --- a/pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.4b9c4b79.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_arbitrum-smart-contract.md.60cea1ec.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy a smart contract to your Arbitrum rollup","description":"A tutorial that guides you through the process of deploying a smart contract to your Arbitrum rollup using a L2 Nitro devnet, including setting up the environment, creating and testing the smart contract, and interacting with the deployed contract.","frontmatter":{"description":"A tutorial that guides you through the process of deploying a smart contract to your Arbitrum rollup using a L2 Nitro devnet, including setting up the environment, creating and testing the smart contract, and interacting with the deployed contract.","head":[["meta",{"name":"og:title","content":"Deploy a smart contract to your Arbitrum rollup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-smart-contract.md","filePath":"developers/arbitrum-smart-contract.md","lastUpdated":1705009966000}'),l={name:"developers/arbitrum-smart-contract.md"},p=o("",60),e=[p];function t(c,r,i,y,E,u){return a(),n("div",null,e)}const h=s(l,[["render",t]]);export{F as __pageData,h as default};
      +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy a smart contract to your Arbitrum rollup","description":"A tutorial that guides you through the process of deploying a smart contract to your Arbitrum rollup using a L2 Nitro devnet, including setting up the environment, creating and testing the smart contract, and interacting with the deployed contract.","frontmatter":{"description":"A tutorial that guides you through the process of deploying a smart contract to your Arbitrum rollup using a L2 Nitro devnet, including setting up the environment, creating and testing the smart contract, and interacting with the deployed contract.","head":[["meta",{"name":"og:title","content":"Deploy a smart contract to your Arbitrum rollup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/arbitrum-smart-contract.md","filePath":"developers/arbitrum-smart-contract.md","lastUpdated":1705010189000}'),l={name:"developers/arbitrum-smart-contract.md"},p=o("",60),e=[p];function t(c,r,i,y,E,u){return a(),n("div",null,e)}const h=s(l,[["render",t]]);export{F as __pageData,h as default};
      diff --git a/pr-preview/pr-1358/assets/developers_blobstream-contracts.md.17a910f4.js b/pr-preview/pr-1358/assets/developers_blobstream-contracts.md.0e0e8c4a.js
      similarity index 99%
      rename from pr-preview/pr-1358/assets/developers_blobstream-contracts.md.17a910f4.js
      rename to pr-preview/pr-1358/assets/developers_blobstream-contracts.md.0e0e8c4a.js
      index 58354f961d..5b6276bcd5 100644
      --- a/pr-preview/pr-1358/assets/developers_blobstream-contracts.md.17a910f4.js
      +++ b/pr-preview/pr-1358/assets/developers_blobstream-contracts.md.0e0e8c4a.js
      @@ -1,4 +1,4 @@
      -import{_ as s,o as a,c as o,Q as e}from"./chunks/framework.2263f03b.js";const d=JSON.parse(`{"title":"Integrate with Blobstream contracts","description":"Learn how to integrate your L2's onchain logic with Blobstream","frontmatter":{"sidebar_label":"Integrate with Blobstream contracts","description":"Learn how to integrate your L2's onchain logic with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream contracts | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-contracts.md","filePath":"developers/blobstream-contracts.md","lastUpdated":1705009966000}`),n={name:"developers/blobstream-contracts.md"},l=e(`

      Integrate with Blobstream contracts

      Getting started

      Prerequisites

      Make sure to have the following installed:

      Installing Blobstream contracts

      Install the Blobstream contracts repo as a dependency:

      sh
      forge install celestiaorg/blobstream-contracts --no-commit
      forge install celestiaorg/blobstream-contracts --no-commit

      Note that the minimum Solidity compiler version for using the Blobstream contracts is 0.8.19.

      Example usage

      Example minimal Solidity contract for a stub ZK rollup that leverages the Blobstream contract to check that data has been posted to Celestia:

      solidity
      // SPDX-License-Identifier: Apache-2.0
      +import{_ as s,o as a,c as o,Q as e}from"./chunks/framework.2263f03b.js";const d=JSON.parse(`{"title":"Integrate with Blobstream contracts","description":"Learn how to integrate your L2's onchain logic with Blobstream","frontmatter":{"sidebar_label":"Integrate with Blobstream contracts","description":"Learn how to integrate your L2's onchain logic with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream contracts | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-contracts.md","filePath":"developers/blobstream-contracts.md","lastUpdated":1705010189000}`),n={name:"developers/blobstream-contracts.md"},l=e(`

      Integrate with Blobstream contracts

      Getting started

      Prerequisites

      Make sure to have the following installed:

      Installing Blobstream contracts

      Install the Blobstream contracts repo as a dependency:

      sh
      forge install celestiaorg/blobstream-contracts --no-commit
      forge install celestiaorg/blobstream-contracts --no-commit

      Note that the minimum Solidity compiler version for using the Blobstream contracts is 0.8.19.

      Example usage

      Example minimal Solidity contract for a stub ZK rollup that leverages the Blobstream contract to check that data has been posted to Celestia:

      solidity
      // SPDX-License-Identifier: Apache-2.0
       pragma solidity ^0.8.19;
       
       import "blobstream-contracts/IDAOracle.sol";
      diff --git a/pr-preview/pr-1358/assets/developers_blobstream-contracts.md.17a910f4.lean.js b/pr-preview/pr-1358/assets/developers_blobstream-contracts.md.0e0e8c4a.lean.js
      similarity index 92%
      rename from pr-preview/pr-1358/assets/developers_blobstream-contracts.md.17a910f4.lean.js
      rename to pr-preview/pr-1358/assets/developers_blobstream-contracts.md.0e0e8c4a.lean.js
      index 09783e3954..255e1a67f7 100644
      --- a/pr-preview/pr-1358/assets/developers_blobstream-contracts.md.17a910f4.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_blobstream-contracts.md.0e0e8c4a.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as a,c as o,Q as e}from"./chunks/framework.2263f03b.js";const d=JSON.parse(`{"title":"Integrate with Blobstream contracts","description":"Learn how to integrate your L2's onchain logic with Blobstream","frontmatter":{"sidebar_label":"Integrate with Blobstream contracts","description":"Learn how to integrate your L2's onchain logic with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream contracts | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-contracts.md","filePath":"developers/blobstream-contracts.md","lastUpdated":1705009966000}`),n={name:"developers/blobstream-contracts.md"},l=e("",25),t=[l];function r(p,c,i,y,E,h){return a(),o("div",null,t)}const u=s(n,[["render",r]]);export{d as __pageData,u as default};
      +import{_ as s,o as a,c as o,Q as e}from"./chunks/framework.2263f03b.js";const d=JSON.parse(`{"title":"Integrate with Blobstream contracts","description":"Learn how to integrate your L2's onchain logic with Blobstream","frontmatter":{"sidebar_label":"Integrate with Blobstream contracts","description":"Learn how to integrate your L2's onchain logic with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream contracts | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-contracts.md","filePath":"developers/blobstream-contracts.md","lastUpdated":1705010189000}`),n={name:"developers/blobstream-contracts.md"},l=e("",25),t=[l];function r(p,c,i,y,E,h){return a(),o("div",null,t)}const u=s(n,[["render",r]]);export{d as __pageData,u as default};
      diff --git a/pr-preview/pr-1358/assets/developers_blobstream-offchain.md.4ecb5c94.js b/pr-preview/pr-1358/assets/developers_blobstream-offchain.md.3eaf5acf.js
      similarity index 99%
      rename from pr-preview/pr-1358/assets/developers_blobstream-offchain.md.4ecb5c94.js
      rename to pr-preview/pr-1358/assets/developers_blobstream-offchain.md.3eaf5acf.js
      index 5485a2fa78..e2e4643911 100644
      --- a/pr-preview/pr-1358/assets/developers_blobstream-offchain.md.4ecb5c94.js
      +++ b/pr-preview/pr-1358/assets/developers_blobstream-offchain.md.3eaf5acf.js
      @@ -1,4 +1,4 @@
      -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse(`{"title":"Integrate with Blobstream client","description":"Learn how to integrate your L2's offchain logic with Blobstream","frontmatter":{"description":"Learn how to integrate your L2's offchain logic with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream client | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-offchain.md","filePath":"developers/blobstream-offchain.md","lastUpdated":1705009966000}`),e={name:"developers/blobstream-offchain.md"},o=l(`

      Integrate with Blobstream client

      Blobstream demo rollup

      Rollups can use the Blobstream for DA by posting their data to Celestia and then proving that it was posted on Ethereum. This is done identically to how any rollup or user would post data to Celestia, and then the validators sign over additional commitments that are relayed to Ethereum via a light client relay (aka Blobstream!). This demo will outline (note outline is not an implementation! please do not expect to copy and paste this code 🙂) a very simple Blobstream rollup to illustrate at a high level what this could look like.

      Defining a chain

      The first step to starting a new chain is to define the structure of the commitments that each block consists of.

      go
      type Block struct {
      +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse(`{"title":"Integrate with Blobstream client","description":"Learn how to integrate your L2's offchain logic with Blobstream","frontmatter":{"description":"Learn how to integrate your L2's offchain logic with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream client | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-offchain.md","filePath":"developers/blobstream-offchain.md","lastUpdated":1705010189000}`),e={name:"developers/blobstream-offchain.md"},o=l(`

      Integrate with Blobstream client

      Blobstream demo rollup

      Rollups can use the Blobstream for DA by posting their data to Celestia and then proving that it was posted on Ethereum. This is done identically to how any rollup or user would post data to Celestia, and then the validators sign over additional commitments that are relayed to Ethereum via a light client relay (aka Blobstream!). This demo will outline (note outline is not an implementation! please do not expect to copy and paste this code 🙂) a very simple Blobstream rollup to illustrate at a high level what this could look like.

      Defining a chain

      The first step to starting a new chain is to define the structure of the commitments that each block consists of.

      go
      type Block struct {
           // Data is the data of a block that is submitted to Celestia.
           Data \`json:"Data"\`
           // Header is the set of commitments over a block that is submitted to
      diff --git a/pr-preview/pr-1358/assets/developers_blobstream-offchain.md.4ecb5c94.lean.js b/pr-preview/pr-1358/assets/developers_blobstream-offchain.md.3eaf5acf.lean.js
      similarity index 91%
      rename from pr-preview/pr-1358/assets/developers_blobstream-offchain.md.4ecb5c94.lean.js
      rename to pr-preview/pr-1358/assets/developers_blobstream-offchain.md.3eaf5acf.lean.js
      index 207c969584..a62f16a5e3 100644
      --- a/pr-preview/pr-1358/assets/developers_blobstream-offchain.md.4ecb5c94.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_blobstream-offchain.md.3eaf5acf.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse(`{"title":"Integrate with Blobstream client","description":"Learn how to integrate your L2's offchain logic with Blobstream","frontmatter":{"description":"Learn how to integrate your L2's offchain logic with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream client | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-offchain.md","filePath":"developers/blobstream-offchain.md","lastUpdated":1705009966000}`),e={name:"developers/blobstream-offchain.md"},o=l("",41),p=[o];function t(r,c,i,E,y,h){return a(),n("div",null,p)}const b=s(e,[["render",t]]);export{u as __pageData,b as default};
      +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse(`{"title":"Integrate with Blobstream client","description":"Learn how to integrate your L2's offchain logic with Blobstream","frontmatter":{"description":"Learn how to integrate your L2's offchain logic with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream client | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-offchain.md","filePath":"developers/blobstream-offchain.md","lastUpdated":1705010189000}`),e={name:"developers/blobstream-offchain.md"},o=l("",41),p=[o];function t(r,c,i,E,y,h){return a(),n("div",null,p)}const b=s(e,[["render",t]]);export{u as __pageData,b as default};
      diff --git a/pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.8f56c893.js b/pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.f5b6175e.js
      similarity index 99%
      rename from pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.8f56c893.js
      rename to pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.f5b6175e.js
      index c92ed994ee..5c7c09b47b 100644
      --- a/pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.8f56c893.js
      +++ b/pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.f5b6175e.js
      @@ -1,4 +1,4 @@
      -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const e="/pr-preview/pr-1358/img/blobstream/blobstream-square.png",l="/pr-preview/pr-1358/img/blobstream/blobstream-commitment-diagram.png",m=JSON.parse('{"title":"Blobstream proofs queries","description":"Learn how to query the inclusion proofs used in Blobstream","frontmatter":{"description":"Learn how to query the inclusion proofs used in Blobstream","head":[["meta",{"name":"og:title","content":"Blobstream proofs queries | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-proof-queries.md","filePath":"developers/blobstream-proof-queries.md","lastUpdated":1705009966000}'),p={name:"developers/blobstream-proof-queries.md"},t=o(`

      Blobstream proofs queries

      Prerequisites

      • Access to a Celestia consensus full node RPC endpoint (or full node). The node doesn't need to be a validating node in order for the proofs to be queried. A full node is enough.

      Querying the proofs

      To prove PFBs, blobs or shares, we can use the Celestia consensus node's RPC to query proofs for them:

      1. Data root inclusion proof

      To prove the data root is committed to by the Blobstream smart contract, we will need to provide a Merkle proof of the data root tuple to a data root tuple root. This can be created using the data_root_inclusion_proof query.

      This endpoint allows querying a data root to data root tuple root proof. It takes a block height, a starting block, and an end block, then it generates the binary Merkle proof of the DataRootTuple, corresponding to that height, to the DataRootTupleRoot which is committed to in the Blobstream contract.

      Example request: /data_root_inclusion_proof?height=15&start=10&end=20

      Which queries the proof of the height 15 to the data commitment defined by the range [10, 20).

      Example response:

      json
      {
      +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const e="/pr-preview/pr-1358/img/blobstream/blobstream-square.png",l="/pr-preview/pr-1358/img/blobstream/blobstream-commitment-diagram.png",m=JSON.parse('{"title":"Blobstream proofs queries","description":"Learn how to query the inclusion proofs used in Blobstream","frontmatter":{"description":"Learn how to query the inclusion proofs used in Blobstream","head":[["meta",{"name":"og:title","content":"Blobstream proofs queries | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-proof-queries.md","filePath":"developers/blobstream-proof-queries.md","lastUpdated":1705010189000}'),p={name:"developers/blobstream-proof-queries.md"},t=o(`

      Blobstream proofs queries

      Prerequisites

      • Access to a Celestia consensus full node RPC endpoint (or full node). The node doesn't need to be a validating node in order for the proofs to be queried. A full node is enough.

      Querying the proofs

      To prove PFBs, blobs or shares, we can use the Celestia consensus node's RPC to query proofs for them:

      1. Data root inclusion proof

      To prove the data root is committed to by the Blobstream smart contract, we will need to provide a Merkle proof of the data root tuple to a data root tuple root. This can be created using the data_root_inclusion_proof query.

      This endpoint allows querying a data root to data root tuple root proof. It takes a block height, a starting block, and an end block, then it generates the binary Merkle proof of the DataRootTuple, corresponding to that height, to the DataRootTupleRoot which is committed to in the Blobstream contract.

      Example request: /data_root_inclusion_proof?height=15&start=10&end=20

      Which queries the proof of the height 15 to the data commitment defined by the range [10, 20).

      Example response:

      json
      {
         "jsonrpc": "2.0",
         "id": -1,
         "result": {
      diff --git a/pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.8f56c893.lean.js b/pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.f5b6175e.lean.js
      similarity index 85%
      rename from pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.8f56c893.lean.js
      rename to pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.f5b6175e.lean.js
      index 1ca0671adb..2e475823ad 100644
      --- a/pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.8f56c893.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_blobstream-proof-queries.md.f5b6175e.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const e="/pr-preview/pr-1358/img/blobstream/blobstream-square.png",l="/pr-preview/pr-1358/img/blobstream/blobstream-commitment-diagram.png",m=JSON.parse('{"title":"Blobstream proofs queries","description":"Learn how to query the inclusion proofs used in Blobstream","frontmatter":{"description":"Learn how to query the inclusion proofs used in Blobstream","head":[["meta",{"name":"og:title","content":"Blobstream proofs queries | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-proof-queries.md","filePath":"developers/blobstream-proof-queries.md","lastUpdated":1705009966000}'),p={name:"developers/blobstream-proof-queries.md"},t=o("",86),c=[t];function r(i,y,E,d,A,h){return a(),n("div",null,c)}const f=s(p,[["render",r]]);export{m as __pageData,f as default};
      +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const e="/pr-preview/pr-1358/img/blobstream/blobstream-square.png",l="/pr-preview/pr-1358/img/blobstream/blobstream-commitment-diagram.png",m=JSON.parse('{"title":"Blobstream proofs queries","description":"Learn how to query the inclusion proofs used in Blobstream","frontmatter":{"description":"Learn how to query the inclusion proofs used in Blobstream","head":[["meta",{"name":"og:title","content":"Blobstream proofs queries | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream-proof-queries.md","filePath":"developers/blobstream-proof-queries.md","lastUpdated":1705010189000}'),p={name:"developers/blobstream-proof-queries.md"},t=o("",86),c=[t];function r(i,y,E,d,A,h){return a(),n("div",null,c)}const f=s(p,[["render",r]]);export{m as __pageData,f as default};
      diff --git a/pr-preview/pr-1358/assets/developers_blobstream.md.d1230ea5.js b/pr-preview/pr-1358/assets/developers_blobstream.md.59e73c8f.js
      similarity index 99%
      rename from pr-preview/pr-1358/assets/developers_blobstream.md.d1230ea5.js
      rename to pr-preview/pr-1358/assets/developers_blobstream.md.59e73c8f.js
      index 97c8e63728..697902f227 100644
      --- a/pr-preview/pr-1358/assets/developers_blobstream.md.d1230ea5.js
      +++ b/pr-preview/pr-1358/assets/developers_blobstream.md.59e73c8f.js
      @@ -1 +1 @@
      -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/blobstream/blobstream_logo.png",s="/pr-preview/pr-1358/img/blobstream/Blobstream.png",i="/pr-preview/pr-1358/img/blobstream/Celestia_Blobstream_attestation_flow.jpg",y=JSON.parse('{"title":"Integrate with Blobstream","description":"Learn how to integrate your L2 with Blobstream","frontmatter":{"description":"Learn how to integrate your L2 with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream.md","filePath":"developers/blobstream.md","lastUpdated":1705009966000}'),l={name:"developers/blobstream.md"},n=o('

      Integrate with Blobstream

      Blobstream logo

      Blobstream is the first data availability solution for Ethereum that securely scales with the number of users. Formerly known as the Quantum Gravity Bridge (QGB), Blobstream relays commitments to Celestia's data root to an onchain light client on Ethereum, for integration by developers into L2 contracts. This enables Ethereum developers to build high-throughput L2s using Celestia's optimised DA layer, the first with Data Availability Sampling (DAS).

      The following docs go over how developers can integrate Blobstream. There are also docs on how to run a Blobstream orchestrator as a Celestia validator which won't be covered in the following sections aimed at developers.

      Overview

      Blobstream, consists of two components: an orchestrator and a relayer.

      In the following diagram, we show how a layer 2 (L2) would post data to Celestia and then verify that it was published in the target EVM chain.

      Blobstream-Architecture

      Data will first be attested to by the Celestia validator set, i.e. signing commitments committing to the data. Then, these signatures will be relayed to the target EVM chain (in this case, Ethereum). Finally, the L2, or any party, will be able to verify that the data was published to Celestia directly on the EVM chain on the Blobstream smart contract. You can reference the Blobstream smart contract.

      The orchestrator is part of the validator setup and works as follows:

      • celestia-app creates an attestation on the state machine level that needs to be signed
      • The orchestrator queries the attestation, signs it, then submits the signature to the Blobstream P2P network

      The relayer submits the attestations' signatures from the Blobstream P2P network to the target EVM chain.

      NOTE

      If the contract is still not deployed, then it needs to be deployed before it is used by the relayer. See the deployment documentation for more details.

      How Blobstream works

      Blobstream allows Celestia block header data roots to be relayed in one direction, from Celestia to an EVM chain. It does not support bridging assets such as fungible or non-fungible tokens directly, and cannot send messages from the EVM chain back to Celestia.

      It works by relying on a set of signers to attest to some event on Celestia: the Celestia validator set. The Blobstream contract keeps track of the Celestia validator set by updating its view of the validator set with updateValidatorSet(). More than 2/3 of the voting power of the current view of the validator set must sign off on new relayed events, submitted with submitDataRootTupleRoot(). Each event is a batch of DataRootTuples, with each tuple representing a single data root (i.e. block header). Relayed tuples are in the same order as Celestia block headers.

      Blobstream attestation flow

      Events and messages relayed

      Validator sets: The relayer informs the Blobstream contract who are the current validators and their power. This results in an execution of the updateValidatorSet function.

      Batches: The relayer informs the Blobstream contract of new data root tuple roots. This results in an execution of the submitDataRootTupleRoot function.

      How to integrate

      Integrating your L2 with Blobstream requires two components: your onchain smart contract logic, and your offchain client logic. The next three sections cover these topics:

      Deployed contracts

      You can interact with the Blobstream contracts today on testnet. The Blobstream Solidity smart contracts are currently deployed on the following Ethereum testnets:

      ContractEVM networkContract addressAttested data
      BlobstreamSepolia0x3a5cbB6EF4756DA0b3f6DAE7aB6430fD8c46d247Mocha testnet
      BlobstreamArbitrum Sepolia0x040769edbca5218e616c8eb16e4faea49ced5e33Mocha testnet
      Blobstream XGoerli0x67ea962864cdad3f2202118dc6f65ff510f7bb4dMocha testnet

      Blobstream vs. data availability committees (DACs)

      Decentralization and security

      Blobstream is built on Celestia, which uses a CometBFT-based proof-of-stake system. An incorrect data availability attestation in this system will ultimately be penalized (currently not implemented), ensuring validators act in good faith. Thus, Blobstream shares the same security assumptions as Celestia. In contrast, data availability committees (DACs), are typically centralized or semi-centralized, relying on a specific set of entities or individuals to vouch for data availability.

      Mechanism of verification

      Blobstream uses data availability attestations, which are Merkle roots of the batched L2 data, to confirm that the necessary data is present on Celestia. The L2 contract on Ethereum can check directly with Blobstream if the data is published on Celestia. Similarly, a DAC would rely on attestations or confirmations from its permissioned members.

      Flexibility and scalability

      Blobstream is designed to offer high-throughput data availability for Ethereum L2s, aiming to strike a balance between scalability and security. It operates independently of Ethereum's gas costs, as Celestia's resource pricing is more byte-focused rather than computation-centric. On the other hand, the scalability and flexibility of a DAC would depend on its specific design and implementation.

      In summary, both Blobstream and DACs aim to ensure offchain data availability, but Blobstream offers a more decentralized, secure, and scalable solution compared to the potential centralized nature of DACs.

      ',34),c=[n];function d(h,b,m,p,f,u){return t(),a("div",null,c)}const w=e(l,[["render",d]]);export{y as __pageData,w as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/blobstream/blobstream_logo.png",s="/pr-preview/pr-1358/img/blobstream/Blobstream.png",i="/pr-preview/pr-1358/img/blobstream/Celestia_Blobstream_attestation_flow.jpg",y=JSON.parse('{"title":"Integrate with Blobstream","description":"Learn how to integrate your L2 with Blobstream","frontmatter":{"description":"Learn how to integrate your L2 with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream.md","filePath":"developers/blobstream.md","lastUpdated":1705010189000}'),l={name:"developers/blobstream.md"},n=o('

      Integrate with Blobstream

      Blobstream logo

      Blobstream is the first data availability solution for Ethereum that securely scales with the number of users. Formerly known as the Quantum Gravity Bridge (QGB), Blobstream relays commitments to Celestia's data root to an onchain light client on Ethereum, for integration by developers into L2 contracts. This enables Ethereum developers to build high-throughput L2s using Celestia's optimised DA layer, the first with Data Availability Sampling (DAS).

      The following docs go over how developers can integrate Blobstream. There are also docs on how to run a Blobstream orchestrator as a Celestia validator which won't be covered in the following sections aimed at developers.

      Overview

      Blobstream, consists of two components: an orchestrator and a relayer.

      In the following diagram, we show how a layer 2 (L2) would post data to Celestia and then verify that it was published in the target EVM chain.

      Blobstream-Architecture

      Data will first be attested to by the Celestia validator set, i.e. signing commitments committing to the data. Then, these signatures will be relayed to the target EVM chain (in this case, Ethereum). Finally, the L2, or any party, will be able to verify that the data was published to Celestia directly on the EVM chain on the Blobstream smart contract. You can reference the Blobstream smart contract.

      The orchestrator is part of the validator setup and works as follows:

      • celestia-app creates an attestation on the state machine level that needs to be signed
      • The orchestrator queries the attestation, signs it, then submits the signature to the Blobstream P2P network

      The relayer submits the attestations' signatures from the Blobstream P2P network to the target EVM chain.

      NOTE

      If the contract is still not deployed, then it needs to be deployed before it is used by the relayer. See the deployment documentation for more details.

      How Blobstream works

      Blobstream allows Celestia block header data roots to be relayed in one direction, from Celestia to an EVM chain. It does not support bridging assets such as fungible or non-fungible tokens directly, and cannot send messages from the EVM chain back to Celestia.

      It works by relying on a set of signers to attest to some event on Celestia: the Celestia validator set. The Blobstream contract keeps track of the Celestia validator set by updating its view of the validator set with updateValidatorSet(). More than 2/3 of the voting power of the current view of the validator set must sign off on new relayed events, submitted with submitDataRootTupleRoot(). Each event is a batch of DataRootTuples, with each tuple representing a single data root (i.e. block header). Relayed tuples are in the same order as Celestia block headers.

      Blobstream attestation flow

      Events and messages relayed

      Validator sets: The relayer informs the Blobstream contract who are the current validators and their power. This results in an execution of the updateValidatorSet function.

      Batches: The relayer informs the Blobstream contract of new data root tuple roots. This results in an execution of the submitDataRootTupleRoot function.

      How to integrate

      Integrating your L2 with Blobstream requires two components: your onchain smart contract logic, and your offchain client logic. The next three sections cover these topics:

      Deployed contracts

      You can interact with the Blobstream contracts today on testnet. The Blobstream Solidity smart contracts are currently deployed on the following Ethereum testnets:

      ContractEVM networkContract addressAttested data
      BlobstreamSepolia0x3a5cbB6EF4756DA0b3f6DAE7aB6430fD8c46d247Mocha testnet
      BlobstreamArbitrum Sepolia0x040769edbca5218e616c8eb16e4faea49ced5e33Mocha testnet
      Blobstream XGoerli0x67ea962864cdad3f2202118dc6f65ff510f7bb4dMocha testnet

      Blobstream vs. data availability committees (DACs)

      Decentralization and security

      Blobstream is built on Celestia, which uses a CometBFT-based proof-of-stake system. An incorrect data availability attestation in this system will ultimately be penalized (currently not implemented), ensuring validators act in good faith. Thus, Blobstream shares the same security assumptions as Celestia. In contrast, data availability committees (DACs), are typically centralized or semi-centralized, relying on a specific set of entities or individuals to vouch for data availability.

      Mechanism of verification

      Blobstream uses data availability attestations, which are Merkle roots of the batched L2 data, to confirm that the necessary data is present on Celestia. The L2 contract on Ethereum can check directly with Blobstream if the data is published on Celestia. Similarly, a DAC would rely on attestations or confirmations from its permissioned members.

      Flexibility and scalability

      Blobstream is designed to offer high-throughput data availability for Ethereum L2s, aiming to strike a balance between scalability and security. It operates independently of Ethereum's gas costs, as Celestia's resource pricing is more byte-focused rather than computation-centric. On the other hand, the scalability and flexibility of a DAC would depend on its specific design and implementation.

      In summary, both Blobstream and DACs aim to ensure offchain data availability, but Blobstream offers a more decentralized, secure, and scalable solution compared to the potential centralized nature of DACs.

      ',34),c=[n];function d(h,b,m,p,f,u){return t(),a("div",null,c)}const w=e(l,[["render",d]]);export{y as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/developers_blobstream.md.d1230ea5.lean.js b/pr-preview/pr-1358/assets/developers_blobstream.md.59e73c8f.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/developers_blobstream.md.d1230ea5.lean.js rename to pr-preview/pr-1358/assets/developers_blobstream.md.59e73c8f.lean.js index 82723d1f1f..907881e57c 100644 --- a/pr-preview/pr-1358/assets/developers_blobstream.md.d1230ea5.lean.js +++ b/pr-preview/pr-1358/assets/developers_blobstream.md.59e73c8f.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/blobstream/blobstream_logo.png",s="/pr-preview/pr-1358/img/blobstream/Blobstream.png",i="/pr-preview/pr-1358/img/blobstream/Celestia_Blobstream_attestation_flow.jpg",y=JSON.parse('{"title":"Integrate with Blobstream","description":"Learn how to integrate your L2 with Blobstream","frontmatter":{"description":"Learn how to integrate your L2 with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream.md","filePath":"developers/blobstream.md","lastUpdated":1705009966000}'),l={name:"developers/blobstream.md"},n=o("",34),c=[n];function d(h,b,m,p,f,u){return t(),a("div",null,c)}const w=e(l,[["render",d]]);export{y as __pageData,w as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/blobstream/blobstream_logo.png",s="/pr-preview/pr-1358/img/blobstream/Blobstream.png",i="/pr-preview/pr-1358/img/blobstream/Celestia_Blobstream_attestation_flow.jpg",y=JSON.parse('{"title":"Integrate with Blobstream","description":"Learn how to integrate your L2 with Blobstream","frontmatter":{"description":"Learn how to integrate your L2 with Blobstream","head":[["meta",{"name":"og:title","content":"Integrate with Blobstream | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/blobstream.md","filePath":"developers/blobstream.md","lastUpdated":1705010189000}'),l={name:"developers/blobstream.md"},n=o("",34),c=[n];function d(h,b,m,p,f,u){return t(),a("div",null,c)}const w=e(l,[["render",d]]);export{y as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/developers_bubs-testnet.md.5c2a062d.js b/pr-preview/pr-1358/assets/developers_bubs-testnet.md.2bb39560.js similarity index 98% rename from pr-preview/pr-1358/assets/developers_bubs-testnet.md.5c2a062d.js rename to pr-preview/pr-1358/assets/developers_bubs-testnet.md.2bb39560.js index 502eaf87d0..4d499d85fd 100644 --- a/pr-preview/pr-1358/assets/developers_bubs-testnet.md.5c2a062d.js +++ b/pr-preview/pr-1358/assets/developers_bubs-testnet.md.2bb39560.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const s="/pr-preview/pr-1358/img/Celestia_Bubs_Testnet.jpg",f=JSON.parse('{"title":"Bubs testnet","description":"The first testnet built with OP Stack and Celestia.","frontmatter":{"description":"The first testnet built with OP Stack and Celestia.","head":[["meta",{"name":"og:title","content":"Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/bubs-testnet.md","filePath":"developers/bubs-testnet.md","lastUpdated":1705009966000}'),r={name:"developers/bubs-testnet.md"},i=o('

      Bubs testnet

      Bubs testnet

      Bubs Testnet is a fresh offering from Caldera with support from Celestia Labs, built with OP Stack and Celestia, and is dedicated to providing developers with an EVM-compatible execution layer to deploy their EVM applications on.

      Built with the OP Stack and Celestia

      The Bubs Testnet is a testnet rollup, a modified version of optimism-bedrock that uses Celestia as a data availability (DA) layer. This integration can be found in the @celestiaorg/optimism repository. The testnet is hosted by Caldera, who makes it easy to launch rollups with no code required.

      In this setup, data handling is accomplished in two ways. Firstly, data is written to the DA layer, in this case, Celestia (on the Arabica devnet). Then, the data commitment is written to the op-batcher. When reading, the op-node retrieves the data back from the DA layer by first reading the data commitment from the op-batcher, then reading the data from the DA layer using the data commitment. Hence, while previously op-node was reading from calldata on Ethereum, it now reads data from Celestia.

      The tools involved in the data handling process include op-batcher, which batches up rollup blocks and posts them to Ethereum, op-geth that handles execution, and op-proposer responsible for state commitment submission.

      By using Celestia as a DA layer, existing L2s can switch from posting their data as calldata on Ethereum to posting to Celestia. The commitment to the block is posted on Celestia, which is purpose-built for data availability. This is more scalable than the traditional method of posting this data as calldata on monolithic chains.

      Building on Bubs

      Bubs Testnet provides a robust environment for developers to test their Ethereum Virtual Machine (EVM) applications. It offers an EVM-compatible execution layer, making it an ideal platform for developers looking to build and test applications in a setting that closely mirrors an OP Stack rollup on Celestia.

      Learn more at bubstestnet.com.

      RPC URLs

      Remote Procedure Call (RPC) URLs are endpoints that allow developers to interact with the blockchain. They are essential for sending transactions, querying blockchain data, and performing other interactions with the blockchain.

      For the Bubs Testnet, you can connect to the following RPC URLs:

      HTTPS

      • https://bubs.calderachain.xyz/http

      WSS

      • wss://bubs.calderachain.xyz/ws

      This URL serves as the entry point to the Bubs Testnet. You can use it in your applications to connect to the testnet and interact with the smart contracts you deploy there.

      Remember, Bubs Testnet is a testing environment!

      Faucet

      To visit the Bubs testnet faucet, go to https://bubstestnet.com.

      Explorer

      To visit the explorer, go to https://explorer.bubstestnet.com/.

      Next steps

      Now that you have a better understanding of the Bubs Testnet and its integration of OP Stack and Celestia, you can start exploring its capabilities:

      ',27),n=[i];function l(h,c,d,p,b,u){return t(),a("div",null,n)}const g=e(r,[["render",l]]);export{f as __pageData,g as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const s="/pr-preview/pr-1358/img/Celestia_Bubs_Testnet.jpg",f=JSON.parse('{"title":"Bubs testnet","description":"The first testnet built with OP Stack and Celestia.","frontmatter":{"description":"The first testnet built with OP Stack and Celestia.","head":[["meta",{"name":"og:title","content":"Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/bubs-testnet.md","filePath":"developers/bubs-testnet.md","lastUpdated":1705010189000}'),r={name:"developers/bubs-testnet.md"},i=o('

      Bubs testnet

      Bubs testnet

      Bubs Testnet is a fresh offering from Caldera with support from Celestia Labs, built with OP Stack and Celestia, and is dedicated to providing developers with an EVM-compatible execution layer to deploy their EVM applications on.

      Built with the OP Stack and Celestia

      The Bubs Testnet is a testnet rollup, a modified version of optimism-bedrock that uses Celestia as a data availability (DA) layer. This integration can be found in the @celestiaorg/optimism repository. The testnet is hosted by Caldera, who makes it easy to launch rollups with no code required.

      In this setup, data handling is accomplished in two ways. Firstly, data is written to the DA layer, in this case, Celestia (on the Arabica devnet). Then, the data commitment is written to the op-batcher. When reading, the op-node retrieves the data back from the DA layer by first reading the data commitment from the op-batcher, then reading the data from the DA layer using the data commitment. Hence, while previously op-node was reading from calldata on Ethereum, it now reads data from Celestia.

      The tools involved in the data handling process include op-batcher, which batches up rollup blocks and posts them to Ethereum, op-geth that handles execution, and op-proposer responsible for state commitment submission.

      By using Celestia as a DA layer, existing L2s can switch from posting their data as calldata on Ethereum to posting to Celestia. The commitment to the block is posted on Celestia, which is purpose-built for data availability. This is more scalable than the traditional method of posting this data as calldata on monolithic chains.

      Building on Bubs

      Bubs Testnet provides a robust environment for developers to test their Ethereum Virtual Machine (EVM) applications. It offers an EVM-compatible execution layer, making it an ideal platform for developers looking to build and test applications in a setting that closely mirrors an OP Stack rollup on Celestia.

      Learn more at bubstestnet.com.

      RPC URLs

      Remote Procedure Call (RPC) URLs are endpoints that allow developers to interact with the blockchain. They are essential for sending transactions, querying blockchain data, and performing other interactions with the blockchain.

      For the Bubs Testnet, you can connect to the following RPC URLs:

      HTTPS

      • https://bubs.calderachain.xyz/http

      WSS

      • wss://bubs.calderachain.xyz/ws

      This URL serves as the entry point to the Bubs Testnet. You can use it in your applications to connect to the testnet and interact with the smart contracts you deploy there.

      Remember, Bubs Testnet is a testing environment!

      Faucet

      To visit the Bubs testnet faucet, go to https://bubstestnet.com.

      Explorer

      To visit the explorer, go to https://explorer.bubstestnet.com/.

      Next steps

      Now that you have a better understanding of the Bubs Testnet and its integration of OP Stack and Celestia, you can start exploring its capabilities:

      ',27),n=[i];function l(h,c,d,p,b,u){return t(),a("div",null,n)}const g=e(r,[["render",l]]);export{f as __pageData,g as default}; diff --git a/pr-preview/pr-1358/assets/developers_bubs-testnet.md.5c2a062d.lean.js b/pr-preview/pr-1358/assets/developers_bubs-testnet.md.2bb39560.lean.js similarity index 91% rename from pr-preview/pr-1358/assets/developers_bubs-testnet.md.5c2a062d.lean.js rename to pr-preview/pr-1358/assets/developers_bubs-testnet.md.2bb39560.lean.js index 35e3c7e6ff..bfc482e8b6 100644 --- a/pr-preview/pr-1358/assets/developers_bubs-testnet.md.5c2a062d.lean.js +++ b/pr-preview/pr-1358/assets/developers_bubs-testnet.md.2bb39560.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const s="/pr-preview/pr-1358/img/Celestia_Bubs_Testnet.jpg",f=JSON.parse('{"title":"Bubs testnet","description":"The first testnet built with OP Stack and Celestia.","frontmatter":{"description":"The first testnet built with OP Stack and Celestia.","head":[["meta",{"name":"og:title","content":"Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/bubs-testnet.md","filePath":"developers/bubs-testnet.md","lastUpdated":1705009966000}'),r={name:"developers/bubs-testnet.md"},i=o("",27),n=[i];function l(h,c,d,p,b,u){return t(),a("div",null,n)}const g=e(r,[["render",l]]);export{f as __pageData,g as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const s="/pr-preview/pr-1358/img/Celestia_Bubs_Testnet.jpg",f=JSON.parse('{"title":"Bubs testnet","description":"The first testnet built with OP Stack and Celestia.","frontmatter":{"description":"The first testnet built with OP Stack and Celestia.","head":[["meta",{"name":"og:title","content":"Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/bubs-testnet.md","filePath":"developers/bubs-testnet.md","lastUpdated":1705010189000}'),r={name:"developers/bubs-testnet.md"},i=o("",27),n=[i];function l(h,c,d,p,b,u){return t(),a("div",null,n)}const g=e(r,[["render",l]]);export{f as __pageData,g as default}; diff --git a/pr-preview/pr-1358/assets/developers_build-modular.md.4d8f6fa4.js b/pr-preview/pr-1358/assets/developers_build-modular.md.eaad659b.js similarity index 98% rename from pr-preview/pr-1358/assets/developers_build-modular.md.4d8f6fa4.js rename to pr-preview/pr-1358/assets/developers_build-modular.md.eaad659b.js index 96f2fd7b00..131693d5b1 100644 --- a/pr-preview/pr-1358/assets/developers_build-modular.md.4d8f6fa4.js +++ b/pr-preview/pr-1358/assets/developers_build-modular.md.eaad659b.js @@ -1 +1 @@ -import{_ as e,o as a,c as o,Q as t}from"./chunks/framework.2263f03b.js";const i="/pr-preview/pr-1358/img/da-and-validity.png",f=JSON.parse('{"title":"Build modular","description":"Advantages of building on modular blockchains like Celestia.","frontmatter":{"description":"Advantages of building on modular blockchains like Celestia.","head":[["meta",{"name":"og:title","content":"Build modular | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/build-modular.md","filePath":"developers/build-modular.md","lastUpdated":1705009966000}'),r={name:"developers/build-modular.md"},l=t('

      Build modular

      “I’m a developer, and I want to know what the benefits of modular blockchains are for me!”

      You’ve come to the right place. This page will give you the rundown on modular blockchains and their benefits for developers like you.

      If you already know all this, skip to the end to get straight into building.

      What is a modular blockchain?

      With blockchains there are more or less four core functions that they do.

      • Execution: transaction execution and state update.
      • Settlement: finality and dispute resolution.
      • Consensus: agreement on transaction ordering.
      • Data availability: prove data was published to the network.

      Modular blockchains specialize in one or two of these functions rather than doing all of them like a monolithic blockchain. You probably know about layer 1s and layer 2s. That’s the general idea.

      A typical example of a modular blockchain you might’ve heard of is a rollup. Rollups host smart contracts and execute transactions, much like any monolithic chain. But, the data of those transactions get sent to a layer 1 blockchain to carry out the remaining functions.

      If you want to brush up on your understanding of modular blockchains, head over to learn modular.

      Ease of deploying a chain

      One of the goals of modular blockchains is to make it as easy to deploy a blockchain as a smart contract. There are a few unique ways that modular blockchains can significantly reduce the cost of deploying a new blockchain.

      1. No validator set is required. Rollups can deploy without sourcing their own set of validators or sequencers.
      2. Inherit security from the start. Rollups don’t need to build all their security from scratch.
      3. Any part of the stack can be delegated. Development time can be reduced by outsourcing functions of the rollup to external providers.

      All in all, builders will be able to outsource as much of the stack as they need. Deploying a new blockchain will be as simple as clicking a few options to initialize a production-ready rollup.

      Scaling

      Of course, a much higher scale is necessary if we want to support many more users. And modular blockchains use some new innovative technologies that can help us get there.

      • Data availability sampling enables modular blockchains like Celestia to scale data availability with the number of light nodes - that means more capacity for rollups.
      • Fraud and validity proofs make rollups vastly more efficient to verify. Nodes only need to verify a small proof of transaction validity (validity proof) or assume transactions are valid by default (fraud proof). This means rollups don’t require every node in the network to re-execute every transaction.

      image

      • Decoupling execution from consensus lets developers define the VM that best fits the scaling needs of their application.
      • Separating applications across multiple rollups isolates congestion. If an application congests the execution capacity of one rollup, all other rollups remain unaffected in their execution capacity.

      All these scaling properties combined make new types of applications and features possible, like onchain gaming, dynamic metadata, and ephemeral rollups, to name a few.

      Customizability

      By design, modular blockchains don’t lock in any feature set. They promote experimentation and customization.

      Remember how decoupling execution from consensus enables VM customizability? Well, rollups are the execution component. Applications can run on their own rollup and adjust the VM to maximize their application's performance. Developers have that flexibility because Celestia's execution logic doesn't restrict rollups.

      Basically, rollups can be customized to integrate any new or existing VM stack.

      With existing rollup frameworks, developers can run rollup testnets using the EVM or Cosmos SDK. In the future, one can imagine a variety of VMs that rollup frameworks support, providing developers with more out-of-the-box options for their applications.

      Some customizations that could be made to a rollup's VM include custom precompiles, changing transaction processing from sequential to parallel, or adding support for private smart contracts.

      All of this only scratches the surface.

      Building on Celestia

      So, you’re ready to start experimenting and building on Celestia? Here are a few options that are currently available for developers.

      Smart contracts

      Bubs testnet is a dedicated EVM-compatible rollup that developers can use to test and deploy smart contract applications.

      Sovereign rollups

      Developers can build applications on a sovereign rollup testnet on Celestia. Rollkit and Sovereign SDK provide frameworks for deploying sovereign rollup testnets on Celestia.

      Rollups

      Developers can also build rollup testnets for their applications using Dymension’s Rollapps or Optimism’s OP Stack.

      ',35),n=[l];function s(c,u,p,d,h,m){return a(),o("div",null,n)}const b=e(r,[["render",s]]);export{f as __pageData,b as default}; +import{_ as e,o as a,c as o,Q as t}from"./chunks/framework.2263f03b.js";const i="/pr-preview/pr-1358/img/da-and-validity.png",f=JSON.parse('{"title":"Build modular","description":"Advantages of building on modular blockchains like Celestia.","frontmatter":{"description":"Advantages of building on modular blockchains like Celestia.","head":[["meta",{"name":"og:title","content":"Build modular | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/build-modular.md","filePath":"developers/build-modular.md","lastUpdated":1705010189000}'),r={name:"developers/build-modular.md"},l=t('

      Build modular

      “I’m a developer, and I want to know what the benefits of modular blockchains are for me!”

      You’ve come to the right place. This page will give you the rundown on modular blockchains and their benefits for developers like you.

      If you already know all this, skip to the end to get straight into building.

      What is a modular blockchain?

      With blockchains there are more or less four core functions that they do.

      • Execution: transaction execution and state update.
      • Settlement: finality and dispute resolution.
      • Consensus: agreement on transaction ordering.
      • Data availability: prove data was published to the network.

      Modular blockchains specialize in one or two of these functions rather than doing all of them like a monolithic blockchain. You probably know about layer 1s and layer 2s. That’s the general idea.

      A typical example of a modular blockchain you might’ve heard of is a rollup. Rollups host smart contracts and execute transactions, much like any monolithic chain. But, the data of those transactions get sent to a layer 1 blockchain to carry out the remaining functions.

      If you want to brush up on your understanding of modular blockchains, head over to learn modular.

      Ease of deploying a chain

      One of the goals of modular blockchains is to make it as easy to deploy a blockchain as a smart contract. There are a few unique ways that modular blockchains can significantly reduce the cost of deploying a new blockchain.

      1. No validator set is required. Rollups can deploy without sourcing their own set of validators or sequencers.
      2. Inherit security from the start. Rollups don’t need to build all their security from scratch.
      3. Any part of the stack can be delegated. Development time can be reduced by outsourcing functions of the rollup to external providers.

      All in all, builders will be able to outsource as much of the stack as they need. Deploying a new blockchain will be as simple as clicking a few options to initialize a production-ready rollup.

      Scaling

      Of course, a much higher scale is necessary if we want to support many more users. And modular blockchains use some new innovative technologies that can help us get there.

      • Data availability sampling enables modular blockchains like Celestia to scale data availability with the number of light nodes - that means more capacity for rollups.
      • Fraud and validity proofs make rollups vastly more efficient to verify. Nodes only need to verify a small proof of transaction validity (validity proof) or assume transactions are valid by default (fraud proof). This means rollups don’t require every node in the network to re-execute every transaction.

      image

      • Decoupling execution from consensus lets developers define the VM that best fits the scaling needs of their application.
      • Separating applications across multiple rollups isolates congestion. If an application congests the execution capacity of one rollup, all other rollups remain unaffected in their execution capacity.

      All these scaling properties combined make new types of applications and features possible, like onchain gaming, dynamic metadata, and ephemeral rollups, to name a few.

      Customizability

      By design, modular blockchains don’t lock in any feature set. They promote experimentation and customization.

      Remember how decoupling execution from consensus enables VM customizability? Well, rollups are the execution component. Applications can run on their own rollup and adjust the VM to maximize their application's performance. Developers have that flexibility because Celestia's execution logic doesn't restrict rollups.

      Basically, rollups can be customized to integrate any new or existing VM stack.

      With existing rollup frameworks, developers can run rollup testnets using the EVM or Cosmos SDK. In the future, one can imagine a variety of VMs that rollup frameworks support, providing developers with more out-of-the-box options for their applications.

      Some customizations that could be made to a rollup's VM include custom precompiles, changing transaction processing from sequential to parallel, or adding support for private smart contracts.

      All of this only scratches the surface.

      Building on Celestia

      So, you’re ready to start experimenting and building on Celestia? Here are a few options that are currently available for developers.

      Smart contracts

      Bubs testnet is a dedicated EVM-compatible rollup that developers can use to test and deploy smart contract applications.

      Sovereign rollups

      Developers can build applications on a sovereign rollup testnet on Celestia. Rollkit and Sovereign SDK provide frameworks for deploying sovereign rollup testnets on Celestia.

      Rollups

      Developers can also build rollup testnets for their applications using Dymension’s Rollapps or Optimism’s OP Stack.

      ',35),n=[l];function s(c,u,p,d,h,m){return a(),o("div",null,n)}const b=e(r,[["render",s]]);export{f as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/developers_build-modular.md.4d8f6fa4.lean.js b/pr-preview/pr-1358/assets/developers_build-modular.md.eaad659b.lean.js similarity index 83% rename from pr-preview/pr-1358/assets/developers_build-modular.md.4d8f6fa4.lean.js rename to pr-preview/pr-1358/assets/developers_build-modular.md.eaad659b.lean.js index fe19924c43..0ba3143402 100644 --- a/pr-preview/pr-1358/assets/developers_build-modular.md.4d8f6fa4.lean.js +++ b/pr-preview/pr-1358/assets/developers_build-modular.md.eaad659b.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as o,Q as t}from"./chunks/framework.2263f03b.js";const i="/pr-preview/pr-1358/img/da-and-validity.png",f=JSON.parse('{"title":"Build modular","description":"Advantages of building on modular blockchains like Celestia.","frontmatter":{"description":"Advantages of building on modular blockchains like Celestia.","head":[["meta",{"name":"og:title","content":"Build modular | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/build-modular.md","filePath":"developers/build-modular.md","lastUpdated":1705009966000}'),r={name:"developers/build-modular.md"},l=t("",35),n=[l];function s(c,u,p,d,h,m){return a(),o("div",null,n)}const b=e(r,[["render",s]]);export{f as __pageData,b as default}; +import{_ as e,o as a,c as o,Q as t}from"./chunks/framework.2263f03b.js";const i="/pr-preview/pr-1358/img/da-and-validity.png",f=JSON.parse('{"title":"Build modular","description":"Advantages of building on modular blockchains like Celestia.","frontmatter":{"description":"Advantages of building on modular blockchains like Celestia.","head":[["meta",{"name":"og:title","content":"Build modular | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/build-modular.md","filePath":"developers/build-modular.md","lastUpdated":1705010189000}'),r={name:"developers/build-modular.md"},l=t("",35),n=[l];function s(c,u,p,d,h,m){return a(),o("div",null,n)}const b=e(r,[["render",s]]);export{f as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.b8ddb0f0.js b/pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.d378eb7e.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.b8ddb0f0.js rename to pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.d378eb7e.js index f498df2194..a035ad2ffe 100644 --- a/pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.b8ddb0f0.js +++ b/pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.d378eb7e.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"How to create a vesting account with celestia-app","description":"Learn how to generate a vesting account using celestia-app.","frontmatter":{"description":"Learn how to generate a vesting account using celestia-app.","head":[["meta",{"name":"og:title","content":"How to create a vesting account with celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-app-vesting.md","filePath":"developers/celestia-app-vesting.md","lastUpdated":1705009966000}'),l={name:"developers/celestia-app-vesting.md"},p=o(`

      How to create a vesting account with celestia-app

      In this guide, we will learn how to create a vesting account using celestia-app for both a local devnet and on Mocha testnet.

      note

      The instructions for this tutorial are for a continuous vesting account, if you'd like to make a delayed vesting account, just add the --delayed flag to your vesting transaction.

      Local devnet

      First, download and install celestia-app, selecting the network and corresponding version that you would like to use.

      Setting up the local devnet

      Run the devnet

      Next, change into the $HOME/celestia-app directory and run the single-node-devnet script.

      bash
      cd $HOME/celestia-app
      +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"How to create a vesting account with celestia-app","description":"Learn how to generate a vesting account using celestia-app.","frontmatter":{"description":"Learn how to generate a vesting account using celestia-app.","head":[["meta",{"name":"og:title","content":"How to create a vesting account with celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-app-vesting.md","filePath":"developers/celestia-app-vesting.md","lastUpdated":1705010189000}'),l={name:"developers/celestia-app-vesting.md"},p=o(`

      How to create a vesting account with celestia-app

      In this guide, we will learn how to create a vesting account using celestia-app for both a local devnet and on Mocha testnet.

      note

      The instructions for this tutorial are for a continuous vesting account, if you'd like to make a delayed vesting account, just add the --delayed flag to your vesting transaction.

      Local devnet

      First, download and install celestia-app, selecting the network and corresponding version that you would like to use.

      Setting up the local devnet

      Run the devnet

      Next, change into the $HOME/celestia-app directory and run the single-node-devnet script.

      bash
      cd $HOME/celestia-app
       ./scripts/build-run-single-node.sh
      cd $HOME/celestia-app
       ./scripts/build-run-single-node.sh

      Save the home directory path

      At the top of the output, you will see a path to the "Home directory", find yours from the output (it will be unique every time):

      bash
      ./scripts/build-run-single-node.sh
       Home directory: /var/folders/_8/ljj6hspn0kn09qf9fy8kdyh40000gn/T/celestia_app_XXXXXXXXXXXXX.XV92a3qx
      diff --git a/pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.b8ddb0f0.lean.js b/pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.d378eb7e.lean.js
      similarity index 92%
      rename from pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.b8ddb0f0.lean.js
      rename to pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.d378eb7e.lean.js
      index 9b957435b9..0464b90f89 100644
      --- a/pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.b8ddb0f0.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_celestia-app-vesting.md.d378eb7e.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"How to create a vesting account with celestia-app","description":"Learn how to generate a vesting account using celestia-app.","frontmatter":{"description":"Learn how to generate a vesting account using celestia-app.","head":[["meta",{"name":"og:title","content":"How to create a vesting account with celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-app-vesting.md","filePath":"developers/celestia-app-vesting.md","lastUpdated":1705009966000}'),l={name:"developers/celestia-app-vesting.md"},p=o("",98),e=[p];function t(c,r,y,E,i,F){return a(),n("div",null,e)}const h=s(l,[["render",t]]);export{u as __pageData,h as default};
      +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"How to create a vesting account with celestia-app","description":"Learn how to generate a vesting account using celestia-app.","frontmatter":{"description":"Learn how to generate a vesting account using celestia-app.","head":[["meta",{"name":"og:title","content":"How to create a vesting account with celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-app-vesting.md","filePath":"developers/celestia-app-vesting.md","lastUpdated":1705010189000}'),l={name:"developers/celestia-app-vesting.md"},p=o("",98),e=[p];function t(c,r,y,E,i,F){return a(),n("div",null,e)}const h=s(l,[["render",t]]);export{u as __pageData,h as default};
      diff --git a/pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.fb60b2b9.js b/pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.3ebd02ee.js
      similarity index 99%
      rename from pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.fb60b2b9.js
      rename to pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.3ebd02ee.js
      index e959706e0f..b1340a7ae7 100644
      --- a/pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.fb60b2b9.js
      +++ b/pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.3ebd02ee.js
      @@ -1,3 +1,3 @@
      -import{_ as a,o as e,c as s,Q as t}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Create a wallet with celestia-app","description":"Learn how to generate a Celestia wallet using celestia-app.","frontmatter":{"description":"Learn how to generate a Celestia wallet using celestia-app.","prev":{"text":"Deploy an OP Stack devnet to Celestia","link":"/developers/optimism"},"head":[["meta",{"name":"og:title","content":"Create a wallet with celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-app-wallet.md","filePath":"developers/celestia-app-wallet.md","lastUpdated":1705009966000}'),l={name:"developers/celestia-app-wallet.md"},o=t(`

      Create a wallet with celestia-app

      For this guide, we will go over how you can generate a Celestia wallet using celestia-app.

      Prerequisites

      Note, you do not need to install celestia-node for this tutorial.

      Create a wallet

      First, create an application CLI configuration file:

      sh
      celestia-appd config keyring-backend test
      celestia-appd config keyring-backend test

      You can pick whatever wallet name you want. For our example we used "validator" as the wallet name:

      sh
      celestia-appd keys add validator --interactive
      celestia-appd keys add validator --interactive

      Save the mnemonic output as this is the only way to recover your validator wallet in case you lose it!

      To check all your wallets you can run:

      sh
      celestia-appd keys list
      celestia-appd keys list

      Fund a wallet

      For the public celestia address, you can fund the previously created wallet via Discord by sending this message to either the #mocha-faucet or #arabica-faucet channel:

      text
      $request celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      $request celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      Wait to see if you get a confirmation that the tokens have been successfully sent. To check if tokens have arrived successfully to the destination wallet run the command below replacing the public address with your own:

      sh
      celestia-appd start
      +import{_ as a,o as e,c as s,Q as t}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Create a wallet with celestia-app","description":"Learn how to generate a Celestia wallet using celestia-app.","frontmatter":{"description":"Learn how to generate a Celestia wallet using celestia-app.","prev":{"text":"Deploy an OP Stack devnet to Celestia","link":"/developers/optimism"},"head":[["meta",{"name":"og:title","content":"Create a wallet with celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-app-wallet.md","filePath":"developers/celestia-app-wallet.md","lastUpdated":1705010189000}'),l={name:"developers/celestia-app-wallet.md"},o=t(`

      Create a wallet with celestia-app

      For this guide, we will go over how you can generate a Celestia wallet using celestia-app.

      Prerequisites

      Note, you do not need to install celestia-node for this tutorial.

      Create a wallet

      First, create an application CLI configuration file:

      sh
      celestia-appd config keyring-backend test
      celestia-appd config keyring-backend test

      You can pick whatever wallet name you want. For our example we used "validator" as the wallet name:

      sh
      celestia-appd keys add validator --interactive
      celestia-appd keys add validator --interactive

      Save the mnemonic output as this is the only way to recover your validator wallet in case you lose it!

      To check all your wallets you can run:

      sh
      celestia-appd keys list
      celestia-appd keys list

      Fund a wallet

      For the public celestia address, you can fund the previously created wallet via Discord by sending this message to either the #mocha-faucet or #arabica-faucet channel:

      text
      $request celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      $request celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      Wait to see if you get a confirmation that the tokens have been successfully sent. To check if tokens have arrived successfully to the destination wallet run the command below replacing the public address with your own:

      sh
      celestia-appd start
       celestia-appd query bank balances celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      celestia-appd start
       celestia-appd query bank balances celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      TIP

      Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

      `,19),p=[o];function n(c,r,i,x,d,h){return e(),s("div",null,p)}const E=a(l,[["render",n]]);export{u as __pageData,E as default}; diff --git a/pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.fb60b2b9.lean.js b/pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.3ebd02ee.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.fb60b2b9.lean.js rename to pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.3ebd02ee.lean.js index d4e3886460..c0bec9d9be 100644 --- a/pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.fb60b2b9.lean.js +++ b/pr-preview/pr-1358/assets/developers_celestia-app-wallet.md.3ebd02ee.lean.js @@ -1 +1 @@ -import{_ as a,o as e,c as s,Q as t}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Create a wallet with celestia-app","description":"Learn how to generate a Celestia wallet using celestia-app.","frontmatter":{"description":"Learn how to generate a Celestia wallet using celestia-app.","prev":{"text":"Deploy an OP Stack devnet to Celestia","link":"/developers/optimism"},"head":[["meta",{"name":"og:title","content":"Create a wallet with celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-app-wallet.md","filePath":"developers/celestia-app-wallet.md","lastUpdated":1705009966000}'),l={name:"developers/celestia-app-wallet.md"},o=t("",19),p=[o];function n(c,r,i,x,d,h){return e(),s("div",null,p)}const E=a(l,[["render",n]]);export{u as __pageData,E as default}; +import{_ as a,o as e,c as s,Q as t}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Create a wallet with celestia-app","description":"Learn how to generate a Celestia wallet using celestia-app.","frontmatter":{"description":"Learn how to generate a Celestia wallet using celestia-app.","prev":{"text":"Deploy an OP Stack devnet to Celestia","link":"/developers/optimism"},"head":[["meta",{"name":"og:title","content":"Create a wallet with celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-app-wallet.md","filePath":"developers/celestia-app-wallet.md","lastUpdated":1705010189000}'),l={name:"developers/celestia-app-wallet.md"},o=t("",19),p=[o];function n(c,r,i,x,d,h){return e(),s("div",null,p)}const E=a(l,[["render",n]]);export{u as __pageData,E as default}; diff --git a/pr-preview/pr-1358/assets/developers_celestia-node-key.md.aed961c9.js b/pr-preview/pr-1358/assets/developers_celestia-node-key.md.759edb88.js similarity index 98% rename from pr-preview/pr-1358/assets/developers_celestia-node-key.md.aed961c9.js rename to pr-preview/pr-1358/assets/developers_celestia-node-key.md.759edb88.js index 4cb6928c39..24664ff702 100644 --- a/pr-preview/pr-1358/assets/developers_celestia-node-key.md.aed961c9.js +++ b/pr-preview/pr-1358/assets/developers_celestia-node-key.md.759edb88.js @@ -4,19 +4,19 @@ import{m as o}from"./chunks/mocha_versions.7e950c54.js";import{o as p,c as t,k a make cel-key
      # dumps binary in current working directory, accessible via \`./cel-key\`
       make cel-key

      or

      sh
      # installs binary in GOBIN path, accessible via \`cel-key\`
       make install-key
      # installs binary in GOBIN path, accessible via \`cel-key\`
      -make install-key

      For the purpose of this guide, we will use the make cel-key command.

      Steps for generating node keys

      To generate a key for a Celestia node, select the tab for your node type:

      TIP

      You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

      bash
      ./cel-key add <key-name> --keyring-backend test --node.type bridge \\
      +make install-key

      For the purpose of this guide, we will use the make cel-key command.

      Steps for generating node keys

      To generate a key for a Celestia node, select the tab for your node type:

      TIP

      You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

      bash
      ./cel-key add <key-name> --keyring-backend test --node.type bridge \\
         --p2p.network <network>
      ./cel-key add <key-name> --keyring-backend test --node.type bridge \\
         --p2p.network <network>
      bash
      ./cel-key add <key-name> --keyring-backend test --node.type full \\
         --p2p.network <network>
      ./cel-key add <key-name> --keyring-backend test --node.type full \\
         --p2p.network <network>
      bash
      ./cel-key add <key-name> --keyring-backend test --node.type light \\
         --p2p.network <network>
      ./cel-key add <key-name> --keyring-backend test --node.type light \\
      -  --p2p.network <network>

      This will load the key <key-name> into the directory of the node.

      Further flags you can use to customize your key are the following:

      • --node.store: Specifies a different directory you can use to save your node data and configurations. Expects a path to a directory.
      • --p2p.network: Specifies which network you want the key for. Values are arabica and mocha. Please note the default network will be mocha.

      Keep in mind that your celestia-node will only pick up keys that are inside the node.store directory under /keys so you should make sure to point cel-key utility to the correct directory via the node.store or p2p.network flags if you have specified a custom directory or network other than Mocha.

      Also keep in mind that if you do not specify a network with --p2p.network, the default one will always be mocha.

      Steps for exporting node keys

      You can export a private key from the local keyring in encrypted and ASCII-armored format.

      bash
      ./cel-key export <key-name> --keyring-backend test --node.type bridge \\
      +  --p2p.network <network>

      This will load the key <key-name> into the directory of the node.

      Further flags you can use to customize your key are the following:

      • --node.store: Specifies a different directory you can use to save your node data and configurations. Expects a path to a directory.
      • --p2p.network: Specifies which network you want the key for. Values are arabica and mocha. Please note the default network will be mocha.

      Keep in mind that your celestia-node will only pick up keys that are inside the node.store directory under /keys so you should make sure to point cel-key utility to the correct directory via the node.store or p2p.network flags if you have specified a custom directory or network other than Mocha.

      Also keep in mind that if you do not specify a network with --p2p.network, the default one will always be mocha.

      Steps for exporting node keys

      You can export a private key from the local keyring in encrypted and ASCII-armored format.

      bash
      ./cel-key export <key-name> --keyring-backend test --node.type bridge \\
         --p2p.network <network>
      ./cel-key export <key-name> --keyring-backend test --node.type bridge \\
         --p2p.network <network>
      bash
      ./cel-key export <key-name> --keyring-backend test --node.type full \\
         --p2p.network <network>
      ./cel-key export <key-name> --keyring-backend test --node.type full \\
         --p2p.network <network>
      bash
      ./cel-key export <key-name> --keyring-backend test --node.type light \\
         --p2p.network <network>
      ./cel-key export <key-name> --keyring-backend test --node.type light \\
      -  --p2p.network <network>

      Steps for importing node keys

      To import from a mnemonic, use the following command, then enter your bip39 mnemonic:

      bash
      ./cel-key add <key-name> --recover --keyring-backend test \\
      +  --p2p.network <network>

      Steps for importing node keys

      To import from a mnemonic, use the following command, then enter your bip39 mnemonic:

      bash
      ./cel-key add <key-name> --recover --keyring-backend test \\
         --node.type bridge --p2p.network <network>
      ./cel-key add <key-name> --recover --keyring-backend test \\
         --node.type bridge --p2p.network <network>
      bash
      ./cel-key add <key-name> --recover --keyring-backend test \\
         --node.type full --p2p.network <network>
      ./cel-key add <key-name> --recover --keyring-backend test \\
      @@ -56,7 +56,7 @@ import{m as o}from"./chunks/mocha_versions.7e950c54.js";import{o as p,c as t,k a
       - address: celestia1wkhyhr7ngf0ayqlpnsnxg4d72hfs5453dvunm9
         name: my_celes_key
         pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A1/NsoY0RGL7Hqt4VWLg441GQKJsZ2fBUnZXipgns8oV"}'
      -  type: local
      `,24),S=JSON.parse('{"title":"Create a wallet with celestia-node","description":"Use the cel-key utility to generate a wallet on celestia-node.","frontmatter":{"description":"Use the cel-key utility to generate a wallet on celestia-node.","head":[["meta",{"name":"og:title","content":"Create a wallet with celestia-node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-node-key.md","filePath":"developers/celestia-node-key.md","lastUpdated":1705009966000}'),w={name:"developers/celestia-node-key.md"},P=Object.assign(w,{setup(f){return(A,D)=>(p(),t("div",null,[c,s("div",r,[y,i,s("pre",E,[s("code",null,[d,n(` + type: local
      `,24),S=JSON.parse('{"title":"Create a wallet with celestia-node","description":"Use the cel-key utility to generate a wallet on celestia-node.","frontmatter":{"description":"Use the cel-key utility to generate a wallet on celestia-node.","head":[["meta",{"name":"og:title","content":"Create a wallet with celestia-node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-node-key.md","filePath":"developers/celestia-node-key.md","lastUpdated":1705010189000}'),w={name:"developers/celestia-node-key.md"},P=Object.assign(w,{setup(f){return(A,D)=>(p(),t("div",null,[c,s("div",r,[y,i,s("pre",E,[s("code",null,[d,n(` `),s("span",F,[s("span",h,"ghcr.io/celestiaorg/celestia-node:"+l(e(o)["node-latest-tag"])+" ",1),g]),n(` `),k])]),s("pre",u,[s("code",null,[C,n(` `),s("span",b,[s("span",v,"ghcr.io/celestiaorg/celestia-node:"+l(e(o)["node-latest-tag"])+" ",1),m]),n(` diff --git a/pr-preview/pr-1358/assets/developers_celestia-node-key.md.aed961c9.lean.js b/pr-preview/pr-1358/assets/developers_celestia-node-key.md.759edb88.lean.js similarity index 95% rename from pr-preview/pr-1358/assets/developers_celestia-node-key.md.aed961c9.lean.js rename to pr-preview/pr-1358/assets/developers_celestia-node-key.md.759edb88.lean.js index f21f39f2ac..c5dc76f0a6 100644 --- a/pr-preview/pr-1358/assets/developers_celestia-node-key.md.aed961c9.lean.js +++ b/pr-preview/pr-1358/assets/developers_celestia-node-key.md.759edb88.lean.js @@ -1,4 +1,4 @@ -import{m as o}from"./chunks/mocha_versions.7e950c54.js";import{o as p,c as t,k as s,a as n,t as l,l as e,Q as a}from"./chunks/framework.2263f03b.js";const c=a("",37),r={class:"language-bash vp-adaptive-theme"},y=s("button",{title:"Copy Code",class:"copy"},null,-1),i=s("span",{class:"lang"},"bash",-1),E={class:"shiki github-dark vp-code-dark"},d=a("",1),F={class:"line"},h={style:{color:"#E1E4E8"}},g=a("",7),k=a("",1),u={class:"shiki github-light vp-code-light"},C=a("",1),b={class:"line"},v={style:{color:"#24292E"}},m=a("",7),B=a("",1),_=a("",24),S=JSON.parse('{"title":"Create a wallet with celestia-node","description":"Use the cel-key utility to generate a wallet on celestia-node.","frontmatter":{"description":"Use the cel-key utility to generate a wallet on celestia-node.","head":[["meta",{"name":"og:title","content":"Create a wallet with celestia-node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-node-key.md","filePath":"developers/celestia-node-key.md","lastUpdated":1705009966000}'),w={name:"developers/celestia-node-key.md"},P=Object.assign(w,{setup(f){return(A,D)=>(p(),t("div",null,[c,s("div",r,[y,i,s("pre",E,[s("code",null,[d,n(` +import{m as o}from"./chunks/mocha_versions.7e950c54.js";import{o as p,c as t,k as s,a as n,t as l,l as e,Q as a}from"./chunks/framework.2263f03b.js";const c=a("",37),r={class:"language-bash vp-adaptive-theme"},y=s("button",{title:"Copy Code",class:"copy"},null,-1),i=s("span",{class:"lang"},"bash",-1),E={class:"shiki github-dark vp-code-dark"},d=a("",1),F={class:"line"},h={style:{color:"#E1E4E8"}},g=a("",7),k=a("",1),u={class:"shiki github-light vp-code-light"},C=a("",1),b={class:"line"},v={style:{color:"#24292E"}},m=a("",7),B=a("",1),_=a("",24),S=JSON.parse('{"title":"Create a wallet with celestia-node","description":"Use the cel-key utility to generate a wallet on celestia-node.","frontmatter":{"description":"Use the cel-key utility to generate a wallet on celestia-node.","head":[["meta",{"name":"og:title","content":"Create a wallet with celestia-node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/celestia-node-key.md","filePath":"developers/celestia-node-key.md","lastUpdated":1705010189000}'),w={name:"developers/celestia-node-key.md"},P=Object.assign(w,{setup(f){return(A,D)=>(p(),t("div",null,[c,s("div",r,[y,i,s("pre",E,[s("code",null,[d,n(` `),s("span",F,[s("span",h,"ghcr.io/celestiaorg/celestia-node:"+l(e(o)["node-latest-tag"])+" ",1),g]),n(` `),k])]),s("pre",u,[s("code",null,[C,n(` `),s("span",b,[s("span",v,"ghcr.io/celestiaorg/celestia-node:"+l(e(o)["node-latest-tag"])+" ",1),m]),n(` diff --git a/pr-preview/pr-1358/assets/developers_cosmostation.md.a9bf8ade.js b/pr-preview/pr-1358/assets/developers_cosmostation.md.c4d22c75.js similarity index 98% rename from pr-preview/pr-1358/assets/developers_cosmostation.md.a9bf8ade.js rename to pr-preview/pr-1358/assets/developers_cosmostation.md.c4d22c75.js index a4b85906cf..c55231d5fe 100644 --- a/pr-preview/pr-1358/assets/developers_cosmostation.md.a9bf8ade.js +++ b/pr-preview/pr-1358/assets/developers_cosmostation.md.c4d22c75.js @@ -1 +1 @@ -import{c as t}from"./chunks/constants.d0f43632.js";import{o,c as a,k as e,t as s,l as i,a as n,Q as l}from"./chunks/framework.2263f03b.js";const r=e("h1",{id:"cosmostation-integration-with-celestia",tabindex:"-1"},[n("Cosmostation integration with Celestia "),e("a",{class:"header-anchor",href:"#cosmostation-integration-with-celestia","aria-label":'Permalink to "Cosmostation integration with Celestia"'},"​")],-1),c=e("p",null,"This guide will go over how you can add Celestia network parameters to Cosmostation wallet.",-1),d=l('

      Install Cosmostation

      Cosmostation is a popular Cosmos-based wallet that allows anyone to connect to Cosmos chains from their browser or phone.

      You can learn more and download Cosmostation on the Cosmostation site.

      Alternatively, you can download and install the Chrome extension directly.

      Add Celestia network parameters

      Click the hamburger menu icon in the top corner of Cosmostation wallet. Scroll down and click "Add Custom Chain"

      You can then add the following parameters:

      • Custom Chain name: Mocha testnet
      • Rest URL: https://api-mocha.pops.one
      • New RPC URL: https://rpc-mocha.pops.one
      • Currency symbol: TIA
      • Address prefix: celestia
      • Demon: utia
      • Symbol image URL (optional): https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/celestiatestnet/images/celestia.svg
      • Explorer URL (optional): https://testnet.mintscan.io/celestia-testnet
      • Coin Type: 118
      • Decimals: 6
      • Gas rate Tiny: 0.1
      • Gas rate Low: 0.25
      • Gas rate Average: 0.5

      Now, click Add a custom chain and you will be able to view your Celestia account balance and transactions in Cosmostation wallet.

      Switch chains to "Mocha testnet" and you'll see that you're connected to Celestia's Mocha testnet!

      ',10),_=JSON.parse('{"title":"Cosmostation integration with Celestia","description":"How you can add Celestia network parameters to Cosmostation wallet.","frontmatter":{"description":"How you can add Celestia network parameters to Cosmostation wallet.","prev":{"text":"Integrating Leap for developers","link":"/developers/leap"},"next":{"text":"Integrate Celestia for service providers","link":"/developers/integrate-celestia"},"head":[["meta",{"name":"og:title","content":"Cosmostation integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/cosmostation.md","filePath":"developers/cosmostation.md","lastUpdated":1705009966000}'),m={name:"developers/cosmostation.md"},g=Object.assign(m,{setup(p){return(h,u)=>(o(),a("div",null,[r,c,e("p",null,"The example in this guide is for "+s(i(t).mochaChainId)+" testnet, and the same workflow can be used for any Celestia network.",1),d]))}});export{_ as __pageData,g as default}; +import{c as t}from"./chunks/constants.d0f43632.js";import{o,c as a,k as e,t as s,l as i,a as n,Q as l}from"./chunks/framework.2263f03b.js";const r=e("h1",{id:"cosmostation-integration-with-celestia",tabindex:"-1"},[n("Cosmostation integration with Celestia "),e("a",{class:"header-anchor",href:"#cosmostation-integration-with-celestia","aria-label":'Permalink to "Cosmostation integration with Celestia"'},"​")],-1),c=e("p",null,"This guide will go over how you can add Celestia network parameters to Cosmostation wallet.",-1),d=l('

      Install Cosmostation

      Cosmostation is a popular Cosmos-based wallet that allows anyone to connect to Cosmos chains from their browser or phone.

      You can learn more and download Cosmostation on the Cosmostation site.

      Alternatively, you can download and install the Chrome extension directly.

      Add Celestia network parameters

      Click the hamburger menu icon in the top corner of Cosmostation wallet. Scroll down and click "Add Custom Chain"

      You can then add the following parameters:

      • Custom Chain name: Mocha testnet
      • Rest URL: https://api-mocha.pops.one
      • New RPC URL: https://rpc-mocha.pops.one
      • Currency symbol: TIA
      • Address prefix: celestia
      • Demon: utia
      • Symbol image URL (optional): https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/celestiatestnet/images/celestia.svg
      • Explorer URL (optional): https://testnet.mintscan.io/celestia-testnet
      • Coin Type: 118
      • Decimals: 6
      • Gas rate Tiny: 0.1
      • Gas rate Low: 0.25
      • Gas rate Average: 0.5

      Now, click Add a custom chain and you will be able to view your Celestia account balance and transactions in Cosmostation wallet.

      Switch chains to "Mocha testnet" and you'll see that you're connected to Celestia's Mocha testnet!

      ',10),_=JSON.parse('{"title":"Cosmostation integration with Celestia","description":"How you can add Celestia network parameters to Cosmostation wallet.","frontmatter":{"description":"How you can add Celestia network parameters to Cosmostation wallet.","prev":{"text":"Integrating Leap for developers","link":"/developers/leap"},"next":{"text":"Integrate Celestia for service providers","link":"/developers/integrate-celestia"},"head":[["meta",{"name":"og:title","content":"Cosmostation integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/cosmostation.md","filePath":"developers/cosmostation.md","lastUpdated":1705010189000}'),m={name:"developers/cosmostation.md"},g=Object.assign(m,{setup(p){return(h,u)=>(o(),a("div",null,[r,c,e("p",null,"The example in this guide is for "+s(i(t).mochaChainId)+" testnet, and the same workflow can be used for any Celestia network.",1),d]))}});export{_ as __pageData,g as default}; diff --git a/pr-preview/pr-1358/assets/developers_cosmostation.md.a9bf8ade.lean.js b/pr-preview/pr-1358/assets/developers_cosmostation.md.c4d22c75.lean.js similarity index 95% rename from pr-preview/pr-1358/assets/developers_cosmostation.md.a9bf8ade.lean.js rename to pr-preview/pr-1358/assets/developers_cosmostation.md.c4d22c75.lean.js index 1aad0dafa9..36841ca2a2 100644 --- a/pr-preview/pr-1358/assets/developers_cosmostation.md.a9bf8ade.lean.js +++ b/pr-preview/pr-1358/assets/developers_cosmostation.md.c4d22c75.lean.js @@ -1 +1 @@ -import{c as t}from"./chunks/constants.d0f43632.js";import{o,c as a,k as e,t as s,l as i,a as n,Q as l}from"./chunks/framework.2263f03b.js";const r=e("h1",{id:"cosmostation-integration-with-celestia",tabindex:"-1"},[n("Cosmostation integration with Celestia "),e("a",{class:"header-anchor",href:"#cosmostation-integration-with-celestia","aria-label":'Permalink to "Cosmostation integration with Celestia"'},"​")],-1),c=e("p",null,"This guide will go over how you can add Celestia network parameters to Cosmostation wallet.",-1),d=l("",10),_=JSON.parse('{"title":"Cosmostation integration with Celestia","description":"How you can add Celestia network parameters to Cosmostation wallet.","frontmatter":{"description":"How you can add Celestia network parameters to Cosmostation wallet.","prev":{"text":"Integrating Leap for developers","link":"/developers/leap"},"next":{"text":"Integrate Celestia for service providers","link":"/developers/integrate-celestia"},"head":[["meta",{"name":"og:title","content":"Cosmostation integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/cosmostation.md","filePath":"developers/cosmostation.md","lastUpdated":1705009966000}'),m={name:"developers/cosmostation.md"},g=Object.assign(m,{setup(p){return(h,u)=>(o(),a("div",null,[r,c,e("p",null,"The example in this guide is for "+s(i(t).mochaChainId)+" testnet, and the same workflow can be used for any Celestia network.",1),d]))}});export{_ as __pageData,g as default}; +import{c as t}from"./chunks/constants.d0f43632.js";import{o,c as a,k as e,t as s,l as i,a as n,Q as l}from"./chunks/framework.2263f03b.js";const r=e("h1",{id:"cosmostation-integration-with-celestia",tabindex:"-1"},[n("Cosmostation integration with Celestia "),e("a",{class:"header-anchor",href:"#cosmostation-integration-with-celestia","aria-label":'Permalink to "Cosmostation integration with Celestia"'},"​")],-1),c=e("p",null,"This guide will go over how you can add Celestia network parameters to Cosmostation wallet.",-1),d=l("",10),_=JSON.parse('{"title":"Cosmostation integration with Celestia","description":"How you can add Celestia network parameters to Cosmostation wallet.","frontmatter":{"description":"How you can add Celestia network parameters to Cosmostation wallet.","prev":{"text":"Integrating Leap for developers","link":"/developers/leap"},"next":{"text":"Integrate Celestia for service providers","link":"/developers/integrate-celestia"},"head":[["meta",{"name":"og:title","content":"Cosmostation integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/cosmostation.md","filePath":"developers/cosmostation.md","lastUpdated":1705010189000}'),m={name:"developers/cosmostation.md"},g=Object.assign(m,{setup(p){return(h,u)=>(o(),a("div",null,[r,c,e("p",null,"The example in this guide is for "+s(i(t).mochaChainId)+" testnet, and the same workflow can be used for any Celestia network.",1),d]))}});export{_ as __pageData,g as default}; diff --git a/pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.c815f33d.js b/pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.98e400d5.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.c815f33d.js rename to pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.98e400d5.js index 0da4a9d653..64059c6fb3 100644 --- a/pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.c815f33d.js +++ b/pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.98e400d5.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy a smart contract on Bubs testnet","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Deploy a smart contract on Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/deploy-on-bubs.md","filePath":"developers/deploy-on-bubs.md","lastUpdated":1705009966000}'),p={name:"developers/deploy-on-bubs.md"},o=l(`

      Deploy a smart contract on Bubs testnet

      In this tutorial, we will deploy a smart contract to the Bubs testnet.

      Dependencies

      Setup

      First, in your $HOME directory, set up a new project folder for this tutorial and init the project with npm:

      bash
      cd $HOME
      +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy a smart contract on Bubs testnet","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Deploy a smart contract on Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/deploy-on-bubs.md","filePath":"developers/deploy-on-bubs.md","lastUpdated":1705010189000}'),p={name:"developers/deploy-on-bubs.md"},o=l(`

      Deploy a smart contract on Bubs testnet

      In this tutorial, we will deploy a smart contract to the Bubs testnet.

      Dependencies

      Setup

      First, in your $HOME directory, set up a new project folder for this tutorial and init the project with npm:

      bash
      cd $HOME
       mkdir counter-project && cd counter-project && npm init -y
      cd $HOME
       mkdir counter-project && cd counter-project && npm init -y

      Next, initialize a Foundry project with the following command:

      bash
      forge init counter_contract
      forge init counter_contract

      Create your smart contract

      Take a look at the Counter.sol file in your counter-project/counter_contract/src directory:

      solidity
      // SPDX-License-Identifier: UNLICENSED
       pragma solidity ^0.8.13;
      diff --git a/pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.c815f33d.lean.js b/pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.98e400d5.lean.js
      similarity index 79%
      rename from pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.c815f33d.lean.js
      rename to pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.98e400d5.lean.js
      index 5925234ff5..743b8c0fa9 100644
      --- a/pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.c815f33d.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_deploy-on-bubs.md.98e400d5.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy a smart contract on Bubs testnet","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Deploy a smart contract on Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/deploy-on-bubs.md","filePath":"developers/deploy-on-bubs.md","lastUpdated":1705009966000}'),p={name:"developers/deploy-on-bubs.md"},o=l("",61),e=[o];function t(c,r,i,y,E,d){return a(),n("div",null,e)}const h=s(p,[["render",t]]);export{F as __pageData,h as default};
      +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy a smart contract on Bubs testnet","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Deploy a smart contract on Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/deploy-on-bubs.md","filePath":"developers/deploy-on-bubs.md","lastUpdated":1705010189000}'),p={name:"developers/deploy-on-bubs.md"},o=l("",61),e=[o];function t(c,r,i,y,E,d){return a(),n("div",null,e)}const h=s(p,[["render",t]]);export{F as __pageData,h as default};
      diff --git a/pr-preview/pr-1358/assets/developers_ethereum-fallback.md.a9f9c2d1.js b/pr-preview/pr-1358/assets/developers_ethereum-fallback.md.742feedc.js
      similarity index 97%
      rename from pr-preview/pr-1358/assets/developers_ethereum-fallback.md.a9f9c2d1.js
      rename to pr-preview/pr-1358/assets/developers_ethereum-fallback.md.742feedc.js
      index 7f43e1d1a6..36c486b03a 100644
      --- a/pr-preview/pr-1358/assets/developers_ethereum-fallback.md.a9f9c2d1.js
      +++ b/pr-preview/pr-1358/assets/developers_ethereum-fallback.md.742feedc.js
      @@ -1 +1 @@
      -import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/Celestia_ethereum-fallback.jpg",b=JSON.parse('{"title":"Ethereum fallback","description":"The DA fallback mechanism to Ethereum for rollups.","frontmatter":{"description":"The DA fallback mechanism to Ethereum for rollups.","head":[["meta",{"name":"og:title","content":"Ethereum fallback | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/ethereum-fallback.md","filePath":"developers/ethereum-fallback.md","lastUpdated":1705009966000}'),n={name:"developers/ethereum-fallback.md"},o=r('

      Ethereum fallback

      Ethereum fallback is a fallback mechanism that enables Ethereum L2s (or L3s) to “fall back” to using Ethereum calldata for data availability in the event of downtime on Celestia Mainnet Beta. This feature is currently supported by Celestia integrations with:

      In the case of Celestia downtime or temporary unavailability, L2s can fallback to posting transactions as calldata on Ethereum or another DA layer for data availability instead of posting to Celestia. This mechanism ensures users can continue to transact securely and seamlessly, preventing disruptions and helping to ensure user funds do not get stuck in the L2's bridge on Ethereum.

      Ethereum fallback is triggered whenever the sequencer has an error sending the PayForBlobs transaction on Celestia. Fallback can be triggered due to a congested mempool or nonce error and can be simulated with an error such as low balance or incorrect sequence. Fallback can also be triggered in the event Blobstream stops relaying attestations.

      Ethereum fallback

      ',6),s=[o];function i(c,m,h,u,d,p){return a(),t("div",null,s)}const _=e(n,[["render",i]]);export{b as __pageData,_ as default}; +import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/Celestia_ethereum-fallback.jpg",b=JSON.parse('{"title":"Ethereum fallback","description":"The DA fallback mechanism to Ethereum for rollups.","frontmatter":{"description":"The DA fallback mechanism to Ethereum for rollups.","head":[["meta",{"name":"og:title","content":"Ethereum fallback | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/ethereum-fallback.md","filePath":"developers/ethereum-fallback.md","lastUpdated":1705010189000}'),n={name:"developers/ethereum-fallback.md"},o=r('

      Ethereum fallback

      Ethereum fallback is a fallback mechanism that enables Ethereum L2s (or L3s) to “fall back” to using Ethereum calldata for data availability in the event of downtime on Celestia Mainnet Beta. This feature is currently supported by Celestia integrations with:

      In the case of Celestia downtime or temporary unavailability, L2s can fallback to posting transactions as calldata on Ethereum or another DA layer for data availability instead of posting to Celestia. This mechanism ensures users can continue to transact securely and seamlessly, preventing disruptions and helping to ensure user funds do not get stuck in the L2's bridge on Ethereum.

      Ethereum fallback is triggered whenever the sequencer has an error sending the PayForBlobs transaction on Celestia. Fallback can be triggered due to a congested mempool or nonce error and can be simulated with an error such as low balance or incorrect sequence. Fallback can also be triggered in the event Blobstream stops relaying attestations.

      Ethereum fallback

      ',6),s=[o];function i(c,m,h,u,d,p){return a(),t("div",null,s)}const _=e(n,[["render",i]]);export{b as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/developers_ethereum-fallback.md.a9f9c2d1.lean.js b/pr-preview/pr-1358/assets/developers_ethereum-fallback.md.742feedc.lean.js similarity index 91% rename from pr-preview/pr-1358/assets/developers_ethereum-fallback.md.a9f9c2d1.lean.js rename to pr-preview/pr-1358/assets/developers_ethereum-fallback.md.742feedc.lean.js index bde72cb46f..6a071fe663 100644 --- a/pr-preview/pr-1358/assets/developers_ethereum-fallback.md.a9f9c2d1.lean.js +++ b/pr-preview/pr-1358/assets/developers_ethereum-fallback.md.742feedc.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/Celestia_ethereum-fallback.jpg",b=JSON.parse('{"title":"Ethereum fallback","description":"The DA fallback mechanism to Ethereum for rollups.","frontmatter":{"description":"The DA fallback mechanism to Ethereum for rollups.","head":[["meta",{"name":"og:title","content":"Ethereum fallback | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/ethereum-fallback.md","filePath":"developers/ethereum-fallback.md","lastUpdated":1705009966000}'),n={name:"developers/ethereum-fallback.md"},o=r("",6),s=[o];function i(c,m,h,u,d,p){return a(),t("div",null,s)}const _=e(n,[["render",i]]);export{b as __pageData,_ as default}; +import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/Celestia_ethereum-fallback.jpg",b=JSON.parse('{"title":"Ethereum fallback","description":"The DA fallback mechanism to Ethereum for rollups.","frontmatter":{"description":"The DA fallback mechanism to Ethereum for rollups.","head":[["meta",{"name":"og:title","content":"Ethereum fallback | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/ethereum-fallback.md","filePath":"developers/ethereum-fallback.md","lastUpdated":1705010189000}'),n={name:"developers/ethereum-fallback.md"},o=r("",6),s=[o];function i(c,m,h,u,d,p){return a(),t("div",null,s)}const _=e(n,[["render",i]]);export{b as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.ac0c6d02.js b/pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.90a43f3b.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.ac0c6d02.js rename to pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.90a43f3b.js index 2428a6a3da..d004bdbfca 100644 --- a/pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.ac0c6d02.js +++ b/pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.90a43f3b.js @@ -1,4 +1,4 @@ -import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Full stack modular blockchain development guide","description":"Learn to build a full stack modular dapp.","frontmatter":{"description":"Learn to build a full stack modular dapp.","prev":{"text":"Deploy an OP Stack devnet on Celestia","link":"/developers/optimism"},"next":{"text":"Wallet with celestia-app","link":"/developers/celestia-app-wallet"},"head":[["meta",{"name":"og:title","content":"Full stack modular blockchain development guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/full-stack-modular-development-guide.md","filePath":"developers/full-stack-modular-development-guide.md","lastUpdated":1705009966000}'),p={name:"developers/full-stack-modular-development-guide.md"},o=l(`

      Full stack modular blockchain development guide

      Note

      This tutorial needs to be updated

      This guide will introduce you to modular blockchains like Celestia, explain their benefits, and show you how to build a full stack modular dapp with React, Vite, RainbowKit, Celestia, and Foundry.

      Current blockchain architectures are not scalable and face challenges around accessibility. In order for blockchains and web3 to reach mass adoption, these challenges must be addressed.

      Blockchains have evolved over time from application-specific networks like Bitcoin to shared smart contract platforms like Ethereum. This guide will cover how to build dapps on these newer, shared platforms.

      If you're interested in learning more about modular blockchains, or are new to the Celestia ecosystem, we recommend you read the Build Modular page first.

      Getting started

      Now that you’ve had an overview of what Celestia is, let’s start building!

      The execution environment that we’ll be leveraging today is Ethermint, an EVM-compatible testnet that you will run locally for this tutorial.

      Pre-requisites

      Project setup

      To get started, create a new Foundry project:

      bash
      forge init celestia-dapp
      +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Full stack modular blockchain development guide","description":"Learn to build a full stack modular dapp.","frontmatter":{"description":"Learn to build a full stack modular dapp.","prev":{"text":"Deploy an OP Stack devnet on Celestia","link":"/developers/optimism"},"next":{"text":"Wallet with celestia-app","link":"/developers/celestia-app-wallet"},"head":[["meta",{"name":"og:title","content":"Full stack modular blockchain development guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/full-stack-modular-development-guide.md","filePath":"developers/full-stack-modular-development-guide.md","lastUpdated":1705010189000}'),p={name:"developers/full-stack-modular-development-guide.md"},o=l(`

      Full stack modular blockchain development guide

      Note

      This tutorial needs to be updated

      This guide will introduce you to modular blockchains like Celestia, explain their benefits, and show you how to build a full stack modular dapp with React, Vite, RainbowKit, Celestia, and Foundry.

      Current blockchain architectures are not scalable and face challenges around accessibility. In order for blockchains and web3 to reach mass adoption, these challenges must be addressed.

      Blockchains have evolved over time from application-specific networks like Bitcoin to shared smart contract platforms like Ethereum. This guide will cover how to build dapps on these newer, shared platforms.

      If you're interested in learning more about modular blockchains, or are new to the Celestia ecosystem, we recommend you read the Build Modular page first.

      Getting started

      Now that you’ve had an overview of what Celestia is, let’s start building!

      The execution environment that we’ll be leveraging today is Ethermint, an EVM-compatible testnet that you will run locally for this tutorial.

      Pre-requisites

      Project setup

      To get started, create a new Foundry project:

      bash
      forge init celestia-dapp
       cd celestia-dapp
      forge init celestia-dapp
       cd celestia-dapp

      Foundry has created an example smart contract located at src/Contract.sol.

      Updating the contract and tests

      Let's update the contracts to include a basic blog example. Create a new file in the src directory named Contract.sol with the following code:

      solidity
      // SPDX-License-Identifier: MIT
       pragma solidity ^0.8.13;
      diff --git a/pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.ac0c6d02.lean.js b/pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.90a43f3b.lean.js
      similarity index 93%
      rename from pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.ac0c6d02.lean.js
      rename to pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.90a43f3b.lean.js
      index 82cedbd85a..077239c735 100644
      --- a/pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.ac0c6d02.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_full-stack-modular-development-guide.md.90a43f3b.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Full stack modular blockchain development guide","description":"Learn to build a full stack modular dapp.","frontmatter":{"description":"Learn to build a full stack modular dapp.","prev":{"text":"Deploy an OP Stack devnet on Celestia","link":"/developers/optimism"},"next":{"text":"Wallet with celestia-app","link":"/developers/celestia-app-wallet"},"head":[["meta",{"name":"og:title","content":"Full stack modular blockchain development guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/full-stack-modular-development-guide.md","filePath":"developers/full-stack-modular-development-guide.md","lastUpdated":1705009966000}'),p={name:"developers/full-stack-modular-development-guide.md"},o=l("",113),e=[o];function t(c,r,E,y,i,F){return n(),a("div",null,e)}const h=s(p,[["render",t]]);export{u as __pageData,h as default};
      +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Full stack modular blockchain development guide","description":"Learn to build a full stack modular dapp.","frontmatter":{"description":"Learn to build a full stack modular dapp.","prev":{"text":"Deploy an OP Stack devnet on Celestia","link":"/developers/optimism"},"next":{"text":"Wallet with celestia-app","link":"/developers/celestia-app-wallet"},"head":[["meta",{"name":"og:title","content":"Full stack modular blockchain development guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/full-stack-modular-development-guide.md","filePath":"developers/full-stack-modular-development-guide.md","lastUpdated":1705010189000}'),p={name:"developers/full-stack-modular-development-guide.md"},o=l("",113),e=[o];function t(c,r,E,y,i,F){return n(),a("div",null,e)}const h=s(p,[["render",t]]);export{u as __pageData,h as default};
      diff --git a/pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.96030ee3.js b/pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.0ce379d0.js
      similarity index 99%
      rename from pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.96030ee3.js
      rename to pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.0ce379d0.js
      index a81dfc402c..50b4fc497f 100644
      --- a/pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.96030ee3.js
      +++ b/pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.0ce379d0.js
      @@ -1,4 +1,4 @@
      -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const t="/pr-preview/pr-1358/img/gm_contract.png",p="/pr-preview/pr-1358/img/gm_bubs.png",F=JSON.parse('{"title":"Deploying a dapp on Bubs testnet","description":"Make your own GM Portal dapp on the OP Stack.","frontmatter":{"description":"Make your own GM Portal dapp on the OP Stack.","head":[["meta",{"name":"og:title","content":"Deploying a dapp on Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/gm-portal-bubs.md","filePath":"developers/gm-portal-bubs.md","lastUpdated":1705009966000}'),e={name:"developers/gm-portal-bubs.md"},l=o(`

      Deploying a dapp on Bubs testnet

      First, review the Bubs testnet page and the Deploy a smart contract to Bubs testnet tutorial.

      You will need a funded account to deploy your smart contract.

      Next, clone the gm-portal from Github and start the frontend:

      bash
      cd $HOME
      +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const t="/pr-preview/pr-1358/img/gm_contract.png",p="/pr-preview/pr-1358/img/gm_bubs.png",F=JSON.parse('{"title":"Deploying a dapp on Bubs testnet","description":"Make your own GM Portal dapp on the OP Stack.","frontmatter":{"description":"Make your own GM Portal dapp on the OP Stack.","head":[["meta",{"name":"og:title","content":"Deploying a dapp on Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/gm-portal-bubs.md","filePath":"developers/gm-portal-bubs.md","lastUpdated":1705010189000}'),e={name:"developers/gm-portal-bubs.md"},l=o(`

      Deploying a dapp on Bubs testnet

      First, review the Bubs testnet page and the Deploy a smart contract to Bubs testnet tutorial.

      You will need a funded account to deploy your smart contract.

      Next, clone the gm-portal from Github and start the frontend:

      bash
      cd $HOME
       git clone https://github.com/jcstein/gm-portal.git
       cd gm-portal/frontend
       yarn && yarn dev
      cd $HOME
      diff --git a/pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.96030ee3.lean.js b/pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.0ce379d0.lean.js
      similarity index 92%
      rename from pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.96030ee3.lean.js
      rename to pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.0ce379d0.lean.js
      index 13c39aa822..a04b09009a 100644
      --- a/pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.96030ee3.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_gm-portal-bubs.md.0ce379d0.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const t="/pr-preview/pr-1358/img/gm_contract.png",p="/pr-preview/pr-1358/img/gm_bubs.png",F=JSON.parse('{"title":"Deploying a dapp on Bubs testnet","description":"Make your own GM Portal dapp on the OP Stack.","frontmatter":{"description":"Make your own GM Portal dapp on the OP Stack.","head":[["meta",{"name":"og:title","content":"Deploying a dapp on Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/gm-portal-bubs.md","filePath":"developers/gm-portal-bubs.md","lastUpdated":1705009966000}'),e={name:"developers/gm-portal-bubs.md"},l=o("",32),c=[l];function r(i,y,d,E,h,u){return a(),n("div",null,c)}const b=s(e,[["render",r]]);export{F as __pageData,b as default};
      +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const t="/pr-preview/pr-1358/img/gm_contract.png",p="/pr-preview/pr-1358/img/gm_bubs.png",F=JSON.parse('{"title":"Deploying a dapp on Bubs testnet","description":"Make your own GM Portal dapp on the OP Stack.","frontmatter":{"description":"Make your own GM Portal dapp on the OP Stack.","head":[["meta",{"name":"og:title","content":"Deploying a dapp on Bubs testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/gm-portal-bubs.md","filePath":"developers/gm-portal-bubs.md","lastUpdated":1705010189000}'),e={name:"developers/gm-portal-bubs.md"},l=o("",32),c=[l];function r(i,y,d,E,h,u){return a(),n("div",null,c)}const b=s(e,[["render",r]]);export{F as __pageData,b as default};
      diff --git a/pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.9c5268c0.js b/pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.70cfa743.js
      similarity index 98%
      rename from pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.9c5268c0.js
      rename to pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.70cfa743.js
      index 89977172cf..1f19555716 100644
      --- a/pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.9c5268c0.js
      +++ b/pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.70cfa743.js
      @@ -1 +1 @@
      -import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const o="/pr-preview/pr-1358/img/keplr.png",i="/pr-preview/pr-1358/img/leap.png",l="/pr-preview/pr-1358/img/keplr/keplr1.gif",n="/pr-preview/pr-1358/img/keplr/keplr2.gif",s="/pr-preview/pr-1358/img/keplr/keplr3.gif",p="/pr-preview/pr-1358/img/keplr/keplr4.gif",d="/pr-preview/pr-1358/img/leap/leap1.gif",c="/pr-preview/pr-1358/img/leap/leap2.gif",h="/pr-preview/pr-1358/img/leap/leap3.gif",A=JSON.parse('{"title":"How to stake TIA","description":"This tutorial covers how to stake TIA with Keplr or Leap wallet","frontmatter":{"sidebar_label":"How to stake TIA","description":"This tutorial covers how to stake TIA with Keplr or Leap wallet","head":[["meta",{"name":"og:title","content":"How to stake TIA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/how-to-stake-tia.md","filePath":"developers/how-to-stake-tia.md","lastUpdated":1705009966000}'),w={name:"developers/how-to-stake-tia.md"},k=r('

      How to stake TIA

      Celestia is a proof-of-stake blockchain based on the Cosmos SDK.

      Staking TIA as a delegator allows you to secure the Celestia network. This means that you can stake the native token TIA and vote on governance proposals.

      In this tutorial, you will learn how to stake TIA tokens via Keplr and Leap wallets.

      Select your preferred wallet

      Keplr
      Leap

      Stake TIA with Keplr wallet

      1️⃣ Open your Keplr browser extension

      Navigate to Staked and select Stake with Keplr Dashboard.

      This will open the Keplr dashboard in a new browser page.

      Keplr1

      2️⃣ Select Celestia network and search for a validator

      In the Keplr dashboard, select the Celestia network and pick a validator of your choice.

      Keplr1

      3️⃣ Stake your TIA tokens

      On the following screen enter amount of TIA tokens and select Stake.

      A Keplr popup will appear, requesting your approval for the transaction. Select Approve.

      Keplr1

      4️⃣ Confirm and manage your TIA

      After the transaction is confirmed, you will see the following overview dashboard where you can claim rewards, unstake, redelegate, or stake additional tokens.

      Keplr1

      Stake TIA with Leap wallet

      1️⃣ Open your Leap browser extension

      In top right select Celestia network and navigate to Stake.

      Similarly to previous step, select the +Stake button.

      Keplr1

      2️⃣ Select a validator and stake TIA

      On the following screen choose a validator of your choice, enter the desired amount, and click Review.

      Following that, review the transaction details and select Stake, then wait for the transaction to finalize.

      Keplr1

      3️⃣ Confirm and manage your TIA

      After the transaction is confirmed, you will see the following overview dashboard where you can claim rewards, unstake, redelegate, or stake additional tokens.

      Keplr1

      ',34),m=[k];function u(f,g,_,b,v,y){return a(),t("div",null,m)}const I=e(w,[["render",u]]);export{A as __pageData,I as default}; +import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const o="/pr-preview/pr-1358/img/keplr.png",i="/pr-preview/pr-1358/img/leap.png",l="/pr-preview/pr-1358/img/keplr/keplr1.gif",n="/pr-preview/pr-1358/img/keplr/keplr2.gif",s="/pr-preview/pr-1358/img/keplr/keplr3.gif",p="/pr-preview/pr-1358/img/keplr/keplr4.gif",d="/pr-preview/pr-1358/img/leap/leap1.gif",c="/pr-preview/pr-1358/img/leap/leap2.gif",h="/pr-preview/pr-1358/img/leap/leap3.gif",A=JSON.parse('{"title":"How to stake TIA","description":"This tutorial covers how to stake TIA with Keplr or Leap wallet","frontmatter":{"sidebar_label":"How to stake TIA","description":"This tutorial covers how to stake TIA with Keplr or Leap wallet","head":[["meta",{"name":"og:title","content":"How to stake TIA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/how-to-stake-tia.md","filePath":"developers/how-to-stake-tia.md","lastUpdated":1705010189000}'),w={name:"developers/how-to-stake-tia.md"},k=r('

      How to stake TIA

      Celestia is a proof-of-stake blockchain based on the Cosmos SDK.

      Staking TIA as a delegator allows you to secure the Celestia network. This means that you can stake the native token TIA and vote on governance proposals.

      In this tutorial, you will learn how to stake TIA tokens via Keplr and Leap wallets.

      Select your preferred wallet

      Keplr
      Leap

      Stake TIA with Keplr wallet

      1️⃣ Open your Keplr browser extension

      Navigate to Staked and select Stake with Keplr Dashboard.

      This will open the Keplr dashboard in a new browser page.

      Keplr1

      2️⃣ Select Celestia network and search for a validator

      In the Keplr dashboard, select the Celestia network and pick a validator of your choice.

      Keplr1

      3️⃣ Stake your TIA tokens

      On the following screen enter amount of TIA tokens and select Stake.

      A Keplr popup will appear, requesting your approval for the transaction. Select Approve.

      Keplr1

      4️⃣ Confirm and manage your TIA

      After the transaction is confirmed, you will see the following overview dashboard where you can claim rewards, unstake, redelegate, or stake additional tokens.

      Keplr1

      Stake TIA with Leap wallet

      1️⃣ Open your Leap browser extension

      In top right select Celestia network and navigate to Stake.

      Similarly to previous step, select the +Stake button.

      Keplr1

      2️⃣ Select a validator and stake TIA

      On the following screen choose a validator of your choice, enter the desired amount, and click Review.

      Following that, review the transaction details and select Stake, then wait for the transaction to finalize.

      Keplr1

      3️⃣ Confirm and manage your TIA

      After the transaction is confirmed, you will see the following overview dashboard where you can claim rewards, unstake, redelegate, or stake additional tokens.

      Keplr1

      ',34),m=[k];function u(f,g,_,b,v,y){return a(),t("div",null,m)}const I=e(w,[["render",u]]);export{A as __pageData,I as default}; diff --git a/pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.9c5268c0.lean.js b/pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.70cfa743.lean.js similarity index 94% rename from pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.9c5268c0.lean.js rename to pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.70cfa743.lean.js index 02d562663d..973539fe54 100644 --- a/pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.9c5268c0.lean.js +++ b/pr-preview/pr-1358/assets/developers_how-to-stake-tia.md.70cfa743.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const o="/pr-preview/pr-1358/img/keplr.png",i="/pr-preview/pr-1358/img/leap.png",l="/pr-preview/pr-1358/img/keplr/keplr1.gif",n="/pr-preview/pr-1358/img/keplr/keplr2.gif",s="/pr-preview/pr-1358/img/keplr/keplr3.gif",p="/pr-preview/pr-1358/img/keplr/keplr4.gif",d="/pr-preview/pr-1358/img/leap/leap1.gif",c="/pr-preview/pr-1358/img/leap/leap2.gif",h="/pr-preview/pr-1358/img/leap/leap3.gif",A=JSON.parse('{"title":"How to stake TIA","description":"This tutorial covers how to stake TIA with Keplr or Leap wallet","frontmatter":{"sidebar_label":"How to stake TIA","description":"This tutorial covers how to stake TIA with Keplr or Leap wallet","head":[["meta",{"name":"og:title","content":"How to stake TIA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/how-to-stake-tia.md","filePath":"developers/how-to-stake-tia.md","lastUpdated":1705009966000}'),w={name:"developers/how-to-stake-tia.md"},k=r("",34),m=[k];function u(f,g,_,b,v,y){return a(),t("div",null,m)}const I=e(w,[["render",u]]);export{A as __pageData,I as default}; +import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const o="/pr-preview/pr-1358/img/keplr.png",i="/pr-preview/pr-1358/img/leap.png",l="/pr-preview/pr-1358/img/keplr/keplr1.gif",n="/pr-preview/pr-1358/img/keplr/keplr2.gif",s="/pr-preview/pr-1358/img/keplr/keplr3.gif",p="/pr-preview/pr-1358/img/keplr/keplr4.gif",d="/pr-preview/pr-1358/img/leap/leap1.gif",c="/pr-preview/pr-1358/img/leap/leap2.gif",h="/pr-preview/pr-1358/img/leap/leap3.gif",A=JSON.parse('{"title":"How to stake TIA","description":"This tutorial covers how to stake TIA with Keplr or Leap wallet","frontmatter":{"sidebar_label":"How to stake TIA","description":"This tutorial covers how to stake TIA with Keplr or Leap wallet","head":[["meta",{"name":"og:title","content":"How to stake TIA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/how-to-stake-tia.md","filePath":"developers/how-to-stake-tia.md","lastUpdated":1705010189000}'),w={name:"developers/how-to-stake-tia.md"},k=r("",34),m=[k];function u(f,g,_,b,v,y){return a(),t("div",null,m)}const I=e(w,[["render",u]]);export{A as __pageData,I as default}; diff --git a/pr-preview/pr-1358/assets/developers_ibc-relayer.md.b8476175.js b/pr-preview/pr-1358/assets/developers_ibc-relayer.md.4288a15e.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_ibc-relayer.md.b8476175.js rename to pr-preview/pr-1358/assets/developers_ibc-relayer.md.4288a15e.js index fac1a40714..1ab34299cd 100644 --- a/pr-preview/pr-1358/assets/developers_ibc-relayer.md.b8476175.js +++ b/pr-preview/pr-1358/assets/developers_ibc-relayer.md.4288a15e.js @@ -1,4 +1,4 @@ -import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"IBC relaying guide","description":"Learn how to establish IBC connections and relay packets.","frontmatter":{"description":"Learn how to establish IBC connections and relay packets.","head":[["meta",{"name":"og:title","content":"IBC relaying guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/ibc-relayer.md","filePath":"developers/ibc-relayer.md","lastUpdated":1705009966000}'),p={name:"developers/ibc-relayer.md"},o=l(`

      IBC relaying guide

      Celestia uses IBC (Inter-Blockchain Communication protocol) to enable cross-chain transfer of tokens. To support this capability it relies on relayers, processes that can be run by anyone which constantly scan for outbound packets on one chain and submits these packets alongside corresponding proofs on the destination chain. This section describes how one can setup a relayer and create new connections between chains. There are two standard implementations:

      The following guide explains how to establish IBC connections and relay packets between Mocha testnet and Cosmos hub testnet networks by using the Hermes relayer.

      Check the latest celestia-app release's go.mod for the version of ibc-go that is currently used.

      Hermes

      Hermes is an open-source Rust implementation of an IBC relayer released as part of the ibc-relayer-cli crate. It includes a CLI for relaying packets between Cosmos SDK chains, as well as Prometheus metrics and a REST API.

      Please follow the steps at Hermes Quick Start to install Hermes. Before proceeding, verify that Hermes is installed correctly by running hermes version.

      TIP

      Hermes currently doesn't support configuring the Tendermint CompatMode in chain config (see hermes#3623). Until that issue is resolved, please use Hermes v1.7.0+ because it falls back to Tendermint CompatMode v0.34 (see hermes#3663) which is compatible with Celestia.

      Configuration

      After you have successfully installed Hermes and created the necessary folders, you now have to edit config.toml and add the appropriate configurations for the chains you want to relay between.

      For this tutorial, we will be using the following chains:

      • Celestia's mocha-4 testnet
      • Cosmos Hub's theta-testnet-001 testnet

      Edit the Hermes configuration.

      bash
      vim $HOME/.hermes/config.toml
      vim $HOME/.hermes/config.toml
      toml
      [global]
      +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"IBC relaying guide","description":"Learn how to establish IBC connections and relay packets.","frontmatter":{"description":"Learn how to establish IBC connections and relay packets.","head":[["meta",{"name":"og:title","content":"IBC relaying guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/ibc-relayer.md","filePath":"developers/ibc-relayer.md","lastUpdated":1705010189000}'),p={name:"developers/ibc-relayer.md"},o=l(`

      IBC relaying guide

      Celestia uses IBC (Inter-Blockchain Communication protocol) to enable cross-chain transfer of tokens. To support this capability it relies on relayers, processes that can be run by anyone which constantly scan for outbound packets on one chain and submits these packets alongside corresponding proofs on the destination chain. This section describes how one can setup a relayer and create new connections between chains. There are two standard implementations:

      The following guide explains how to establish IBC connections and relay packets between Mocha testnet and Cosmos hub testnet networks by using the Hermes relayer.

      Check the latest celestia-app release's go.mod for the version of ibc-go that is currently used.

      Hermes

      Hermes is an open-source Rust implementation of an IBC relayer released as part of the ibc-relayer-cli crate. It includes a CLI for relaying packets between Cosmos SDK chains, as well as Prometheus metrics and a REST API.

      Please follow the steps at Hermes Quick Start to install Hermes. Before proceeding, verify that Hermes is installed correctly by running hermes version.

      TIP

      Hermes currently doesn't support configuring the Tendermint CompatMode in chain config (see hermes#3623). Until that issue is resolved, please use Hermes v1.7.0+ because it falls back to Tendermint CompatMode v0.34 (see hermes#3663) which is compatible with Celestia.

      Configuration

      After you have successfully installed Hermes and created the necessary folders, you now have to edit config.toml and add the appropriate configurations for the chains you want to relay between.

      For this tutorial, we will be using the following chains:

      • Celestia's mocha-4 testnet
      • Cosmos Hub's theta-testnet-001 testnet

      Edit the Hermes configuration.

      bash
      vim $HOME/.hermes/config.toml
      vim $HOME/.hermes/config.toml
      toml
      [global]
       log_level = "info"
       
       [mode.clients]
      diff --git a/pr-preview/pr-1358/assets/developers_ibc-relayer.md.b8476175.lean.js b/pr-preview/pr-1358/assets/developers_ibc-relayer.md.4288a15e.lean.js
      similarity index 90%
      rename from pr-preview/pr-1358/assets/developers_ibc-relayer.md.b8476175.lean.js
      rename to pr-preview/pr-1358/assets/developers_ibc-relayer.md.4288a15e.lean.js
      index ded811c90d..2fe1074084 100644
      --- a/pr-preview/pr-1358/assets/developers_ibc-relayer.md.b8476175.lean.js
      +++ b/pr-preview/pr-1358/assets/developers_ibc-relayer.md.4288a15e.lean.js
      @@ -1 +1 @@
      -import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"IBC relaying guide","description":"Learn how to establish IBC connections and relay packets.","frontmatter":{"description":"Learn how to establish IBC connections and relay packets.","head":[["meta",{"name":"og:title","content":"IBC relaying guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/ibc-relayer.md","filePath":"developers/ibc-relayer.md","lastUpdated":1705009966000}'),p={name:"developers/ibc-relayer.md"},o=l("",61),e=[o];function t(c,r,E,y,i,F){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{h as __pageData,u as default};
      +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"IBC relaying guide","description":"Learn how to establish IBC connections and relay packets.","frontmatter":{"description":"Learn how to establish IBC connections and relay packets.","head":[["meta",{"name":"og:title","content":"IBC relaying guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/ibc-relayer.md","filePath":"developers/ibc-relayer.md","lastUpdated":1705010189000}'),p={name:"developers/ibc-relayer.md"},o=l("",61),e=[o];function t(c,r,E,y,i,F){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{h as __pageData,u as default};
      diff --git a/pr-preview/pr-1358/assets/developers_integrate-celestia.md.6fca88e4.js b/pr-preview/pr-1358/assets/developers_integrate-celestia.md.01a2bf80.js
      similarity index 98%
      rename from pr-preview/pr-1358/assets/developers_integrate-celestia.md.6fca88e4.js
      rename to pr-preview/pr-1358/assets/developers_integrate-celestia.md.01a2bf80.js
      index f0aee398d4..4008721bdd 100644
      --- a/pr-preview/pr-1358/assets/developers_integrate-celestia.md.6fca88e4.js
      +++ b/pr-preview/pr-1358/assets/developers_integrate-celestia.md.01a2bf80.js
      @@ -1 +1 @@
      -import{_ as e,o as t,c as a,Q as i}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Integrate Celestia for service providers","description":"Learn how service providers can integrate with the Celestia network.","frontmatter":{"description":"Learn how service providers can integrate with the Celestia network.","prev":{"text":"Integrating Cosmostation for developers","link":"/developers/cosmostation"},"head":[["meta",{"name":"og:title","content":"Integrate Celestia for service providers | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/integrate-celestia.md","filePath":"developers/integrate-celestia.md","lastUpdated":1705009966000}'),n={name:"developers/integrate-celestia.md"},s=i('

      Integrate Celestia for service providers

      This document is for third-party service providers, such as custodians and explorers, integrating the Celestia network.

      Getting started

      When getting started Celestia, we recommend checking out these resources first:

      Celestia service provider notes

      Celestia is a fairly standard Cosmos-SDK based chain. We use the latest version of Tendermint and the Cosmos-SDK, with only minor modifications to each. This means that we are:

      • Using the default Cosmos-SDK modules: auth, bank, distribution, staking, slashing, mint, crisis, ibchost, genutil, evidence, ibctransfer, params, gov (limited in some TBD capacities), upgrade, vesting, feegrant, capability, and payment.
      • Use the standard digital keys schemes provided by the Cosmos-SDK and Tendermint, those being secp256k1 for user transactions, and tm-ed25519 for signing and verifying consensus messages.

      While exactly which modules used is subject to change, Celestia aims to be as minimal as possible.

      Custody and key management

      Celestia supports many already existing key management systems, as we rely on the Cosmos-SDK and Tendermint libraries for signing and verifying transactions. Learn more in the Cosmos-SDK documentation

      RPC and querying

      In celestia-app, only the standard RPC endpoints for Tendermint and the Cosmos-SDK are exposed. We do not currently add or subtract any core functionality, but this could change in the future. The same goes for querying data from the chain.

      In celestia-node, the Data Availability node client, there is a JSON-RPC API that allows you to interact directly with Celestia's Data Availability layer. Learn how to use the API in this tutorial.

      Compatibility

      Linux, particularly Ubuntu 20.04 LTS, is the most well tested. Potentially compatible with other OSs, but they are currently untested. Some of the cryptography libraries used for erasure data are not guaranteed to work on other platforms.

      Syncing

      Since we utilize Tendermint and the Cosmos-SDK, syncing the chain can be performed by any method that is supported by those libraries. This includes fast-sync, state sync, and quick sync.

      Notable exceptions relative to other blockchains

      Relative to other Tendermint based chains, Celestia will have significantly longer blocktimes of around 15* seconds. The reason behind this block time is to optimize the bandwidth used by light clients that are sampling the chain, and is not because we have modified Tendermint consensus in any meaningful way. Validators will likely download/upload relatively large blocks. It should be noted that while these blocks are large, very little typical blockchain state execution is actually occurring on Celestia. Meaning that the bandwidth requirements will likely be larger than that of a typical Cosmos-SDK based blockchain full node, the computing requirements should be similar in magnitude.

      *Subject to Change

      ',21),r=[s];function o(l,d,c,h,u,m){return t(),a("div",null,r)}const b=e(n,[["render",o]]);export{g as __pageData,b as default}; +import{_ as e,o as t,c as a,Q as i}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Integrate Celestia for service providers","description":"Learn how service providers can integrate with the Celestia network.","frontmatter":{"description":"Learn how service providers can integrate with the Celestia network.","prev":{"text":"Integrating Cosmostation for developers","link":"/developers/cosmostation"},"head":[["meta",{"name":"og:title","content":"Integrate Celestia for service providers | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/integrate-celestia.md","filePath":"developers/integrate-celestia.md","lastUpdated":1705010189000}'),n={name:"developers/integrate-celestia.md"},s=i('

      Integrate Celestia for service providers

      This document is for third-party service providers, such as custodians and explorers, integrating the Celestia network.

      Getting started

      When getting started Celestia, we recommend checking out these resources first:

      Celestia service provider notes

      Celestia is a fairly standard Cosmos-SDK based chain. We use the latest version of Tendermint and the Cosmos-SDK, with only minor modifications to each. This means that we are:

      • Using the default Cosmos-SDK modules: auth, bank, distribution, staking, slashing, mint, crisis, ibchost, genutil, evidence, ibctransfer, params, gov (limited in some TBD capacities), upgrade, vesting, feegrant, capability, and payment.
      • Use the standard digital keys schemes provided by the Cosmos-SDK and Tendermint, those being secp256k1 for user transactions, and tm-ed25519 for signing and verifying consensus messages.

      While exactly which modules used is subject to change, Celestia aims to be as minimal as possible.

      Custody and key management

      Celestia supports many already existing key management systems, as we rely on the Cosmos-SDK and Tendermint libraries for signing and verifying transactions. Learn more in the Cosmos-SDK documentation

      RPC and querying

      In celestia-app, only the standard RPC endpoints for Tendermint and the Cosmos-SDK are exposed. We do not currently add or subtract any core functionality, but this could change in the future. The same goes for querying data from the chain.

      In celestia-node, the Data Availability node client, there is a JSON-RPC API that allows you to interact directly with Celestia's Data Availability layer. Learn how to use the API in this tutorial.

      Compatibility

      Linux, particularly Ubuntu 20.04 LTS, is the most well tested. Potentially compatible with other OSs, but they are currently untested. Some of the cryptography libraries used for erasure data are not guaranteed to work on other platforms.

      Syncing

      Since we utilize Tendermint and the Cosmos-SDK, syncing the chain can be performed by any method that is supported by those libraries. This includes fast-sync, state sync, and quick sync.

      Notable exceptions relative to other blockchains

      Relative to other Tendermint based chains, Celestia will have significantly longer blocktimes of around 15* seconds. The reason behind this block time is to optimize the bandwidth used by light clients that are sampling the chain, and is not because we have modified Tendermint consensus in any meaningful way. Validators will likely download/upload relatively large blocks. It should be noted that while these blocks are large, very little typical blockchain state execution is actually occurring on Celestia. Meaning that the bandwidth requirements will likely be larger than that of a typical Cosmos-SDK based blockchain full node, the computing requirements should be similar in magnitude.

      *Subject to Change

      ',21),r=[s];function o(l,d,c,h,u,m){return t(),a("div",null,r)}const b=e(n,[["render",o]]);export{g as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/developers_integrate-celestia.md.6fca88e4.lean.js b/pr-preview/pr-1358/assets/developers_integrate-celestia.md.01a2bf80.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/developers_integrate-celestia.md.6fca88e4.lean.js rename to pr-preview/pr-1358/assets/developers_integrate-celestia.md.01a2bf80.lean.js index af17a72e8f..acc8d011b4 100644 --- a/pr-preview/pr-1358/assets/developers_integrate-celestia.md.6fca88e4.lean.js +++ b/pr-preview/pr-1358/assets/developers_integrate-celestia.md.01a2bf80.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as i}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Integrate Celestia for service providers","description":"Learn how service providers can integrate with the Celestia network.","frontmatter":{"description":"Learn how service providers can integrate with the Celestia network.","prev":{"text":"Integrating Cosmostation for developers","link":"/developers/cosmostation"},"head":[["meta",{"name":"og:title","content":"Integrate Celestia for service providers | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/integrate-celestia.md","filePath":"developers/integrate-celestia.md","lastUpdated":1705009966000}'),n={name:"developers/integrate-celestia.md"},s=i("",21),r=[s];function o(l,d,c,h,u,m){return t(),a("div",null,r)}const b=e(n,[["render",o]]);export{g as __pageData,b as default}; +import{_ as e,o as t,c as a,Q as i}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Integrate Celestia for service providers","description":"Learn how service providers can integrate with the Celestia network.","frontmatter":{"description":"Learn how service providers can integrate with the Celestia network.","prev":{"text":"Integrating Cosmostation for developers","link":"/developers/cosmostation"},"head":[["meta",{"name":"og:title","content":"Integrate Celestia for service providers | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/integrate-celestia.md","filePath":"developers/integrate-celestia.md","lastUpdated":1705010189000}'),n={name:"developers/integrate-celestia.md"},s=i("",21),r=[s];function o(l,d,c,h,u,m){return t(),a("div",null,r)}const b=e(n,[["render",o]]);export{g as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.edf5d840.js b/pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.064dc6c5.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.edf5d840.js rename to pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.064dc6c5.js index 8f4e8813f0..c777d1cfe7 100644 --- a/pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.edf5d840.js +++ b/pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.064dc6c5.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,Q as o}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Introduction to OP Stack integration","description":"Learn about the integration of OP Stack with Celestia.","frontmatter":{"description":"Learn about the integration of OP Stack with Celestia.","head":[["meta",{"name":"og:title","content":"Introduction to OP Stack integration | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/intro-to-op-stack.md","filePath":"developers/intro-to-op-stack.md","lastUpdated":1705009966000}'),i={name:"developers/intro-to-op-stack.md"},s=o('

      Introduction to OP Stack integration

      Optimism is a low-cost and lightning-fast Ethereum L2 blockchain, built with the OP Stack.

      Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

      About the integration

      Discover how to integrate existing blockchain frameworks like the OP Stack with Celestia in this category.

      TIP

      Tested on a machine with 8GB RAM, 160 GB SSD, Ubuntu 22.10, and a 4 core AMD CPU.

      This is a beta integration and we are working on resolving open issues.

      Optimism uses Ethereum as a data availability (DA) layer. Currently, settlement and DA for Optimism are on Ethereum, both onchain. op-batcher batches up rollup blocks and posts to Ethereum.

      Table of contents of the category

      Celestia and OP Stack repository

      Find the repository for this integration at https://github.com/celestiaorg/optimism.

      What are Optimism and the OP Stack?

      Optimism, an Ethereum L2 blockchain, is powered by the OP Stack, which is also the foundation for the Optimism Collective committed to the impact=profit principle. This rewards individuals for their positive contributions to the collective.

      Optimism addresses crypto ecosystem coordination failures, like funding public goods and infrastructure. The OP Stack fosters collaboration and prevents redundancy by creating a shared, open-source system for developing new L2 blockchains within the proposed Superchain ecosystem.

      As Optimism evolves, the OP Stack will adapt to include components from blockchain infrastructure to governance systems. This software suite aims to simplify L2 blockchain creation and support the Optimism ecosystem's growth and development.

      Learn more about Optimism.

      What is Celestia?

      Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

      Celestia is a minimal blockchain that only orders and publishes transactions and does not execute them. By decoupling the consensus and application execution layers, Celestia modularizes the blockchain technology stack and unlocks new possibilities for decentralized application builders. Learn more at Celestia.org.

      OP Stack and Celestia

      This category will guide you through how to start your own devnet with a modified version of optimism-bedrock that uses Celestia as a DA layer.

      The handling of data is accomplished in two ways. First, data is written to the data availability (DA) layer i.e. in this case Celestia, then the data commitment is written to the op-batcher. When reading op-node simply reads the data back from the DA layer by reading the data commitment from the op-batcher first, then reading the data from the DA layer using the data commitment. Hence, while previously op-node was reading from calldata on Ethereum, but now it reads data from Celestia.

      There are a few tools involved in the data handling process. op-batcher batches up rollup blocks and posts them to Ethereum. op-geth handles execution, while op-proposer is responsible for state commitment submission.

      By using Celestia as a DA layer, existing L2s can switch from posting their data as calldata on Ethereum, to posting to Celestia. The commitment to the block is posted on Celestia, which is purpose-built for data availability. This is a more scalable than the traditional method of posting this data as calldata on monolithic chains.

      If you'd like to go modular, bedrock has made it easy to swap this out!

      Next steps

      Now that you understand the integration, you can start learning about the Bubs testnet, built with OP Stack and Celestia! This testnet is a great way to explore the possibilities of this integration and test your applications in a live environment.

      ',28),n=[s];function r(l,c,h,d,p,m){return e(),a("div",null,n)}const f=t(i,[["render",r]]);export{b as __pageData,f as default}; +import{_ as t,o as e,c as a,Q as o}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Introduction to OP Stack integration","description":"Learn about the integration of OP Stack with Celestia.","frontmatter":{"description":"Learn about the integration of OP Stack with Celestia.","head":[["meta",{"name":"og:title","content":"Introduction to OP Stack integration | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/intro-to-op-stack.md","filePath":"developers/intro-to-op-stack.md","lastUpdated":1705010189000}'),i={name:"developers/intro-to-op-stack.md"},s=o('

      Introduction to OP Stack integration

      Optimism is a low-cost and lightning-fast Ethereum L2 blockchain, built with the OP Stack.

      Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

      About the integration

      Discover how to integrate existing blockchain frameworks like the OP Stack with Celestia in this category.

      TIP

      Tested on a machine with 8GB RAM, 160 GB SSD, Ubuntu 22.10, and a 4 core AMD CPU.

      This is a beta integration and we are working on resolving open issues.

      Optimism uses Ethereum as a data availability (DA) layer. Currently, settlement and DA for Optimism are on Ethereum, both onchain. op-batcher batches up rollup blocks and posts to Ethereum.

      Table of contents of the category

      Celestia and OP Stack repository

      Find the repository for this integration at https://github.com/celestiaorg/optimism.

      What are Optimism and the OP Stack?

      Optimism, an Ethereum L2 blockchain, is powered by the OP Stack, which is also the foundation for the Optimism Collective committed to the impact=profit principle. This rewards individuals for their positive contributions to the collective.

      Optimism addresses crypto ecosystem coordination failures, like funding public goods and infrastructure. The OP Stack fosters collaboration and prevents redundancy by creating a shared, open-source system for developing new L2 blockchains within the proposed Superchain ecosystem.

      As Optimism evolves, the OP Stack will adapt to include components from blockchain infrastructure to governance systems. This software suite aims to simplify L2 blockchain creation and support the Optimism ecosystem's growth and development.

      Learn more about Optimism.

      What is Celestia?

      Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

      Celestia is a minimal blockchain that only orders and publishes transactions and does not execute them. By decoupling the consensus and application execution layers, Celestia modularizes the blockchain technology stack and unlocks new possibilities for decentralized application builders. Learn more at Celestia.org.

      OP Stack and Celestia

      This category will guide you through how to start your own devnet with a modified version of optimism-bedrock that uses Celestia as a DA layer.

      The handling of data is accomplished in two ways. First, data is written to the data availability (DA) layer i.e. in this case Celestia, then the data commitment is written to the op-batcher. When reading op-node simply reads the data back from the DA layer by reading the data commitment from the op-batcher first, then reading the data from the DA layer using the data commitment. Hence, while previously op-node was reading from calldata on Ethereum, but now it reads data from Celestia.

      There are a few tools involved in the data handling process. op-batcher batches up rollup blocks and posts them to Ethereum. op-geth handles execution, while op-proposer is responsible for state commitment submission.

      By using Celestia as a DA layer, existing L2s can switch from posting their data as calldata on Ethereum, to posting to Celestia. The commitment to the block is posted on Celestia, which is purpose-built for data availability. This is a more scalable than the traditional method of posting this data as calldata on monolithic chains.

      If you'd like to go modular, bedrock has made it easy to swap this out!

      Next steps

      Now that you understand the integration, you can start learning about the Bubs testnet, built with OP Stack and Celestia! This testnet is a great way to explore the possibilities of this integration and test your applications in a live environment.

      ',28),n=[s];function r(l,c,h,d,p,m){return e(),a("div",null,n)}const f=t(i,[["render",r]]);export{b as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.edf5d840.lean.js b/pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.064dc6c5.lean.js similarity index 91% rename from pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.edf5d840.lean.js rename to pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.064dc6c5.lean.js index 1950282de9..1804d0da57 100644 --- a/pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.edf5d840.lean.js +++ b/pr-preview/pr-1358/assets/developers_intro-to-op-stack.md.064dc6c5.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,Q as o}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Introduction to OP Stack integration","description":"Learn about the integration of OP Stack with Celestia.","frontmatter":{"description":"Learn about the integration of OP Stack with Celestia.","head":[["meta",{"name":"og:title","content":"Introduction to OP Stack integration | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/intro-to-op-stack.md","filePath":"developers/intro-to-op-stack.md","lastUpdated":1705009966000}'),i={name:"developers/intro-to-op-stack.md"},s=o("",28),n=[s];function r(l,c,h,d,p,m){return e(),a("div",null,n)}const f=t(i,[["render",r]]);export{b as __pageData,f as default}; +import{_ as t,o as e,c as a,Q as o}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Introduction to OP Stack integration","description":"Learn about the integration of OP Stack with Celestia.","frontmatter":{"description":"Learn about the integration of OP Stack with Celestia.","head":[["meta",{"name":"og:title","content":"Introduction to OP Stack integration | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/intro-to-op-stack.md","filePath":"developers/intro-to-op-stack.md","lastUpdated":1705010189000}'),i={name:"developers/intro-to-op-stack.md"},s=o("",28),n=[s];function r(l,c,h,d,p,m){return e(),a("div",null,n)}const f=t(i,[["render",r]]);export{b as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/developers_keplr.md.73b344d8.js b/pr-preview/pr-1358/assets/developers_keplr.md.a1a4c9b0.js similarity index 94% rename from pr-preview/pr-1358/assets/developers_keplr.md.73b344d8.js rename to pr-preview/pr-1358/assets/developers_keplr.md.a1a4c9b0.js index 5deb68b999..9a3ce647d9 100644 --- a/pr-preview/pr-1358/assets/developers_keplr.md.73b344d8.js +++ b/pr-preview/pr-1358/assets/developers_keplr.md.a1a4c9b0.js @@ -1,4 +1,4 @@ -import{c as p}from"./chunks/constants.d0f43632.js";import{_ as y,o as _,c as d,k as s,t as l,C as u,H as i,a as n,Q as o}from"./chunks/framework.2263f03b.js";const F={props:["params"],methods:{async add(){if(!window.keplr)alert("Please install keplr extension");else{if(window.keplr.experimentalSuggestChain)try{await window.keplr.experimentalSuggestChain({chainId:this.params.chainId,chainName:this.params.chainName,rpc:this.params.rpc,rest:this.params.rest,bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"celestia",bech32PrefixAccPub:"celestiapub",bech32PrefixValAddr:"celestiavaloper",bech32PrefixValPub:"celestiavaloperpub",bech32PrefixConsAddr:"celestiavalcons",bech32PrefixConsPub:"celestiavalconspub"},currencies:[{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia"}],feeCurrencies:[{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia",gasPriceStep:{low:.01,average:.02,high:.1}}],stakeCurrency:{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia"}})}catch{alert("Failed to suggest the chain")}const t=this.params.chainId;await window.keplr.enable(t)}}}},A={class:"center"};function C(t,c,E,h,a,r){return _(),d("div",A,[s("button",{class:"keplrButton",onClick:c[0]||(c[0]=(...e)=>r.add&&r.add(...e))},l(`Add/switch to ${E.params.chainName}`),1)])}const m=y(F,[["render",C],["__scopeId","data-v-ff114fb5"]]),T={components:{AddNetworkKeplr:m},data(){return{constants:p,ARABICA_PARAMS:{chainId:`${p.arabicaChainId}`,chainName:"Arabica devnet",rpc:`${p.arabicaRpcUrl}`,rest:`${p.arabicaRestUrl}`},MOCHA_PARAMS:{chainId:`${p.mochaChainId}`,chainName:"Mocha testnet",rpc:`${p.mochaRpcUrl}`,rest:`${p.mochaRestUrl}`},MAINNET_PARAMS:{chainId:`${p.mainnetChainId}`,chainName:"Celestia",rpc:`${p.mainnetRpcUrl}`,rest:`${p.mainnetRestUrl}`}}}},un=JSON.parse('{"title":"Keplr integration with Celestia","description":"How you can add Celestia network parameters to Keplr.","frontmatter":{"description":"How you can add Celestia network parameters to Keplr.","next":{"text":"Integrating Leap for developers","link":"developers/leap"},"head":[["meta",{"name":"og:title","content":"Keplr integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/keplr.md","filePath":"developers/keplr.md","lastUpdated":1705009966000}'),w=o(`

      Keplr integration with Celestia

      Keplr is a popular Cosmos-based wallet that allows anyone to connect to Tendermint chains from their browser.

      In this tutorial, we will have an example that goes over how you can add Celestia network parameters to Keplr in a React app.

      Most of the overview of this integration are found on Keplr's website.

      Add Celestia network to Keplr

      Before we demonstrate how to export the specific parameters for Celestia's testnets, we need to create a ReactJS component that allows us to connect directly to Keplr and pass it the network params.

      In the following code, we show how you can export a component that detects whether Keplr is installed and sets the network params for it:

      jsx
      import React from "react";
      +import{c as p}from"./chunks/constants.d0f43632.js";import{_ as y,o as _,c as d,k as s,t as l,C as u,H as i,a as n,Q as o}from"./chunks/framework.2263f03b.js";const F={props:["params"],methods:{async add(){if(!window.keplr)alert("Please install keplr extension");else{if(window.keplr.experimentalSuggestChain)try{await window.keplr.experimentalSuggestChain({chainId:this.params.chainId,chainName:this.params.chainName,rpc:this.params.rpc,rest:this.params.rest,bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"celestia",bech32PrefixAccPub:"celestiapub",bech32PrefixValAddr:"celestiavaloper",bech32PrefixValPub:"celestiavaloperpub",bech32PrefixConsAddr:"celestiavalcons",bech32PrefixConsPub:"celestiavalconspub"},currencies:[{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia"}],feeCurrencies:[{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia",gasPriceStep:{low:.01,average:.02,high:.1}}],stakeCurrency:{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia"}})}catch{alert("Failed to suggest the chain")}const t=this.params.chainId;await window.keplr.enable(t)}}}},A={class:"center"};function C(t,c,E,h,a,r){return _(),d("div",A,[s("button",{class:"keplrButton",onClick:c[0]||(c[0]=(...e)=>r.add&&r.add(...e))},l(`Add/switch to ${E.params.chainName}`),1)])}const m=y(F,[["render",C],["__scopeId","data-v-ff114fb5"]]),T={components:{AddNetworkKeplr:m},data(){return{constants:p,ARABICA_PARAMS:{chainId:`${p.arabicaChainId}`,chainName:"Arabica devnet",rpc:`${p.arabicaRpcUrl}`,rest:`${p.arabicaRestUrl}`},MOCHA_PARAMS:{chainId:`${p.mochaChainId}`,chainName:"Mocha testnet",rpc:`${p.mochaRpcUrl}`,rest:`${p.mochaRestUrl}`},MAINNET_PARAMS:{chainId:`${p.mainnetChainId}`,chainName:"Celestia",rpc:`${p.mainnetRpcUrl}`,rest:`${p.mainnetRestUrl}`}}}},un=JSON.parse('{"title":"Keplr integration with Celestia","description":"How you can add Celestia network parameters to Keplr.","frontmatter":{"description":"How you can add Celestia network parameters to Keplr.","next":{"text":"Integrating Leap for developers","link":"developers/leap"},"head":[["meta",{"name":"og:title","content":"Keplr integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/keplr.md","filePath":"developers/keplr.md","lastUpdated":1705010189000}'),w=o(`

      Keplr integration with Celestia

      Keplr is a popular Cosmos-based wallet that allows anyone to connect to Tendermint chains from their browser.

      In this tutorial, we will have an example that goes over how you can add Celestia network parameters to Keplr in a React app.

      Most of the overview of this integration are found on Keplr's website.

      Add Celestia network to Keplr

      Before we demonstrate how to export the specific parameters for Celestia's testnets, we need to create a ReactJS component that allows us to connect directly to Keplr and pass it the network params.

      In the following code, we show how you can export a component that detects whether Keplr is installed and sets the network params for it:

      jsx
      import React from "react";
       import styles from "./Keplr.module.css";
       
       export default function AddNetworkKeplr({ params }) {
      @@ -144,20 +144,20 @@ import{c as p}from"./chunks/constants.d0f43632.js";import{_ as y,o as _,c as d,k
             </button>
           </div>
         );
      -}

      This example is just for using Celestia configs.

      We still need to pass the Celestia network params for it and we will for both testnets in the following section.

      You can also test out the Connect button to add those params to your Keplr wallet. NOTE: You must have Keplr installed first.

      Try it out yourself:

      `,12),b=s("p",null,[n("Behind the scenes, here are the parameters we are passing to the "),s("code",null,"AddNetworkKeplr"),n(" function:")],-1),q={class:"vp-code-group vp-adaptive-theme"},k=o('
      ',1),g={class:"blocks"},D={class:"language-js vp-adaptive-theme active"},I=s("button",{title:"Copy Code",class:"copy"},null,-1),f=s("span",{class:"lang"},"js",-1),B={class:"shiki github-dark vp-code-dark"},P=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),N=s("span",{class:"line"},null,-1),v=o('export const MAINNET_PARAMS = {`{',1),S={class:"line"},R={style:{color:"#9ECBFF"}},x=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Celestia',")],-1),M={class:"line"},K={style:{color:"#9ECBFF"}},V={class:"line"},U={style:{color:"#9ECBFF"}},G=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),O=s("span",{class:"line"},null,-1),j=o('{<AddNetworkKeplr params={MAINNET_PARAMS}/>}',1),H={class:"shiki github-light vp-code-light"},z=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),W=s("span",{class:"line"},null,-1),J=o('export const MAINNET_PARAMS = {`{',1),Y={class:"line"},L={style:{color:"#032F62"}},Q=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Celestia',")],-1),X={class:"line"},Z={style:{color:"#032F62"}},$={class:"line"},ss={style:{color:"#032F62"}},ns=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),as=s("span",{class:"line"},null,-1),ls=o('{<AddNetworkKeplr params={MAINNET_PARAMS}/>}',1),os={class:"language-js vp-adaptive-theme"},ps=s("button",{title:"Copy Code",class:"copy"},null,-1),es=s("span",{class:"lang"},"js",-1),ts={class:"shiki github-dark vp-code-dark"},cs=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),rs=s("span",{class:"line"},null,-1),is=o('export const MOCHA_PARAMS = {`{',1),Es={class:"line"},ys={style:{color:"#9ECBFF"}},_s=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Mocha testnet',")],-1),ds={class:"line"},hs={style:{color:"#9ECBFF"}},us={class:"line"},Fs={style:{color:"#9ECBFF"}},As=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),Cs=s("span",{class:"line"},null,-1),ms=o('{<AddNetworkKeplr params={MOCHA_PARAMS}/>}',1),Ts={class:"shiki github-light vp-code-light"},ws=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),bs=s("span",{class:"line"},null,-1),qs=o('export const MOCHA_PARAMS = {`{',1),ks={class:"line"},gs={style:{color:"#032F62"}},Ds=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Mocha testnet',")],-1),Is={class:"line"},fs={style:{color:"#032F62"}},Bs={class:"line"},Ps={style:{color:"#032F62"}},Ns=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),vs=s("span",{class:"line"},null,-1),Ss=o('{<AddNetworkKeplr params={MOCHA_PARAMS}/>}',1),Rs={class:"language-js vp-adaptive-theme"},xs=s("button",{title:"Copy Code",class:"copy"},null,-1),Ms=s("span",{class:"lang"},"js",-1),Ks={class:"shiki github-dark vp-code-dark"},Vs=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),Us=s("span",{class:"line"},null,-1),Gs=o('export const ARABICA_PARAMS = {`{',1),Os={class:"line"},js={style:{color:"#9ECBFF"}},Hs=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Arabica devnet',")],-1),zs={class:"line"},Ws={style:{color:"#9ECBFF"}},Js={class:"line"},Ys={style:{color:"#9ECBFF"}},Ls=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),Qs=s("span",{class:"line"},null,-1),Xs=o('{<AddNetworkKeplr params={ARABICA_PARAMS}/>}',1),Zs={class:"shiki github-light vp-code-light"},$s=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),sn=s("span",{class:"line"},null,-1),nn=o('export const ARABICA_PARAMS = {`{',1),an={class:"line"},ln={style:{color:"#032F62"}},on=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Arabica devnet',")],-1),pn={class:"line"},en={style:{color:"#032F62"}},tn={class:"line"},cn={style:{color:"#032F62"}},rn=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),En=s("span",{class:"line"},null,-1),yn=o('{<AddNetworkKeplr params={ARABICA_PARAMS}/>}',1);function _n(t,c,E,h,a,r){const e=u("AddNetworkKeplr");return _(),d("div",null,[w,i(e,{params:a.MAINNET_PARAMS},null,8,["params"]),i(e,{params:a.MOCHA_PARAMS},null,8,["params"]),i(e,{params:a.ARABICA_PARAMS},null,8,["params"]),b,s("div",q,[k,s("div",g,[s("div",D,[I,f,s("pre",B,[s("code",null,[P,n(` +}

      This example is just for using Celestia configs.

      We still need to pass the Celestia network params for it and we will for both testnets in the following section.

      You can also test out the Connect button to add those params to your Keplr wallet. NOTE: You must have Keplr installed first.

      Try it out yourself:

      `,12),b=s("p",null,[n("Behind the scenes, here are the parameters we are passing to the "),s("code",null,"AddNetworkKeplr"),n(" function:")],-1),k={class:"vp-code-group vp-adaptive-theme"},q=o('
      ',1),g={class:"blocks"},D={class:"language-js vp-adaptive-theme active"},I=s("button",{title:"Copy Code",class:"copy"},null,-1),f=s("span",{class:"lang"},"js",-1),B={class:"shiki github-dark vp-code-dark"},P=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),N=s("span",{class:"line"},null,-1),S=o('export const MAINNET_PARAMS = {`{',1),v={class:"line"},R={style:{color:"#9ECBFF"}},x=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Celestia',")],-1),M={class:"line"},V={style:{color:"#9ECBFF"}},K={class:"line"},U={style:{color:"#9ECBFF"}},G=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),j=s("span",{class:"line"},null,-1),H=o('{<AddNetworkKeplr params={MAINNET_PARAMS}/>}',1),O={class:"shiki github-light vp-code-light"},Q=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),z=s("span",{class:"line"},null,-1),J=o('export const MAINNET_PARAMS = {`{',1),Y={class:"line"},L={style:{color:"#032F62"}},W=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Celestia',")],-1),X={class:"line"},Z={style:{color:"#032F62"}},$={class:"line"},ss={style:{color:"#032F62"}},ns=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),as=s("span",{class:"line"},null,-1),ls=o('{<AddNetworkKeplr params={MAINNET_PARAMS}/>}',1),os={class:"language-js vp-adaptive-theme"},ps=s("button",{title:"Copy Code",class:"copy"},null,-1),es=s("span",{class:"lang"},"js",-1),ts={class:"shiki github-dark vp-code-dark"},cs=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),rs=s("span",{class:"line"},null,-1),is=o('export const MOCHA_PARAMS = {`{',1),Es={class:"line"},ys={style:{color:"#9ECBFF"}},_s=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Mocha testnet',")],-1),ds={class:"line"},hs={style:{color:"#9ECBFF"}},us={class:"line"},Fs={style:{color:"#9ECBFF"}},As=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),Cs=s("span",{class:"line"},null,-1),ms=o('{<AddNetworkKeplr params={MOCHA_PARAMS}/>}',1),Ts={class:"shiki github-light vp-code-light"},ws=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),bs=s("span",{class:"line"},null,-1),ks=o('export const MOCHA_PARAMS = {`{',1),qs={class:"line"},gs={style:{color:"#032F62"}},Ds=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Mocha testnet',")],-1),Is={class:"line"},fs={style:{color:"#032F62"}},Bs={class:"line"},Ps={style:{color:"#032F62"}},Ns=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),Ss=s("span",{class:"line"},null,-1),vs=o('{<AddNetworkKeplr params={MOCHA_PARAMS}/>}',1),Rs={class:"language-js vp-adaptive-theme"},xs=s("button",{title:"Copy Code",class:"copy"},null,-1),Ms=s("span",{class:"lang"},"js",-1),Vs={class:"shiki github-dark vp-code-dark"},Ks=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),Us=s("span",{class:"line"},null,-1),Gs=o('export const ARABICA_PARAMS = {`{',1),js={class:"line"},Hs={style:{color:"#9ECBFF"}},Os=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Arabica devnet',")],-1),Qs={class:"line"},zs={style:{color:"#9ECBFF"}},Js={class:"line"},Ys={style:{color:"#9ECBFF"}},Ls=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),Ws=s("span",{class:"line"},null,-1),Xs=o('{<AddNetworkKeplr params={ARABICA_PARAMS}/>}',1),Zs={class:"shiki github-light vp-code-light"},$s=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),sn=s("span",{class:"line"},null,-1),nn=o('export const ARABICA_PARAMS = {`{',1),an={class:"line"},ln={style:{color:"#032F62"}},on=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Arabica devnet',")],-1),pn={class:"line"},en={style:{color:"#032F62"}},tn={class:"line"},cn={style:{color:"#032F62"}},rn=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),En=s("span",{class:"line"},null,-1),yn=o('{<AddNetworkKeplr params={ARABICA_PARAMS}/>}',1);function _n(t,c,E,h,a,r){const e=u("AddNetworkKeplr");return _(),d("div",null,[w,i(e,{params:a.MAINNET_PARAMS},null,8,["params"]),i(e,{params:a.MOCHA_PARAMS},null,8,["params"]),i(e,{params:a.ARABICA_PARAMS},null,8,["params"]),b,s("div",k,[q,s("div",g,[s("div",D,[I,f,s("pre",B,[s("code",null,[P,n(` `),N,n(` -`),v,n(` -`),s("span",S,[s("span",R," chainId: '"+l(a.constants.mainnetChainId)+"',",1)]),n(` +`),S,n(` +`),s("span",v,[s("span",R," chainId: '"+l(a.constants.mainnetChainId)+"',",1)]),n(` `),x,n(` -`),s("span",M,[s("span",K," rpc: '"+l(a.constants.mainnetRpcUrl)+"',",1)]),n(` -`),s("span",V,[s("span",U," rest: '"+l(a.constants.mainnetRestUrl)+"'",1)]),n(` +`),s("span",M,[s("span",V," rpc: '"+l(a.constants.mainnetRpcUrl)+"',",1)]),n(` +`),s("span",K,[s("span",U," rest: '"+l(a.constants.mainnetRestUrl)+"'",1)]),n(` `),G,n(` -`),O,n(` -`),j])]),s("pre",H,[s("code",null,[z,n(` -`),W,n(` +`),j,n(` +`),H])]),s("pre",O,[s("code",null,[Q,n(` +`),z,n(` `),J,n(` `),s("span",Y,[s("span",L," chainId: '"+l(a.constants.mainnetChainId)+"',",1)]),n(` -`),Q,n(` +`),W,n(` `),s("span",X,[s("span",Z," rpc: '"+l(a.constants.mainnetRpcUrl)+"',",1)]),n(` `),s("span",$,[s("span",ss," rest: '"+l(a.constants.mainnetRestUrl)+"'",1)]),n(` `),ns,n(` @@ -173,22 +173,22 @@ import{c as p}from"./chunks/constants.d0f43632.js";import{_ as y,o as _,c as d,k `),Cs,n(` `),ms])]),s("pre",Ts,[s("code",null,[ws,n(` `),bs,n(` -`),qs,n(` -`),s("span",ks,[s("span",gs," chainId: '"+l(a.constants.mochaChainId)+"',",1)]),n(` +`),ks,n(` +`),s("span",qs,[s("span",gs," chainId: '"+l(a.constants.mochaChainId)+"',",1)]),n(` `),Ds,n(` `),s("span",Is,[s("span",fs," rpc: '"+l(a.constants.mochaRpcUrl)+"',",1)]),n(` `),s("span",Bs,[s("span",Ps," rest: '"+l(a.constants.mochaRestUrl)+"'",1)]),n(` `),Ns,n(` -`),vs,n(` -`),Ss])])]),s("div",Rs,[xs,Ms,s("pre",Ks,[s("code",null,[Vs,n(` +`),Ss,n(` +`),vs])])]),s("div",Rs,[xs,Ms,s("pre",Vs,[s("code",null,[Ks,n(` `),Us,n(` `),Gs,n(` -`),s("span",Os,[s("span",js," chainId: '"+l(a.constants.arabicaChainId)+"',",1)]),n(` -`),Hs,n(` -`),s("span",zs,[s("span",Ws," rpc: '"+l(a.constants.arabicaRpcUrl)+"',",1)]),n(` +`),s("span",js,[s("span",Hs," chainId: '"+l(a.constants.arabicaChainId)+"',",1)]),n(` +`),Os,n(` +`),s("span",Qs,[s("span",zs," rpc: '"+l(a.constants.arabicaRpcUrl)+"',",1)]),n(` `),s("span",Js,[s("span",Ys," rest: '"+l(a.constants.arabicaRestUrl)+"'",1)]),n(` `),Ls,n(` -`),Qs,n(` +`),Ws,n(` `),Xs])]),s("pre",Zs,[s("code",null,[$s,n(` `),sn,n(` `),nn,n(` diff --git a/pr-preview/pr-1358/assets/developers_keplr.md.73b344d8.lean.js b/pr-preview/pr-1358/assets/developers_keplr.md.a1a4c9b0.lean.js similarity index 80% rename from pr-preview/pr-1358/assets/developers_keplr.md.73b344d8.lean.js rename to pr-preview/pr-1358/assets/developers_keplr.md.a1a4c9b0.lean.js index 2ce2160946..a3eee712d3 100644 --- a/pr-preview/pr-1358/assets/developers_keplr.md.73b344d8.lean.js +++ b/pr-preview/pr-1358/assets/developers_keplr.md.a1a4c9b0.lean.js @@ -1,17 +1,17 @@ -import{c as p}from"./chunks/constants.d0f43632.js";import{_ as y,o as _,c as d,k as s,t as l,C as u,H as i,a as n,Q as o}from"./chunks/framework.2263f03b.js";const F={props:["params"],methods:{async add(){if(!window.keplr)alert("Please install keplr extension");else{if(window.keplr.experimentalSuggestChain)try{await window.keplr.experimentalSuggestChain({chainId:this.params.chainId,chainName:this.params.chainName,rpc:this.params.rpc,rest:this.params.rest,bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"celestia",bech32PrefixAccPub:"celestiapub",bech32PrefixValAddr:"celestiavaloper",bech32PrefixValPub:"celestiavaloperpub",bech32PrefixConsAddr:"celestiavalcons",bech32PrefixConsPub:"celestiavalconspub"},currencies:[{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia"}],feeCurrencies:[{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia",gasPriceStep:{low:.01,average:.02,high:.1}}],stakeCurrency:{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia"}})}catch{alert("Failed to suggest the chain")}const t=this.params.chainId;await window.keplr.enable(t)}}}},A={class:"center"};function C(t,c,E,h,a,r){return _(),d("div",A,[s("button",{class:"keplrButton",onClick:c[0]||(c[0]=(...e)=>r.add&&r.add(...e))},l(`Add/switch to ${E.params.chainName}`),1)])}const m=y(F,[["render",C],["__scopeId","data-v-ff114fb5"]]),T={components:{AddNetworkKeplr:m},data(){return{constants:p,ARABICA_PARAMS:{chainId:`${p.arabicaChainId}`,chainName:"Arabica devnet",rpc:`${p.arabicaRpcUrl}`,rest:`${p.arabicaRestUrl}`},MOCHA_PARAMS:{chainId:`${p.mochaChainId}`,chainName:"Mocha testnet",rpc:`${p.mochaRpcUrl}`,rest:`${p.mochaRestUrl}`},MAINNET_PARAMS:{chainId:`${p.mainnetChainId}`,chainName:"Celestia",rpc:`${p.mainnetRpcUrl}`,rest:`${p.mainnetRestUrl}`}}}},un=JSON.parse('{"title":"Keplr integration with Celestia","description":"How you can add Celestia network parameters to Keplr.","frontmatter":{"description":"How you can add Celestia network parameters to Keplr.","next":{"text":"Integrating Leap for developers","link":"developers/leap"},"head":[["meta",{"name":"og:title","content":"Keplr integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/keplr.md","filePath":"developers/keplr.md","lastUpdated":1705009966000}'),w=o("",12),b=s("p",null,[n("Behind the scenes, here are the parameters we are passing to the "),s("code",null,"AddNetworkKeplr"),n(" function:")],-1),q={class:"vp-code-group vp-adaptive-theme"},k=o("",1),g={class:"blocks"},D={class:"language-js vp-adaptive-theme active"},I=s("button",{title:"Copy Code",class:"copy"},null,-1),f=s("span",{class:"lang"},"js",-1),B={class:"shiki github-dark vp-code-dark"},P=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),N=s("span",{class:"line"},null,-1),v=o("",1),S={class:"line"},R={style:{color:"#9ECBFF"}},x=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Celestia',")],-1),M={class:"line"},K={style:{color:"#9ECBFF"}},V={class:"line"},U={style:{color:"#9ECBFF"}},G=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),O=s("span",{class:"line"},null,-1),j=o("",1),H={class:"shiki github-light vp-code-light"},z=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),W=s("span",{class:"line"},null,-1),J=o("",1),Y={class:"line"},L={style:{color:"#032F62"}},Q=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Celestia',")],-1),X={class:"line"},Z={style:{color:"#032F62"}},$={class:"line"},ss={style:{color:"#032F62"}},ns=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),as=s("span",{class:"line"},null,-1),ls=o("",1),os={class:"language-js vp-adaptive-theme"},ps=s("button",{title:"Copy Code",class:"copy"},null,-1),es=s("span",{class:"lang"},"js",-1),ts={class:"shiki github-dark vp-code-dark"},cs=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),rs=s("span",{class:"line"},null,-1),is=o("",1),Es={class:"line"},ys={style:{color:"#9ECBFF"}},_s=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Mocha testnet',")],-1),ds={class:"line"},hs={style:{color:"#9ECBFF"}},us={class:"line"},Fs={style:{color:"#9ECBFF"}},As=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),Cs=s("span",{class:"line"},null,-1),ms=o("",1),Ts={class:"shiki github-light vp-code-light"},ws=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),bs=s("span",{class:"line"},null,-1),qs=o("",1),ks={class:"line"},gs={style:{color:"#032F62"}},Ds=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Mocha testnet',")],-1),Is={class:"line"},fs={style:{color:"#032F62"}},Bs={class:"line"},Ps={style:{color:"#032F62"}},Ns=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),vs=s("span",{class:"line"},null,-1),Ss=o("",1),Rs={class:"language-js vp-adaptive-theme"},xs=s("button",{title:"Copy Code",class:"copy"},null,-1),Ms=s("span",{class:"lang"},"js",-1),Ks={class:"shiki github-dark vp-code-dark"},Vs=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),Us=s("span",{class:"line"},null,-1),Gs=o("",1),Os={class:"line"},js={style:{color:"#9ECBFF"}},Hs=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Arabica devnet',")],-1),zs={class:"line"},Ws={style:{color:"#9ECBFF"}},Js={class:"line"},Ys={style:{color:"#9ECBFF"}},Ls=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),Qs=s("span",{class:"line"},null,-1),Xs=o("",1),Zs={class:"shiki github-light vp-code-light"},$s=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),sn=s("span",{class:"line"},null,-1),nn=o("",1),an={class:"line"},ln={style:{color:"#032F62"}},on=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Arabica devnet',")],-1),pn={class:"line"},en={style:{color:"#032F62"}},tn={class:"line"},cn={style:{color:"#032F62"}},rn=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),En=s("span",{class:"line"},null,-1),yn=o("",1);function _n(t,c,E,h,a,r){const e=u("AddNetworkKeplr");return _(),d("div",null,[w,i(e,{params:a.MAINNET_PARAMS},null,8,["params"]),i(e,{params:a.MOCHA_PARAMS},null,8,["params"]),i(e,{params:a.ARABICA_PARAMS},null,8,["params"]),b,s("div",q,[k,s("div",g,[s("div",D,[I,f,s("pre",B,[s("code",null,[P,n(` +import{c as p}from"./chunks/constants.d0f43632.js";import{_ as y,o as _,c as d,k as s,t as l,C as u,H as i,a as n,Q as o}from"./chunks/framework.2263f03b.js";const F={props:["params"],methods:{async add(){if(!window.keplr)alert("Please install keplr extension");else{if(window.keplr.experimentalSuggestChain)try{await window.keplr.experimentalSuggestChain({chainId:this.params.chainId,chainName:this.params.chainName,rpc:this.params.rpc,rest:this.params.rest,bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"celestia",bech32PrefixAccPub:"celestiapub",bech32PrefixValAddr:"celestiavaloper",bech32PrefixValPub:"celestiavaloperpub",bech32PrefixConsAddr:"celestiavalcons",bech32PrefixConsPub:"celestiavalconspub"},currencies:[{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia"}],feeCurrencies:[{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia",gasPriceStep:{low:.01,average:.02,high:.1}}],stakeCurrency:{coinDenom:"TIA",coinMinimalDenom:"utia",coinDecimals:6,coinGeckoId:"celestia"}})}catch{alert("Failed to suggest the chain")}const t=this.params.chainId;await window.keplr.enable(t)}}}},A={class:"center"};function C(t,c,E,h,a,r){return _(),d("div",A,[s("button",{class:"keplrButton",onClick:c[0]||(c[0]=(...e)=>r.add&&r.add(...e))},l(`Add/switch to ${E.params.chainName}`),1)])}const m=y(F,[["render",C],["__scopeId","data-v-ff114fb5"]]),T={components:{AddNetworkKeplr:m},data(){return{constants:p,ARABICA_PARAMS:{chainId:`${p.arabicaChainId}`,chainName:"Arabica devnet",rpc:`${p.arabicaRpcUrl}`,rest:`${p.arabicaRestUrl}`},MOCHA_PARAMS:{chainId:`${p.mochaChainId}`,chainName:"Mocha testnet",rpc:`${p.mochaRpcUrl}`,rest:`${p.mochaRestUrl}`},MAINNET_PARAMS:{chainId:`${p.mainnetChainId}`,chainName:"Celestia",rpc:`${p.mainnetRpcUrl}`,rest:`${p.mainnetRestUrl}`}}}},un=JSON.parse('{"title":"Keplr integration with Celestia","description":"How you can add Celestia network parameters to Keplr.","frontmatter":{"description":"How you can add Celestia network parameters to Keplr.","next":{"text":"Integrating Leap for developers","link":"developers/leap"},"head":[["meta",{"name":"og:title","content":"Keplr integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/keplr.md","filePath":"developers/keplr.md","lastUpdated":1705010189000}'),w=o("",12),b=s("p",null,[n("Behind the scenes, here are the parameters we are passing to the "),s("code",null,"AddNetworkKeplr"),n(" function:")],-1),k={class:"vp-code-group vp-adaptive-theme"},q=o("",1),g={class:"blocks"},D={class:"language-js vp-adaptive-theme active"},I=s("button",{title:"Copy Code",class:"copy"},null,-1),f=s("span",{class:"lang"},"js",-1),B={class:"shiki github-dark vp-code-dark"},P=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),N=s("span",{class:"line"},null,-1),S=o("",1),v={class:"line"},R={style:{color:"#9ECBFF"}},x=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Celestia',")],-1),M={class:"line"},V={style:{color:"#9ECBFF"}},K={class:"line"},U={style:{color:"#9ECBFF"}},G=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),j=s("span",{class:"line"},null,-1),H=o("",1),O={class:"shiki github-light vp-code-light"},Q=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),z=s("span",{class:"line"},null,-1),J=o("",1),Y={class:"line"},L={style:{color:"#032F62"}},W=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Celestia',")],-1),X={class:"line"},Z={style:{color:"#032F62"}},$={class:"line"},ss={style:{color:"#032F62"}},ns=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),as=s("span",{class:"line"},null,-1),ls=o("",1),os={class:"language-js vp-adaptive-theme"},ps=s("button",{title:"Copy Code",class:"copy"},null,-1),es=s("span",{class:"lang"},"js",-1),ts={class:"shiki github-dark vp-code-dark"},cs=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),rs=s("span",{class:"line"},null,-1),is=o("",1),Es={class:"line"},ys={style:{color:"#9ECBFF"}},_s=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Mocha testnet',")],-1),ds={class:"line"},hs={style:{color:"#9ECBFF"}},us={class:"line"},Fs={style:{color:"#9ECBFF"}},As=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),Cs=s("span",{class:"line"},null,-1),ms=o("",1),Ts={class:"shiki github-light vp-code-light"},ws=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),bs=s("span",{class:"line"},null,-1),ks=o("",1),qs={class:"line"},gs={style:{color:"#032F62"}},Ds=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Mocha testnet',")],-1),Is={class:"line"},fs={style:{color:"#032F62"}},Bs={class:"line"},Ps={style:{color:"#032F62"}},Ns=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),Ss=s("span",{class:"line"},null,-1),vs=o("",1),Rs={class:"language-js vp-adaptive-theme"},xs=s("button",{title:"Copy Code",class:"copy"},null,-1),Ms=s("span",{class:"lang"},"js",-1),Vs={class:"shiki github-dark vp-code-dark"},Ks=s("span",{class:"line"},[s("span",{style:{color:"#F97583"}},"import"),s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#9ECBFF"}},"'@site/src/components/AddNetworkKeplr'")],-1),Us=s("span",{class:"line"},null,-1),Gs=o("",1),js={class:"line"},Hs={style:{color:"#9ECBFF"}},Os=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}}," chainName: 'Arabica devnet',")],-1),Qs={class:"line"},zs={style:{color:"#9ECBFF"}},Js={class:"line"},Ys={style:{color:"#9ECBFF"}},Ls=s("span",{class:"line"},[s("span",{style:{color:"#9ECBFF"}},"}`"),s("span",{style:{color:"#E1E4E8"}},"}")],-1),Ws=s("span",{class:"line"},null,-1),Xs=o("",1),Zs={class:"shiki github-light vp-code-light"},$s=s("span",{class:"line"},[s("span",{style:{color:"#D73A49"}},"import"),s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#032F62"}},"'@site/src/components/AddNetworkKeplr'")],-1),sn=s("span",{class:"line"},null,-1),nn=o("",1),an={class:"line"},ln={style:{color:"#032F62"}},on=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}}," chainName: 'Arabica devnet',")],-1),pn={class:"line"},en={style:{color:"#032F62"}},tn={class:"line"},cn={style:{color:"#032F62"}},rn=s("span",{class:"line"},[s("span",{style:{color:"#032F62"}},"}`"),s("span",{style:{color:"#24292E"}},"}")],-1),En=s("span",{class:"line"},null,-1),yn=o("",1);function _n(t,c,E,h,a,r){const e=u("AddNetworkKeplr");return _(),d("div",null,[w,i(e,{params:a.MAINNET_PARAMS},null,8,["params"]),i(e,{params:a.MOCHA_PARAMS},null,8,["params"]),i(e,{params:a.ARABICA_PARAMS},null,8,["params"]),b,s("div",k,[q,s("div",g,[s("div",D,[I,f,s("pre",B,[s("code",null,[P,n(` `),N,n(` -`),v,n(` -`),s("span",S,[s("span",R," chainId: '"+l(a.constants.mainnetChainId)+"',",1)]),n(` +`),S,n(` +`),s("span",v,[s("span",R," chainId: '"+l(a.constants.mainnetChainId)+"',",1)]),n(` `),x,n(` -`),s("span",M,[s("span",K," rpc: '"+l(a.constants.mainnetRpcUrl)+"',",1)]),n(` -`),s("span",V,[s("span",U," rest: '"+l(a.constants.mainnetRestUrl)+"'",1)]),n(` +`),s("span",M,[s("span",V," rpc: '"+l(a.constants.mainnetRpcUrl)+"',",1)]),n(` +`),s("span",K,[s("span",U," rest: '"+l(a.constants.mainnetRestUrl)+"'",1)]),n(` `),G,n(` -`),O,n(` -`),j])]),s("pre",H,[s("code",null,[z,n(` -`),W,n(` +`),j,n(` +`),H])]),s("pre",O,[s("code",null,[Q,n(` +`),z,n(` `),J,n(` `),s("span",Y,[s("span",L," chainId: '"+l(a.constants.mainnetChainId)+"',",1)]),n(` -`),Q,n(` +`),W,n(` `),s("span",X,[s("span",Z," rpc: '"+l(a.constants.mainnetRpcUrl)+"',",1)]),n(` `),s("span",$,[s("span",ss," rest: '"+l(a.constants.mainnetRestUrl)+"'",1)]),n(` `),ns,n(` @@ -27,22 +27,22 @@ import{c as p}from"./chunks/constants.d0f43632.js";import{_ as y,o as _,c as d,k `),Cs,n(` `),ms])]),s("pre",Ts,[s("code",null,[ws,n(` `),bs,n(` -`),qs,n(` -`),s("span",ks,[s("span",gs," chainId: '"+l(a.constants.mochaChainId)+"',",1)]),n(` +`),ks,n(` +`),s("span",qs,[s("span",gs," chainId: '"+l(a.constants.mochaChainId)+"',",1)]),n(` `),Ds,n(` `),s("span",Is,[s("span",fs," rpc: '"+l(a.constants.mochaRpcUrl)+"',",1)]),n(` `),s("span",Bs,[s("span",Ps," rest: '"+l(a.constants.mochaRestUrl)+"'",1)]),n(` `),Ns,n(` -`),vs,n(` -`),Ss])])]),s("div",Rs,[xs,Ms,s("pre",Ks,[s("code",null,[Vs,n(` +`),Ss,n(` +`),vs])])]),s("div",Rs,[xs,Ms,s("pre",Vs,[s("code",null,[Ks,n(` `),Us,n(` `),Gs,n(` -`),s("span",Os,[s("span",js," chainId: '"+l(a.constants.arabicaChainId)+"',",1)]),n(` -`),Hs,n(` -`),s("span",zs,[s("span",Ws," rpc: '"+l(a.constants.arabicaRpcUrl)+"',",1)]),n(` +`),s("span",js,[s("span",Hs," chainId: '"+l(a.constants.arabicaChainId)+"',",1)]),n(` +`),Os,n(` +`),s("span",Qs,[s("span",zs," rpc: '"+l(a.constants.arabicaRpcUrl)+"',",1)]),n(` `),s("span",Js,[s("span",Ys," rest: '"+l(a.constants.arabicaRestUrl)+"'",1)]),n(` `),Ls,n(` -`),Qs,n(` +`),Ws,n(` `),Xs])]),s("pre",Zs,[s("code",null,[$s,n(` `),sn,n(` `),nn,n(` diff --git a/pr-preview/pr-1358/assets/developers_leap.md.8c1fdb1a.js b/pr-preview/pr-1358/assets/developers_leap.md.9a160a89.js similarity index 98% rename from pr-preview/pr-1358/assets/developers_leap.md.8c1fdb1a.js rename to pr-preview/pr-1358/assets/developers_leap.md.9a160a89.js index 6d68d5017e..4eadc993b1 100644 --- a/pr-preview/pr-1358/assets/developers_leap.md.8c1fdb1a.js +++ b/pr-preview/pr-1358/assets/developers_leap.md.9a160a89.js @@ -1 +1 @@ -import{c as t}from"./chunks/constants.d0f43632.js";import{o as i,c as s,k as e,a,t as o,l as n,Q as l}from"./chunks/framework.2263f03b.js";const r=e("h1",{id:"leap-integration-with-celestia",tabindex:"-1"},[a("Leap integration with Celestia "),e("a",{class:"header-anchor",href:"#leap-integration-with-celestia","aria-label":'Permalink to "Leap integration with Celestia"'},"​")],-1),c=e("p",null,"This guide will go over how you can add Celestia network parameters to Leap wallet.",-1),d=e("a",{href:"./../nodes/mocha-testnet"},"Mocha testnet",-1),p={href:"./../nodes/mocha-testnet#software-version-numbers"},h=l('

      Install Leap

      Leap is a popular Cosmos-based wallet that allows anyone to connect to Cosmos chains from their browser or phone.

      Learn more and download Leap.

      Pick the browser or mobile device that you are using and follow the instructions to install Leap.

      Add Mocha Testnet

      Click the Cosmos logo in the top corner of Leap wallet and search for and select "Mocha Testnet".

      You'll see that you're connected to Mocha testnet. You can now see your balance, send, and receive transactions.

      Adding a custom chain to Leap

      If you want to add a custom chain to Leap, you can do so by:

      1. Clicking the Cosmos logo in the top corner of Leap wallet
      2. Scrolling down and clicking "Add new chain"

      You can then add the following parameters:

      ',11),u=l("
    8. Chain Name: Arabica devnet
    9. New RPC URL: https://consensus-full.celestia-arabica-10.com
    10. New REST URL: https://api.consensus.celestia-arabica-10.com
    11. Address Prefix: celestia
    12. Native Denom: utia
    13. Coin Type: 118
    14. Decimals: 6
    15. Block explorer URL (optional): https://explorer.celestia-arabica-10.com
    16. ",8),_=e("p",null,[a("Now, click "),e("code",null,"Add chain"),a(" and you will be able to view your Arabica account balance and transactions in Leap wallet.")],-1),m=e("p",null,"You'll see that you're connected to Arabica Devnet.",-1),L=JSON.parse('{"title":"Leap integration with Celestia","description":"How you can add Celestia network parameters to Leap wallet.","frontmatter":{"description":"How you can add Celestia network parameters to Leap wallet.","prev":{"text":"Integrating Keplr for developers","link":"/developers/keplr"},"next":{"text":"Integrating Cosmostation for developers","link":"/developers/cosmostation"},"head":[["meta",{"name":"og:title","content":"Leap integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/leap.md","filePath":"developers/leap.md","lastUpdated":1705009966000}'),w={name:"developers/leap.md"},T=Object.assign(w,{setup(f){return(g,b)=>(i(),s("div",null,[r,c,e("p",null,[a("The example in this guide is for the "),d,a(" ("),e("a",p,o(n(t).mochaChainId)+".",1),a("), and the same workflow can be used for any Celestia network.")]),h,e("ul",null,[e("li",null,[a("Chain Id: "),e("code",null,o(n(t).arabicaChainId),1)]),u]),_,m]))}});export{L as __pageData,T as default}; +import{c as t}from"./chunks/constants.d0f43632.js";import{o as i,c as s,k as e,a,t as o,l as n,Q as l}from"./chunks/framework.2263f03b.js";const r=e("h1",{id:"leap-integration-with-celestia",tabindex:"-1"},[a("Leap integration with Celestia "),e("a",{class:"header-anchor",href:"#leap-integration-with-celestia","aria-label":'Permalink to "Leap integration with Celestia"'},"​")],-1),c=e("p",null,"This guide will go over how you can add Celestia network parameters to Leap wallet.",-1),d=e("a",{href:"./../nodes/mocha-testnet"},"Mocha testnet",-1),p={href:"./../nodes/mocha-testnet#software-version-numbers"},h=l('

      Install Leap

      Leap is a popular Cosmos-based wallet that allows anyone to connect to Cosmos chains from their browser or phone.

      Learn more and download Leap.

      Pick the browser or mobile device that you are using and follow the instructions to install Leap.

      Add Mocha Testnet

      Click the Cosmos logo in the top corner of Leap wallet and search for and select "Mocha Testnet".

      You'll see that you're connected to Mocha testnet. You can now see your balance, send, and receive transactions.

      Adding a custom chain to Leap

      If you want to add a custom chain to Leap, you can do so by:

      1. Clicking the Cosmos logo in the top corner of Leap wallet
      2. Scrolling down and clicking "Add new chain"

      You can then add the following parameters:

      ',11),u=l("
    17. Chain Name: Arabica devnet
    18. New RPC URL: https://consensus-full.celestia-arabica-10.com
    19. New REST URL: https://api.consensus.celestia-arabica-10.com
    20. Address Prefix: celestia
    21. Native Denom: utia
    22. Coin Type: 118
    23. Decimals: 6
    24. Block explorer URL (optional): https://explorer.celestia-arabica-10.com
    25. ",8),_=e("p",null,[a("Now, click "),e("code",null,"Add chain"),a(" and you will be able to view your Arabica account balance and transactions in Leap wallet.")],-1),m=e("p",null,"You'll see that you're connected to Arabica Devnet.",-1),L=JSON.parse('{"title":"Leap integration with Celestia","description":"How you can add Celestia network parameters to Leap wallet.","frontmatter":{"description":"How you can add Celestia network parameters to Leap wallet.","prev":{"text":"Integrating Keplr for developers","link":"/developers/keplr"},"next":{"text":"Integrating Cosmostation for developers","link":"/developers/cosmostation"},"head":[["meta",{"name":"og:title","content":"Leap integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/leap.md","filePath":"developers/leap.md","lastUpdated":1705010189000}'),w={name:"developers/leap.md"},T=Object.assign(w,{setup(f){return(g,b)=>(i(),s("div",null,[r,c,e("p",null,[a("The example in this guide is for the "),d,a(" ("),e("a",p,o(n(t).mochaChainId)+".",1),a("), and the same workflow can be used for any Celestia network.")]),h,e("ul",null,[e("li",null,[a("Chain Id: "),e("code",null,o(n(t).arabicaChainId),1)]),u]),_,m]))}});export{L as __pageData,T as default}; diff --git a/pr-preview/pr-1358/assets/developers_leap.md.8c1fdb1a.lean.js b/pr-preview/pr-1358/assets/developers_leap.md.9a160a89.lean.js similarity index 96% rename from pr-preview/pr-1358/assets/developers_leap.md.8c1fdb1a.lean.js rename to pr-preview/pr-1358/assets/developers_leap.md.9a160a89.lean.js index 0c234d4f79..2b5674336a 100644 --- a/pr-preview/pr-1358/assets/developers_leap.md.8c1fdb1a.lean.js +++ b/pr-preview/pr-1358/assets/developers_leap.md.9a160a89.lean.js @@ -1 +1 @@ -import{c as t}from"./chunks/constants.d0f43632.js";import{o as i,c as s,k as e,a,t as o,l as n,Q as l}from"./chunks/framework.2263f03b.js";const r=e("h1",{id:"leap-integration-with-celestia",tabindex:"-1"},[a("Leap integration with Celestia "),e("a",{class:"header-anchor",href:"#leap-integration-with-celestia","aria-label":'Permalink to "Leap integration with Celestia"'},"​")],-1),c=e("p",null,"This guide will go over how you can add Celestia network parameters to Leap wallet.",-1),d=e("a",{href:"./../nodes/mocha-testnet"},"Mocha testnet",-1),p={href:"./../nodes/mocha-testnet#software-version-numbers"},h=l("",11),u=l("",8),_=e("p",null,[a("Now, click "),e("code",null,"Add chain"),a(" and you will be able to view your Arabica account balance and transactions in Leap wallet.")],-1),m=e("p",null,"You'll see that you're connected to Arabica Devnet.",-1),L=JSON.parse('{"title":"Leap integration with Celestia","description":"How you can add Celestia network parameters to Leap wallet.","frontmatter":{"description":"How you can add Celestia network parameters to Leap wallet.","prev":{"text":"Integrating Keplr for developers","link":"/developers/keplr"},"next":{"text":"Integrating Cosmostation for developers","link":"/developers/cosmostation"},"head":[["meta",{"name":"og:title","content":"Leap integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/leap.md","filePath":"developers/leap.md","lastUpdated":1705009966000}'),w={name:"developers/leap.md"},T=Object.assign(w,{setup(f){return(g,b)=>(i(),s("div",null,[r,c,e("p",null,[a("The example in this guide is for the "),d,a(" ("),e("a",p,o(n(t).mochaChainId)+".",1),a("), and the same workflow can be used for any Celestia network.")]),h,e("ul",null,[e("li",null,[a("Chain Id: "),e("code",null,o(n(t).arabicaChainId),1)]),u]),_,m]))}});export{L as __pageData,T as default}; +import{c as t}from"./chunks/constants.d0f43632.js";import{o as i,c as s,k as e,a,t as o,l as n,Q as l}from"./chunks/framework.2263f03b.js";const r=e("h1",{id:"leap-integration-with-celestia",tabindex:"-1"},[a("Leap integration with Celestia "),e("a",{class:"header-anchor",href:"#leap-integration-with-celestia","aria-label":'Permalink to "Leap integration with Celestia"'},"​")],-1),c=e("p",null,"This guide will go over how you can add Celestia network parameters to Leap wallet.",-1),d=e("a",{href:"./../nodes/mocha-testnet"},"Mocha testnet",-1),p={href:"./../nodes/mocha-testnet#software-version-numbers"},h=l("",11),u=l("",8),_=e("p",null,[a("Now, click "),e("code",null,"Add chain"),a(" and you will be able to view your Arabica account balance and transactions in Leap wallet.")],-1),m=e("p",null,"You'll see that you're connected to Arabica Devnet.",-1),L=JSON.parse('{"title":"Leap integration with Celestia","description":"How you can add Celestia network parameters to Leap wallet.","frontmatter":{"description":"How you can add Celestia network parameters to Leap wallet.","prev":{"text":"Integrating Keplr for developers","link":"/developers/keplr"},"next":{"text":"Integrating Cosmostation for developers","link":"/developers/cosmostation"},"head":[["meta",{"name":"og:title","content":"Leap integration with Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/leap.md","filePath":"developers/leap.md","lastUpdated":1705010189000}'),w={name:"developers/leap.md"},T=Object.assign(w,{setup(f){return(g,b)=>(i(),s("div",null,[r,c,e("p",null,[a("The example in this guide is for the "),d,a(" ("),e("a",p,o(n(t).mochaChainId)+".",1),a("), and the same workflow can be used for any Celestia network.")]),h,e("ul",null,[e("li",null,[a("Chain Id: "),e("code",null,o(n(t).arabicaChainId),1)]),u]),_,m]))}});export{L as __pageData,T as default}; diff --git a/pr-preview/pr-1358/assets/developers_nitrogen.md.da575949.js b/pr-preview/pr-1358/assets/developers_nitrogen.md.da18e584.js similarity index 97% rename from pr-preview/pr-1358/assets/developers_nitrogen.md.da575949.js rename to pr-preview/pr-1358/assets/developers_nitrogen.md.da18e584.js index 525d00f760..3248456878 100644 --- a/pr-preview/pr-1358/assets/developers_nitrogen.md.da575949.js +++ b/pr-preview/pr-1358/assets/developers_nitrogen.md.da18e584.js @@ -1 +1 @@ -import{_ as t,o as e,c as r,Q as n}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/nitrogen-testnet.jpg",b=JSON.parse('{"title":"Nitrogen testnet","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Nitrogen testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/nitrogen.md","filePath":"developers/nitrogen.md","lastUpdated":1705009966000}'),o={name:"developers/nitrogen.md"},i=n('

      Nitrogen testnet

      nitrogen-testnet

      Nitrogen is the first testnet and L3 made with Celestia's Arbitrum Nitro integration hosted by AltLayer.

      Learn more in Altlayer's documentation.

      Getting Started with Nitrogen

      Find chain information, RPCs, contract addresses, bridging information, blob poster address, and more on AltLayer's Nitrogen testnet page

      (https://rollup-info.altlayer.io/public/nitrogen).

      Nitrogen tokens

      The easiest way to obtain Nitrogen tokens is to visit the faucet and select "Nitrogen Testnet (Arbitrum Orbit + Celestia".

      You can also find a guide with more details in Altlayer's documentation.

      Optional: Bridging tokens

      Alternatively, you can use the Arbitrum bridge to bridge from:

      1. Arbitrum Sepolia (L2) to Nitrogen (L3)
      2. Sepolia (L1) to Arbitrum Sepolia (L2) to Nitrogen (L3)

      Details for how to use the bridge to Nitrogen can also be found on the Nitrogen page.

      ',14),l=[i];function s(g,d,p,h,c,f){return e(),r("div",null,l)}const m=t(o,[["render",s]]);export{b as __pageData,m as default}; +import{_ as t,o as e,c as r,Q as n}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/nitrogen-testnet.jpg",b=JSON.parse('{"title":"Nitrogen testnet","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Nitrogen testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/nitrogen.md","filePath":"developers/nitrogen.md","lastUpdated":1705010189000}'),o={name:"developers/nitrogen.md"},i=n('

      Nitrogen testnet

      nitrogen-testnet

      Nitrogen is the first testnet and L3 made with Celestia's Arbitrum Nitro integration hosted by AltLayer.

      Learn more in Altlayer's documentation.

      Getting Started with Nitrogen

      Find chain information, RPCs, contract addresses, bridging information, blob poster address, and more on AltLayer's Nitrogen testnet page

      (https://rollup-info.altlayer.io/public/nitrogen).

      Nitrogen tokens

      The easiest way to obtain Nitrogen tokens is to visit the faucet and select "Nitrogen Testnet (Arbitrum Orbit + Celestia".

      You can also find a guide with more details in Altlayer's documentation.

      Optional: Bridging tokens

      Alternatively, you can use the Arbitrum bridge to bridge from:

      1. Arbitrum Sepolia (L2) to Nitrogen (L3)
      2. Sepolia (L1) to Arbitrum Sepolia (L2) to Nitrogen (L3)

      Details for how to use the bridge to Nitrogen can also be found on the Nitrogen page.

      ',14),l=[i];function s(g,d,p,h,c,f){return e(),r("div",null,l)}const m=t(o,[["render",s]]);export{b as __pageData,m as default}; diff --git a/pr-preview/pr-1358/assets/developers_nitrogen.md.da575949.lean.js b/pr-preview/pr-1358/assets/developers_nitrogen.md.da18e584.lean.js similarity index 89% rename from pr-preview/pr-1358/assets/developers_nitrogen.md.da575949.lean.js rename to pr-preview/pr-1358/assets/developers_nitrogen.md.da18e584.lean.js index e1b1c64bf3..e514582602 100644 --- a/pr-preview/pr-1358/assets/developers_nitrogen.md.da575949.lean.js +++ b/pr-preview/pr-1358/assets/developers_nitrogen.md.da18e584.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as r,Q as n}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/nitrogen-testnet.jpg",b=JSON.parse('{"title":"Nitrogen testnet","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Nitrogen testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/nitrogen.md","filePath":"developers/nitrogen.md","lastUpdated":1705009966000}'),o={name:"developers/nitrogen.md"},i=n("",14),l=[i];function s(g,d,p,h,c,f){return e(),r("div",null,l)}const m=t(o,[["render",s]]);export{b as __pageData,m as default}; +import{_ as t,o as e,c as r,Q as n}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/nitrogen-testnet.jpg",b=JSON.parse('{"title":"Nitrogen testnet","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Nitrogen testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/nitrogen.md","filePath":"developers/nitrogen.md","lastUpdated":1705010189000}'),o={name:"developers/nitrogen.md"},i=n("",14),l=[i];function s(g,d,p,h,c,f){return e(),r("div",null,l)}const m=t(o,[["render",s]]);export{b as __pageData,m as default}; diff --git a/pr-preview/pr-1358/assets/developers_node-api.md.105c42f2.js b/pr-preview/pr-1358/assets/developers_node-api.md.cc40ec20.js similarity index 98% rename from pr-preview/pr-1358/assets/developers_node-api.md.105c42f2.js rename to pr-preview/pr-1358/assets/developers_node-api.md.cc40ec20.js index eb09771b98..7ff498a44f 100644 --- a/pr-preview/pr-1358/assets/developers_node-api.md.105c42f2.js +++ b/pr-preview/pr-1358/assets/developers_node-api.md.cc40ec20.js @@ -1 +1 @@ -import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const w=JSON.parse('{"title":"Node API","description":"An overview of the celestia-node API.","frontmatter":{"description":"An overview of the celestia-node API.","head":[["meta",{"name":"og:title","content":"Node API | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/node-api.md","filePath":"developers/node-api.md","lastUpdated":1705009966000}'),o={name:"developers/node-api.md"},i=r('

      Node API

      The celestia-node API is made for interacting with celestia-node. There are two ways in which a user and developer can interact with the API, the RPC API and the Gateway API. View the API's documentation.

      RPC API

      The RPC API primarily focuses on developers and projects building on top of Celestia, who are willing to run their own DA nodes. The RPC API provides a richer set of features and a superior user experience. Unlike the Gateway API, the RPC API allows access to the internal wallet and keyring of the DA node, as well as other sensitive and administrative capabilities.

      Library

      The node can be used as a Golang library and designed for programmatic API access.

      RPC

      The RPC API is also exposed to OpenRPC(JSON-RPC 2.0) for users wanting to run their DA node as a separate DA service. It provides the same set of features as the library with an additional authentication system with different permissions levels to protect the wallet and signing + providing RPC-level DOS protection.

      RPC API tutorial

      The node tutorial, which uses the RPC CLI, is the recommended way to get started interacting with your Celestia node.

      Gateway API

      WARNING

      The gateway endpoints have been deprecated and will be removed in the future. If you would like to use them anyway, you can find more details on GitHub.

      The gateway API is a REST API which is meant to be deployed by infra providers to enable the public read-only gateway to the DA network for external users who don't want or can't run light nodes (like browsers currently) over HTTP. It has no wallet or signing functionality.

      Gateway API tutorial

      Check out the Prompt scavenger gateway API tutorial for more details.

      ',15),n=[i];function s(l,d,h,c,p,u){return a(),t("div",null,n)}const f=e(o,[["render",s]]);export{w as __pageData,f as default}; +import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const w=JSON.parse('{"title":"Node API","description":"An overview of the celestia-node API.","frontmatter":{"description":"An overview of the celestia-node API.","head":[["meta",{"name":"og:title","content":"Node API | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/node-api.md","filePath":"developers/node-api.md","lastUpdated":1705010189000}'),o={name:"developers/node-api.md"},i=r('

      Node API

      The celestia-node API is made for interacting with celestia-node. There are two ways in which a user and developer can interact with the API, the RPC API and the Gateway API. View the API's documentation.

      RPC API

      The RPC API primarily focuses on developers and projects building on top of Celestia, who are willing to run their own DA nodes. The RPC API provides a richer set of features and a superior user experience. Unlike the Gateway API, the RPC API allows access to the internal wallet and keyring of the DA node, as well as other sensitive and administrative capabilities.

      Library

      The node can be used as a Golang library and designed for programmatic API access.

      RPC

      The RPC API is also exposed to OpenRPC(JSON-RPC 2.0) for users wanting to run their DA node as a separate DA service. It provides the same set of features as the library with an additional authentication system with different permissions levels to protect the wallet and signing + providing RPC-level DOS protection.

      RPC API tutorial

      The node tutorial, which uses the RPC CLI, is the recommended way to get started interacting with your Celestia node.

      Gateway API

      WARNING

      The gateway endpoints have been deprecated and will be removed in the future. If you would like to use them anyway, you can find more details on GitHub.

      The gateway API is a REST API which is meant to be deployed by infra providers to enable the public read-only gateway to the DA network for external users who don't want or can't run light nodes (like browsers currently) over HTTP. It has no wallet or signing functionality.

      Gateway API tutorial

      Check out the Prompt scavenger gateway API tutorial for more details.

      ',15),n=[i];function s(l,d,h,c,p,u){return a(),t("div",null,n)}const f=e(o,[["render",s]]);export{w as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/developers_node-api.md.105c42f2.lean.js b/pr-preview/pr-1358/assets/developers_node-api.md.cc40ec20.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/developers_node-api.md.105c42f2.lean.js rename to pr-preview/pr-1358/assets/developers_node-api.md.cc40ec20.lean.js index 18ece97d6a..772fd92ef2 100644 --- a/pr-preview/pr-1358/assets/developers_node-api.md.105c42f2.lean.js +++ b/pr-preview/pr-1358/assets/developers_node-api.md.cc40ec20.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const w=JSON.parse('{"title":"Node API","description":"An overview of the celestia-node API.","frontmatter":{"description":"An overview of the celestia-node API.","head":[["meta",{"name":"og:title","content":"Node API | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/node-api.md","filePath":"developers/node-api.md","lastUpdated":1705009966000}'),o={name:"developers/node-api.md"},i=r("",15),n=[i];function s(l,d,h,c,p,u){return a(),t("div",null,n)}const f=e(o,[["render",s]]);export{w as __pageData,f as default}; +import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const w=JSON.parse('{"title":"Node API","description":"An overview of the celestia-node API.","frontmatter":{"description":"An overview of the celestia-node API.","head":[["meta",{"name":"og:title","content":"Node API | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/node-api.md","filePath":"developers/node-api.md","lastUpdated":1705010189000}'),o={name:"developers/node-api.md"},i=r("",15),n=[i];function s(l,d,h,c,p,u){return a(),t("div",null,n)}const f=e(o,[["render",s]]);export{w as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/developers_node-tutorial.md.e1712ce5.js b/pr-preview/pr-1358/assets/developers_node-tutorial.md.034451d3.js similarity index 97% rename from pr-preview/pr-1358/assets/developers_node-tutorial.md.e1712ce5.js rename to pr-preview/pr-1358/assets/developers_node-tutorial.md.034451d3.js index d342a6c00b..63c76c776e 100644 --- a/pr-preview/pr-1358/assets/developers_node-tutorial.md.e1712ce5.js +++ b/pr-preview/pr-1358/assets/developers_node-tutorial.md.034451d3.js @@ -1,4 +1,4 @@ -import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./chunks/mocha_versions.7e950c54.js";import{m as c}from"./chunks/mainnet_versions.7e950c54.js";import{o as r,c as y,k as s,t as a,l as n,a as p,Q as l}from"./chunks/framework.2263f03b.js";const E=l(`

      Celestia-node RPC CLI tutorial

      In this tutorial, we will cover how to use the celestia-node RPC API to submit and retrieve data (blobs) from the data availability layer by their namespace.

      Table of contents

      Introduction

      Blobs

      Data is posted to Celestia's DA layer by using MsgPayForBlobs transactions to the core network. Read more about MsgPayForBlobs.

      Namespaces

      Celestia partitions the block data into multiple namespaces, one for every application. This allows applications to only download their data, and not the data of other applications. Read more about Namespaced Merkle trees (NMTs).

      TIP

      If you already have a running and funded node, you can skip to the RPC CLI guide section.

      WARNING

      The gateway endpoints have been deprecated and will be removed in the future. If you would like to use them anyway, you can find more details on GitHub.

      Hardware requirements

      The following minimum hardware requirements are recommended for running a light node:

      • Memory: 500 MB RAM (minimum)
      • CPU: Single Core
      • Disk: 50 GB SSD Storage
      • Bandwidth: 56 Kbps for Download/56 Kbps for Upload

      Setting up dependencies

      This portion of the tutorial will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.

      In your terminal, set up dependencies needed to install and build celestia-node.

      1. If you are on Ubuntu, first update and upgrade your OS:

        bash
        sudo apt update && sudo apt upgrade -y
        sudo apt update && sudo apt upgrade -y
        bash
        sudo yum update
        sudo yum update
      2. Install essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the node:

        bash
        sudo apt install curl tar wget clang pkg-config libssl-dev jq \\
        +import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./chunks/mocha_versions.7e950c54.js";import{m as c}from"./chunks/mainnet_versions.7e950c54.js";import{o as r,c as y,k as s,t as a,l as n,a as p,Q as l}from"./chunks/framework.2263f03b.js";const E=l(`

        Celestia-node RPC CLI tutorial

        In this tutorial, we will cover how to use the celestia-node RPC API to submit and retrieve data (blobs) from the data availability layer by their namespace.

        Table of contents

        Introduction

        Blobs

        Data is posted to Celestia's DA layer by using MsgPayForBlobs transactions to the core network. Read more about MsgPayForBlobs.

        Namespaces

        Celestia partitions the block data into multiple namespaces, one for every application. This allows applications to only download their data, and not the data of other applications. Read more about Namespaced Merkle trees (NMTs).

        TIP

        If you already have a running and funded node, you can skip to the RPC CLI guide section.

        WARNING

        The gateway endpoints have been deprecated and will be removed in the future. If you would like to use them anyway, you can find more details on GitHub.

        Hardware requirements

        The following minimum hardware requirements are recommended for running a light node:

        • Memory: 500 MB RAM (minimum)
        • CPU: Single Core
        • Disk: 50 GB SSD Storage
        • Bandwidth: 56 Kbps for Download/56 Kbps for Upload

        Setting up dependencies

        This portion of the tutorial will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.

        In your terminal, set up dependencies needed to install and build celestia-node.

        1. If you are on Ubuntu, first update and upgrade your OS:

          bash
          sudo apt update && sudo apt upgrade -y
          sudo apt update && sudo apt upgrade -y
          bash
          sudo yum update
          sudo yum update
        2. Install essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the node:

          bash
          sudo apt install curl tar wget clang pkg-config libssl-dev jq \\
           build-essential git make ncdu -y
          sudo apt install curl tar wget clang pkg-config libssl-dev jq \\
           build-essential git make ncdu -y
          bash
          sudo yum install curl tar wget clang pkg-config libssl-dev jq \\
           build-essential git make ncdu -y
          sudo yum install curl tar wget clang pkg-config libssl-dev jq \\
          @@ -12,7 +12,7 @@ import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/a
           /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
           
           # then install wget & jq
          -brew install wget && brew install jq

        Install Golang

        celestia-node is written in Golang so we must install Golang to build and run our node.

        `,19),i=s("p",null,"Set the version for your desired network:",-1),d={class:"vp-code-group vp-adaptive-theme"},F=l('
        ',1),u={class:"blocks"},h={class:"language-bash vp-adaptive-theme active"},C=s("button",{title:"Copy Code",class:"copy"},null,-1),g=s("span",{class:"lang"},"bash",-1),b={class:"shiki github-dark vp-code-dark"},B={class:"line"},q=s("span",{style:{color:"#E1E4E8"}},"ver",-1),v=s("span",{style:{color:"#F97583"}},"=",-1),m={style:{color:"#9ECBFF"}},k={class:"shiki github-light vp-code-light"},A={class:"line"},_=s("span",{style:{color:"#24292E"}},"ver",-1),f=s("span",{style:{color:"#D73A49"}},"=",-1),D={style:{color:"#032F62"}},w={class:"language-bash vp-adaptive-theme"},T=s("button",{title:"Copy Code",class:"copy"},null,-1),x=s("span",{class:"lang"},"bash",-1),O={class:"shiki github-dark vp-code-dark"},R={class:"line"},P=s("span",{style:{color:"#E1E4E8"}},"ver",-1),S=s("span",{style:{color:"#F97583"}},"=",-1),I={style:{color:"#9ECBFF"}},N={class:"shiki github-light vp-code-light"},$={class:"line"},H=s("span",{style:{color:"#24292E"}},"ver",-1),M=s("span",{style:{color:"#D73A49"}},"=",-1),U={style:{color:"#032F62"}},L={class:"language-bash vp-adaptive-theme"},j=s("button",{title:"Copy Code",class:"copy"},null,-1),z=s("span",{class:"lang"},"bash",-1),G={class:"shiki github-dark vp-code-dark"},V={class:"line"},W=s("span",{style:{color:"#E1E4E8"}},"ver",-1),K=s("span",{style:{color:"#F97583"}},"=",-1),Y={style:{color:"#9ECBFF"}},X={class:"shiki github-light vp-code-light"},Z={class:"line"},J=s("span",{style:{color:"#24292E"}},"ver",-1),Q=s("span",{style:{color:"#D73A49"}},"=",-1),ss={style:{color:"#032F62"}},as=l(`
      3. Download and install Golang:

        bash
        cd $HOME
        +brew install wget && brew install jq

      Install Golang

      celestia-node is written in Golang so we must install Golang to build and run our node.

      `,19),i=s("p",null,"Set the version for your desired network:",-1),d={class:"vp-code-group vp-adaptive-theme"},F=l('
      ',1),u={class:"blocks"},h={class:"language-bash vp-adaptive-theme active"},C=s("button",{title:"Copy Code",class:"copy"},null,-1),g=s("span",{class:"lang"},"bash",-1),b={class:"shiki github-dark vp-code-dark"},B={class:"line"},q=s("span",{style:{color:"#E1E4E8"}},"ver",-1),v=s("span",{style:{color:"#F97583"}},"=",-1),m={style:{color:"#9ECBFF"}},k={class:"shiki github-light vp-code-light"},A={class:"line"},_=s("span",{style:{color:"#24292E"}},"ver",-1),f=s("span",{style:{color:"#D73A49"}},"=",-1),w={style:{color:"#032F62"}},D={class:"language-bash vp-adaptive-theme"},T=s("button",{title:"Copy Code",class:"copy"},null,-1),x=s("span",{class:"lang"},"bash",-1),O={class:"shiki github-dark vp-code-dark"},R={class:"line"},P=s("span",{style:{color:"#E1E4E8"}},"ver",-1),I=s("span",{style:{color:"#F97583"}},"=",-1),S={style:{color:"#9ECBFF"}},N={class:"shiki github-light vp-code-light"},$={class:"line"},H=s("span",{style:{color:"#24292E"}},"ver",-1),M=s("span",{style:{color:"#D73A49"}},"=",-1),U={style:{color:"#032F62"}},j={class:"language-bash vp-adaptive-theme"},L=s("button",{title:"Copy Code",class:"copy"},null,-1),z=s("span",{class:"lang"},"bash",-1),G={class:"shiki github-dark vp-code-dark"},V={class:"line"},W=s("span",{style:{color:"#E1E4E8"}},"ver",-1),Y=s("span",{style:{color:"#F97583"}},"=",-1),K={style:{color:"#9ECBFF"}},X={class:"shiki github-light vp-code-light"},Z={class:"line"},Q=s("span",{style:{color:"#24292E"}},"ver",-1),J=s("span",{style:{color:"#D73A49"}},"=",-1),ss={style:{color:"#032F62"}},as=l(`
    26. Download and install Golang:

      bash
      cd $HOME
       wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
       sudo rm -rf /usr/local/go
       sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
      @@ -44,7 +44,7 @@ import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/a
       wget "https://golang.org/dl/go$ver.darwin-amd64.tar.gz"
       sudo rm -rf /usr/local/go
       sudo tar -C /usr/local -xzf "go$ver.darwin-amd64.tar.gz"
      -rm "go$ver.darwin-amd64.tar.gz"
    27. Add your /usr/local/go/bin directory to your $PATH if you have not already:

      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
      +rm "go$ver.darwin-amd64.tar.gz"
    28. Add your /usr/local/go/bin directory to your $PATH if you have not already:

      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
       source $HOME/.bash_profile
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
       source $HOME/.bash_profile
      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.zshrc
       source $HOME/.zshrc
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.zshrc
      @@ -54,15 +54,15 @@ import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/a
       cd celestia-node/
      cd $HOME
       rm -rf celestia-node
       git clone https://github.com/celestiaorg/celestia-node.git
      -cd celestia-node/
    29. `,1),cs=s("p",null,"Check out to the desired version, based on the network you will use:",-1),rs={class:"vp-code-group vp-adaptive-theme"},ys=l('
      ',1),Es={class:"blocks"},is={class:"language-bash vp-adaptive-theme active"},ds=s("button",{title:"Copy Code",class:"copy"},null,-1),Fs=s("span",{class:"lang"},"bash",-1),us={class:"shiki github-dark vp-code-dark"},hs={class:"line"},Cs=s("span",{style:{color:"#B392F0"}},"git",-1),gs=s("span",{style:{color:"#E1E4E8"}}," ",-1),bs=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Bs=s("span",{style:{color:"#E1E4E8"}}," ",-1),qs={style:{color:"#9ECBFF"}},vs={class:"shiki github-light vp-code-light"},ms={class:"line"},ks=s("span",{style:{color:"#6F42C1"}},"git",-1),As=s("span",{style:{color:"#24292E"}}," ",-1),_s=s("span",{style:{color:"#032F62"}},"checkout",-1),fs=s("span",{style:{color:"#24292E"}}," ",-1),Ds={style:{color:"#032F62"}},ws={class:"language-bash vp-adaptive-theme"},Ts=s("button",{title:"Copy Code",class:"copy"},null,-1),xs=s("span",{class:"lang"},"bash",-1),Os={class:"shiki github-dark vp-code-dark"},Rs={class:"line"},Ps=s("span",{style:{color:"#B392F0"}},"git",-1),Ss=s("span",{style:{color:"#E1E4E8"}}," ",-1),Is=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Ns=s("span",{style:{color:"#E1E4E8"}}," ",-1),$s={style:{color:"#9ECBFF"}},Hs={class:"shiki github-light vp-code-light"},Ms={class:"line"},Us=s("span",{style:{color:"#6F42C1"}},"git",-1),Ls=s("span",{style:{color:"#24292E"}}," ",-1),js=s("span",{style:{color:"#032F62"}},"checkout",-1),zs=s("span",{style:{color:"#24292E"}}," ",-1),Gs={style:{color:"#032F62"}},Vs={class:"language-bash vp-adaptive-theme"},Ws=s("button",{title:"Copy Code",class:"copy"},null,-1),Ks=s("span",{class:"lang"},"bash",-1),Ys={class:"shiki github-dark vp-code-dark"},Xs={class:"line"},Zs=s("span",{style:{color:"#B392F0"}},"git",-1),Js=s("span",{style:{color:"#E1E4E8"}}," ",-1),Qs=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),sa=s("span",{style:{color:"#E1E4E8"}}," ",-1),aa={style:{color:"#9ECBFF"}},na={class:"shiki github-light vp-code-light"},oa={class:"line"},la=s("span",{style:{color:"#6F42C1"}},"git",-1),pa=s("span",{style:{color:"#24292E"}}," ",-1),ea=s("span",{style:{color:"#032F62"}},"checkout",-1),ta=s("span",{style:{color:"#24292E"}}," ",-1),ca={style:{color:"#032F62"}},ra=l('
    30. Build the celestia binary:

      a. Standard build

      bash
      make build
      make build

      b. Experimental build

      OPTIONAL

      If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.

      bash
      make build-jemalloc
      make build-jemalloc

      This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.

      Note: this requires Go version v1.23+.

    31. Install the binary:

      bash
      make install
      make install
      bash
      make go-install
      make go-install
    32. Build the cel-key utility:

      bash
      make cel-key
      make cel-key
    33. Verify that the binary is working and check the version:

      bash
      celestia version
      celestia version
    34. ',4),ya=l(`

      The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.

      Instantiate a Celestia light node

      Now, let's instantiate a Celestia Light node:

      TIP

      RPC endpoints are exposed in all celestia-node types such as light, bridge and full nodes.

      bash
      celestia light init
      celestia light init
      bash
      celestia light init --p2p.network mocha
      celestia light init --p2p.network mocha
      bash
      celestia light init --p2p.network arabica
      celestia light init --p2p.network arabica

      Instantiating (or initializing) the node means setting up a node store on your machine. This is where the data and your keys will be stored.

      Connect to a public core endpoint

      Let's now run the Celestia Light node with a gRPC connection to an example public core endpoint.

      Note: You are also encouraged to find a community-run API endpoint and there are several in the Discord. This one is used for demonstration purposes. Check out the Mocha testnet page, or Arabica devnet page.

      bash
      celestia light start --core.ip <URI>
      celestia light start --core.ip <URI>
      bash
      celestia light start --core.ip <URI> --p2p.network mocha
      celestia light start --core.ip <URI> --p2p.network mocha
      bash
      celestia light start --core.ip <URI> --p2p.network arabica
      celestia light start --core.ip <URI> --p2p.network arabica

      TIP

      The --core.ip gRPC port defaults to 9090, so if you do not specify it in the command line, it will default to that port. You can add the port after the IP address or use the --core.grpc.port flag to specify another port if you prefer.

      Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

      For example, your command along with an RPC endpoint might look like this:

      bash
      celestia light start --core.ip consensus.lunaroasis.net
      celestia light start --core.ip consensus.lunaroasis.net
      bash
      celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
      celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
      bash
      celestia light start --core.ip consensus-full.celestia-arabica-10.com \\
      +cd celestia-node/
    35. `,1),cs=s("p",null,"Check out to the desired version, based on the network you will use:",-1),rs={class:"vp-code-group vp-adaptive-theme"},ys=l('
      ',1),Es={class:"blocks"},is={class:"language-bash vp-adaptive-theme active"},ds=s("button",{title:"Copy Code",class:"copy"},null,-1),Fs=s("span",{class:"lang"},"bash",-1),us={class:"shiki github-dark vp-code-dark"},hs={class:"line"},Cs=s("span",{style:{color:"#B392F0"}},"git",-1),gs=s("span",{style:{color:"#E1E4E8"}}," ",-1),bs=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Bs=s("span",{style:{color:"#E1E4E8"}}," ",-1),qs={style:{color:"#9ECBFF"}},vs={class:"shiki github-light vp-code-light"},ms={class:"line"},ks=s("span",{style:{color:"#6F42C1"}},"git",-1),As=s("span",{style:{color:"#24292E"}}," ",-1),_s=s("span",{style:{color:"#032F62"}},"checkout",-1),fs=s("span",{style:{color:"#24292E"}}," ",-1),ws={style:{color:"#032F62"}},Ds={class:"language-bash vp-adaptive-theme"},Ts=s("button",{title:"Copy Code",class:"copy"},null,-1),xs=s("span",{class:"lang"},"bash",-1),Os={class:"shiki github-dark vp-code-dark"},Rs={class:"line"},Ps=s("span",{style:{color:"#B392F0"}},"git",-1),Is=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ss=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Ns=s("span",{style:{color:"#E1E4E8"}}," ",-1),$s={style:{color:"#9ECBFF"}},Hs={class:"shiki github-light vp-code-light"},Ms={class:"line"},Us=s("span",{style:{color:"#6F42C1"}},"git",-1),js=s("span",{style:{color:"#24292E"}}," ",-1),Ls=s("span",{style:{color:"#032F62"}},"checkout",-1),zs=s("span",{style:{color:"#24292E"}}," ",-1),Gs={style:{color:"#032F62"}},Vs={class:"language-bash vp-adaptive-theme"},Ws=s("button",{title:"Copy Code",class:"copy"},null,-1),Ys=s("span",{class:"lang"},"bash",-1),Ks={class:"shiki github-dark vp-code-dark"},Xs={class:"line"},Zs=s("span",{style:{color:"#B392F0"}},"git",-1),Qs=s("span",{style:{color:"#E1E4E8"}}," ",-1),Js=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),sa=s("span",{style:{color:"#E1E4E8"}}," ",-1),aa={style:{color:"#9ECBFF"}},na={class:"shiki github-light vp-code-light"},oa={class:"line"},la=s("span",{style:{color:"#6F42C1"}},"git",-1),pa=s("span",{style:{color:"#24292E"}}," ",-1),ea=s("span",{style:{color:"#032F62"}},"checkout",-1),ta=s("span",{style:{color:"#24292E"}}," ",-1),ca={style:{color:"#032F62"}},ra=l('
    36. Build the celestia binary:

      a. Standard build

      bash
      make build
      make build

      b. Experimental build

      OPTIONAL

      If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.

      bash
      make build-jemalloc
      make build-jemalloc

      This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.

      Note: this requires Go version v1.23+.

    37. Install the binary:

      bash
      make install
      make install
      bash
      make go-install
      make go-install
    38. Build the cel-key utility:

      bash
      make cel-key
      make cel-key
    39. Verify that the binary is working and check the version:

      bash
      celestia version
      celestia version
    40. ',4),ya=l(`

      The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.

      Instantiate a Celestia light node

      Now, let's instantiate a Celestia Light node:

      TIP

      RPC endpoints are exposed in all celestia-node types such as light, bridge and full nodes.

      bash
      celestia light init
      celestia light init
      bash
      celestia light init --p2p.network mocha
      celestia light init --p2p.network mocha
      bash
      celestia light init --p2p.network arabica
      celestia light init --p2p.network arabica

      Instantiating (or initializing) the node means setting up a node store on your machine. This is where the data and your keys will be stored.

      Connect to a public core endpoint

      Let's now run the Celestia Light node with a gRPC connection to an example public core endpoint.

      Note: You are also encouraged to find a community-run API endpoint and there are several in the Discord. This one is used for demonstration purposes. Check out the Mocha testnet page, or Arabica devnet page.

      bash
      celestia light start --core.ip <URI>
      celestia light start --core.ip <URI>
      bash
      celestia light start --core.ip <URI> --p2p.network mocha
      celestia light start --core.ip <URI> --p2p.network mocha
      bash
      celestia light start --core.ip <URI> --p2p.network arabica
      celestia light start --core.ip <URI> --p2p.network arabica

      TIP

      The --core.ip gRPC port defaults to 9090, so if you do not specify it in the command line, it will default to that port. You can add the port after the IP address or use the --core.grpc.port flag to specify another port if you prefer.

      Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

      For example, your command along with an RPC endpoint might look like this:

      bash
      celestia light start --core.ip consensus.lunaroasis.net
      celestia light start --core.ip consensus.lunaroasis.net
      bash
      celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
      celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
      bash
      celestia light start --core.ip consensus-full.celestia-arabica-10.com \\
         --p2p.network arabica
      celestia light start --core.ip consensus-full.celestia-arabica-10.com \\
         --p2p.network arabica

      Keys and wallets

      You can create your key for your node by running the following command from the celestia-node directory:

      TIP

      You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

      bash
      ./cel-key add <key-name> --keyring-backend test --node.type light \\
         --p2p.network <network>
      ./cel-key add <key-name> --keyring-backend test --node.type light \\
      -  --p2p.network <network>

      You can start your light node with the key created by running the following command:

      bash
      celestia light start --core.ip <URI> --keyring.accname <key-name>
      celestia light start --core.ip <URI> --keyring.accname <key-name>
      bash
      celestia light start --core.ip <URI> --keyring.accname <key-name> \\
      +  --p2p.network <network>

      You can start your light node with the key created by running the following command:

      bash
      celestia light start --core.ip <URI> --keyring.accname <key-name>
      celestia light start --core.ip <URI> --keyring.accname <key-name>
      bash
      celestia light start --core.ip <URI> --keyring.accname <key-name> \\
         --p2p.network mocha
      celestia light start --core.ip <URI> --keyring.accname <key-name> \\
         --p2p.network mocha
      bash
      celestia light start --core.ip <URI> --keyring.accname <key-name> \\
         --p2p.network arabica
      celestia light start --core.ip <URI> --keyring.accname <key-name> \\
      -  --p2p.network arabica

      Once you start the light node, a wallet key will be generated for you. You will need to fund that address with Mocha testnet or Arabica devnet tokens to pay for PayForBlobs transactions.

      You can find the address by running the following command in the celestia-node directory:

      bash
      ./cel-key list --node.type light --keyring-backend test --p2p.network <network>
      ./cel-key list --node.type light --keyring-backend test --p2p.network <network>

      If you would like to fund your wallet with testnet tokens, head over to either the #mocha-faucet or #arabica-faucet channels on the Celestia Discord.

      You can request funds to your wallet address using the following command in Discord:

      text
      $request <CELESTIA-ADDRESS>
      $request <CELESTIA-ADDRESS>

      Where <CELESTIA-ADDRESS> is the celestia1****** address generated when you created the wallet.

      With your wallet funded, you can move on to the next step.

      RPC CLI guide

      This section of the tutorial will teach you how to interact with a Celestia node's remote procedure call (RPC) API using the command line interface (CLI).

      You will need to setup dependencies, install, and run celestia-node if you have not already.

      Command formatting

      The format for interacting with the RPC CLI methods is as follows:

      bash
      celestia <module> <method> [args...] [flags...]
      celestia <module> <method> [args...] [flags...]

      Where:

      • celestia is the main command to interact with the node.
      • <module> is the specific module in the node you want to interact with, such as blob, state, p2p, etc.
      • <method> is the specific method within the module that performs the action you want, such as blob.Submit, state.AccountAddress, p2p.Info, etc.
      • [args...] represents any additional arguments that the method might require.
      • [flags...] are parameters that modify the behavior of the command. They start with -- (e.g., --node.store, --token, or --url).

      For example, to submit a blob to Celestia, you can use this command once your node store is set:

      bash
      celestia blob submit 0x42690c204d39600fddd3 'gm' --node.store $NODE_STORE
      celestia blob submit 0x42690c204d39600fddd3 'gm' --node.store $NODE_STORE

      Alternatively, you could use the --token flag to set your auth token:

      bash
      celestia blob submit 0x42690c204d39600fddd3 'gm' --token $AUTH_TOKEN
      celestia blob submit 0x42690c204d39600fddd3 'gm' --token $AUTH_TOKEN

      Before you try that out, let's go over the basic flags that you will need to use when interacting with the RPC CLI. We'll also cover how to set your auth token and how to use the node store to set it.

      Basic flags

      All RPC CLI commands have basic flags that can be used to interact with the API.

      These include:

      • --node.store string - the path to root/home directory of your celestia-node store
      • --token string - authorization token for making requests
      • --url string - the address of the RPC, default is http://localhost:26658

      When running RPC CLI commands, you will need to set either the the authentication token or set the node store, so the auth token can be retrieved from the store.

      The RPC CLI handles these flags in the following order:

      1. If user passes auth token, auth token is used.
      2. If user doesn't pass auth token, check node store flag, create token from node store, and use auth token from node store.

      Auth token 🔐

      In order to interact with the API using RPC CLI, you will need to set the authentication token.

      The --token string flag sets the authentication token. If a token is not found, authentication will not be set. And if authentication is not set, the request will fail.

      To set your authentication token, you can use the following command. Be sure to replace <node-type> with the type of node and <network> with the network that you are running your node on:

      bash
      export AUTH_TOKEN=$(celestia <node-type> auth admin --p2p.network <network>)
      export AUTH_TOKEN=$(celestia <node-type> auth admin --p2p.network <network>)

      Here's an example of how to set your auth token on a light node on Arabica:

      bash
      export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica)
      export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica)

      Node store

      In order to interact with the API using RPC CLI, you can also use your node store to set your auth token. This will allow you to interact with the API without setting an authentication token directly.

      `,56),Ea={class:"language-bash vp-adaptive-theme"},ia=s("button",{title:"Copy Code",class:"copy"},null,-1),da=s("span",{class:"lang"},"bash",-1),Fa={class:"shiki github-dark vp-code-dark"},ua={class:"line"},ha=s("span",{style:{color:"#F97583"}},"export",-1),Ca=s("span",{style:{color:"#E1E4E8"}}," NODE_STORE",-1),ga=s("span",{style:{color:"#F97583"}},"=",-1),ba=s("span",{style:{color:"#E1E4E8"}},"$HOME",-1),Ba={style:{color:"#9ECBFF"}},qa={class:"shiki github-light vp-code-light"},va={class:"line"},ma=s("span",{style:{color:"#D73A49"}},"export",-1),ka=s("span",{style:{color:"#24292E"}}," NODE_STORE",-1),Aa=s("span",{style:{color:"#D73A49"}},"=",-1),_a=s("span",{style:{color:"#24292E"}},"$HOME",-1),fa={style:{color:"#032F62"}},Da=l(`

      Then, set the --node.store flag to the $NODE_STORE variable to set the auth token from your node store:

      bash
      celestia <module> <method> [args...] --node.store $NODE_STORE
      celestia <module> <method> [args...] --node.store $NODE_STORE
      Auth token on custom or private network

      This section is for users who are using a CELESTIA_CUSTOM or private network.

      TIP

      If you are using a private and custom network, you will need to set the location of the node store in your auth command.

      bash
      --node.store $HOME/.celestia-light-private)
      --node.store $HOME/.celestia-light-private)

      The above is an example from the following custom network set up with:

      bash
      CELESTIA_CUSTOM=private celestia light init
      CELESTIA_CUSTOM=private celestia light init

      or

      bash
      celestia light init --p2p.network private
      celestia light init --p2p.network private

      As an example, this is what a completely custom network would look like:

      bash
      # Initialize node store
      +  --p2p.network arabica

      Once you start the light node, a wallet key will be generated for you. You will need to fund that address with Mocha testnet or Arabica devnet tokens to pay for PayForBlobs transactions.

      You can find the address by running the following command in the celestia-node directory:

      bash
      ./cel-key list --node.type light --keyring-backend test --p2p.network <network>
      ./cel-key list --node.type light --keyring-backend test --p2p.network <network>

      If you would like to fund your wallet with testnet tokens, head over to either the #mocha-faucet or #arabica-faucet channels on the Celestia Discord.

      You can request funds to your wallet address using the following command in Discord:

      text
      $request <CELESTIA-ADDRESS>
      $request <CELESTIA-ADDRESS>

      Where <CELESTIA-ADDRESS> is the celestia1****** address generated when you created the wallet.

      With your wallet funded, you can move on to the next step.

      RPC CLI guide

      This section of the tutorial will teach you how to interact with a Celestia node's remote procedure call (RPC) API using the command line interface (CLI).

      You will need to setup dependencies, install, and run celestia-node if you have not already.

      Command formatting

      The format for interacting with the RPC CLI methods is as follows:

      bash
      celestia <module> <method> [args...] [flags...]
      celestia <module> <method> [args...] [flags...]

      Where:

      • celestia is the main command to interact with the node.
      • <module> is the specific module in the node you want to interact with, such as blob, state, p2p, etc.
      • <method> is the specific method within the module that performs the action you want, such as blob.Submit, state.AccountAddress, p2p.Info, etc.
      • [args...] represents any additional arguments that the method might require.
      • [flags...] are parameters that modify the behavior of the command. They start with -- (e.g., --node.store, --token, or --url).

      For example, to submit a blob to Celestia, you can use this command once your node store is set:

      bash
      celestia blob submit 0x42690c204d39600fddd3 'gm' --node.store $NODE_STORE
      celestia blob submit 0x42690c204d39600fddd3 'gm' --node.store $NODE_STORE

      Alternatively, you could use the --token flag to set your auth token:

      bash
      celestia blob submit 0x42690c204d39600fddd3 'gm' --token $AUTH_TOKEN
      celestia blob submit 0x42690c204d39600fddd3 'gm' --token $AUTH_TOKEN

      Before you try that out, let's go over the basic flags that you will need to use when interacting with the RPC CLI. We'll also cover how to set your auth token and how to use the node store to set it.

      Basic flags

      All RPC CLI commands have basic flags that can be used to interact with the API.

      These include:

      • --node.store string - the path to root/home directory of your celestia-node store
      • --token string - authorization token for making requests
      • --url string - the address of the RPC, default is http://localhost:26658

      When running RPC CLI commands, you will need to set either the the authentication token or set the node store, so the auth token can be retrieved from the store.

      The RPC CLI handles these flags in the following order:

      1. If user passes auth token, auth token is used.
      2. If user doesn't pass auth token, check node store flag, create token from node store, and use auth token from node store.

      Auth token 🔐

      In order to interact with the API using RPC CLI, you will need to set the authentication token.

      The --token string flag sets the authentication token. If a token is not found, authentication will not be set. And if authentication is not set, the request will fail.

      To set your authentication token, you can use the following command. Be sure to replace <node-type> with the type of node and <network> with the network that you are running your node on:

      bash
      export AUTH_TOKEN=$(celestia <node-type> auth admin --p2p.network <network>)
      export AUTH_TOKEN=$(celestia <node-type> auth admin --p2p.network <network>)

      Here's an example of how to set your auth token on a light node on Arabica:

      bash
      export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica)
      export AUTH_TOKEN=$(celestia light auth admin --p2p.network arabica)

      Node store

      In order to interact with the API using RPC CLI, you can also use your node store to set your auth token. This will allow you to interact with the API without setting an authentication token directly.

      `,56),Ea={class:"language-bash vp-adaptive-theme"},ia=s("button",{title:"Copy Code",class:"copy"},null,-1),da=s("span",{class:"lang"},"bash",-1),Fa={class:"shiki github-dark vp-code-dark"},ua={class:"line"},ha=s("span",{style:{color:"#F97583"}},"export",-1),Ca=s("span",{style:{color:"#E1E4E8"}}," NODE_STORE",-1),ga=s("span",{style:{color:"#F97583"}},"=",-1),ba=s("span",{style:{color:"#E1E4E8"}},"$HOME",-1),Ba={style:{color:"#9ECBFF"}},qa={class:"shiki github-light vp-code-light"},va={class:"line"},ma=s("span",{style:{color:"#D73A49"}},"export",-1),ka=s("span",{style:{color:"#24292E"}}," NODE_STORE",-1),Aa=s("span",{style:{color:"#D73A49"}},"=",-1),_a=s("span",{style:{color:"#24292E"}},"$HOME",-1),fa={style:{color:"#032F62"}},wa=l(`

      Then, set the --node.store flag to the $NODE_STORE variable to set the auth token from your node store:

      bash
      celestia <module> <method> [args...] --node.store $NODE_STORE
      celestia <module> <method> [args...] --node.store $NODE_STORE
      Auth token on custom or private network

      This section is for users who are using a CELESTIA_CUSTOM or private network.

      TIP

      If you are using a private and custom network, you will need to set the location of the node store in your auth command.

      bash
      --node.store $HOME/.celestia-light-private)
      --node.store $HOME/.celestia-light-private)

      The above is an example from the following custom network set up with:

      bash
      CELESTIA_CUSTOM=private celestia light init
      CELESTIA_CUSTOM=private celestia light init

      or

      bash
      celestia light init --p2p.network private
      celestia light init --p2p.network private

      As an example, this is what a completely custom network would look like:

      bash
      # Initialize node store
       CELESTIA_CUSTOM=robusta-22 celestia light init
       
       # Set auth token
      @@ -100,7 +100,7 @@ import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/a
         }
       }

      If you notice from the above output, it returns a result of 252614 which we will use for the next command. The result corresponds to the height of the block in which the transaction was included.

      Retrieving data

      After submitting your PFB transaction, upon success, the node will return the block height for which the PFB transaction was included. You can then use that block height and the namespace ID with which you submitted your PFB transaction to get your message shares (data) returned to you. In this example, the block height we got was 252614 which we will use for the following command. Read more about shares in the Celestia Specs.

      Here is what an example of the format of the get command looks like:

      bash
      celestia blob get <block height> <hex-encoded namespace> \\
         <commitment from output above> <node store | auth>
      celestia blob get <block height> <hex-encoded namespace> \\
      -  <commitment from output above> <node store | auth>
      `,34),wa=l(`
      bash
      celestia blob get 252614 0x42690c204d39600fddd3 IXg+08HV5RsPF3Lle8PH+B2TUGsGUsBiseflxh6wB5E= \\
      +  <commitment from output above> <node store | auth>
      `,34),Da=l(`
      bash
      celestia blob get 252614 0x42690c204d39600fddd3 IXg+08HV5RsPF3Lle8PH+B2TUGsGUsBiseflxh6wB5E= \\
         --node.store $NODE_STORE
      celestia blob get 252614 0x42690c204d39600fddd3 IXg+08HV5RsPF3Lle8PH+B2TUGsGUsBiseflxh6wB5E= \\
         --node.store $NODE_STORE

      Will generate the following output:

      json
      {
         "result": {
      @@ -448,4 +448,4 @@ import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/a
         "$(celestia header get-by-height 252614 --node.store $NODE_STORE | jq '.result.dah' -r)" \\
         0x42690c204d39600fddd3 --node.store $NODE_STORE
      celestia share get-by-namespace \\
         "$(celestia header get-by-height 252614 --node.store $NODE_STORE | jq '.result.dah' -r)" \\
      -  0x42690c204d39600fddd3 --node.store $NODE_STORE

      Additional resources

      Post an SVG as a PFB

      If you'd like to create your own SVG, post it to Celestia, and retrieve it, you can check out the Base64 SVG Tutorial.

      Golang guide

      If you're interested in interacting with the node's API in Go (client.go), you can use the da-rpc-client-tutorial repo.

      Troubleshooting

      If you encounter an error like:

      sh
      "rpc error: code = NotFound desc = account celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86 not found"
      "rpc error: code = NotFound desc = account celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86 not found"

      It is possible that the account you are trying to submit a PayForBlobs from doesn't have testnet tokens yet. Ensure the testnet faucet has funded your account with tokens and then try again.

      `,89),Ha=JSON.parse('{"title":"Celestia-node RPC CLI tutorial","description":"","frontmatter":{"next":{"text":"Prompt Scavenger","link":"/developers/prompt-scavenger"},"head":[["meta",{"name":"og:title","content":"Celestia-node RPC CLI tutorial | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/node-tutorial.md","filePath":"developers/node-tutorial.md","lastUpdated":1705009966000}'),Ta={name:"developers/node-tutorial.md"},Ma=Object.assign(Ta,{setup(xa){return(Oa,Ra)=>(r(),y("div",null,[E,s("ol",null,[s("li",null,[i,s("div",d,[F,s("div",u,[s("div",h,[C,g,s("pre",b,[s("code",null,[s("span",B,[q,v,s("span",m,'"'+a(n(o).golangNodeMainnet)+'"',1)])])]),s("pre",k,[s("code",null,[s("span",A,[_,f,s("span",D,'"'+a(n(o).golangNodeMainnet)+'"',1)])])])]),s("div",w,[T,x,s("pre",O,[s("code",null,[s("span",R,[P,S,s("span",I,'"'+a(n(o).golangNodeMocha)+'"',1)])])]),s("pre",N,[s("code",null,[s("span",$,[H,M,s("span",U,'"'+a(n(o).golangNodeMocha)+'"',1)])])])]),s("div",L,[j,z,s("pre",G,[s("code",null,[s("span",V,[W,K,s("span",Y,'"'+a(n(o).golangNodeArabica)+'"',1)])])]),s("pre",X,[s("code",null,[s("span",Z,[J,Q,s("span",ss,'"'+a(n(o).golangNodeArabica)+'"',1)])])])])])])]),as]),ns,os,ls,ps,es,s("ol",null,[ts,s("li",null,[cs,s("div",rs,[ys,s("div",Es,[s("div",is,[ds,Fs,s("pre",us,[s("code",null,[s("span",hs,[Cs,gs,bs,Bs,s("span",qs,"tags/"+a(n(c)["node-latest-tag"]),1)])])]),s("pre",vs,[s("code",null,[s("span",ms,[ks,As,_s,fs,s("span",Ds,"tags/"+a(n(c)["node-latest-tag"]),1)])])])]),s("div",ws,[Ts,xs,s("pre",Os,[s("code",null,[s("span",Rs,[Ps,Ss,Is,Ns,s("span",$s,"tags/"+a(n(t)["node-latest-tag"]),1)])])]),s("pre",Hs,[s("code",null,[s("span",Ms,[Us,Ls,js,zs,s("span",Gs,"tags/"+a(n(t)["node-latest-tag"]),1)])])])]),s("div",Vs,[Ws,Ks,s("pre",Ys,[s("code",null,[s("span",Xs,[Zs,Js,Qs,sa,s("span",aa,"tags/"+a(n(e)["node-latest-tag"]),1)])])]),s("pre",na,[s("code",null,[s("span",oa,[la,pa,ea,ta,s("span",ca,"tags/"+a(n(e)["node-latest-tag"]),1)])])])])])])]),ra]),ya,s("p",null,"To set your node store for a light node on "+a(n(o).mochaChainId)+", you can use the following command:",1),s("div",Ea,[ia,da,s("pre",Fa,[s("code",null,[s("span",ua,[ha,Ca,ga,ba,s("span",Ba,"/.celestia-light-"+a(n(o).mochaChainId),1)])])]),s("pre",qa,[s("code",null,[s("span",va,[ma,ka,Aa,_a,s("span",fa,"/.celestia-light-"+a(n(o).mochaChainId),1)])])])]),Da,s("p",null,[p("Here is an example command to retrieve the data from above, on "),s("code",null,a(n(o).arabicaChainId),1),p(":")]),wa]))}});export{Ha as __pageData,Ma as default}; + 0x42690c204d39600fddd3 --node.store $NODE_STORE

    Additional resources

    Post an SVG as a PFB

    If you'd like to create your own SVG, post it to Celestia, and retrieve it, you can check out the Base64 SVG Tutorial.

    Golang guide

    If you're interested in interacting with the node's API in Go (client.go), you can use the da-rpc-client-tutorial repo.

    Troubleshooting

    If you encounter an error like:

    sh
    "rpc error: code = NotFound desc = account celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86 not found"
    "rpc error: code = NotFound desc = account celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86 not found"

    It is possible that the account you are trying to submit a PayForBlobs from doesn't have testnet tokens yet. Ensure the testnet faucet has funded your account with tokens and then try again.

    `,89),Ha=JSON.parse('{"title":"Celestia-node RPC CLI tutorial","description":"","frontmatter":{"next":{"text":"Prompt Scavenger","link":"/developers/prompt-scavenger"},"head":[["meta",{"name":"og:title","content":"Celestia-node RPC CLI tutorial | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/node-tutorial.md","filePath":"developers/node-tutorial.md","lastUpdated":1705010189000}'),Ta={name:"developers/node-tutorial.md"},Ma=Object.assign(Ta,{setup(xa){return(Oa,Ra)=>(r(),y("div",null,[E,s("ol",null,[s("li",null,[i,s("div",d,[F,s("div",u,[s("div",h,[C,g,s("pre",b,[s("code",null,[s("span",B,[q,v,s("span",m,'"'+a(n(o).golangNodeMainnet)+'"',1)])])]),s("pre",k,[s("code",null,[s("span",A,[_,f,s("span",w,'"'+a(n(o).golangNodeMainnet)+'"',1)])])])]),s("div",D,[T,x,s("pre",O,[s("code",null,[s("span",R,[P,I,s("span",S,'"'+a(n(o).golangNodeMocha)+'"',1)])])]),s("pre",N,[s("code",null,[s("span",$,[H,M,s("span",U,'"'+a(n(o).golangNodeMocha)+'"',1)])])])]),s("div",j,[L,z,s("pre",G,[s("code",null,[s("span",V,[W,Y,s("span",K,'"'+a(n(o).golangNodeArabica)+'"',1)])])]),s("pre",X,[s("code",null,[s("span",Z,[Q,J,s("span",ss,'"'+a(n(o).golangNodeArabica)+'"',1)])])])])])])]),as]),ns,os,ls,ps,es,s("ol",null,[ts,s("li",null,[cs,s("div",rs,[ys,s("div",Es,[s("div",is,[ds,Fs,s("pre",us,[s("code",null,[s("span",hs,[Cs,gs,bs,Bs,s("span",qs,"tags/"+a(n(c)["node-latest-tag"]),1)])])]),s("pre",vs,[s("code",null,[s("span",ms,[ks,As,_s,fs,s("span",ws,"tags/"+a(n(c)["node-latest-tag"]),1)])])])]),s("div",Ds,[Ts,xs,s("pre",Os,[s("code",null,[s("span",Rs,[Ps,Is,Ss,Ns,s("span",$s,"tags/"+a(n(t)["node-latest-tag"]),1)])])]),s("pre",Hs,[s("code",null,[s("span",Ms,[Us,js,Ls,zs,s("span",Gs,"tags/"+a(n(t)["node-latest-tag"]),1)])])])]),s("div",Vs,[Ws,Ys,s("pre",Ks,[s("code",null,[s("span",Xs,[Zs,Qs,Js,sa,s("span",aa,"tags/"+a(n(e)["node-latest-tag"]),1)])])]),s("pre",na,[s("code",null,[s("span",oa,[la,pa,ea,ta,s("span",ca,"tags/"+a(n(e)["node-latest-tag"]),1)])])])])])])]),ra]),ya,s("p",null,"To set your node store for a light node on "+a(n(o).mochaChainId)+", you can use the following command:",1),s("div",Ea,[ia,da,s("pre",Fa,[s("code",null,[s("span",ua,[ha,Ca,ga,ba,s("span",Ba,"/.celestia-light-"+a(n(o).mochaChainId),1)])])]),s("pre",qa,[s("code",null,[s("span",va,[ma,ka,Aa,_a,s("span",fa,"/.celestia-light-"+a(n(o).mochaChainId),1)])])])]),wa,s("p",null,[p("Here is an example command to retrieve the data from above, on "),s("code",null,a(n(o).arabicaChainId),1),p(":")]),Da]))}});export{Ha as __pageData,Ma as default}; diff --git a/pr-preview/pr-1358/assets/developers_node-tutorial.md.e1712ce5.lean.js b/pr-preview/pr-1358/assets/developers_node-tutorial.md.034451d3.lean.js similarity index 74% rename from pr-preview/pr-1358/assets/developers_node-tutorial.md.e1712ce5.lean.js rename to pr-preview/pr-1358/assets/developers_node-tutorial.md.034451d3.lean.js index ad79ebffad..5717f5d331 100644 --- a/pr-preview/pr-1358/assets/developers_node-tutorial.md.e1712ce5.lean.js +++ b/pr-preview/pr-1358/assets/developers_node-tutorial.md.034451d3.lean.js @@ -1 +1 @@ -import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./chunks/mocha_versions.7e950c54.js";import{m as c}from"./chunks/mainnet_versions.7e950c54.js";import{o as r,c as y,k as s,t as a,l as n,a as p,Q as l}from"./chunks/framework.2263f03b.js";const E=l("",19),i=s("p",null,"Set the version for your desired network:",-1),d={class:"vp-code-group vp-adaptive-theme"},F=l("",1),u={class:"blocks"},h={class:"language-bash vp-adaptive-theme active"},C=s("button",{title:"Copy Code",class:"copy"},null,-1),g=s("span",{class:"lang"},"bash",-1),b={class:"shiki github-dark vp-code-dark"},B={class:"line"},q=s("span",{style:{color:"#E1E4E8"}},"ver",-1),v=s("span",{style:{color:"#F97583"}},"=",-1),m={style:{color:"#9ECBFF"}},k={class:"shiki github-light vp-code-light"},A={class:"line"},_=s("span",{style:{color:"#24292E"}},"ver",-1),f=s("span",{style:{color:"#D73A49"}},"=",-1),D={style:{color:"#032F62"}},w={class:"language-bash vp-adaptive-theme"},T=s("button",{title:"Copy Code",class:"copy"},null,-1),x=s("span",{class:"lang"},"bash",-1),O={class:"shiki github-dark vp-code-dark"},R={class:"line"},P=s("span",{style:{color:"#E1E4E8"}},"ver",-1),S=s("span",{style:{color:"#F97583"}},"=",-1),I={style:{color:"#9ECBFF"}},N={class:"shiki github-light vp-code-light"},$={class:"line"},H=s("span",{style:{color:"#24292E"}},"ver",-1),M=s("span",{style:{color:"#D73A49"}},"=",-1),U={style:{color:"#032F62"}},L={class:"language-bash vp-adaptive-theme"},j=s("button",{title:"Copy Code",class:"copy"},null,-1),z=s("span",{class:"lang"},"bash",-1),G={class:"shiki github-dark vp-code-dark"},V={class:"line"},W=s("span",{style:{color:"#E1E4E8"}},"ver",-1),K=s("span",{style:{color:"#F97583"}},"=",-1),Y={style:{color:"#9ECBFF"}},X={class:"shiki github-light vp-code-light"},Z={class:"line"},J=s("span",{style:{color:"#24292E"}},"ver",-1),Q=s("span",{style:{color:"#D73A49"}},"=",-1),ss={style:{color:"#032F62"}},as=l("",3),ns=s("p",null,"The output will show the version installed.",-1),os=s("h2",{id:"celestia-node",tabindex:"-1"},[p("Celestia-node "),s("a",{class:"header-anchor",href:"#celestia-node","aria-label":'Permalink to "Celestia-node"'},"​")],-1),ls=s("h3",{id:"install-celestia-node",tabindex:"-1"},[p("Install celestia-node "),s("a",{class:"header-anchor",href:"#install-celestia-node","aria-label":'Permalink to "Install celestia-node"'},"​")],-1),ps=s("p",null,"Installing celestia-node for Arabica devnet or Mocha testnet means installing a specific version to be compatible with the network.",-1),es=s("p",null,"Install the celestia-node binary by running the following commands:",-1),ts=l("",1),cs=s("p",null,"Check out to the desired version, based on the network you will use:",-1),rs={class:"vp-code-group vp-adaptive-theme"},ys=l("",1),Es={class:"blocks"},is={class:"language-bash vp-adaptive-theme active"},ds=s("button",{title:"Copy Code",class:"copy"},null,-1),Fs=s("span",{class:"lang"},"bash",-1),us={class:"shiki github-dark vp-code-dark"},hs={class:"line"},Cs=s("span",{style:{color:"#B392F0"}},"git",-1),gs=s("span",{style:{color:"#E1E4E8"}}," ",-1),bs=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Bs=s("span",{style:{color:"#E1E4E8"}}," ",-1),qs={style:{color:"#9ECBFF"}},vs={class:"shiki github-light vp-code-light"},ms={class:"line"},ks=s("span",{style:{color:"#6F42C1"}},"git",-1),As=s("span",{style:{color:"#24292E"}}," ",-1),_s=s("span",{style:{color:"#032F62"}},"checkout",-1),fs=s("span",{style:{color:"#24292E"}}," ",-1),Ds={style:{color:"#032F62"}},ws={class:"language-bash vp-adaptive-theme"},Ts=s("button",{title:"Copy Code",class:"copy"},null,-1),xs=s("span",{class:"lang"},"bash",-1),Os={class:"shiki github-dark vp-code-dark"},Rs={class:"line"},Ps=s("span",{style:{color:"#B392F0"}},"git",-1),Ss=s("span",{style:{color:"#E1E4E8"}}," ",-1),Is=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Ns=s("span",{style:{color:"#E1E4E8"}}," ",-1),$s={style:{color:"#9ECBFF"}},Hs={class:"shiki github-light vp-code-light"},Ms={class:"line"},Us=s("span",{style:{color:"#6F42C1"}},"git",-1),Ls=s("span",{style:{color:"#24292E"}}," ",-1),js=s("span",{style:{color:"#032F62"}},"checkout",-1),zs=s("span",{style:{color:"#24292E"}}," ",-1),Gs={style:{color:"#032F62"}},Vs={class:"language-bash vp-adaptive-theme"},Ws=s("button",{title:"Copy Code",class:"copy"},null,-1),Ks=s("span",{class:"lang"},"bash",-1),Ys={class:"shiki github-dark vp-code-dark"},Xs={class:"line"},Zs=s("span",{style:{color:"#B392F0"}},"git",-1),Js=s("span",{style:{color:"#E1E4E8"}}," ",-1),Qs=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),sa=s("span",{style:{color:"#E1E4E8"}}," ",-1),aa={style:{color:"#9ECBFF"}},na={class:"shiki github-light vp-code-light"},oa={class:"line"},la=s("span",{style:{color:"#6F42C1"}},"git",-1),pa=s("span",{style:{color:"#24292E"}}," ",-1),ea=s("span",{style:{color:"#032F62"}},"checkout",-1),ta=s("span",{style:{color:"#24292E"}}," ",-1),ca={style:{color:"#032F62"}},ra=l("",4),ya=l("",56),Ea={class:"language-bash vp-adaptive-theme"},ia=s("button",{title:"Copy Code",class:"copy"},null,-1),da=s("span",{class:"lang"},"bash",-1),Fa={class:"shiki github-dark vp-code-dark"},ua={class:"line"},ha=s("span",{style:{color:"#F97583"}},"export",-1),Ca=s("span",{style:{color:"#E1E4E8"}}," NODE_STORE",-1),ga=s("span",{style:{color:"#F97583"}},"=",-1),ba=s("span",{style:{color:"#E1E4E8"}},"$HOME",-1),Ba={style:{color:"#9ECBFF"}},qa={class:"shiki github-light vp-code-light"},va={class:"line"},ma=s("span",{style:{color:"#D73A49"}},"export",-1),ka=s("span",{style:{color:"#24292E"}}," NODE_STORE",-1),Aa=s("span",{style:{color:"#D73A49"}},"=",-1),_a=s("span",{style:{color:"#24292E"}},"$HOME",-1),fa={style:{color:"#032F62"}},Da=l("",34),wa=l("",89),Ha=JSON.parse('{"title":"Celestia-node RPC CLI tutorial","description":"","frontmatter":{"next":{"text":"Prompt Scavenger","link":"/developers/prompt-scavenger"},"head":[["meta",{"name":"og:title","content":"Celestia-node RPC CLI tutorial | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/node-tutorial.md","filePath":"developers/node-tutorial.md","lastUpdated":1705009966000}'),Ta={name:"developers/node-tutorial.md"},Ma=Object.assign(Ta,{setup(xa){return(Oa,Ra)=>(r(),y("div",null,[E,s("ol",null,[s("li",null,[i,s("div",d,[F,s("div",u,[s("div",h,[C,g,s("pre",b,[s("code",null,[s("span",B,[q,v,s("span",m,'"'+a(n(o).golangNodeMainnet)+'"',1)])])]),s("pre",k,[s("code",null,[s("span",A,[_,f,s("span",D,'"'+a(n(o).golangNodeMainnet)+'"',1)])])])]),s("div",w,[T,x,s("pre",O,[s("code",null,[s("span",R,[P,S,s("span",I,'"'+a(n(o).golangNodeMocha)+'"',1)])])]),s("pre",N,[s("code",null,[s("span",$,[H,M,s("span",U,'"'+a(n(o).golangNodeMocha)+'"',1)])])])]),s("div",L,[j,z,s("pre",G,[s("code",null,[s("span",V,[W,K,s("span",Y,'"'+a(n(o).golangNodeArabica)+'"',1)])])]),s("pre",X,[s("code",null,[s("span",Z,[J,Q,s("span",ss,'"'+a(n(o).golangNodeArabica)+'"',1)])])])])])])]),as]),ns,os,ls,ps,es,s("ol",null,[ts,s("li",null,[cs,s("div",rs,[ys,s("div",Es,[s("div",is,[ds,Fs,s("pre",us,[s("code",null,[s("span",hs,[Cs,gs,bs,Bs,s("span",qs,"tags/"+a(n(c)["node-latest-tag"]),1)])])]),s("pre",vs,[s("code",null,[s("span",ms,[ks,As,_s,fs,s("span",Ds,"tags/"+a(n(c)["node-latest-tag"]),1)])])])]),s("div",ws,[Ts,xs,s("pre",Os,[s("code",null,[s("span",Rs,[Ps,Ss,Is,Ns,s("span",$s,"tags/"+a(n(t)["node-latest-tag"]),1)])])]),s("pre",Hs,[s("code",null,[s("span",Ms,[Us,Ls,js,zs,s("span",Gs,"tags/"+a(n(t)["node-latest-tag"]),1)])])])]),s("div",Vs,[Ws,Ks,s("pre",Ys,[s("code",null,[s("span",Xs,[Zs,Js,Qs,sa,s("span",aa,"tags/"+a(n(e)["node-latest-tag"]),1)])])]),s("pre",na,[s("code",null,[s("span",oa,[la,pa,ea,ta,s("span",ca,"tags/"+a(n(e)["node-latest-tag"]),1)])])])])])])]),ra]),ya,s("p",null,"To set your node store for a light node on "+a(n(o).mochaChainId)+", you can use the following command:",1),s("div",Ea,[ia,da,s("pre",Fa,[s("code",null,[s("span",ua,[ha,Ca,ga,ba,s("span",Ba,"/.celestia-light-"+a(n(o).mochaChainId),1)])])]),s("pre",qa,[s("code",null,[s("span",va,[ma,ka,Aa,_a,s("span",fa,"/.celestia-light-"+a(n(o).mochaChainId),1)])])])]),Da,s("p",null,[p("Here is an example command to retrieve the data from above, on "),s("code",null,a(n(o).arabicaChainId),1),p(":")]),wa]))}});export{Ha as __pageData,Ma as default}; +import{c as o}from"./chunks/constants.d0f43632.js";import{a as e}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./chunks/mocha_versions.7e950c54.js";import{m as c}from"./chunks/mainnet_versions.7e950c54.js";import{o as r,c as y,k as s,t as a,l as n,a as p,Q as l}from"./chunks/framework.2263f03b.js";const E=l("",19),i=s("p",null,"Set the version for your desired network:",-1),d={class:"vp-code-group vp-adaptive-theme"},F=l("",1),u={class:"blocks"},h={class:"language-bash vp-adaptive-theme active"},C=s("button",{title:"Copy Code",class:"copy"},null,-1),g=s("span",{class:"lang"},"bash",-1),b={class:"shiki github-dark vp-code-dark"},B={class:"line"},q=s("span",{style:{color:"#E1E4E8"}},"ver",-1),v=s("span",{style:{color:"#F97583"}},"=",-1),m={style:{color:"#9ECBFF"}},k={class:"shiki github-light vp-code-light"},A={class:"line"},_=s("span",{style:{color:"#24292E"}},"ver",-1),f=s("span",{style:{color:"#D73A49"}},"=",-1),w={style:{color:"#032F62"}},D={class:"language-bash vp-adaptive-theme"},T=s("button",{title:"Copy Code",class:"copy"},null,-1),x=s("span",{class:"lang"},"bash",-1),O={class:"shiki github-dark vp-code-dark"},R={class:"line"},P=s("span",{style:{color:"#E1E4E8"}},"ver",-1),I=s("span",{style:{color:"#F97583"}},"=",-1),S={style:{color:"#9ECBFF"}},N={class:"shiki github-light vp-code-light"},$={class:"line"},H=s("span",{style:{color:"#24292E"}},"ver",-1),M=s("span",{style:{color:"#D73A49"}},"=",-1),U={style:{color:"#032F62"}},j={class:"language-bash vp-adaptive-theme"},L=s("button",{title:"Copy Code",class:"copy"},null,-1),z=s("span",{class:"lang"},"bash",-1),G={class:"shiki github-dark vp-code-dark"},V={class:"line"},W=s("span",{style:{color:"#E1E4E8"}},"ver",-1),Y=s("span",{style:{color:"#F97583"}},"=",-1),K={style:{color:"#9ECBFF"}},X={class:"shiki github-light vp-code-light"},Z={class:"line"},Q=s("span",{style:{color:"#24292E"}},"ver",-1),J=s("span",{style:{color:"#D73A49"}},"=",-1),ss={style:{color:"#032F62"}},as=l("",3),ns=s("p",null,"The output will show the version installed.",-1),os=s("h2",{id:"celestia-node",tabindex:"-1"},[p("Celestia-node "),s("a",{class:"header-anchor",href:"#celestia-node","aria-label":'Permalink to "Celestia-node"'},"​")],-1),ls=s("h3",{id:"install-celestia-node",tabindex:"-1"},[p("Install celestia-node "),s("a",{class:"header-anchor",href:"#install-celestia-node","aria-label":'Permalink to "Install celestia-node"'},"​")],-1),ps=s("p",null,"Installing celestia-node for Arabica devnet or Mocha testnet means installing a specific version to be compatible with the network.",-1),es=s("p",null,"Install the celestia-node binary by running the following commands:",-1),ts=l("",1),cs=s("p",null,"Check out to the desired version, based on the network you will use:",-1),rs={class:"vp-code-group vp-adaptive-theme"},ys=l("",1),Es={class:"blocks"},is={class:"language-bash vp-adaptive-theme active"},ds=s("button",{title:"Copy Code",class:"copy"},null,-1),Fs=s("span",{class:"lang"},"bash",-1),us={class:"shiki github-dark vp-code-dark"},hs={class:"line"},Cs=s("span",{style:{color:"#B392F0"}},"git",-1),gs=s("span",{style:{color:"#E1E4E8"}}," ",-1),bs=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Bs=s("span",{style:{color:"#E1E4E8"}}," ",-1),qs={style:{color:"#9ECBFF"}},vs={class:"shiki github-light vp-code-light"},ms={class:"line"},ks=s("span",{style:{color:"#6F42C1"}},"git",-1),As=s("span",{style:{color:"#24292E"}}," ",-1),_s=s("span",{style:{color:"#032F62"}},"checkout",-1),fs=s("span",{style:{color:"#24292E"}}," ",-1),ws={style:{color:"#032F62"}},Ds={class:"language-bash vp-adaptive-theme"},Ts=s("button",{title:"Copy Code",class:"copy"},null,-1),xs=s("span",{class:"lang"},"bash",-1),Os={class:"shiki github-dark vp-code-dark"},Rs={class:"line"},Ps=s("span",{style:{color:"#B392F0"}},"git",-1),Is=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ss=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Ns=s("span",{style:{color:"#E1E4E8"}}," ",-1),$s={style:{color:"#9ECBFF"}},Hs={class:"shiki github-light vp-code-light"},Ms={class:"line"},Us=s("span",{style:{color:"#6F42C1"}},"git",-1),js=s("span",{style:{color:"#24292E"}}," ",-1),Ls=s("span",{style:{color:"#032F62"}},"checkout",-1),zs=s("span",{style:{color:"#24292E"}}," ",-1),Gs={style:{color:"#032F62"}},Vs={class:"language-bash vp-adaptive-theme"},Ws=s("button",{title:"Copy Code",class:"copy"},null,-1),Ys=s("span",{class:"lang"},"bash",-1),Ks={class:"shiki github-dark vp-code-dark"},Xs={class:"line"},Zs=s("span",{style:{color:"#B392F0"}},"git",-1),Qs=s("span",{style:{color:"#E1E4E8"}}," ",-1),Js=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),sa=s("span",{style:{color:"#E1E4E8"}}," ",-1),aa={style:{color:"#9ECBFF"}},na={class:"shiki github-light vp-code-light"},oa={class:"line"},la=s("span",{style:{color:"#6F42C1"}},"git",-1),pa=s("span",{style:{color:"#24292E"}}," ",-1),ea=s("span",{style:{color:"#032F62"}},"checkout",-1),ta=s("span",{style:{color:"#24292E"}}," ",-1),ca={style:{color:"#032F62"}},ra=l("",4),ya=l("",56),Ea={class:"language-bash vp-adaptive-theme"},ia=s("button",{title:"Copy Code",class:"copy"},null,-1),da=s("span",{class:"lang"},"bash",-1),Fa={class:"shiki github-dark vp-code-dark"},ua={class:"line"},ha=s("span",{style:{color:"#F97583"}},"export",-1),Ca=s("span",{style:{color:"#E1E4E8"}}," NODE_STORE",-1),ga=s("span",{style:{color:"#F97583"}},"=",-1),ba=s("span",{style:{color:"#E1E4E8"}},"$HOME",-1),Ba={style:{color:"#9ECBFF"}},qa={class:"shiki github-light vp-code-light"},va={class:"line"},ma=s("span",{style:{color:"#D73A49"}},"export",-1),ka=s("span",{style:{color:"#24292E"}}," NODE_STORE",-1),Aa=s("span",{style:{color:"#D73A49"}},"=",-1),_a=s("span",{style:{color:"#24292E"}},"$HOME",-1),fa={style:{color:"#032F62"}},wa=l("",34),Da=l("",89),Ha=JSON.parse('{"title":"Celestia-node RPC CLI tutorial","description":"","frontmatter":{"next":{"text":"Prompt Scavenger","link":"/developers/prompt-scavenger"},"head":[["meta",{"name":"og:title","content":"Celestia-node RPC CLI tutorial | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/node-tutorial.md","filePath":"developers/node-tutorial.md","lastUpdated":1705010189000}'),Ta={name:"developers/node-tutorial.md"},Ma=Object.assign(Ta,{setup(xa){return(Oa,Ra)=>(r(),y("div",null,[E,s("ol",null,[s("li",null,[i,s("div",d,[F,s("div",u,[s("div",h,[C,g,s("pre",b,[s("code",null,[s("span",B,[q,v,s("span",m,'"'+a(n(o).golangNodeMainnet)+'"',1)])])]),s("pre",k,[s("code",null,[s("span",A,[_,f,s("span",w,'"'+a(n(o).golangNodeMainnet)+'"',1)])])])]),s("div",D,[T,x,s("pre",O,[s("code",null,[s("span",R,[P,I,s("span",S,'"'+a(n(o).golangNodeMocha)+'"',1)])])]),s("pre",N,[s("code",null,[s("span",$,[H,M,s("span",U,'"'+a(n(o).golangNodeMocha)+'"',1)])])])]),s("div",j,[L,z,s("pre",G,[s("code",null,[s("span",V,[W,Y,s("span",K,'"'+a(n(o).golangNodeArabica)+'"',1)])])]),s("pre",X,[s("code",null,[s("span",Z,[Q,J,s("span",ss,'"'+a(n(o).golangNodeArabica)+'"',1)])])])])])])]),as]),ns,os,ls,ps,es,s("ol",null,[ts,s("li",null,[cs,s("div",rs,[ys,s("div",Es,[s("div",is,[ds,Fs,s("pre",us,[s("code",null,[s("span",hs,[Cs,gs,bs,Bs,s("span",qs,"tags/"+a(n(c)["node-latest-tag"]),1)])])]),s("pre",vs,[s("code",null,[s("span",ms,[ks,As,_s,fs,s("span",ws,"tags/"+a(n(c)["node-latest-tag"]),1)])])])]),s("div",Ds,[Ts,xs,s("pre",Os,[s("code",null,[s("span",Rs,[Ps,Is,Ss,Ns,s("span",$s,"tags/"+a(n(t)["node-latest-tag"]),1)])])]),s("pre",Hs,[s("code",null,[s("span",Ms,[Us,js,Ls,zs,s("span",Gs,"tags/"+a(n(t)["node-latest-tag"]),1)])])])]),s("div",Vs,[Ws,Ys,s("pre",Ks,[s("code",null,[s("span",Xs,[Zs,Qs,Js,sa,s("span",aa,"tags/"+a(n(e)["node-latest-tag"]),1)])])]),s("pre",na,[s("code",null,[s("span",oa,[la,pa,ea,ta,s("span",ca,"tags/"+a(n(e)["node-latest-tag"]),1)])])])])])])]),ra]),ya,s("p",null,"To set your node store for a light node on "+a(n(o).mochaChainId)+", you can use the following command:",1),s("div",Ea,[ia,da,s("pre",Fa,[s("code",null,[s("span",ua,[ha,Ca,ga,ba,s("span",Ba,"/.celestia-light-"+a(n(o).mochaChainId),1)])])]),s("pre",qa,[s("code",null,[s("span",va,[ma,ka,Aa,_a,s("span",fa,"/.celestia-light-"+a(n(o).mochaChainId),1)])])])]),wa,s("p",null,[p("Here is an example command to retrieve the data from above, on "),s("code",null,a(n(o).arabicaChainId),1),p(":")]),Da]))}});export{Ha as __pageData,Ma as default}; diff --git a/pr-preview/pr-1358/assets/developers_optimism-devnet.md.093b572a.js b/pr-preview/pr-1358/assets/developers_optimism-devnet.md.88270525.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_optimism-devnet.md.093b572a.js rename to pr-preview/pr-1358/assets/developers_optimism-devnet.md.88270525.js index 9bc10f25de..33af176cdf 100644 --- a/pr-preview/pr-1358/assets/developers_optimism-devnet.md.093b572a.js +++ b/pr-preview/pr-1358/assets/developers_optimism-devnet.md.88270525.js @@ -1,8 +1,8 @@ -import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.2263f03b.js";const E=JSON.parse('{"title":"Deploy an OP Stack devnet","description":"Start your own devnet with a modified version of optimism-bedrock.","frontmatter":{"description":"Start your own devnet with a modified version of optimism-bedrock.","head":[["meta",{"name":"og:title","content":"Deploy an OP Stack devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/optimism-devnet.md","filePath":"developers/optimism-devnet.md","lastUpdated":1705009966000}'),o={name:"developers/optimism-devnet.md"},l=e(`

    Deploy an OP Stack devnet

    This guide will show you how to run your own OP Stack devnet.

    Dependency setup

    Environment setup and Golang installation

    First, install dependencies for Celestia software and for OP Stack.

    Clone repository

    Next, clone the repo:

    bash
    cd $HOME
    +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.2263f03b.js";const E=JSON.parse('{"title":"Deploy an OP Stack devnet","description":"Start your own devnet with a modified version of optimism-bedrock.","frontmatter":{"description":"Start your own devnet with a modified version of optimism-bedrock.","head":[["meta",{"name":"og:title","content":"Deploy an OP Stack devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/optimism-devnet.md","filePath":"developers/optimism-devnet.md","lastUpdated":1705010189000}'),o={name:"developers/optimism-devnet.md"},l=e(`

    Deploy an OP Stack devnet

    This guide will show you how to run your own OP Stack devnet.

    Dependency setup

    Environment setup and Golang installation

    First, install dependencies for Celestia software and for OP Stack.

    Clone repository

    Next, clone the repo:

    bash
    cd $HOME
     git clone https://github.com/celestiaorg/optimism
     cd optimism
    cd $HOME
     git clone https://github.com/celestiaorg/optimism
    -cd optimism

    Check out to the version for either the stable version or upstream version:

    bash
    git checkout tags/v1.0.0-OP_op-node/v1.4.0-CN_v0.12.1
    +cd optimism

    Check out to the version for either the stable version or upstream version:

    bash
    git checkout tags/v1.0.0-OP_op-node/v1.4.0-CN_v0.12.1
     git submodule update --init --recursive
    git checkout tags/v1.0.0-OP_op-node/v1.4.0-CN_v0.12.1
     git submodule update --init --recursive
    bash
    git checkout celestia-develop
     git submodule update --init --recursive
    git checkout celestia-develop
    diff --git a/pr-preview/pr-1358/assets/developers_optimism-devnet.md.093b572a.lean.js b/pr-preview/pr-1358/assets/developers_optimism-devnet.md.88270525.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/developers_optimism-devnet.md.093b572a.lean.js
    rename to pr-preview/pr-1358/assets/developers_optimism-devnet.md.88270525.lean.js
    index 9ee9eb1549..f220e3642a 100644
    --- a/pr-preview/pr-1358/assets/developers_optimism-devnet.md.093b572a.lean.js
    +++ b/pr-preview/pr-1358/assets/developers_optimism-devnet.md.88270525.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.2263f03b.js";const E=JSON.parse('{"title":"Deploy an OP Stack devnet","description":"Start your own devnet with a modified version of optimism-bedrock.","frontmatter":{"description":"Start your own devnet with a modified version of optimism-bedrock.","head":[["meta",{"name":"og:title","content":"Deploy an OP Stack devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/optimism-devnet.md","filePath":"developers/optimism-devnet.md","lastUpdated":1705009966000}'),o={name:"developers/optimism-devnet.md"},l=e("",68),p=[l];function t(c,r,i,d,y,h){return a(),n("div",null,p)}const u=s(o,[["render",t]]);export{E as __pageData,u as default};
    +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.2263f03b.js";const E=JSON.parse('{"title":"Deploy an OP Stack devnet","description":"Start your own devnet with a modified version of optimism-bedrock.","frontmatter":{"description":"Start your own devnet with a modified version of optimism-bedrock.","head":[["meta",{"name":"og:title","content":"Deploy an OP Stack devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/optimism-devnet.md","filePath":"developers/optimism-devnet.md","lastUpdated":1705010189000}'),o={name:"developers/optimism-devnet.md"},l=e("",68),p=[l];function t(c,r,i,d,y,h){return a(),n("div",null,p)}const u=s(o,[["render",t]]);export{E as __pageData,u as default};
    diff --git a/pr-preview/pr-1358/assets/developers_optimism.md.24d065a6.js b/pr-preview/pr-1358/assets/developers_optimism.md.8ba9c7cf.js
    similarity index 92%
    rename from pr-preview/pr-1358/assets/developers_optimism.md.24d065a6.js
    rename to pr-preview/pr-1358/assets/developers_optimism.md.8ba9c7cf.js
    index 09e3ac167c..1282dcea70 100644
    --- a/pr-preview/pr-1358/assets/developers_optimism.md.24d065a6.js
    +++ b/pr-preview/pr-1358/assets/developers_optimism.md.8ba9c7cf.js
    @@ -1,4 +1,4 @@
    -import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as l,k as s,t as e,l as o,Q as n}from"./chunks/framework.2263f03b.js";const p=n('

    Deploy an OP Stack devnet to Celestia

    In order to deploy a devnet to Celestia, you will need to have a modified version of optimism-bedrock. Refer to the steps to install dependencies and the modified version of OP Stack for your environment setup.

    Pick your deployment type

    Using Celestia and OP stack, you have the option to either run a light node of your own or a local-celestia-devnet, both of which will give you a local devnet to test things out with.

    Using a local devnet

    If you'd like to use the local-celestia-devnet, you're in luck! This is the default for the OP Stack + Celestia repository. Head to the previous page to get started.

    Using a light node

    This is a beta integration and we are working on resolving open issues.

    In order to allow your light node to post and retrieve data without errors, you will need to change UseShareExchange to false in:

    ',9),c={class:"vp-code-group vp-adaptive-theme"},i=n('
    ',1),r={class:"blocks"},d=n('
    bash
    $HOME/.celestia-light/config.toml
    $HOME/.celestia-light/config.toml
    ',1),h={class:"language-bash vp-adaptive-theme"},y=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g={class:"line"},_={style:{color:"#E1E4E8"}},v={class:"shiki github-light vp-code-light"},f={class:"line"},b={style:{color:"#24292E"}},m={class:"language-bash vp-adaptive-theme"},k=s("button",{title:"Copy Code",class:"copy"},null,-1),C=s("span",{class:"lang"},"bash",-1),F={class:"shiki github-dark vp-code-dark"},w={class:"line"},T={style:{color:"#E1E4E8"}},B={class:"shiki github-light vp-code-light"},S={class:"line"},A={style:{color:"#24292E"}},q=n('

    If you choose to use your own node store, the light node must be fully synced and funded for you to be able to submit and retrieve PayForBlobs to a Celestia network.

    If it is not synced, you will run into errors similar to this.

    Visit the Arabica or Mocha pages to to visit their faucets.

    In order to mount existing data, you must have a node store that is in this directory:

    ',4),D={class:"vp-code-group vp-adaptive-theme"},P=n('
    ',1),O={class:"blocks"},I=n('
    bash
    $HOME/.celestia-light
    $HOME/.celestia-light
    ',1),x={class:"language-bash vp-adaptive-theme"},M=s("button",{title:"Copy Code",class:"copy"},null,-1),R=s("span",{class:"lang"},"bash",-1),H={class:"shiki github-dark vp-code-dark"},N={class:"line"},V={style:{color:"#E1E4E8"}},$={class:"shiki github-light vp-code-light"},U={class:"line"},L={style:{color:"#24292E"}},X={class:"language-bash vp-adaptive-theme"},j=s("button",{title:"Copy Code",class:"copy"},null,-1),G=s("span",{class:"lang"},"bash",-1),Y={class:"shiki github-dark vp-code-dark"},W={class:"line"},K={style:{color:"#E1E4E8"}},Q={class:"shiki github-light vp-code-light"},Z={class:"line"},z={style:{color:"#24292E"}},J=n(`

    This is the default location of the node store when you initialize and run a new Celestia node.

    By default, the node will run with the account named my_celes_key.

    If you have your own setup you'd like to try, you can always edit optimism/ops-bedrock/docker-compose.yml to work with your setup.

    Using a RaaS provider

    If you'd like to use a Rollups as a Service (RaaS) provider, you can do so by going to the RaaS category in the menu.

    Build the devnet

    Build TypeScript definitions for TS dependencies:

    bash
    cd $HOME
    +import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as l,k as s,t as e,l as o,Q as n}from"./chunks/framework.2263f03b.js";const p=n('

    Deploy an OP Stack devnet to Celestia

    In order to deploy a devnet to Celestia, you will need to have a modified version of optimism-bedrock. Refer to the steps to install dependencies and the modified version of OP Stack for your environment setup.

    Pick your deployment type

    Using Celestia and OP stack, you have the option to either run a light node of your own or a local-celestia-devnet, both of which will give you a local devnet to test things out with.

    Using a local devnet

    If you'd like to use the local-celestia-devnet, you're in luck! This is the default for the OP Stack + Celestia repository. Head to the previous page to get started.

    Using a light node

    This is a beta integration and we are working on resolving open issues.

    In order to allow your light node to post and retrieve data without errors, you will need to change UseShareExchange to false in:

    ',9),c={class:"vp-code-group vp-adaptive-theme"},i=n('
    ',1),r={class:"blocks"},d=n('
    bash
    $HOME/.celestia-light/config.toml
    $HOME/.celestia-light/config.toml
    ',1),h={class:"language-bash vp-adaptive-theme"},y=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g={class:"line"},_={style:{color:"#E1E4E8"}},v={class:"shiki github-light vp-code-light"},f={class:"line"},b={style:{color:"#24292E"}},m={class:"language-bash vp-adaptive-theme"},k=s("button",{title:"Copy Code",class:"copy"},null,-1),C=s("span",{class:"lang"},"bash",-1),F={class:"shiki github-dark vp-code-dark"},w={class:"line"},T={style:{color:"#E1E4E8"}},S={class:"shiki github-light vp-code-light"},B={class:"line"},D={style:{color:"#24292E"}},q=n('

    If you choose to use your own node store, the light node must be fully synced and funded for you to be able to submit and retrieve PayForBlobs to a Celestia network.

    If it is not synced, you will run into errors similar to this.

    Visit the Arabica or Mocha pages to to visit their faucets.

    In order to mount existing data, you must have a node store that is in this directory:

    ',4),A={class:"vp-code-group vp-adaptive-theme"},P=n('
    ',1),O={class:"blocks"},I=n('
    bash
    $HOME/.celestia-light
    $HOME/.celestia-light
    ',1),x={class:"language-bash vp-adaptive-theme"},M=s("button",{title:"Copy Code",class:"copy"},null,-1),R=s("span",{class:"lang"},"bash",-1),N={class:"shiki github-dark vp-code-dark"},H={class:"line"},V={style:{color:"#E1E4E8"}},$={class:"shiki github-light vp-code-light"},U={class:"line"},L={style:{color:"#24292E"}},K={class:"language-bash vp-adaptive-theme"},Z=s("button",{title:"Copy Code",class:"copy"},null,-1),W=s("span",{class:"lang"},"bash",-1),Y={class:"shiki github-dark vp-code-dark"},Q={class:"line"},X={style:{color:"#E1E4E8"}},J={class:"shiki github-light vp-code-light"},j={class:"line"},z={style:{color:"#24292E"}},G=n(`

    This is the default location of the node store when you initialize and run a new Celestia node.

    By default, the node will run with the account named my_celes_key.

    If you have your own setup you'd like to try, you can always edit optimism/ops-bedrock/docker-compose.yml to work with your setup.

    Using a RaaS provider

    If you'd like to use a Rollups as a Service (RaaS) provider, you can do so by going to the RaaS category in the menu.

    Build the devnet

    Build TypeScript definitions for TS dependencies:

    bash
    cd $HOME
     cd optimism
     make
    cd $HOME
     cd optimism
    @@ -52,4 +52,4 @@ import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as l,k as s,t
         interval: 10s
         timeout: 5s
         retries: 5
    -    start_period: 30s

    Now start the devnet:

    bash
    make devnet-up
    make devnet-up

    View the logs of the devnet

    If you'd like to view the logs of the devnet, run the following command from the root of the Optimism directory:

    bash
    make devnet-logs
    make devnet-logs

    Stop the devnet

    To safely stop the devnet, run the following command:

    bash
    make devnet-down
    make devnet-down

    Clean the devnet

    To remove all data from the devnet, run the following command:

    bash
    make devnet-clean
    make devnet-clean

    Deploying to an L1 (or L2)

    If you'd like to deploy to an EVM L1 or L2, reference the OP stack deployment guide.

    `,29),ls=JSON.parse('{"title":"Deploy an OP Stack devnet to Celestia","description":"Start your own devnet with a modified version of optimism-bedrock.","frontmatter":{"description":"Start your own devnet with a modified version of optimism-bedrock.","next":{"text":"Wallet with celestia-app","link":"/developers/celestia-app-wallet"},"head":[["meta",{"name":"og:title","content":"Deploy an OP Stack devnet to Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/optimism.md","filePath":"developers/optimism.md","lastUpdated":1705009966000}'),ss={name:"developers/optimism.md"},ps=Object.assign(ss,{setup(as){return(es,os)=>(t(),l("div",null,[p,s("div",c,[i,s("div",r,[d,s("div",h,[y,E,s("pre",u,[s("code",null,[s("span",g,[s("span",_,"$HOME/.celestia-light-"+e(o(a).mochaChainId)+"/config.toml",1)])])]),s("pre",v,[s("code",null,[s("span",f,[s("span",b,"$HOME/.celestia-light-"+e(o(a).mochaChainId)+"/config.toml",1)])])])]),s("div",m,[k,C,s("pre",F,[s("code",null,[s("span",w,[s("span",T,"$HOME/.celestia-light-"+e(o(a).arabicaChainId)+"/config.toml",1)])])]),s("pre",B,[s("code",null,[s("span",S,[s("span",A,"$HOME/.celestia-light-"+e(o(a).arabicaChainId)+"/config.toml",1)])])])])])]),q,s("div",D,[P,s("div",O,[I,s("div",x,[M,R,s("pre",H,[s("code",null,[s("span",N,[s("span",V,"$HOME/.celestia-light-"+e(o(a).mochaChainId),1)])])]),s("pre",$,[s("code",null,[s("span",U,[s("span",L,"$HOME/.celestia-light-"+e(o(a).mochaChainId),1)])])])]),s("div",X,[j,G,s("pre",Y,[s("code",null,[s("span",W,[s("span",K,"$HOME/.celestia-light-"+e(o(a).arabicaChainId),1)])])]),s("pre",Q,[s("code",null,[s("span",Z,[s("span",z,"$HOME/.celestia-light-"+e(o(a).arabicaChainId),1)])])])])])]),J]))}});export{ls as __pageData,ps as default}; + start_period: 30s

    Now start the devnet:

    bash
    make devnet-up
    make devnet-up

    View the logs of the devnet

    If you'd like to view the logs of the devnet, run the following command from the root of the Optimism directory:

    bash
    make devnet-logs
    make devnet-logs

    Stop the devnet

    To safely stop the devnet, run the following command:

    bash
    make devnet-down
    make devnet-down

    Clean the devnet

    To remove all data from the devnet, run the following command:

    bash
    make devnet-clean
    make devnet-clean

    Deploying to an L1 (or L2)

    If you'd like to deploy to an EVM L1 or L2, reference the OP stack deployment guide.

    `,29),ls=JSON.parse('{"title":"Deploy an OP Stack devnet to Celestia","description":"Start your own devnet with a modified version of optimism-bedrock.","frontmatter":{"description":"Start your own devnet with a modified version of optimism-bedrock.","next":{"text":"Wallet with celestia-app","link":"/developers/celestia-app-wallet"},"head":[["meta",{"name":"og:title","content":"Deploy an OP Stack devnet to Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/optimism.md","filePath":"developers/optimism.md","lastUpdated":1705010189000}'),ss={name:"developers/optimism.md"},ps=Object.assign(ss,{setup(as){return(es,os)=>(t(),l("div",null,[p,s("div",c,[i,s("div",r,[d,s("div",h,[y,E,s("pre",u,[s("code",null,[s("span",g,[s("span",_,"$HOME/.celestia-light-"+e(o(a).mochaChainId)+"/config.toml",1)])])]),s("pre",v,[s("code",null,[s("span",f,[s("span",b,"$HOME/.celestia-light-"+e(o(a).mochaChainId)+"/config.toml",1)])])])]),s("div",m,[k,C,s("pre",F,[s("code",null,[s("span",w,[s("span",T,"$HOME/.celestia-light-"+e(o(a).arabicaChainId)+"/config.toml",1)])])]),s("pre",S,[s("code",null,[s("span",B,[s("span",D,"$HOME/.celestia-light-"+e(o(a).arabicaChainId)+"/config.toml",1)])])])])])]),q,s("div",A,[P,s("div",O,[I,s("div",x,[M,R,s("pre",N,[s("code",null,[s("span",H,[s("span",V,"$HOME/.celestia-light-"+e(o(a).mochaChainId),1)])])]),s("pre",$,[s("code",null,[s("span",U,[s("span",L,"$HOME/.celestia-light-"+e(o(a).mochaChainId),1)])])])]),s("div",K,[Z,W,s("pre",Y,[s("code",null,[s("span",Q,[s("span",X,"$HOME/.celestia-light-"+e(o(a).arabicaChainId),1)])])]),s("pre",J,[s("code",null,[s("span",j,[s("span",z,"$HOME/.celestia-light-"+e(o(a).arabicaChainId),1)])])])])])]),G]))}});export{ls as __pageData,ps as default}; diff --git a/pr-preview/pr-1358/assets/developers_optimism.md.24d065a6.lean.js b/pr-preview/pr-1358/assets/developers_optimism.md.8ba9c7cf.lean.js similarity index 65% rename from pr-preview/pr-1358/assets/developers_optimism.md.24d065a6.lean.js rename to pr-preview/pr-1358/assets/developers_optimism.md.8ba9c7cf.lean.js index 387369be20..b407af2902 100644 --- a/pr-preview/pr-1358/assets/developers_optimism.md.24d065a6.lean.js +++ b/pr-preview/pr-1358/assets/developers_optimism.md.8ba9c7cf.lean.js @@ -1 +1 @@ -import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as l,k as s,t as e,l as o,Q as n}from"./chunks/framework.2263f03b.js";const p=n("",9),c={class:"vp-code-group vp-adaptive-theme"},i=n("",1),r={class:"blocks"},d=n("",1),h={class:"language-bash vp-adaptive-theme"},y=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g={class:"line"},_={style:{color:"#E1E4E8"}},v={class:"shiki github-light vp-code-light"},f={class:"line"},b={style:{color:"#24292E"}},m={class:"language-bash vp-adaptive-theme"},k=s("button",{title:"Copy Code",class:"copy"},null,-1),C=s("span",{class:"lang"},"bash",-1),F={class:"shiki github-dark vp-code-dark"},w={class:"line"},T={style:{color:"#E1E4E8"}},B={class:"shiki github-light vp-code-light"},S={class:"line"},A={style:{color:"#24292E"}},q=n("",4),D={class:"vp-code-group vp-adaptive-theme"},P=n("",1),O={class:"blocks"},I=n("",1),x={class:"language-bash vp-adaptive-theme"},M=s("button",{title:"Copy Code",class:"copy"},null,-1),R=s("span",{class:"lang"},"bash",-1),H={class:"shiki github-dark vp-code-dark"},N={class:"line"},V={style:{color:"#E1E4E8"}},$={class:"shiki github-light vp-code-light"},U={class:"line"},L={style:{color:"#24292E"}},X={class:"language-bash vp-adaptive-theme"},j=s("button",{title:"Copy Code",class:"copy"},null,-1),G=s("span",{class:"lang"},"bash",-1),Y={class:"shiki github-dark vp-code-dark"},W={class:"line"},K={style:{color:"#E1E4E8"}},Q={class:"shiki github-light vp-code-light"},Z={class:"line"},z={style:{color:"#24292E"}},J=n("",29),ls=JSON.parse('{"title":"Deploy an OP Stack devnet to Celestia","description":"Start your own devnet with a modified version of optimism-bedrock.","frontmatter":{"description":"Start your own devnet with a modified version of optimism-bedrock.","next":{"text":"Wallet with celestia-app","link":"/developers/celestia-app-wallet"},"head":[["meta",{"name":"og:title","content":"Deploy an OP Stack devnet to Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/optimism.md","filePath":"developers/optimism.md","lastUpdated":1705009966000}'),ss={name:"developers/optimism.md"},ps=Object.assign(ss,{setup(as){return(es,os)=>(t(),l("div",null,[p,s("div",c,[i,s("div",r,[d,s("div",h,[y,E,s("pre",u,[s("code",null,[s("span",g,[s("span",_,"$HOME/.celestia-light-"+e(o(a).mochaChainId)+"/config.toml",1)])])]),s("pre",v,[s("code",null,[s("span",f,[s("span",b,"$HOME/.celestia-light-"+e(o(a).mochaChainId)+"/config.toml",1)])])])]),s("div",m,[k,C,s("pre",F,[s("code",null,[s("span",w,[s("span",T,"$HOME/.celestia-light-"+e(o(a).arabicaChainId)+"/config.toml",1)])])]),s("pre",B,[s("code",null,[s("span",S,[s("span",A,"$HOME/.celestia-light-"+e(o(a).arabicaChainId)+"/config.toml",1)])])])])])]),q,s("div",D,[P,s("div",O,[I,s("div",x,[M,R,s("pre",H,[s("code",null,[s("span",N,[s("span",V,"$HOME/.celestia-light-"+e(o(a).mochaChainId),1)])])]),s("pre",$,[s("code",null,[s("span",U,[s("span",L,"$HOME/.celestia-light-"+e(o(a).mochaChainId),1)])])])]),s("div",X,[j,G,s("pre",Y,[s("code",null,[s("span",W,[s("span",K,"$HOME/.celestia-light-"+e(o(a).arabicaChainId),1)])])]),s("pre",Q,[s("code",null,[s("span",Z,[s("span",z,"$HOME/.celestia-light-"+e(o(a).arabicaChainId),1)])])])])])]),J]))}});export{ls as __pageData,ps as default}; +import{c as a}from"./chunks/constants.d0f43632.js";import{o as t,c as l,k as s,t as e,l as o,Q as n}from"./chunks/framework.2263f03b.js";const p=n("",9),c={class:"vp-code-group vp-adaptive-theme"},i=n("",1),r={class:"blocks"},d=n("",1),h={class:"language-bash vp-adaptive-theme"},y=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g={class:"line"},_={style:{color:"#E1E4E8"}},v={class:"shiki github-light vp-code-light"},f={class:"line"},b={style:{color:"#24292E"}},m={class:"language-bash vp-adaptive-theme"},k=s("button",{title:"Copy Code",class:"copy"},null,-1),C=s("span",{class:"lang"},"bash",-1),F={class:"shiki github-dark vp-code-dark"},w={class:"line"},T={style:{color:"#E1E4E8"}},S={class:"shiki github-light vp-code-light"},B={class:"line"},D={style:{color:"#24292E"}},q=n("",4),A={class:"vp-code-group vp-adaptive-theme"},P=n("",1),O={class:"blocks"},I=n("",1),x={class:"language-bash vp-adaptive-theme"},M=s("button",{title:"Copy Code",class:"copy"},null,-1),R=s("span",{class:"lang"},"bash",-1),N={class:"shiki github-dark vp-code-dark"},H={class:"line"},V={style:{color:"#E1E4E8"}},$={class:"shiki github-light vp-code-light"},U={class:"line"},L={style:{color:"#24292E"}},K={class:"language-bash vp-adaptive-theme"},Z=s("button",{title:"Copy Code",class:"copy"},null,-1),W=s("span",{class:"lang"},"bash",-1),Y={class:"shiki github-dark vp-code-dark"},Q={class:"line"},X={style:{color:"#E1E4E8"}},J={class:"shiki github-light vp-code-light"},j={class:"line"},z={style:{color:"#24292E"}},G=n("",29),ls=JSON.parse('{"title":"Deploy an OP Stack devnet to Celestia","description":"Start your own devnet with a modified version of optimism-bedrock.","frontmatter":{"description":"Start your own devnet with a modified version of optimism-bedrock.","next":{"text":"Wallet with celestia-app","link":"/developers/celestia-app-wallet"},"head":[["meta",{"name":"og:title","content":"Deploy an OP Stack devnet to Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/optimism.md","filePath":"developers/optimism.md","lastUpdated":1705010189000}'),ss={name:"developers/optimism.md"},ps=Object.assign(ss,{setup(as){return(es,os)=>(t(),l("div",null,[p,s("div",c,[i,s("div",r,[d,s("div",h,[y,E,s("pre",u,[s("code",null,[s("span",g,[s("span",_,"$HOME/.celestia-light-"+e(o(a).mochaChainId)+"/config.toml",1)])])]),s("pre",v,[s("code",null,[s("span",f,[s("span",b,"$HOME/.celestia-light-"+e(o(a).mochaChainId)+"/config.toml",1)])])])]),s("div",m,[k,C,s("pre",F,[s("code",null,[s("span",w,[s("span",T,"$HOME/.celestia-light-"+e(o(a).arabicaChainId)+"/config.toml",1)])])]),s("pre",S,[s("code",null,[s("span",B,[s("span",D,"$HOME/.celestia-light-"+e(o(a).arabicaChainId)+"/config.toml",1)])])])])])]),q,s("div",A,[P,s("div",O,[I,s("div",x,[M,R,s("pre",N,[s("code",null,[s("span",H,[s("span",V,"$HOME/.celestia-light-"+e(o(a).mochaChainId),1)])])]),s("pre",$,[s("code",null,[s("span",U,[s("span",L,"$HOME/.celestia-light-"+e(o(a).mochaChainId),1)])])])]),s("div",K,[Z,W,s("pre",Y,[s("code",null,[s("span",Q,[s("span",X,"$HOME/.celestia-light-"+e(o(a).arabicaChainId),1)])])]),s("pre",J,[s("code",null,[s("span",j,[s("span",z,"$HOME/.celestia-light-"+e(o(a).arabicaChainId),1)])])])])])]),G]))}});export{ls as __pageData,ps as default}; diff --git a/pr-preview/pr-1358/assets/developers_prompt-scavenger.md.f59a1a8b.js b/pr-preview/pr-1358/assets/developers_prompt-scavenger.md.9b7a7d56.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_prompt-scavenger.md.f59a1a8b.js rename to pr-preview/pr-1358/assets/developers_prompt-scavenger.md.9b7a7d56.js index dcae5938ce..0df022b68d 100644 --- a/pr-preview/pr-1358/assets/developers_prompt-scavenger.md.f59a1a8b.js +++ b/pr-preview/pr-1358/assets/developers_prompt-scavenger.md.9b7a7d56.js @@ -1,4 +1,4 @@ -import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Prompt scavenger","description":"Learn how to interact with the Celestia Node API with this tutorial.","frontmatter":{"description":"Learn how to interact with the Celestia Node API with this tutorial.","prev":{"text":"Node RPC CLI tutorial","link":"/developers/node-tutorial"},"head":[["meta",{"name":"og:title","content":"Prompt scavenger | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/prompt-scavenger.md","filePath":"developers/prompt-scavenger.md","lastUpdated":1705009966000}'),p={name:"developers/prompt-scavenger.md"},o=l(`

    Prompt scavenger

    Note

    This tutorial needs to be updated.

    Welcome to the world of Prompt Scavenger, a game where you’ll be using Celestia’s Node API and OpenAI’s GPT-3.5 to decode hidden messages scattered throughout Celestia’s blockchain. In this tutorial, we’ll be using Golang to write the code for the game.

    Through this tutorial, you’ll gain experience using Celestia’s Node API to fetch data from the blockchain, process it, and submit new transactions with that data. You’ll also learn how to integrate OpenAI’s GPT-3.5 API to generate fun responses based on the data you’ve found.

    So if you’re ready to embark on an adventure that combines blockchain technology with the power of AI, and learn some Golang along the way, let’s get started!

    Dependencies

    The following dependencies are needed to be installed or obtained:

    Install Celestia Node and run a light node

    First, install the celestia-node binary.

    Let’s run the following commands to get our env vars setup (NOTE: For CORE_IP you can select from the list of available RPC endpoints on the Blockspace Race page:

    sh
    KEYNAME="scavenger_key"
    +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Prompt scavenger","description":"Learn how to interact with the Celestia Node API with this tutorial.","frontmatter":{"description":"Learn how to interact with the Celestia Node API with this tutorial.","prev":{"text":"Node RPC CLI tutorial","link":"/developers/node-tutorial"},"head":[["meta",{"name":"og:title","content":"Prompt scavenger | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/prompt-scavenger.md","filePath":"developers/prompt-scavenger.md","lastUpdated":1705010189000}'),p={name:"developers/prompt-scavenger.md"},o=l(`

    Prompt scavenger

    Note

    This tutorial needs to be updated.

    Welcome to the world of Prompt Scavenger, a game where you’ll be using Celestia’s Node API and OpenAI’s GPT-3.5 to decode hidden messages scattered throughout Celestia’s blockchain. In this tutorial, we’ll be using Golang to write the code for the game.

    Through this tutorial, you’ll gain experience using Celestia’s Node API to fetch data from the blockchain, process it, and submit new transactions with that data. You’ll also learn how to integrate OpenAI’s GPT-3.5 API to generate fun responses based on the data you’ve found.

    So if you’re ready to embark on an adventure that combines blockchain technology with the power of AI, and learn some Golang along the way, let’s get started!

    Dependencies

    The following dependencies are needed to be installed or obtained:

    Install Celestia Node and run a light node

    First, install the celestia-node binary.

    Let’s run the following commands to get our env vars setup (NOTE: For CORE_IP you can select from the list of available RPC endpoints on the Blockspace Race page:

    sh
    KEYNAME="scavenger_key"
     NODETYPE="light"
     NETWORK="blockspacerace"
     AUTHTYPE="admin"
    diff --git a/pr-preview/pr-1358/assets/developers_prompt-scavenger.md.f59a1a8b.lean.js b/pr-preview/pr-1358/assets/developers_prompt-scavenger.md.9b7a7d56.lean.js
    similarity index 92%
    rename from pr-preview/pr-1358/assets/developers_prompt-scavenger.md.f59a1a8b.lean.js
    rename to pr-preview/pr-1358/assets/developers_prompt-scavenger.md.9b7a7d56.lean.js
    index 02016e15d5..da64611ca2 100644
    --- a/pr-preview/pr-1358/assets/developers_prompt-scavenger.md.f59a1a8b.lean.js
    +++ b/pr-preview/pr-1358/assets/developers_prompt-scavenger.md.9b7a7d56.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Prompt scavenger","description":"Learn how to interact with the Celestia Node API with this tutorial.","frontmatter":{"description":"Learn how to interact with the Celestia Node API with this tutorial.","prev":{"text":"Node RPC CLI tutorial","link":"/developers/node-tutorial"},"head":[["meta",{"name":"og:title","content":"Prompt scavenger | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/prompt-scavenger.md","filePath":"developers/prompt-scavenger.md","lastUpdated":1705009966000}'),p={name:"developers/prompt-scavenger.md"},o=l("",77),e=[o];function t(c,r,E,y,i,d){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{F as __pageData,u as default};
    +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Prompt scavenger","description":"Learn how to interact with the Celestia Node API with this tutorial.","frontmatter":{"description":"Learn how to interact with the Celestia Node API with this tutorial.","prev":{"text":"Node RPC CLI tutorial","link":"/developers/node-tutorial"},"head":[["meta",{"name":"og:title","content":"Prompt scavenger | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/prompt-scavenger.md","filePath":"developers/prompt-scavenger.md","lastUpdated":1705010189000}'),p={name:"developers/prompt-scavenger.md"},o=l("",77),e=[o];function t(c,r,E,y,i,d){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{F as __pageData,u as default};
    diff --git a/pr-preview/pr-1358/assets/developers_retrievability.md.7cc5190a.js b/pr-preview/pr-1358/assets/developers_retrievability.md.67cf7f40.js
    similarity index 98%
    rename from pr-preview/pr-1358/assets/developers_retrievability.md.7cc5190a.js
    rename to pr-preview/pr-1358/assets/developers_retrievability.md.67cf7f40.js
    index 668fe2f59a..72c84dfce9 100644
    --- a/pr-preview/pr-1358/assets/developers_retrievability.md.7cc5190a.js
    +++ b/pr-preview/pr-1358/assets/developers_retrievability.md.67cf7f40.js
    @@ -1 +1 @@
    -import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Data retrievability and pruning","description":"Practices and expectations for data retrievability and pruning on Celestia.","frontmatter":{"sidebar_label":"Data retrievability and pruning","description":"Practices and expectations for data retrievability and pruning on Celestia.","head":[["meta",{"name":"og:title","content":"Data retrievability and pruning | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/retrievability.md","filePath":"developers/retrievability.md","lastUpdated":1705009966000}'),o={name:"developers/retrievability.md"},i=r('

    Data retrievability and pruning

    The purpose of data availability layers such as Celestia is to ensure that block data is provably published to the Internet, so that applications and rollups can know what the state of their chain is, and store that data. Once the data is published, data availability layers do not inherently guarantee that historical data will be permanently stored and remain retrievable.

    In this document, we discuss the state of data retrievability and pruning in Celestia, as well as some tips for rollup developers in order to ensure that syncing new rollup nodes is possible.

    Data retrievability and pruning in celestia-node

    Celestia-node's main branch does not currently support pruning, and therefore all bridge and full storage nodes currently store and serve all historical data by default, and act as archival nodes.

    However, support for pruned nodes exists in an experimental feature branch that is expected to land in main soon after mainnet. The data recency window, during which pruned nodes will store data blobs, is currently proposed to be 30 days.

    Data blobs older than the recency window will be pruned by pruned nodes, but will continue to be stored by archival nodes that do not prune data. Light nodes will be able to query historic blob data in namespaces from archival nodes, as long as archival nodes exist on the public network.

    When a data recency window is established, light nodes will only perform data availability sampling for blocks within the data recency window.

    Suggested practices for rollups

    Rollups may need to access historic data in order to allow new rollup nodes to reconstruct the latest state by replaying historic blocks. Once data has been published on Celestia and guaranteed to have been made available, rollups and applications are responsible for storing their historical data.

    While it is possible to continue to do this by using the GetAll API method in celestia-node on historic blocks as long as archival nodes exist on the public Celestia network, rollup developers should not rely on this as the only method to access historical data, as archival nodes serving requests for historical data for free is not guaranteed. Below are some other suggested methods to access historical data.

    • Use professional archival node or data providers. It is expected that professional infrastructure providers will provide paid access to archival nodes, where historical data can be retrieved, for example using the GetAll API method. This provides better guarantees than solely relying on free archival nodes on the public Celestia network.
    • Share snapshots of rollup nodes. Rollups could share snapshots of their data directories which can be downloaded manually by users bootstrapping new nodes. These snapshots could contain the latest state of the rollup, and/or all the historical blocks.
    • Add peer-to-peer support for historical block sync. A less manual version of sharing snapshots, where rollup nodes could implement built-in support for block sync, where rollup nodes download historical block data from each other over a peer-to-peer network.
      • Namespace pinning. In the future, celestia-node is expected to allow nodes to choose to "pin" data from selected namespaces that they wish to store and make available for other nodes. This will allow rollup nodes to be responsible for storing their data, without needing to implement their own peer-to-peer historical block sync mechanism.
    ',12),s=[i];function n(l,d,c,p,h,u){return t(),a("div",null,s)}const f=e(o,[["render",n]]);export{g as __pageData,f as default}; +import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Data retrievability and pruning","description":"Practices and expectations for data retrievability and pruning on Celestia.","frontmatter":{"sidebar_label":"Data retrievability and pruning","description":"Practices and expectations for data retrievability and pruning on Celestia.","head":[["meta",{"name":"og:title","content":"Data retrievability and pruning | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/retrievability.md","filePath":"developers/retrievability.md","lastUpdated":1705010189000}'),o={name:"developers/retrievability.md"},i=r('

    Data retrievability and pruning

    The purpose of data availability layers such as Celestia is to ensure that block data is provably published to the Internet, so that applications and rollups can know what the state of their chain is, and store that data. Once the data is published, data availability layers do not inherently guarantee that historical data will be permanently stored and remain retrievable.

    In this document, we discuss the state of data retrievability and pruning in Celestia, as well as some tips for rollup developers in order to ensure that syncing new rollup nodes is possible.

    Data retrievability and pruning in celestia-node

    Celestia-node's main branch does not currently support pruning, and therefore all bridge and full storage nodes currently store and serve all historical data by default, and act as archival nodes.

    However, support for pruned nodes exists in an experimental feature branch that is expected to land in main soon after mainnet. The data recency window, during which pruned nodes will store data blobs, is currently proposed to be 30 days.

    Data blobs older than the recency window will be pruned by pruned nodes, but will continue to be stored by archival nodes that do not prune data. Light nodes will be able to query historic blob data in namespaces from archival nodes, as long as archival nodes exist on the public network.

    When a data recency window is established, light nodes will only perform data availability sampling for blocks within the data recency window.

    Suggested practices for rollups

    Rollups may need to access historic data in order to allow new rollup nodes to reconstruct the latest state by replaying historic blocks. Once data has been published on Celestia and guaranteed to have been made available, rollups and applications are responsible for storing their historical data.

    While it is possible to continue to do this by using the GetAll API method in celestia-node on historic blocks as long as archival nodes exist on the public Celestia network, rollup developers should not rely on this as the only method to access historical data, as archival nodes serving requests for historical data for free is not guaranteed. Below are some other suggested methods to access historical data.

    • Use professional archival node or data providers. It is expected that professional infrastructure providers will provide paid access to archival nodes, where historical data can be retrieved, for example using the GetAll API method. This provides better guarantees than solely relying on free archival nodes on the public Celestia network.
    • Share snapshots of rollup nodes. Rollups could share snapshots of their data directories which can be downloaded manually by users bootstrapping new nodes. These snapshots could contain the latest state of the rollup, and/or all the historical blocks.
    • Add peer-to-peer support for historical block sync. A less manual version of sharing snapshots, where rollup nodes could implement built-in support for block sync, where rollup nodes download historical block data from each other over a peer-to-peer network.
      • Namespace pinning. In the future, celestia-node is expected to allow nodes to choose to "pin" data from selected namespaces that they wish to store and make available for other nodes. This will allow rollup nodes to be responsible for storing their data, without needing to implement their own peer-to-peer historical block sync mechanism.
    ',12),s=[i];function n(l,d,c,p,h,u){return t(),a("div",null,s)}const f=e(o,[["render",n]]);export{g as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/developers_retrievability.md.7cc5190a.lean.js b/pr-preview/pr-1358/assets/developers_retrievability.md.67cf7f40.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/developers_retrievability.md.7cc5190a.lean.js rename to pr-preview/pr-1358/assets/developers_retrievability.md.67cf7f40.lean.js index ee28762ef9..ebe6844d03 100644 --- a/pr-preview/pr-1358/assets/developers_retrievability.md.7cc5190a.lean.js +++ b/pr-preview/pr-1358/assets/developers_retrievability.md.67cf7f40.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Data retrievability and pruning","description":"Practices and expectations for data retrievability and pruning on Celestia.","frontmatter":{"sidebar_label":"Data retrievability and pruning","description":"Practices and expectations for data retrievability and pruning on Celestia.","head":[["meta",{"name":"og:title","content":"Data retrievability and pruning | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/retrievability.md","filePath":"developers/retrievability.md","lastUpdated":1705009966000}'),o={name:"developers/retrievability.md"},i=r("",12),s=[i];function n(l,d,c,p,h,u){return t(),a("div",null,s)}const f=e(o,[["render",n]]);export{g as __pageData,f as default}; +import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Data retrievability and pruning","description":"Practices and expectations for data retrievability and pruning on Celestia.","frontmatter":{"sidebar_label":"Data retrievability and pruning","description":"Practices and expectations for data retrievability and pruning on Celestia.","head":[["meta",{"name":"og:title","content":"Data retrievability and pruning | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/retrievability.md","filePath":"developers/retrievability.md","lastUpdated":1705010189000}'),o={name:"developers/retrievability.md"},i=r("",12),s=[i];function n(l,d,c,p,h,u){return t(),a("div",null,s)}const f=e(o,[["render",n]]);export{g as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/developers_rollkit.md.154e744f.js b/pr-preview/pr-1358/assets/developers_rollkit.md.9ccbca72.js similarity index 97% rename from pr-preview/pr-1358/assets/developers_rollkit.md.154e744f.js rename to pr-preview/pr-1358/assets/developers_rollkit.md.9ccbca72.js index 7ee111b8fb..efb9e55ad9 100644 --- a/pr-preview/pr-1358/assets/developers_rollkit.md.154e744f.js +++ b/pr-preview/pr-1358/assets/developers_rollkit.md.9ccbca72.js @@ -1 +1 @@ -import{_ as e,o as t,c as l,Q as o}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/rollkit.png",f=JSON.parse(`{"title":"Rollkit","description":"Learn how to build Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit.","frontmatter":{"description":"Learn how to build Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit.","head":[["meta",{"name":"og:title","content":"Rollkit | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/rollkit.md","filePath":"developers/rollkit.md","lastUpdated":1705009966000}`),r={name:"developers/rollkit.md"},i=o('

    Rollkit

    Validator nodes allow you to participate in consensus in the Celestia network.

    rollkit

    Rollkit is an ABCI (Application Blockchain Interface) implementation for sovereign rollups to deploy on top of Celestia.

    It is built by replacing Tendermint, the Cosmos-SDK consensus layer, with a drop-in replacement that communicates directly with Celestia's Data Availability layer.

    It spins up a sovereign rollup, which collects transactions into blocks and posts them onto Celestia for consensus and data availability.

    The goal of Rollkit is to enable anyone to design and deploy a sovereign rollup on Celestia in minutes.

    Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

    Tutorials

    The following tutorials will help you get started building Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit. We call those chains Sovereign Rollups.

    You can get started with the following tutorials:

    ',12),s=[i];function n(p,c,d,h,u,k){return t(),l("div",null,s)}const _=e(r,[["render",n]]);export{f as __pageData,_ as default}; +import{_ as e,o as t,c as l,Q as o}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/rollkit.png",f=JSON.parse(`{"title":"Rollkit","description":"Learn how to build Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit.","frontmatter":{"description":"Learn how to build Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit.","head":[["meta",{"name":"og:title","content":"Rollkit | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/rollkit.md","filePath":"developers/rollkit.md","lastUpdated":1705010189000}`),r={name:"developers/rollkit.md"},i=o('

    Rollkit

    Validator nodes allow you to participate in consensus in the Celestia network.

    rollkit

    Rollkit is an ABCI (Application Blockchain Interface) implementation for sovereign rollups to deploy on top of Celestia.

    It is built by replacing Tendermint, the Cosmos-SDK consensus layer, with a drop-in replacement that communicates directly with Celestia's Data Availability layer.

    It spins up a sovereign rollup, which collects transactions into blocks and posts them onto Celestia for consensus and data availability.

    The goal of Rollkit is to enable anyone to design and deploy a sovereign rollup on Celestia in minutes.

    Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

    Tutorials

    The following tutorials will help you get started building Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit. We call those chains Sovereign Rollups.

    You can get started with the following tutorials:

    ',12),s=[i];function n(p,c,d,h,u,k){return t(),l("div",null,s)}const _=e(r,[["render",n]]);export{f as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/developers_rollkit.md.154e744f.lean.js b/pr-preview/pr-1358/assets/developers_rollkit.md.9ccbca72.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/developers_rollkit.md.154e744f.lean.js rename to pr-preview/pr-1358/assets/developers_rollkit.md.9ccbca72.lean.js index 2f9a9d304a..fd78617def 100644 --- a/pr-preview/pr-1358/assets/developers_rollkit.md.154e744f.lean.js +++ b/pr-preview/pr-1358/assets/developers_rollkit.md.9ccbca72.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as l,Q as o}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/rollkit.png",f=JSON.parse(`{"title":"Rollkit","description":"Learn how to build Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit.","frontmatter":{"description":"Learn how to build Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit.","head":[["meta",{"name":"og:title","content":"Rollkit | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/rollkit.md","filePath":"developers/rollkit.md","lastUpdated":1705009966000}`),r={name:"developers/rollkit.md"},i=o("",12),s=[i];function n(p,c,d,h,u,k){return t(),l("div",null,s)}const _=e(r,[["render",n]]);export{f as __pageData,_ as default}; +import{_ as e,o as t,c as l,Q as o}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/rollkit.png",f=JSON.parse(`{"title":"Rollkit","description":"Learn how to build Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit.","frontmatter":{"description":"Learn how to build Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit.","head":[["meta",{"name":"og:title","content":"Rollkit | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/rollkit.md","filePath":"developers/rollkit.md","lastUpdated":1705010189000}`),r={name:"developers/rollkit.md"},i=o("",12),s=[i];function n(p,c,d,h,u,k){return t(),l("div",null,s)}const _=e(r,[["render",n]]);export{f as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/developers_rollup-overview.md.d3da84f0.js b/pr-preview/pr-1358/assets/developers_rollup-overview.md.5f98a2b0.js similarity index 98% rename from pr-preview/pr-1358/assets/developers_rollup-overview.md.d3da84f0.js rename to pr-preview/pr-1358/assets/developers_rollup-overview.md.5f98a2b0.js index c244e1b023..de9a1d35e0 100644 --- a/pr-preview/pr-1358/assets/developers_rollup-overview.md.d3da84f0.js +++ b/pr-preview/pr-1358/assets/developers_rollup-overview.md.5f98a2b0.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Deploy a rollup","description":"Learn how to deploy rollups on Celestia.","frontmatter":{"description":"Learn how to deploy rollups on Celestia.","head":[["meta",{"name":"og:title","content":"Deploy a rollup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/rollup-overview.md","filePath":"developers/rollup-overview.md","lastUpdated":1705009966000}'),o={name:"developers/rollup-overview.md"},l=r('

    Deploy a rollup

    This section provides various guides and tutorials that cover different options for deploying rollups on Celestia.

    What is a rollup?

    A rollup is a type of blockchain that offloads some work to a layer 1, like Celestia. Rollups host applications and process user transactions. Once those transactions get processed, they are then published to layer 1. It’s layer 1s job to order those transactions and check that they are available, at minimum.

    Over time, two primary designs emerged for rollups: optimistic and zk rollups.

    Section contents

    ',7),i=[l];function s(n,p,c,d,h,u){return t(),a("div",null,i)}const b=e(o,[["render",s]]);export{m as __pageData,b as default}; +import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Deploy a rollup","description":"Learn how to deploy rollups on Celestia.","frontmatter":{"description":"Learn how to deploy rollups on Celestia.","head":[["meta",{"name":"og:title","content":"Deploy a rollup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/rollup-overview.md","filePath":"developers/rollup-overview.md","lastUpdated":1705010189000}'),o={name:"developers/rollup-overview.md"},l=r('

    Deploy a rollup

    This section provides various guides and tutorials that cover different options for deploying rollups on Celestia.

    What is a rollup?

    A rollup is a type of blockchain that offloads some work to a layer 1, like Celestia. Rollups host applications and process user transactions. Once those transactions get processed, they are then published to layer 1. It’s layer 1s job to order those transactions and check that they are available, at minimum.

    Over time, two primary designs emerged for rollups: optimistic and zk rollups.

    Section contents

    ',7),i=[l];function s(n,p,c,d,h,u){return t(),a("div",null,i)}const b=e(o,[["render",s]]);export{m as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/developers_rollup-overview.md.d3da84f0.lean.js b/pr-preview/pr-1358/assets/developers_rollup-overview.md.5f98a2b0.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/developers_rollup-overview.md.d3da84f0.lean.js rename to pr-preview/pr-1358/assets/developers_rollup-overview.md.5f98a2b0.lean.js index b4f596daf7..1375278586 100644 --- a/pr-preview/pr-1358/assets/developers_rollup-overview.md.d3da84f0.lean.js +++ b/pr-preview/pr-1358/assets/developers_rollup-overview.md.5f98a2b0.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Deploy a rollup","description":"Learn how to deploy rollups on Celestia.","frontmatter":{"description":"Learn how to deploy rollups on Celestia.","head":[["meta",{"name":"og:title","content":"Deploy a rollup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/rollup-overview.md","filePath":"developers/rollup-overview.md","lastUpdated":1705009966000}'),o={name:"developers/rollup-overview.md"},l=r("",7),i=[l];function s(n,p,c,d,h,u){return t(),a("div",null,i)}const b=e(o,[["render",s]]);export{m as __pageData,b as default}; +import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Deploy a rollup","description":"Learn how to deploy rollups on Celestia.","frontmatter":{"description":"Learn how to deploy rollups on Celestia.","head":[["meta",{"name":"og:title","content":"Deploy a rollup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/rollup-overview.md","filePath":"developers/rollup-overview.md","lastUpdated":1705010189000}'),o={name:"developers/rollup-overview.md"},l=r("",7),i=[l];function s(n,p,c,d,h,u){return t(),a("div",null,i)}const b=e(o,[["render",s]]);export{m as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/developers_staking.md.90e3f65f.js b/pr-preview/pr-1358/assets/developers_staking.md.9a66730d.js similarity index 97% rename from pr-preview/pr-1358/assets/developers_staking.md.90e3f65f.js rename to pr-preview/pr-1358/assets/developers_staking.md.9a66730d.js index 9183f95d84..8f92156df5 100644 --- a/pr-preview/pr-1358/assets/developers_staking.md.90e3f65f.js +++ b/pr-preview/pr-1358/assets/developers_staking.md.9a66730d.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as n}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Staking on Celestia","description":"Learn how to stake your tokens on the Celestia network.","frontmatter":{"description":"Learn how to stake your tokens on the Celestia network.","head":[["meta",{"name":"og:title","content":"Staking on Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/staking.md","filePath":"developers/staking.md","lastUpdated":1705009966000}'),s={name:"developers/staking.md"},r=n('

    Staking on Celestia

    Engage with the Celestia network at a deeper level through staking. An essential mechanism to a proof-of-stake network, users can secure the network by delegating to a validator and receive a share of its staking rewards.

    Mainnet Beta

    Currently, the following staking interfaces exist for the Mainnet Beta.

    Just connect your wallet to get started!

    Mocha testnet

    Currently, the following staking interfaces exist for the Mocha testnet.

    Just connect your wallet to get started!

    ',10),o=[r];function l(i,h,c,p,k,d){return t(),a("div",null,o)}const m=e(s,[["render",l]]);export{g as __pageData,m as default}; +import{_ as e,o as t,c as a,Q as n}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Staking on Celestia","description":"Learn how to stake your tokens on the Celestia network.","frontmatter":{"description":"Learn how to stake your tokens on the Celestia network.","head":[["meta",{"name":"og:title","content":"Staking on Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/staking.md","filePath":"developers/staking.md","lastUpdated":1705010189000}'),s={name:"developers/staking.md"},r=n('

    Staking on Celestia

    Engage with the Celestia network at a deeper level through staking. An essential mechanism to a proof-of-stake network, users can secure the network by delegating to a validator and receive a share of its staking rewards.

    Mainnet Beta

    Currently, the following staking interfaces exist for the Mainnet Beta.

    Just connect your wallet to get started!

    Mocha testnet

    Currently, the following staking interfaces exist for the Mocha testnet.

    Just connect your wallet to get started!

    ',10),o=[r];function l(i,h,c,p,k,d){return t(),a("div",null,o)}const m=e(s,[["render",l]]);export{g as __pageData,m as default}; diff --git a/pr-preview/pr-1358/assets/developers_staking.md.90e3f65f.lean.js b/pr-preview/pr-1358/assets/developers_staking.md.9a66730d.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/developers_staking.md.90e3f65f.lean.js rename to pr-preview/pr-1358/assets/developers_staking.md.9a66730d.lean.js index 2b3cde5fa2..11d1688918 100644 --- a/pr-preview/pr-1358/assets/developers_staking.md.90e3f65f.lean.js +++ b/pr-preview/pr-1358/assets/developers_staking.md.9a66730d.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as n}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Staking on Celestia","description":"Learn how to stake your tokens on the Celestia network.","frontmatter":{"description":"Learn how to stake your tokens on the Celestia network.","head":[["meta",{"name":"og:title","content":"Staking on Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/staking.md","filePath":"developers/staking.md","lastUpdated":1705009966000}'),s={name:"developers/staking.md"},r=n("",10),o=[r];function l(i,h,c,p,k,d){return t(),a("div",null,o)}const m=e(s,[["render",l]]);export{g as __pageData,m as default}; +import{_ as e,o as t,c as a,Q as n}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"Staking on Celestia","description":"Learn how to stake your tokens on the Celestia network.","frontmatter":{"description":"Learn how to stake your tokens on the Celestia network.","head":[["meta",{"name":"og:title","content":"Staking on Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/staking.md","filePath":"developers/staking.md","lastUpdated":1705010189000}'),s={name:"developers/staking.md"},r=n("",10),o=[r];function l(i,h,c,p,k,d){return t(),a("div",null,o)}const m=e(s,[["render",l]]);export{g as __pageData,m as default}; diff --git a/pr-preview/pr-1358/assets/developers_submit-data.md.a3c74a56.js b/pr-preview/pr-1358/assets/developers_submit-data.md.f2ca1523.js similarity index 99% rename from pr-preview/pr-1358/assets/developers_submit-data.md.a3c74a56.js rename to pr-preview/pr-1358/assets/developers_submit-data.md.f2ca1523.js index 7d181eba7d..a4e54bf6cb 100644 --- a/pr-preview/pr-1358/assets/developers_submit-data.md.a3c74a56.js +++ b/pr-preview/pr-1358/assets/developers_submit-data.md.f2ca1523.js @@ -1,4 +1,4 @@ -import{_ as o,o as a,c as n,k as s,a as t,Q as e}from"./chunks/framework.2263f03b.js";const os=JSON.parse('{"title":"Submitting data blobs to Celestia","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Submitting data blobs to Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/submit-data.md","filePath":"developers/submit-data.md","lastUpdated":1705009966000}'),l={name:"developers/submit-data.md"},p=e('

    Submitting data blobs to Celestia

    To submit data to Celestia, users submit blob transactions (BlobTx). Blob transactions contain two components, a standard Cosmos-SDK transaction called MsgPayForBlobs and one or more Blobs of data.

    Fee market and mempool

    Celestia makes use of a standard gas-priced prioritized mempool. By default, transactions with gas prices higher than that of other transactions in the mempool will be prioritized by validators.

    Fees and gas limits

    As of version v1.0.0 of the application (celestia-app), there is no protocol enforced minimum fee (similar to EIP-1559 in Ethereum). Instead, each consensus node running a mempool uses a locally configured gas price threshold that must be met in order for that node to accept a transaction, either directly from a user or gossiped from another node, into its mempool.

    As of version v1.0.0 of the application (celestia-app), gas is not refunded. Instead, transaction fees are deducted by a flat fee, originally specified by the user in their tx (where fees = gasLimit * gasPrice). This means that users should use an accurate gas limit value if they do not wish to over pay.

    Under the hood, fees are currently handled by specifying and deducting a flat fee. However gas price is often specified by users instead of calculating the flat fee from the gas used and the gas price. Since the state machine does not refund users for unused gas, gas price is calculated by dividing the total fee by the gas limit.

    Estimating PFB gas

    Generally, the gas used by a PFB transaction involves a static fixed cost and a dynamic cost based on the size of each blob in the transaction.

    NOTE

    For a general use case of a normal account submitting a PFB, the static costs can be treated as such. However, due to the description above of how gas works in the Cosmos-SDK this is not always the case. Notably, if a vesting account or the feegrant modules are used, then these static costs change.

    The fixed cost is an approximation of the gas consumed by operations outside the function GasToConsume (for example, signature verification, tx size, read access to accounts), which has a default value of 65,000 gas.

    NOTE

    The first transaction sent by an account (sequence number == 0) has an additional one time gas cost of 10,000 gas. If this is the case, this should be accounted for.

    Each blob in the PFB contributes to the total gas cost based on its size. The function GasToConsume calculates the total gas consumed by all the blobs involved in a PFB, where each blob's gas cost is computed by first determining how many shares are needed to store the blob size. Then, it computes the product of the number of shares, the number of bytes per share, and the gasPerByte parameter. Finally, it adds a static amount per blob.

    The GasCostPerBlobByte and GasCostPerTransactionByte are parameters that could potentially be adjusted through the system's governance mechanisms. Hence, actual costs may vary depending on the current state of these parameters.

    Gas fee calculation

    The total fee for a transaction is calculated as the product of the gas limit for the transaction and the gas price set by the user:

    ',17),r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},c={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"34.471ex",height:"1.781ex",role:"img",focusable:"false",viewBox:"0 -705 15236 787","aria-hidden":"true"},Q=e('',1),i=[Q],T=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mtext",null,"Total Fee"),s("mo",null,"="),s("mtext",null,"Gas Limit"),s("mo",null,"×"),s("mtext",null,"Gas Price")])],-1),d=s("p",null,"The gas limit for a transaction is the maximum amount of gas that a user is willing to spend on a transaction. It is determined by both a static fixed cost (FC) and a variable dynamic cost based on the size of each blob involved in the transaction:",-1),y={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.777ex"},xmlns:"http://www.w3.org/2000/svg",width:"50.774ex",height:"2.563ex",role:"img",focusable:"false",viewBox:"0 -789.6 22442.1 1132.9","aria-hidden":"true"},E=e('',1),m=[E],u=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mtext",null,"Gas Limit"),s("mo",null,"="),s("mi",null,"F"),s("mi",null,"C"),s("mo",null,"+"),s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"n")])]),s("mi",null,"S"),s("mi",null,"S"),s("mi",null,"N"),s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"B"),s("mi",null,"i")]),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mi",null,"S"),s("mi",null,"S"),s("mo",null,"×"),s("mi",null,"G"),s("mi",null,"C"),s("mi",null,"P"),s("mi",null,"B"),s("mi",null,"B")])],-1),g=s("p",null,"Where:",-1),b={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},f={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"3.414ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 1509 727","aria-hidden":"true"},H=e('',1),F=[H],w=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"F"),s("mi",null,"C")])],-1),x={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.777ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.695ex",height:"2.563ex",role:"img",focusable:"false",viewBox:"0 -789.6 6495.3 1132.9","aria-hidden":"true"},k=e('',1),C=[k],L=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"n")])]),s("mi",null,"S"),s("mi",null,"S"),s("mi",null,"N"),s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"B"),s("mi",null,"i")]),s("mo",{stretchy:"false"},")")])],-1),_={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},D={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.781ex",height:"1.52ex",role:"img",focusable:"false",viewBox:"0 -661 345 672","aria-hidden":"true"},B=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D456",d:"M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),M=[B],A=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"i")])],-1),v={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Z={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.781ex",height:"1.52ex",role:"img",focusable:"false",viewBox:"0 -661 345 672","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D456",d:"M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),S=[q],P=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"i")])],-1),j={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},G={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.919ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 1290 727","aria-hidden":"true"},I=e('',1),O=[I],N=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"S"),s("mi",null,"S")])],-1),R={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},z={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.631ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 3815 727","aria-hidden":"true"},J=e('',1),K=[J],U=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"G"),s("mi",null,"C"),s("mi",null,"P"),s("mi",null,"B"),s("mi",null,"B")])],-1),W=e(`

    The gas fee is set by the user when they submit a transaction. The fee is often specified by users directly. The total cost for the transaction is then calculated as the product of the estimated gas limit and the gas price. Since the state machine does not refund users for unused gas, it's important for users to estimate the gas limit accurately to avoid overpaying.

    For more details on how gas is calculated per blob, refer to the PayForBlobs function that consumes gas based on the blob sizes. This function uses the GasToConsume function to calculate the extra gas charged to pay for a set of blobs in a MsgPayForBlobs transaction. This function calculates the total shares used by all blobs and multiplies it by the ShareSize and gasPerByte to get the total gas to consume.

    For estimating the total gas required for a set of blobs, refer to the EstimateGas function. This function estimates the gas based on a linear model that is dependent on the governance parameters: gasPerByte and txSizeCost. It assumes other variables are constant, including the assumption that the MsgPayForBlobs is the only message in the transaction. The DefaultEstimateGas function runs EstimateGas with the system defaults.

    Estimating gas programmatically

    Users can estimate an efficient gas limit by using this function:

    go
    import (
    +import{_ as o,o as a,c as n,k as s,a as t,Q as e}from"./chunks/framework.2263f03b.js";const os=JSON.parse('{"title":"Submitting data blobs to Celestia","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Submitting data blobs to Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/submit-data.md","filePath":"developers/submit-data.md","lastUpdated":1705010189000}'),l={name:"developers/submit-data.md"},p=e('

    Submitting data blobs to Celestia

    To submit data to Celestia, users submit blob transactions (BlobTx). Blob transactions contain two components, a standard Cosmos-SDK transaction called MsgPayForBlobs and one or more Blobs of data.

    Fee market and mempool

    Celestia makes use of a standard gas-priced prioritized mempool. By default, transactions with gas prices higher than that of other transactions in the mempool will be prioritized by validators.

    Fees and gas limits

    As of version v1.0.0 of the application (celestia-app), there is no protocol enforced minimum fee (similar to EIP-1559 in Ethereum). Instead, each consensus node running a mempool uses a locally configured gas price threshold that must be met in order for that node to accept a transaction, either directly from a user or gossiped from another node, into its mempool.

    As of version v1.0.0 of the application (celestia-app), gas is not refunded. Instead, transaction fees are deducted by a flat fee, originally specified by the user in their tx (where fees = gasLimit * gasPrice). This means that users should use an accurate gas limit value if they do not wish to over pay.

    Under the hood, fees are currently handled by specifying and deducting a flat fee. However gas price is often specified by users instead of calculating the flat fee from the gas used and the gas price. Since the state machine does not refund users for unused gas, gas price is calculated by dividing the total fee by the gas limit.

    Estimating PFB gas

    Generally, the gas used by a PFB transaction involves a static fixed cost and a dynamic cost based on the size of each blob in the transaction.

    NOTE

    For a general use case of a normal account submitting a PFB, the static costs can be treated as such. However, due to the description above of how gas works in the Cosmos-SDK this is not always the case. Notably, if a vesting account or the feegrant modules are used, then these static costs change.

    The fixed cost is an approximation of the gas consumed by operations outside the function GasToConsume (for example, signature verification, tx size, read access to accounts), which has a default value of 65,000 gas.

    NOTE

    The first transaction sent by an account (sequence number == 0) has an additional one time gas cost of 10,000 gas. If this is the case, this should be accounted for.

    Each blob in the PFB contributes to the total gas cost based on its size. The function GasToConsume calculates the total gas consumed by all the blobs involved in a PFB, where each blob's gas cost is computed by first determining how many shares are needed to store the blob size. Then, it computes the product of the number of shares, the number of bytes per share, and the gasPerByte parameter. Finally, it adds a static amount per blob.

    The GasCostPerBlobByte and GasCostPerTransactionByte are parameters that could potentially be adjusted through the system's governance mechanisms. Hence, actual costs may vary depending on the current state of these parameters.

    Gas fee calculation

    The total fee for a transaction is calculated as the product of the gas limit for the transaction and the gas price set by the user:

    ',17),r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},c={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"34.471ex",height:"1.781ex",role:"img",focusable:"false",viewBox:"0 -705 15236 787","aria-hidden":"true"},Q=e('',1),i=[Q],T=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mtext",null,"Total Fee"),s("mo",null,"="),s("mtext",null,"Gas Limit"),s("mo",null,"×"),s("mtext",null,"Gas Price")])],-1),d=s("p",null,"The gas limit for a transaction is the maximum amount of gas that a user is willing to spend on a transaction. It is determined by both a static fixed cost (FC) and a variable dynamic cost based on the size of each blob involved in the transaction:",-1),y={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.777ex"},xmlns:"http://www.w3.org/2000/svg",width:"50.774ex",height:"2.563ex",role:"img",focusable:"false",viewBox:"0 -789.6 22442.1 1132.9","aria-hidden":"true"},E=e('',1),m=[E],u=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mtext",null,"Gas Limit"),s("mo",null,"="),s("mi",null,"F"),s("mi",null,"C"),s("mo",null,"+"),s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"n")])]),s("mi",null,"S"),s("mi",null,"S"),s("mi",null,"N"),s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"B"),s("mi",null,"i")]),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mi",null,"S"),s("mi",null,"S"),s("mo",null,"×"),s("mi",null,"G"),s("mi",null,"C"),s("mi",null,"P"),s("mi",null,"B"),s("mi",null,"B")])],-1),g=s("p",null,"Where:",-1),b={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},f={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"3.414ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 1509 727","aria-hidden":"true"},H=e('',1),F=[H],w=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"F"),s("mi",null,"C")])],-1),x={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.777ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.695ex",height:"2.563ex",role:"img",focusable:"false",viewBox:"0 -789.6 6495.3 1132.9","aria-hidden":"true"},k=e('',1),C=[k],L=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"n")])]),s("mi",null,"S"),s("mi",null,"S"),s("mi",null,"N"),s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"B"),s("mi",null,"i")]),s("mo",{stretchy:"false"},")")])],-1),_={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},D={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.781ex",height:"1.52ex",role:"img",focusable:"false",viewBox:"0 -661 345 672","aria-hidden":"true"},B=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D456",d:"M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),M=[B],A=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"i")])],-1),v={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Z={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.781ex",height:"1.52ex",role:"img",focusable:"false",viewBox:"0 -661 345 672","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D456",d:"M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),S=[q],P=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"i")])],-1),j={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},G={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.919ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 1290 727","aria-hidden":"true"},I=e('',1),O=[I],N=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"S"),s("mi",null,"S")])],-1),R={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},z={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.631ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 3815 727","aria-hidden":"true"},J=e('',1),K=[J],U=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"G"),s("mi",null,"C"),s("mi",null,"P"),s("mi",null,"B"),s("mi",null,"B")])],-1),W=e(`

    The gas fee is set by the user when they submit a transaction. The fee is often specified by users directly. The total cost for the transaction is then calculated as the product of the estimated gas limit and the gas price. Since the state machine does not refund users for unused gas, it's important for users to estimate the gas limit accurately to avoid overpaying.

    For more details on how gas is calculated per blob, refer to the PayForBlobs function that consumes gas based on the blob sizes. This function uses the GasToConsume function to calculate the extra gas charged to pay for a set of blobs in a MsgPayForBlobs transaction. This function calculates the total shares used by all blobs and multiplies it by the ShareSize and gasPerByte to get the total gas to consume.

    For estimating the total gas required for a set of blobs, refer to the EstimateGas function. This function estimates the gas based on a linear model that is dependent on the governance parameters: gasPerByte and txSizeCost. It assumes other variables are constant, including the assumption that the MsgPayForBlobs is the only message in the transaction. The DefaultEstimateGas function runs EstimateGas with the system defaults.

    Estimating gas programmatically

    Users can estimate an efficient gas limit by using this function:

    go
    import (
         blobtypes "github.com/celestiaorg/celestia-app/x/blob/types"
     )
     gasLimit := blobtypes.DefaultEstimateGas([]uint32{uint32(sizeOfDataInBytes)})
    import (
    diff --git a/pr-preview/pr-1358/assets/developers_submit-data.md.a3c74a56.lean.js b/pr-preview/pr-1358/assets/developers_submit-data.md.f2ca1523.lean.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/developers_submit-data.md.a3c74a56.lean.js
    rename to pr-preview/pr-1358/assets/developers_submit-data.md.f2ca1523.lean.js
    index d1aad0e03d..2b45d3e619 100644
    --- a/pr-preview/pr-1358/assets/developers_submit-data.md.a3c74a56.lean.js
    +++ b/pr-preview/pr-1358/assets/developers_submit-data.md.f2ca1523.lean.js
    @@ -1 +1 @@
    -import{_ as o,o as a,c as n,k as s,a as t,Q as e}from"./chunks/framework.2263f03b.js";const os=JSON.parse('{"title":"Submitting data blobs to Celestia","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Submitting data blobs to Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/submit-data.md","filePath":"developers/submit-data.md","lastUpdated":1705009966000}'),l={name:"developers/submit-data.md"},p=e("",17),r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},c={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"34.471ex",height:"1.781ex",role:"img",focusable:"false",viewBox:"0 -705 15236 787","aria-hidden":"true"},Q=e("",1),i=[Q],T=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mtext",null,"Total Fee"),s("mo",null,"="),s("mtext",null,"Gas Limit"),s("mo",null,"×"),s("mtext",null,"Gas Price")])],-1),d=s("p",null,"The gas limit for a transaction is the maximum amount of gas that a user is willing to spend on a transaction. It is determined by both a static fixed cost (FC) and a variable dynamic cost based on the size of each blob involved in the transaction:",-1),y={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.777ex"},xmlns:"http://www.w3.org/2000/svg",width:"50.774ex",height:"2.563ex",role:"img",focusable:"false",viewBox:"0 -789.6 22442.1 1132.9","aria-hidden":"true"},E=e("",1),m=[E],u=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mtext",null,"Gas Limit"),s("mo",null,"="),s("mi",null,"F"),s("mi",null,"C"),s("mo",null,"+"),s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"n")])]),s("mi",null,"S"),s("mi",null,"S"),s("mi",null,"N"),s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"B"),s("mi",null,"i")]),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mi",null,"S"),s("mi",null,"S"),s("mo",null,"×"),s("mi",null,"G"),s("mi",null,"C"),s("mi",null,"P"),s("mi",null,"B"),s("mi",null,"B")])],-1),g=s("p",null,"Where:",-1),b={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},f={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"3.414ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 1509 727","aria-hidden":"true"},H=e("",1),F=[H],w=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"F"),s("mi",null,"C")])],-1),x={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.777ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.695ex",height:"2.563ex",role:"img",focusable:"false",viewBox:"0 -789.6 6495.3 1132.9","aria-hidden":"true"},k=e("",1),C=[k],L=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"n")])]),s("mi",null,"S"),s("mi",null,"S"),s("mi",null,"N"),s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"B"),s("mi",null,"i")]),s("mo",{stretchy:"false"},")")])],-1),_={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},D={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.781ex",height:"1.52ex",role:"img",focusable:"false",viewBox:"0 -661 345 672","aria-hidden":"true"},B=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D456",d:"M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),M=[B],A=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"i")])],-1),v={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Z={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.781ex",height:"1.52ex",role:"img",focusable:"false",viewBox:"0 -661 345 672","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D456",d:"M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),S=[q],P=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"i")])],-1),j={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},G={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.919ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 1290 727","aria-hidden":"true"},I=e("",1),O=[I],N=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"S"),s("mi",null,"S")])],-1),R={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},z={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.631ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 3815 727","aria-hidden":"true"},J=e("",1),K=[J],U=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"G"),s("mi",null,"C"),s("mi",null,"P"),s("mi",null,"B"),s("mi",null,"B")])],-1),W=e("",25);function X($,Y,ss,as,ns,es){return a(),n("div",null,[p,s("p",null,[s("mjx-container",r,[(a(),n("svg",c,i)),T])]),d,s("p",null,[s("mjx-container",y,[(a(),n("svg",h,m)),u])]),g,s("ul",null,[s("li",null,[s("mjx-container",b,[(a(),n("svg",f,F)),w]),t(" = Fixed Cost, is a static value (65,000 gas)")]),s("li",null,[s("mjx-container",x,[(a(),n("svg",V,C)),L]),t(" = SparseSharesNeeded for the "),s("mjx-container",_,[(a(),n("svg",D,M)),A]),t("th Blob, is the number of shares needed for the "),s("mjx-container",v,[(a(),n("svg",Z,S)),P]),t("th blob in the transaction")]),s("li",null,[s("mjx-container",j,[(a(),n("svg",G,O)),N]),t(" = Share Size, is the size of each share")]),s("li",null,[s("mjx-container",R,[(a(),n("svg",z,K)),U]),t(" = Gas Cost Per Blob Byte, is a parameter that could potentially be adjusted through the system's governance mechanisms.")])]),W])}const ls=o(l,[["render",X]]);export{os as __pageData,ls as default};
    +import{_ as o,o as a,c as n,k as s,a as t,Q as e}from"./chunks/framework.2263f03b.js";const os=JSON.parse('{"title":"Submitting data blobs to Celestia","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Submitting data blobs to Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"developers/submit-data.md","filePath":"developers/submit-data.md","lastUpdated":1705010189000}'),l={name:"developers/submit-data.md"},p=e("",17),r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},c={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"34.471ex",height:"1.781ex",role:"img",focusable:"false",viewBox:"0 -705 15236 787","aria-hidden":"true"},Q=e("",1),i=[Q],T=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mtext",null,"Total Fee"),s("mo",null,"="),s("mtext",null,"Gas Limit"),s("mo",null,"×"),s("mtext",null,"Gas Price")])],-1),d=s("p",null,"The gas limit for a transaction is the maximum amount of gas that a user is willing to spend on a transaction. It is determined by both a static fixed cost (FC) and a variable dynamic cost based on the size of each blob involved in the transaction:",-1),y={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.777ex"},xmlns:"http://www.w3.org/2000/svg",width:"50.774ex",height:"2.563ex",role:"img",focusable:"false",viewBox:"0 -789.6 22442.1 1132.9","aria-hidden":"true"},E=e("",1),m=[E],u=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mtext",null,"Gas Limit"),s("mo",null,"="),s("mi",null,"F"),s("mi",null,"C"),s("mo",null,"+"),s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"n")])]),s("mi",null,"S"),s("mi",null,"S"),s("mi",null,"N"),s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"B"),s("mi",null,"i")]),s("mo",{stretchy:"false"},")"),s("mo",null,"×"),s("mi",null,"S"),s("mi",null,"S"),s("mo",null,"×"),s("mi",null,"G"),s("mi",null,"C"),s("mi",null,"P"),s("mi",null,"B"),s("mi",null,"B")])],-1),g=s("p",null,"Where:",-1),b={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},f={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"3.414ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 1509 727","aria-hidden":"true"},H=e("",1),F=[H],w=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"F"),s("mi",null,"C")])],-1),x={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.777ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.695ex",height:"2.563ex",role:"img",focusable:"false",viewBox:"0 -789.6 6495.3 1132.9","aria-hidden":"true"},k=e("",1),C=[k],L=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("munderover",null,[s("mo",{"data-mjx-texclass":"OP"},"∑"),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"i"),s("mo",null,"="),s("mn",null,"1")]),s("mrow",{"data-mjx-texclass":"ORD"},[s("mi",null,"n")])]),s("mi",null,"S"),s("mi",null,"S"),s("mi",null,"N"),s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"B"),s("mi",null,"i")]),s("mo",{stretchy:"false"},")")])],-1),_={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},D={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.781ex",height:"1.52ex",role:"img",focusable:"false",viewBox:"0 -661 345 672","aria-hidden":"true"},B=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D456",d:"M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),M=[B],A=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"i")])],-1),v={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Z={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"0.781ex",height:"1.52ex",role:"img",focusable:"false",viewBox:"0 -661 345 672","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D456",d:"M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),S=[q],P=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"i")])],-1),j={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},G={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.919ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 1290 727","aria-hidden":"true"},I=e("",1),O=[I],N=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"S"),s("mi",null,"S")])],-1),R={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},z={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.05ex"},xmlns:"http://www.w3.org/2000/svg",width:"8.631ex",height:"1.645ex",role:"img",focusable:"false",viewBox:"0 -705 3815 727","aria-hidden":"true"},J=e("",1),K=[J],U=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"G"),s("mi",null,"C"),s("mi",null,"P"),s("mi",null,"B"),s("mi",null,"B")])],-1),W=e("",25);function X($,Y,ss,as,ns,es){return a(),n("div",null,[p,s("p",null,[s("mjx-container",r,[(a(),n("svg",c,i)),T])]),d,s("p",null,[s("mjx-container",y,[(a(),n("svg",h,m)),u])]),g,s("ul",null,[s("li",null,[s("mjx-container",b,[(a(),n("svg",f,F)),w]),t(" = Fixed Cost, is a static value (65,000 gas)")]),s("li",null,[s("mjx-container",x,[(a(),n("svg",V,C)),L]),t(" = SparseSharesNeeded for the "),s("mjx-container",_,[(a(),n("svg",D,M)),A]),t("th Blob, is the number of shares needed for the "),s("mjx-container",v,[(a(),n("svg",Z,S)),P]),t("th blob in the transaction")]),s("li",null,[s("mjx-container",j,[(a(),n("svg",G,O)),N]),t(" = Share Size, is the size of each share")]),s("li",null,[s("mjx-container",R,[(a(),n("svg",z,K)),U]),t(" = Gas Cost Per Blob Byte, is a parameter that could potentially be adjusted through the system's governance mechanisms.")])]),W])}const ls=o(l,[["render",X]]);export{os as __pageData,ls as default};
    diff --git a/pr-preview/pr-1358/assets/index.md.e7138ccc.js b/pr-preview/pr-1358/assets/index.md.c0956aec.js
    similarity index 96%
    rename from pr-preview/pr-1358/assets/index.md.e7138ccc.js
    rename to pr-preview/pr-1358/assets/index.md.c0956aec.js
    index 4f6e458aa2..5203806ba3 100644
    --- a/pr-preview/pr-1358/assets/index.md.e7138ccc.js
    +++ b/pr-preview/pr-1358/assets/index.md.c0956aec.js
    @@ -1 +1 @@
    -import{_ as e,o as t,c as a}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"","titleTemplate":":title","description":"","frontmatter":{"layout":"home","titleTemplate":":title","hero":{"name":"Celestia","text":"The first modular blockchain network","tagline":"Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.","image":{"src":"/modular.svg","alt":"Celestia"},"actions":[{"theme":"brand","text":"Post a blob","link":"/developers/node-tutorial"},{"theme":"alt","text":"Introduction","link":"/learn/how-celestia-works/overview"}]},"features":[{"title":"Learn","details":"Celestia allows you to deploy your own blockchain in minutes, as easily as a smart contract.","link":"/learn/how-celestia-works/overview","icon":"🏗️"},{"title":"Run a node","details":"Access the dynamic scaling unlocked by data availability sampling, where scale increases with the number of users.","link":"/nodes/overview","icon":"📈"},{"title":"Developers","details":"Create applications using your favorite VM or define your own. Build sovereign rollups, a new type of self-governing blockchain with minimal platform risk.","link":"/developers/build-modular","icon":"⚙️"},{"title":"Community","details":"Join the Celestia community to connect, collaborate, and contribute to the future of modular blockchains.","link":"/community/overview","icon":"🏰"}],"head":[["meta",{"name":"og:title","content":"Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1705009966000}'),i={name:"index.md"};function o(n,l,s,r,c,d){return t(),a("div")}const h=e(i,[["render",o]]);export{u as __pageData,h as default};
    +import{_ as e,o as t,c as a}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"","titleTemplate":":title","description":"","frontmatter":{"layout":"home","titleTemplate":":title","hero":{"name":"Celestia","text":"The first modular blockchain network","tagline":"Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.","image":{"src":"/modular.svg","alt":"Celestia"},"actions":[{"theme":"brand","text":"Post a blob","link":"/developers/node-tutorial"},{"theme":"alt","text":"Introduction","link":"/learn/how-celestia-works/overview"}]},"features":[{"title":"Learn","details":"Celestia allows you to deploy your own blockchain in minutes, as easily as a smart contract.","link":"/learn/how-celestia-works/overview","icon":"🏗️"},{"title":"Run a node","details":"Access the dynamic scaling unlocked by data availability sampling, where scale increases with the number of users.","link":"/nodes/overview","icon":"📈"},{"title":"Developers","details":"Create applications using your favorite VM or define your own. Build sovereign rollups, a new type of self-governing blockchain with minimal platform risk.","link":"/developers/build-modular","icon":"⚙️"},{"title":"Community","details":"Join the Celestia community to connect, collaborate, and contribute to the future of modular blockchains.","link":"/community/overview","icon":"🏰"}],"head":[["meta",{"name":"og:title","content":"Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1705010189000}'),i={name:"index.md"};function o(n,l,s,r,c,d){return t(),a("div")}const h=e(i,[["render",o]]);export{u as __pageData,h as default};
    diff --git a/pr-preview/pr-1358/assets/index.md.e7138ccc.lean.js b/pr-preview/pr-1358/assets/index.md.c0956aec.lean.js
    similarity index 96%
    rename from pr-preview/pr-1358/assets/index.md.e7138ccc.lean.js
    rename to pr-preview/pr-1358/assets/index.md.c0956aec.lean.js
    index 4f6e458aa2..5203806ba3 100644
    --- a/pr-preview/pr-1358/assets/index.md.e7138ccc.lean.js
    +++ b/pr-preview/pr-1358/assets/index.md.c0956aec.lean.js
    @@ -1 +1 @@
    -import{_ as e,o as t,c as a}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"","titleTemplate":":title","description":"","frontmatter":{"layout":"home","titleTemplate":":title","hero":{"name":"Celestia","text":"The first modular blockchain network","tagline":"Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.","image":{"src":"/modular.svg","alt":"Celestia"},"actions":[{"theme":"brand","text":"Post a blob","link":"/developers/node-tutorial"},{"theme":"alt","text":"Introduction","link":"/learn/how-celestia-works/overview"}]},"features":[{"title":"Learn","details":"Celestia allows you to deploy your own blockchain in minutes, as easily as a smart contract.","link":"/learn/how-celestia-works/overview","icon":"🏗️"},{"title":"Run a node","details":"Access the dynamic scaling unlocked by data availability sampling, where scale increases with the number of users.","link":"/nodes/overview","icon":"📈"},{"title":"Developers","details":"Create applications using your favorite VM or define your own. Build sovereign rollups, a new type of self-governing blockchain with minimal platform risk.","link":"/developers/build-modular","icon":"⚙️"},{"title":"Community","details":"Join the Celestia community to connect, collaborate, and contribute to the future of modular blockchains.","link":"/community/overview","icon":"🏰"}],"head":[["meta",{"name":"og:title","content":"Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1705009966000}'),i={name:"index.md"};function o(n,l,s,r,c,d){return t(),a("div")}const h=e(i,[["render",o]]);export{u as __pageData,h as default};
    +import{_ as e,o as t,c as a}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"","titleTemplate":":title","description":"","frontmatter":{"layout":"home","titleTemplate":":title","hero":{"name":"Celestia","text":"The first modular blockchain network","tagline":"Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.","image":{"src":"/modular.svg","alt":"Celestia"},"actions":[{"theme":"brand","text":"Post a blob","link":"/developers/node-tutorial"},{"theme":"alt","text":"Introduction","link":"/learn/how-celestia-works/overview"}]},"features":[{"title":"Learn","details":"Celestia allows you to deploy your own blockchain in minutes, as easily as a smart contract.","link":"/learn/how-celestia-works/overview","icon":"🏗️"},{"title":"Run a node","details":"Access the dynamic scaling unlocked by data availability sampling, where scale increases with the number of users.","link":"/nodes/overview","icon":"📈"},{"title":"Developers","details":"Create applications using your favorite VM or define your own. Build sovereign rollups, a new type of self-governing blockchain with minimal platform risk.","link":"/developers/build-modular","icon":"⚙️"},{"title":"Community","details":"Join the Celestia community to connect, collaborate, and contribute to the future of modular blockchains.","link":"/community/overview","icon":"🏰"}],"head":[["meta",{"name":"og:title","content":"Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1705010189000}'),i={name:"index.md"};function o(n,l,s,r,c,d){return t(),a("div")}const h=e(i,[["render",o]]);export{u as __pageData,h as default};
    diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.a114803b.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.066561d0.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.a114803b.js
    rename to pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.066561d0.js
    index 838c832723..93a0fdc6a7 100644
    --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.a114803b.js
    +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.066561d0.js
    @@ -1 +1 @@
    -import{_ as a,o as t,c as e,Q as i}from"./chunks/framework.2263f03b.js";const o="/pr-preview/pr-1358/img/learn/data-availability-faq/Data-availability.png",s="/pr-preview/pr-1358/img/learn/data-availability-faq/Data-storage.png",m=JSON.parse('{"title":"Data availability FAQ","description":"Frequently asked questions related to Data Availability.","frontmatter":{"description":"Frequently asked questions related to Data Availability.","next":{"text":"Overview of TIA","link":"/learn/tia"},"head":[["meta",{"name":"og:title","content":"Data availability FAQ | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/data-availability-faq.md","filePath":"learn/how-celestia-works/data-availability-faq.md","lastUpdated":1705009966000}'),r={name:"learn/how-celestia-works/data-availability-faq.md"},l=i('

    Data availability FAQ

    What is data availability?

    Data availability answers the question, has this data been published? Specifically, a node will verify data availability when it receives a new block that is getting added to the chain. The node will attempt to download all the transaction data for the new block to verify availability. If the node can download all the transaction data, then it successfully verified data availability, proving that the block data was actually published to the network.

    Modular VS Monolithic

    As you’ll see, modular blockchains like Celestia employ other primitives that allow nodes to verify data availability more efficiently. Data availability is critical to the security of any blockchain because it ensures that anyone can inspect the ledger of transactions and verify it. Data availability becomes particularly problematic when scaling blockchains. As the blocks get bigger, it becomes impractical for normal users to download all the data, and therefore users can no longer verify the chain.

    What is the data availability problem?

    The problem with data availability occurs when the transaction data for a newly proposed block cannot be downloaded and verified. This type of attack by a block producer is called a data withholding attack, which sees the block producer withhold transaction data of a new block.

    Since transaction data is withheld, nodes cannot update to the latest state. Such an attack can have numerous consequences, from halting a chain to gaining the ability to steal funds. The severity of the consequences will depend on the type of blockchain (L1 or L2) and whether data availability is kept onchain or offchain. The data availability problem commonly arises around L2 scaling solutions like rollups and validiums.

    How do nodes verify data availability in Celestia?

    In most blockchains, nodes that verify data availability do so by downloading all transaction data for a block. If they are able to download all the data, they have verified its availability. In Celestia, light nodes have access to a new mechanism to verify data availability without needing to download all the data for a block. This new primitive for verifying data availability is called data availability sampling.

    What is data availability sampling?

    Data availability sampling is a mechanism for light nodes to verify data availability without having to download all data for a block. Data availability sampling (DAS) works by having light nodes conduct multiple rounds of random sampling for small portions of block data. As a light node completes more rounds of sampling for block data, it increases its confidence that data is available. Once the light node successfully reaches a predetermined confidence level (e.g. 99%) it will consider the block data as available.

    Want a simpler explanation? Check out this thread on how data availability sampling is like flipping a coin.

    What are some of the security assumptions that Celestia makes for data availability sampling?

    Celestia assumes that there is a minimum number of light nodes that are conducting data availability sampling for a given block size. This assumption is necessary so that a full node can reconstruct an entire block from the portions of data light nodes sampled and stored. The amount of light nodes that are needed will depend on the block size - for bigger blocks more light nodes are assumed to be running.

    A second notable assumption that is made by light nodes is that they are connected to at least one honest full node. This ensures that they can receive fraud proofs for incorrectly erasure coded blocks. If a light node is not connected to an honest full node, such as during an eclipse attack, it can’t verify that the block is improperly constructed.

    Why is block reconstruction necessary for security?

    In Celestia, blocks need to be erasure coded so that there is redundant data to aid the data availability sampling process. However, nodes tasked with erasure coding the data could do so incorrectly. Since Celestia uses fraud proofs to verify that erasure coding is incorrect, the full block data is needed to generate a bad encoding fraud proof.

    There could be a situation where validators only provide data to light nodes and not full nodes. If the full nodes don’t have the ability to reconstruct the full block from the portions of data stored by light nodes, they wouldn’t be able to generate a bad encoding fraud proof.

    What is data storage?

    Data storage is concerned with the ability to store and access past transaction data.

    Modular VS Monolithic

    Data storage and retrieval is needed for multiple purposes, such as:

    • Reading the information of a previous transaction
    • Syncing a node
    • Indexing and serving transaction data
    • Retrieving NFT information

    What is the problem around data storage?

    The issue with data storage is whether past transaction data can be stored and successfully retrieved at a later time. The inability to retrieve historical transaction data can cause problems, such as users being unable to access information about their past transactions or nodes that cannot sync from genesis. Luckily, the assumptions around storing and accessing past data are weak. Only a single copy of a blockchain’s history needs to be accessible for users to gain access to historical transaction data. In other words, data storage security is a 1 of N honesty assumption.

    What is the difference between data availability and data storage?

    Data availability is about verifying that transaction data for a new block is public and available. In contrast, data storage involves storing and accessing past transaction data from old blocks.

    Where does blockchain state fit into this?

    Up until now it’s been all about transaction data, but blockchain state is a related topic. The state is different from transaction data. Specifically, the state is like a current snapshot of the network, which includes information about account balances, smart contract balances, and validator set info. Problems that arise from the size of the state are different in nature than those around data availability and retrievability.

    Why doesn’t Celestia incentivize storage of historical data?

    Most blockchains don’t incentivize storage of data because it shouldn’t be the responsibility of a blockchain to guarantee past data will be retrievable forever. In addition, the data storage problem only requires a single party to store and provide the data for users, which is not a strong problem. As such, Celestia’s purpose is to provide a secure and scalable way to verify the availability of data. Once data has been verified as available, the job of storing and retrieving historical data is left up to other entities that require the data. Luckily, there are natural incentives for outside parties to store and serve historical data to users.

    Who may store historical data if there is no reward?

    There are multiple types of actors that may be likely to store historical data. Some of those include:

    • Block explorers that provide access to past transaction data.
    • Indexers that provide API queries for past data.
    • Applications or rollups that require historical data for certain processes.
    • Users that want to guarantee that they will have access to their transaction history.

    What are some things blockchains can do to provide stronger assurances of data retrievability?

    • Reward nodes based on the amount of transaction data they store and requests for data they serve (this is the case with some data storage blockchains, like Filecoin).
    • Publish transaction data onto a data storage blockchain that incentivizes storing and serving requests for historical data.
    ',37),n=[l];function d(h,c,b,u,f,p){return t(),e("div",null,n)}const v=a(r,[["render",d]]);export{m as __pageData,v as default}; +import{_ as a,o as t,c as e,Q as i}from"./chunks/framework.2263f03b.js";const o="/pr-preview/pr-1358/img/learn/data-availability-faq/Data-availability.png",s="/pr-preview/pr-1358/img/learn/data-availability-faq/Data-storage.png",m=JSON.parse('{"title":"Data availability FAQ","description":"Frequently asked questions related to Data Availability.","frontmatter":{"description":"Frequently asked questions related to Data Availability.","next":{"text":"Overview of TIA","link":"/learn/tia"},"head":[["meta",{"name":"og:title","content":"Data availability FAQ | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/data-availability-faq.md","filePath":"learn/how-celestia-works/data-availability-faq.md","lastUpdated":1705010189000}'),r={name:"learn/how-celestia-works/data-availability-faq.md"},l=i('

    Data availability FAQ

    What is data availability?

    Data availability answers the question, has this data been published? Specifically, a node will verify data availability when it receives a new block that is getting added to the chain. The node will attempt to download all the transaction data for the new block to verify availability. If the node can download all the transaction data, then it successfully verified data availability, proving that the block data was actually published to the network.

    Modular VS Monolithic

    As you’ll see, modular blockchains like Celestia employ other primitives that allow nodes to verify data availability more efficiently. Data availability is critical to the security of any blockchain because it ensures that anyone can inspect the ledger of transactions and verify it. Data availability becomes particularly problematic when scaling blockchains. As the blocks get bigger, it becomes impractical for normal users to download all the data, and therefore users can no longer verify the chain.

    What is the data availability problem?

    The problem with data availability occurs when the transaction data for a newly proposed block cannot be downloaded and verified. This type of attack by a block producer is called a data withholding attack, which sees the block producer withhold transaction data of a new block.

    Since transaction data is withheld, nodes cannot update to the latest state. Such an attack can have numerous consequences, from halting a chain to gaining the ability to steal funds. The severity of the consequences will depend on the type of blockchain (L1 or L2) and whether data availability is kept onchain or offchain. The data availability problem commonly arises around L2 scaling solutions like rollups and validiums.

    How do nodes verify data availability in Celestia?

    In most blockchains, nodes that verify data availability do so by downloading all transaction data for a block. If they are able to download all the data, they have verified its availability. In Celestia, light nodes have access to a new mechanism to verify data availability without needing to download all the data for a block. This new primitive for verifying data availability is called data availability sampling.

    What is data availability sampling?

    Data availability sampling is a mechanism for light nodes to verify data availability without having to download all data for a block. Data availability sampling (DAS) works by having light nodes conduct multiple rounds of random sampling for small portions of block data. As a light node completes more rounds of sampling for block data, it increases its confidence that data is available. Once the light node successfully reaches a predetermined confidence level (e.g. 99%) it will consider the block data as available.

    Want a simpler explanation? Check out this thread on how data availability sampling is like flipping a coin.

    What are some of the security assumptions that Celestia makes for data availability sampling?

    Celestia assumes that there is a minimum number of light nodes that are conducting data availability sampling for a given block size. This assumption is necessary so that a full node can reconstruct an entire block from the portions of data light nodes sampled and stored. The amount of light nodes that are needed will depend on the block size - for bigger blocks more light nodes are assumed to be running.

    A second notable assumption that is made by light nodes is that they are connected to at least one honest full node. This ensures that they can receive fraud proofs for incorrectly erasure coded blocks. If a light node is not connected to an honest full node, such as during an eclipse attack, it can’t verify that the block is improperly constructed.

    Why is block reconstruction necessary for security?

    In Celestia, blocks need to be erasure coded so that there is redundant data to aid the data availability sampling process. However, nodes tasked with erasure coding the data could do so incorrectly. Since Celestia uses fraud proofs to verify that erasure coding is incorrect, the full block data is needed to generate a bad encoding fraud proof.

    There could be a situation where validators only provide data to light nodes and not full nodes. If the full nodes don’t have the ability to reconstruct the full block from the portions of data stored by light nodes, they wouldn’t be able to generate a bad encoding fraud proof.

    What is data storage?

    Data storage is concerned with the ability to store and access past transaction data.

    Modular VS Monolithic

    Data storage and retrieval is needed for multiple purposes, such as:

    • Reading the information of a previous transaction
    • Syncing a node
    • Indexing and serving transaction data
    • Retrieving NFT information

    What is the problem around data storage?

    The issue with data storage is whether past transaction data can be stored and successfully retrieved at a later time. The inability to retrieve historical transaction data can cause problems, such as users being unable to access information about their past transactions or nodes that cannot sync from genesis. Luckily, the assumptions around storing and accessing past data are weak. Only a single copy of a blockchain’s history needs to be accessible for users to gain access to historical transaction data. In other words, data storage security is a 1 of N honesty assumption.

    What is the difference between data availability and data storage?

    Data availability is about verifying that transaction data for a new block is public and available. In contrast, data storage involves storing and accessing past transaction data from old blocks.

    Where does blockchain state fit into this?

    Up until now it’s been all about transaction data, but blockchain state is a related topic. The state is different from transaction data. Specifically, the state is like a current snapshot of the network, which includes information about account balances, smart contract balances, and validator set info. Problems that arise from the size of the state are different in nature than those around data availability and retrievability.

    Why doesn’t Celestia incentivize storage of historical data?

    Most blockchains don’t incentivize storage of data because it shouldn’t be the responsibility of a blockchain to guarantee past data will be retrievable forever. In addition, the data storage problem only requires a single party to store and provide the data for users, which is not a strong problem. As such, Celestia’s purpose is to provide a secure and scalable way to verify the availability of data. Once data has been verified as available, the job of storing and retrieving historical data is left up to other entities that require the data. Luckily, there are natural incentives for outside parties to store and serve historical data to users.

    Who may store historical data if there is no reward?

    There are multiple types of actors that may be likely to store historical data. Some of those include:

    • Block explorers that provide access to past transaction data.
    • Indexers that provide API queries for past data.
    • Applications or rollups that require historical data for certain processes.
    • Users that want to guarantee that they will have access to their transaction history.

    What are some things blockchains can do to provide stronger assurances of data retrievability?

    • Reward nodes based on the amount of transaction data they store and requests for data they serve (this is the case with some data storage blockchains, like Filecoin).
    • Publish transaction data onto a data storage blockchain that incentivizes storing and serving requests for historical data.
    ',37),n=[l];function d(h,c,b,u,f,p){return t(),e("div",null,n)}const v=a(r,[["render",d]]);export{m as __pageData,v as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.a114803b.lean.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.066561d0.lean.js similarity index 93% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.a114803b.lean.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.066561d0.lean.js index 9685065173..0e1b59ef61 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.a114803b.lean.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-faq.md.066561d0.lean.js @@ -1 +1 @@ -import{_ as a,o as t,c as e,Q as i}from"./chunks/framework.2263f03b.js";const o="/pr-preview/pr-1358/img/learn/data-availability-faq/Data-availability.png",s="/pr-preview/pr-1358/img/learn/data-availability-faq/Data-storage.png",m=JSON.parse('{"title":"Data availability FAQ","description":"Frequently asked questions related to Data Availability.","frontmatter":{"description":"Frequently asked questions related to Data Availability.","next":{"text":"Overview of TIA","link":"/learn/tia"},"head":[["meta",{"name":"og:title","content":"Data availability FAQ | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/data-availability-faq.md","filePath":"learn/how-celestia-works/data-availability-faq.md","lastUpdated":1705009966000}'),r={name:"learn/how-celestia-works/data-availability-faq.md"},l=i("",37),n=[l];function d(h,c,b,u,f,p){return t(),e("div",null,n)}const v=a(r,[["render",d]]);export{m as __pageData,v as default}; +import{_ as a,o as t,c as e,Q as i}from"./chunks/framework.2263f03b.js";const o="/pr-preview/pr-1358/img/learn/data-availability-faq/Data-availability.png",s="/pr-preview/pr-1358/img/learn/data-availability-faq/Data-storage.png",m=JSON.parse('{"title":"Data availability FAQ","description":"Frequently asked questions related to Data Availability.","frontmatter":{"description":"Frequently asked questions related to Data Availability.","next":{"text":"Overview of TIA","link":"/learn/tia"},"head":[["meta",{"name":"og:title","content":"Data availability FAQ | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/data-availability-faq.md","filePath":"learn/how-celestia-works/data-availability-faq.md","lastUpdated":1705010189000}'),r={name:"learn/how-celestia-works/data-availability-faq.md"},l=i("",37),n=[l];function d(h,c,b,u,f,p){return t(),e("div",null,n)}const v=a(r,[["render",d]]);export{m as __pageData,v as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.7afe0f99.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.901019ed.js similarity index 99% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.7afe0f99.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.901019ed.js index cbaec02674..ba5f3aafbb 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.7afe0f99.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.901019ed.js @@ -1 +1 @@ -import{_ as l,o as a,c as o,k as e,a as t,Q as s}from"./chunks/framework.2263f03b.js";const i="/pr-preview/pr-1358/img/learn/reed-solomon-encoding.png",n="/pr-preview/pr-1358/img/learn/nmt.png",r="/pr-preview/pr-1358/img/learn/celestia-app.png",g4=JSON.parse(`{"title":"Celestia's data availability layer","description":"Celestia's Data Availability layer and its key features.","frontmatter":{"description":"Celestia's Data Availability layer and its key features.","head":[["meta",{"name":"og:title","content":"Celestia's data availability layer | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/data-availability-layer.md","filePath":"learn/how-celestia-works/data-availability-layer.md","lastUpdated":1705009966000}`),T={name:"learn/how-celestia-works/data-availability-layer.md"},d=s('

    Celestia's data availability layer

    Celestia is a data availability (DA) layer that provides a scalable solution to the data availability problem. Due to the permissionless nature of the blockchain networks, a DA layer must provide a mechanism for the execution and settlement layers to check in a trust-minimized way whether transaction data is indeed available.

    Two key features of Celestia's DA layer are data availability sampling (DAS) and Namespaced Merkle trees (NMTs). Both features are novel blockchain scaling solutions: DAS enables light nodes to verify data availability without needing to download an entire block; NMTs enable execution and settlement layers on Celestia to download transactions that are only relevant to them.

    Data availability sampling (DAS)

    In general, light nodes download only block headers that contain commitments (i.e., Merkle roots) of the block data (i.e., the list of transactions).

    ',5),Q={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},c=s('',1),m=[c],p=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),g={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},x=s('',1),_=[x],w=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),f={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},b={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},k=s('',1),y=[k],v=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),L={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},H=s('',1),V=[H],S=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),C=e("p",null,[e("img",{src:i,alt:"2D Reed-Soloman (RS) Encoding"})],-1),D={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},A={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},j=s('',1),Z=[j],P=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),N=e("p",null,[t("Every light node randomly chooses a set of unique coordinates in the extended matrix and queries full nodes for the data chunks and the corresponding Merkle proofs at those coordinates. If light nodes receive a valid response for each sampling query, then there is a "),e("a",{href:"https://github.com/celestiaorg/celestia-node/issues/805#issuecomment-1150081075",target:"_blank",rel:"noreferrer"},"high probability guarantee"),t(" that the whole block's data is available.")],-1),I=e("em",null,"i.e.",-1),B={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},q=s('',1),E=[q],z=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),G=e("p",null,[t("For more details on DAS, take a look at the "),e("a",{href:"https://arxiv.org/abs/1809.09044",target:"_blank",rel:"noreferrer"},"original paper"),t(".")],-1),J=e("h3",{id:"scalability",tabindex:"-1"},[t("Scalability "),e("a",{class:"header-anchor",href:"#scalability","aria-label":'Permalink to "Scalability"'},"​")],-1),F=e("p",null,"DAS enables Celestia to scale the DA layer. DAS can be performed by resource-limited light nodes since each light node only samples a small portion of the block data. The more light nodes there are in the network, the more data they can collectively download and store.",-1),O=e("em",null,"i.e.",-1),$={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},W={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},K=s('',1),U=[K],X=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),Y={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},e1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.345ex",height:"1.912ex",role:"img",focusable:"false",viewBox:"0 -833.9 1036.6 844.9","aria-hidden":"true"},t1=s('',1),a1=[t1],o1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("msup",null,[e("mi",null,"n"),e("mn",null,"2")])])],-1),s1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},l1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},i1=s('',1),n1=[i1],r1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),T1=e("h3",{id:"fraud-proofs-of-incorrectly-extended-data",tabindex:"-1"},[t("Fraud proofs of incorrectly extended data "),e("a",{class:"header-anchor",href:"#fraud-proofs-of-incorrectly-extended-data","aria-label":'Permalink to "Fraud proofs of incorrectly extended data"'},"​")],-1),d1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Q1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},h1=s('',1),c1=[h1],m1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),p1=e("em",null,"i.e.",-1),g1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},x1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),_1=[x1],w1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),f1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},b1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},k1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),y1=[k1],v1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),L1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},H1=s('',1),V1=[H1],S1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k")])],-1),C1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},D1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},A1=s('',1),j1=[A1],Z1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),P1=e("p",null,"The downside of the standard Reed-Solomon encoding is dealing with malicious block producers that generate the extended data incorrectly.",-1),N1=e("strong",null,[t("Celestia does not require a majority of the consensus ("),e("em",null,"i.e."),t(", block producers) to be honest to guarantee data availability.")],-1),I1=e("em",null,"i.e.",-1),B1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},q1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),E1=[q1],z1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),G1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},J1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},F1=s('',1),O1=[F1],$1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),W1=e("em",null,"Fraud Proofs of Incorrectly Generated Extended Data",-1),K1=e("em",null,"i.e.",-1),U1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},X1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.345ex",height:"1.912ex",role:"img",focusable:"false",viewBox:"0 -833.9 1036.6 844.9","aria-hidden":"true"},Y1=s('',1),e4=[Y1],t4=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("msup",null,[e("mi",null,"n"),e("mn",null,"2")])])],-1),a4={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o4={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},s4=s('',1),l4=[s4],i4=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),n4=s('

    Namespaced Merkle trees (NMTs)

    Celestia partitions the block data into multiple namespaces, one for every application (e.g., rollup) using the DA layer. As a result, every application needs to download only its own data and can ignore the data of other applications.

    For this to work, the DA layer must be able to prove that the provided data is complete, i.e., all the data for a given namespace is returned. To this end, Celestia is using Namespaced Merkle trees (NMTs).

    An NMT is a Merkle tree with the leafs ordered by the namespace identifiers and the hash function modified so that every node in the tree includes the range of namespaces of all its descendants. The following figure shows an example of an NMT with height three (i.e., eight data chunks). The data is partitioned into three namespaces.

    Namespaced Merkle Tree

    When an application requests the data for namespace 2, the DA layer must provide the data chunks D3, D4, D5, and D6 and the nodes N2, N8 and N7 as proof (note that the application already has the root N14 from the block header).

    As a result, the application is able to check that the provided data is part of the block data. Furthermore, the application can verify that all the data for namespace 2 was provided. If the DA layer provides for example only the data chunks D4 and D5, it must also provide nodes N12 and N11 as proofs. However, the application can identify that the data is incomplete by checking the namespace range of the two nodes, i.e., both N12 and N11 have descendants part of namespace 2.

    For more details on NMTs, refer to the original paper.

    Building a PoS blockchain for DA

    Providing data availability

    The Celestia DA layer consists of a PoS blockchain. Celestia is dubbing this blockchain as the celestia-app, an application that provides transactions to facilitate the DA layer and is built using Cosmos SDK. The following figure shows the main components of celestia-app.

    Main components of celestia-app

    celestia-app is built on top of celestia-core, a modified version of the Tendermint consensus algorithm. Among the more important changes to vanilla Tendermint, celestia-core:

    • Enables the erasure coding of block data (using the 2-dimensional Reed-Solomon encoding scheme).
    • Replaces the regular Merkle tree used by Tendermint to store block data with a Namespaced Merkle tree that enables the above layers (i.e., execution and settlement) to only download the needed data (for more details, see the section below describing use cases).

    For more details on the changes to Tendermint, take a look at the ADRs. Notice that celestia-core nodes are still using the Tendermint p2p network.

    Similarly to Tendermint, celestia-core is connected to the application layer (i.e., the state machine) by ABCI++, a major evolution of ABCI (Application Blockchain Interface).

    The celestia-app state machine is necessary to execute the PoS logic and to enable the governance of the DA layer.

    However, the celestia-app is data-agnostic -- the state machine neither validates nor stores the data that is made available by the celestia-app.

    ',18);function r4(T4,d4,Q4,h4,c4,m4){return a(),o("div",null,[d,e("p",null,[t("To make DAS possible, Celestia uses a 2-dimensional Reed-Solomon encoding scheme to encode the block data: every block data is split into "),e("mjx-container",Q,[(a(),o("svg",h,m)),p]),t(" chunks, arranged in a "),e("mjx-container",g,[(a(),o("svg",u,_)),w]),t(" matrix, and extended with parity data into a "),e("mjx-container",f,[(a(),o("svg",b,y)),v]),t(" extended matrix by applying multiple times Reed-Solomon encoding.")]),e("p",null,[t("Then, "),e("mjx-container",L,[(a(),o("svg",M,V)),S]),t(" separate Merkle roots are computed for the rows and columns of the extended matrix; the Merkle root of these Merkle roots is used as the block data commitment in the block header.")]),C,e("p",null,[t("To verify that the data is available, Celestia light nodes are sampling the "),e("mjx-container",D,[(a(),o("svg",A,Z)),P]),t(" data chunks.")]),N,e("p",null,[t("Additionally, every received data chunk with a correct Merkle proof is gossiped to the network. As a result, as long as the Celestia light nodes are sampling together enough data chunks ("),I,t(", at least "),e("mjx-container",B,[(a(),o("svg",R,E)),z]),t(" unique chunks), the full block can be recovered by honest full nodes.")]),G,J,F,e("p",null,[t("This means that increasing the number of light nodes performing DAS allows for larger blocks ("),O,t(", with more transactions), while still keeping DAS feasible for resource-limited light nodes. However, in order to validate block headers, Celestia light nodes need to download the "),e("mjx-container",$,[(a(),o("svg",W,U)),X]),t(" intermediate Merkle roots.")]),e("p",null,[t("For a block data size of "),e("mjx-container",Y,[(a(),o("svg",e1,a1)),o1]),t(" bytes, this means that every light node must download "),e("mjx-container",s1,[(a(),o("svg",l1,n1)),r1]),t(" bytes. Therefore, any improvement in the bandwidth capacity of Celestia light nodes has a quadratic effect on the throughput of Celestia's DA layer.")]),T1,e("p",null,[t("The requirement of downloading the "),e("mjx-container",d1,[(a(),o("svg",Q1,c1)),m1]),t(" intermediate Merkle roots is a consequence of using a 2-dimensional Reed-Solomon encoding scheme. Alternatively, DAS could be designed with a standard ("),p1,t(", 1-dimensional) Reed-Solomon encoding, where the original data is split into "),e("mjx-container",g1,[(a(),o("svg",u1,_1)),w1]),t(" chunks and extended with "),e("mjx-container",f1,[(a(),o("svg",b1,y1)),v1]),t(" additional chunks of parity data. Since the block data commitment is the Merkle root of the "),e("mjx-container",L1,[(a(),o("svg",M1,V1)),S1]),t(" resulting data chunks, light nodes no longer need to download "),e("mjx-container",C1,[(a(),o("svg",D1,j1)),Z1]),t(" bytes to validate block headers.")]),P1,e("p",null,[t("This is possible as "),N1,t(" Thus, if the extended data is invalid, the original data might not be recoverable, even if the light nodes are sampling sufficient unique chunks ("),I1,t(", at least "),e("mjx-container",B1,[(a(),o("svg",R1,E1)),z1]),t(" for a standard encoding and "),e("mjx-container",G1,[(a(),o("svg",J1,O1)),$1]),t(" for a 2-dimensional encoding).")]),e("p",null,[t("As a solution, "),W1,t(" enable light nodes to reject blocks with invalid extended data. Such proofs require reconstructing the encoding and verifying the mismatch. With standard Reed-Solomon encoding, this entails downloading the original data, "),K1,t(", "),e("mjx-container",U1,[(a(),o("svg",X1,e4)),t4]),t(" bytes. Contrastingly, with 2-dimensional Reed-Solomon encoding, only "),e("mjx-container",a4,[(a(),o("svg",o4,l4)),i4]),t(" bytes are required as it is sufficient to verify only one row or one column of the extended matrix.")]),n4])}const u4=l(T,[["render",r4]]);export{g4 as __pageData,u4 as default}; +import{_ as l,o as a,c as o,k as e,a as t,Q as s}from"./chunks/framework.2263f03b.js";const i="/pr-preview/pr-1358/img/learn/reed-solomon-encoding.png",n="/pr-preview/pr-1358/img/learn/nmt.png",r="/pr-preview/pr-1358/img/learn/celestia-app.png",g4=JSON.parse(`{"title":"Celestia's data availability layer","description":"Celestia's Data Availability layer and its key features.","frontmatter":{"description":"Celestia's Data Availability layer and its key features.","head":[["meta",{"name":"og:title","content":"Celestia's data availability layer | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/data-availability-layer.md","filePath":"learn/how-celestia-works/data-availability-layer.md","lastUpdated":1705010189000}`),T={name:"learn/how-celestia-works/data-availability-layer.md"},d=s('

    Celestia's data availability layer

    Celestia is a data availability (DA) layer that provides a scalable solution to the data availability problem. Due to the permissionless nature of the blockchain networks, a DA layer must provide a mechanism for the execution and settlement layers to check in a trust-minimized way whether transaction data is indeed available.

    Two key features of Celestia's DA layer are data availability sampling (DAS) and Namespaced Merkle trees (NMTs). Both features are novel blockchain scaling solutions: DAS enables light nodes to verify data availability without needing to download an entire block; NMTs enable execution and settlement layers on Celestia to download transactions that are only relevant to them.

    Data availability sampling (DAS)

    In general, light nodes download only block headers that contain commitments (i.e., Merkle roots) of the block data (i.e., the list of transactions).

    ',5),Q={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},c=s('',1),m=[c],p=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),g={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},x=s('',1),_=[x],w=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),f={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},b={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},k=s('',1),y=[k],v=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),L={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},H=s('',1),V=[H],S=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),C=e("p",null,[e("img",{src:i,alt:"2D Reed-Soloman (RS) Encoding"})],-1),D={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},A={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},j=s('',1),Z=[j],P=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),N=e("p",null,[t("Every light node randomly chooses a set of unique coordinates in the extended matrix and queries full nodes for the data chunks and the corresponding Merkle proofs at those coordinates. If light nodes receive a valid response for each sampling query, then there is a "),e("a",{href:"https://github.com/celestiaorg/celestia-node/issues/805#issuecomment-1150081075",target:"_blank",rel:"noreferrer"},"high probability guarantee"),t(" that the whole block's data is available.")],-1),I=e("em",null,"i.e.",-1),B={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},q=s('',1),E=[q],z=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),G=e("p",null,[t("For more details on DAS, take a look at the "),e("a",{href:"https://arxiv.org/abs/1809.09044",target:"_blank",rel:"noreferrer"},"original paper"),t(".")],-1),J=e("h3",{id:"scalability",tabindex:"-1"},[t("Scalability "),e("a",{class:"header-anchor",href:"#scalability","aria-label":'Permalink to "Scalability"'},"​")],-1),F=e("p",null,"DAS enables Celestia to scale the DA layer. DAS can be performed by resource-limited light nodes since each light node only samples a small portion of the block data. The more light nodes there are in the network, the more data they can collectively download and store.",-1),O=e("em",null,"i.e.",-1),$={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},W={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},K=s('',1),U=[K],X=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),Y={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},e1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.345ex",height:"1.912ex",role:"img",focusable:"false",viewBox:"0 -833.9 1036.6 844.9","aria-hidden":"true"},t1=s('',1),a1=[t1],o1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("msup",null,[e("mi",null,"n"),e("mn",null,"2")])])],-1),s1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},l1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},i1=s('',1),n1=[i1],r1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),T1=e("h3",{id:"fraud-proofs-of-incorrectly-extended-data",tabindex:"-1"},[t("Fraud proofs of incorrectly extended data "),e("a",{class:"header-anchor",href:"#fraud-proofs-of-incorrectly-extended-data","aria-label":'Permalink to "Fraud proofs of incorrectly extended data"'},"​")],-1),d1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Q1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},h1=s('',1),c1=[h1],m1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),p1=e("em",null,"i.e.",-1),g1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},x1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),_1=[x1],w1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),f1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},b1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},k1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),y1=[k1],v1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),L1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},H1=s('',1),V1=[H1],S1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k")])],-1),C1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},D1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},A1=s('',1),j1=[A1],Z1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),P1=e("p",null,"The downside of the standard Reed-Solomon encoding is dealing with malicious block producers that generate the extended data incorrectly.",-1),N1=e("strong",null,[t("Celestia does not require a majority of the consensus ("),e("em",null,"i.e."),t(", block producers) to be honest to guarantee data availability.")],-1),I1=e("em",null,"i.e.",-1),B1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},q1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),E1=[q1],z1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),G1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},J1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},F1=s('',1),O1=[F1],$1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),W1=e("em",null,"Fraud Proofs of Incorrectly Generated Extended Data",-1),K1=e("em",null,"i.e.",-1),U1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},X1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.345ex",height:"1.912ex",role:"img",focusable:"false",viewBox:"0 -833.9 1036.6 844.9","aria-hidden":"true"},Y1=s('',1),e4=[Y1],t4=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("msup",null,[e("mi",null,"n"),e("mn",null,"2")])])],-1),a4={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o4={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},s4=s('',1),l4=[s4],i4=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),n4=s('

    Namespaced Merkle trees (NMTs)

    Celestia partitions the block data into multiple namespaces, one for every application (e.g., rollup) using the DA layer. As a result, every application needs to download only its own data and can ignore the data of other applications.

    For this to work, the DA layer must be able to prove that the provided data is complete, i.e., all the data for a given namespace is returned. To this end, Celestia is using Namespaced Merkle trees (NMTs).

    An NMT is a Merkle tree with the leafs ordered by the namespace identifiers and the hash function modified so that every node in the tree includes the range of namespaces of all its descendants. The following figure shows an example of an NMT with height three (i.e., eight data chunks). The data is partitioned into three namespaces.

    Namespaced Merkle Tree

    When an application requests the data for namespace 2, the DA layer must provide the data chunks D3, D4, D5, and D6 and the nodes N2, N8 and N7 as proof (note that the application already has the root N14 from the block header).

    As a result, the application is able to check that the provided data is part of the block data. Furthermore, the application can verify that all the data for namespace 2 was provided. If the DA layer provides for example only the data chunks D4 and D5, it must also provide nodes N12 and N11 as proofs. However, the application can identify that the data is incomplete by checking the namespace range of the two nodes, i.e., both N12 and N11 have descendants part of namespace 2.

    For more details on NMTs, refer to the original paper.

    Building a PoS blockchain for DA

    Providing data availability

    The Celestia DA layer consists of a PoS blockchain. Celestia is dubbing this blockchain as the celestia-app, an application that provides transactions to facilitate the DA layer and is built using Cosmos SDK. The following figure shows the main components of celestia-app.

    Main components of celestia-app

    celestia-app is built on top of celestia-core, a modified version of the Tendermint consensus algorithm. Among the more important changes to vanilla Tendermint, celestia-core:

    • Enables the erasure coding of block data (using the 2-dimensional Reed-Solomon encoding scheme).
    • Replaces the regular Merkle tree used by Tendermint to store block data with a Namespaced Merkle tree that enables the above layers (i.e., execution and settlement) to only download the needed data (for more details, see the section below describing use cases).

    For more details on the changes to Tendermint, take a look at the ADRs. Notice that celestia-core nodes are still using the Tendermint p2p network.

    Similarly to Tendermint, celestia-core is connected to the application layer (i.e., the state machine) by ABCI++, a major evolution of ABCI (Application Blockchain Interface).

    The celestia-app state machine is necessary to execute the PoS logic and to enable the governance of the DA layer.

    However, the celestia-app is data-agnostic -- the state machine neither validates nor stores the data that is made available by the celestia-app.

    ',18);function r4(T4,d4,Q4,h4,c4,m4){return a(),o("div",null,[d,e("p",null,[t("To make DAS possible, Celestia uses a 2-dimensional Reed-Solomon encoding scheme to encode the block data: every block data is split into "),e("mjx-container",Q,[(a(),o("svg",h,m)),p]),t(" chunks, arranged in a "),e("mjx-container",g,[(a(),o("svg",u,_)),w]),t(" matrix, and extended with parity data into a "),e("mjx-container",f,[(a(),o("svg",b,y)),v]),t(" extended matrix by applying multiple times Reed-Solomon encoding.")]),e("p",null,[t("Then, "),e("mjx-container",L,[(a(),o("svg",M,V)),S]),t(" separate Merkle roots are computed for the rows and columns of the extended matrix; the Merkle root of these Merkle roots is used as the block data commitment in the block header.")]),C,e("p",null,[t("To verify that the data is available, Celestia light nodes are sampling the "),e("mjx-container",D,[(a(),o("svg",A,Z)),P]),t(" data chunks.")]),N,e("p",null,[t("Additionally, every received data chunk with a correct Merkle proof is gossiped to the network. As a result, as long as the Celestia light nodes are sampling together enough data chunks ("),I,t(", at least "),e("mjx-container",B,[(a(),o("svg",R,E)),z]),t(" unique chunks), the full block can be recovered by honest full nodes.")]),G,J,F,e("p",null,[t("This means that increasing the number of light nodes performing DAS allows for larger blocks ("),O,t(", with more transactions), while still keeping DAS feasible for resource-limited light nodes. However, in order to validate block headers, Celestia light nodes need to download the "),e("mjx-container",$,[(a(),o("svg",W,U)),X]),t(" intermediate Merkle roots.")]),e("p",null,[t("For a block data size of "),e("mjx-container",Y,[(a(),o("svg",e1,a1)),o1]),t(" bytes, this means that every light node must download "),e("mjx-container",s1,[(a(),o("svg",l1,n1)),r1]),t(" bytes. Therefore, any improvement in the bandwidth capacity of Celestia light nodes has a quadratic effect on the throughput of Celestia's DA layer.")]),T1,e("p",null,[t("The requirement of downloading the "),e("mjx-container",d1,[(a(),o("svg",Q1,c1)),m1]),t(" intermediate Merkle roots is a consequence of using a 2-dimensional Reed-Solomon encoding scheme. Alternatively, DAS could be designed with a standard ("),p1,t(", 1-dimensional) Reed-Solomon encoding, where the original data is split into "),e("mjx-container",g1,[(a(),o("svg",u1,_1)),w1]),t(" chunks and extended with "),e("mjx-container",f1,[(a(),o("svg",b1,y1)),v1]),t(" additional chunks of parity data. Since the block data commitment is the Merkle root of the "),e("mjx-container",L1,[(a(),o("svg",M1,V1)),S1]),t(" resulting data chunks, light nodes no longer need to download "),e("mjx-container",C1,[(a(),o("svg",D1,j1)),Z1]),t(" bytes to validate block headers.")]),P1,e("p",null,[t("This is possible as "),N1,t(" Thus, if the extended data is invalid, the original data might not be recoverable, even if the light nodes are sampling sufficient unique chunks ("),I1,t(", at least "),e("mjx-container",B1,[(a(),o("svg",R1,E1)),z1]),t(" for a standard encoding and "),e("mjx-container",G1,[(a(),o("svg",J1,O1)),$1]),t(" for a 2-dimensional encoding).")]),e("p",null,[t("As a solution, "),W1,t(" enable light nodes to reject blocks with invalid extended data. Such proofs require reconstructing the encoding and verifying the mismatch. With standard Reed-Solomon encoding, this entails downloading the original data, "),K1,t(", "),e("mjx-container",U1,[(a(),o("svg",X1,e4)),t4]),t(" bytes. Contrastingly, with 2-dimensional Reed-Solomon encoding, only "),e("mjx-container",a4,[(a(),o("svg",o4,l4)),i4]),t(" bytes are required as it is sufficient to verify only one row or one column of the extended matrix.")]),n4])}const u4=l(T,[["render",r4]]);export{g4 as __pageData,u4 as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.7afe0f99.lean.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.901019ed.lean.js similarity index 99% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.7afe0f99.lean.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.901019ed.lean.js index 1f2575c4b4..8b60a3c3f2 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.7afe0f99.lean.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_data-availability-layer.md.901019ed.lean.js @@ -1 +1 @@ -import{_ as l,o as a,c as o,k as e,a as t,Q as s}from"./chunks/framework.2263f03b.js";const i="/pr-preview/pr-1358/img/learn/reed-solomon-encoding.png",n="/pr-preview/pr-1358/img/learn/nmt.png",r="/pr-preview/pr-1358/img/learn/celestia-app.png",g4=JSON.parse(`{"title":"Celestia's data availability layer","description":"Celestia's Data Availability layer and its key features.","frontmatter":{"description":"Celestia's Data Availability layer and its key features.","head":[["meta",{"name":"og:title","content":"Celestia's data availability layer | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/data-availability-layer.md","filePath":"learn/how-celestia-works/data-availability-layer.md","lastUpdated":1705009966000}`),T={name:"learn/how-celestia-works/data-availability-layer.md"},d=s("",5),Q={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},c=s("",1),m=[c],p=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),g={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},x=s("",1),_=[x],w=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),f={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},b={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},k=s("",1),y=[k],v=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),L={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},H=s("",1),V=[H],S=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),C=e("p",null,[e("img",{src:i,alt:"2D Reed-Soloman (RS) Encoding"})],-1),D={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},A={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},j=s("",1),Z=[j],P=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),N=e("p",null,[t("Every light node randomly chooses a set of unique coordinates in the extended matrix and queries full nodes for the data chunks and the corresponding Merkle proofs at those coordinates. If light nodes receive a valid response for each sampling query, then there is a "),e("a",{href:"https://github.com/celestiaorg/celestia-node/issues/805#issuecomment-1150081075",target:"_blank",rel:"noreferrer"},"high probability guarantee"),t(" that the whole block's data is available.")],-1),I=e("em",null,"i.e.",-1),B={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},q=s("",1),E=[q],z=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),G=e("p",null,[t("For more details on DAS, take a look at the "),e("a",{href:"https://arxiv.org/abs/1809.09044",target:"_blank",rel:"noreferrer"},"original paper"),t(".")],-1),J=e("h3",{id:"scalability",tabindex:"-1"},[t("Scalability "),e("a",{class:"header-anchor",href:"#scalability","aria-label":'Permalink to "Scalability"'},"​")],-1),F=e("p",null,"DAS enables Celestia to scale the DA layer. DAS can be performed by resource-limited light nodes since each light node only samples a small portion of the block data. The more light nodes there are in the network, the more data they can collectively download and store.",-1),O=e("em",null,"i.e.",-1),$={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},W={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},K=s("",1),U=[K],X=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),Y={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},e1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.345ex",height:"1.912ex",role:"img",focusable:"false",viewBox:"0 -833.9 1036.6 844.9","aria-hidden":"true"},t1=s("",1),a1=[t1],o1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("msup",null,[e("mi",null,"n"),e("mn",null,"2")])])],-1),s1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},l1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},i1=s("",1),n1=[i1],r1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),T1=e("h3",{id:"fraud-proofs-of-incorrectly-extended-data",tabindex:"-1"},[t("Fraud proofs of incorrectly extended data "),e("a",{class:"header-anchor",href:"#fraud-proofs-of-incorrectly-extended-data","aria-label":'Permalink to "Fraud proofs of incorrectly extended data"'},"​")],-1),d1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Q1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},h1=s("",1),c1=[h1],m1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),p1=e("em",null,"i.e.",-1),g1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},x1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),_1=[x1],w1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),f1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},b1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},k1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),y1=[k1],v1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),L1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},H1=s("",1),V1=[H1],S1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k")])],-1),C1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},D1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},A1=s("",1),j1=[A1],Z1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),P1=e("p",null,"The downside of the standard Reed-Solomon encoding is dealing with malicious block producers that generate the extended data incorrectly.",-1),N1=e("strong",null,[t("Celestia does not require a majority of the consensus ("),e("em",null,"i.e."),t(", block producers) to be honest to guarantee data availability.")],-1),I1=e("em",null,"i.e.",-1),B1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},q1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),E1=[q1],z1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),G1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},J1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},F1=s("",1),O1=[F1],$1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),W1=e("em",null,"Fraud Proofs of Incorrectly Generated Extended Data",-1),K1=e("em",null,"i.e.",-1),U1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},X1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.345ex",height:"1.912ex",role:"img",focusable:"false",viewBox:"0 -833.9 1036.6 844.9","aria-hidden":"true"},Y1=s("",1),e4=[Y1],t4=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("msup",null,[e("mi",null,"n"),e("mn",null,"2")])])],-1),a4={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o4={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},s4=s("",1),l4=[s4],i4=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),n4=s("",18);function r4(T4,d4,Q4,h4,c4,m4){return a(),o("div",null,[d,e("p",null,[t("To make DAS possible, Celestia uses a 2-dimensional Reed-Solomon encoding scheme to encode the block data: every block data is split into "),e("mjx-container",Q,[(a(),o("svg",h,m)),p]),t(" chunks, arranged in a "),e("mjx-container",g,[(a(),o("svg",u,_)),w]),t(" matrix, and extended with parity data into a "),e("mjx-container",f,[(a(),o("svg",b,y)),v]),t(" extended matrix by applying multiple times Reed-Solomon encoding.")]),e("p",null,[t("Then, "),e("mjx-container",L,[(a(),o("svg",M,V)),S]),t(" separate Merkle roots are computed for the rows and columns of the extended matrix; the Merkle root of these Merkle roots is used as the block data commitment in the block header.")]),C,e("p",null,[t("To verify that the data is available, Celestia light nodes are sampling the "),e("mjx-container",D,[(a(),o("svg",A,Z)),P]),t(" data chunks.")]),N,e("p",null,[t("Additionally, every received data chunk with a correct Merkle proof is gossiped to the network. As a result, as long as the Celestia light nodes are sampling together enough data chunks ("),I,t(", at least "),e("mjx-container",B,[(a(),o("svg",R,E)),z]),t(" unique chunks), the full block can be recovered by honest full nodes.")]),G,J,F,e("p",null,[t("This means that increasing the number of light nodes performing DAS allows for larger blocks ("),O,t(", with more transactions), while still keeping DAS feasible for resource-limited light nodes. However, in order to validate block headers, Celestia light nodes need to download the "),e("mjx-container",$,[(a(),o("svg",W,U)),X]),t(" intermediate Merkle roots.")]),e("p",null,[t("For a block data size of "),e("mjx-container",Y,[(a(),o("svg",e1,a1)),o1]),t(" bytes, this means that every light node must download "),e("mjx-container",s1,[(a(),o("svg",l1,n1)),r1]),t(" bytes. Therefore, any improvement in the bandwidth capacity of Celestia light nodes has a quadratic effect on the throughput of Celestia's DA layer.")]),T1,e("p",null,[t("The requirement of downloading the "),e("mjx-container",d1,[(a(),o("svg",Q1,c1)),m1]),t(" intermediate Merkle roots is a consequence of using a 2-dimensional Reed-Solomon encoding scheme. Alternatively, DAS could be designed with a standard ("),p1,t(", 1-dimensional) Reed-Solomon encoding, where the original data is split into "),e("mjx-container",g1,[(a(),o("svg",u1,_1)),w1]),t(" chunks and extended with "),e("mjx-container",f1,[(a(),o("svg",b1,y1)),v1]),t(" additional chunks of parity data. Since the block data commitment is the Merkle root of the "),e("mjx-container",L1,[(a(),o("svg",M1,V1)),S1]),t(" resulting data chunks, light nodes no longer need to download "),e("mjx-container",C1,[(a(),o("svg",D1,j1)),Z1]),t(" bytes to validate block headers.")]),P1,e("p",null,[t("This is possible as "),N1,t(" Thus, if the extended data is invalid, the original data might not be recoverable, even if the light nodes are sampling sufficient unique chunks ("),I1,t(", at least "),e("mjx-container",B1,[(a(),o("svg",R1,E1)),z1]),t(" for a standard encoding and "),e("mjx-container",G1,[(a(),o("svg",J1,O1)),$1]),t(" for a 2-dimensional encoding).")]),e("p",null,[t("As a solution, "),W1,t(" enable light nodes to reject blocks with invalid extended data. Such proofs require reconstructing the encoding and verifying the mismatch. With standard Reed-Solomon encoding, this entails downloading the original data, "),K1,t(", "),e("mjx-container",U1,[(a(),o("svg",X1,e4)),t4]),t(" bytes. Contrastingly, with 2-dimensional Reed-Solomon encoding, only "),e("mjx-container",a4,[(a(),o("svg",o4,l4)),i4]),t(" bytes are required as it is sufficient to verify only one row or one column of the extended matrix.")]),n4])}const u4=l(T,[["render",r4]]);export{g4 as __pageData,u4 as default}; +import{_ as l,o as a,c as o,k as e,a as t,Q as s}from"./chunks/framework.2263f03b.js";const i="/pr-preview/pr-1358/img/learn/reed-solomon-encoding.png",n="/pr-preview/pr-1358/img/learn/nmt.png",r="/pr-preview/pr-1358/img/learn/celestia-app.png",g4=JSON.parse(`{"title":"Celestia's data availability layer","description":"Celestia's Data Availability layer and its key features.","frontmatter":{"description":"Celestia's Data Availability layer and its key features.","head":[["meta",{"name":"og:title","content":"Celestia's data availability layer | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/data-availability-layer.md","filePath":"learn/how-celestia-works/data-availability-layer.md","lastUpdated":1705010189000}`),T={name:"learn/how-celestia-works/data-availability-layer.md"},d=s("",5),Q={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},h={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},c=s("",1),m=[c],p=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),g={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},x=s("",1),_=[x],w=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),f={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},b={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},k=s("",1),y=[k],v=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),L={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},H=s("",1),V=[H],S=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),C=e("p",null,[e("img",{src:i,alt:"2D Reed-Soloman (RS) Encoding"})],-1),D={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},A={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},j=s("",1),Z=[j],P=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),N=e("p",null,[t("Every light node randomly chooses a set of unique coordinates in the extended matrix and queries full nodes for the data chunks and the corresponding Merkle proofs at those coordinates. If light nodes receive a valid response for each sampling query, then there is a "),e("a",{href:"https://github.com/celestiaorg/celestia-node/issues/805#issuecomment-1150081075",target:"_blank",rel:"noreferrer"},"high probability guarantee"),t(" that the whole block's data is available.")],-1),I=e("em",null,"i.e.",-1),B={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},q=s("",1),E=[q],z=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),G=e("p",null,[t("For more details on DAS, take a look at the "),e("a",{href:"https://arxiv.org/abs/1809.09044",target:"_blank",rel:"noreferrer"},"original paper"),t(".")],-1),J=e("h3",{id:"scalability",tabindex:"-1"},[t("Scalability "),e("a",{class:"header-anchor",href:"#scalability","aria-label":'Permalink to "Scalability"'},"​")],-1),F=e("p",null,"DAS enables Celestia to scale the DA layer. DAS can be performed by resource-limited light nodes since each light node only samples a small portion of the block data. The more light nodes there are in the network, the more data they can collectively download and store.",-1),O=e("em",null,"i.e.",-1),$={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},W={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},K=s("",1),U=[K],X=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),Y={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},e1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.345ex",height:"1.912ex",role:"img",focusable:"false",viewBox:"0 -833.9 1036.6 844.9","aria-hidden":"true"},t1=s("",1),a1=[t1],o1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("msup",null,[e("mi",null,"n"),e("mn",null,"2")])])],-1),s1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},l1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},i1=s("",1),n1=[i1],r1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),T1=e("h3",{id:"fraud-proofs-of-incorrectly-extended-data",tabindex:"-1"},[t("Fraud proofs of incorrectly extended data "),e("a",{class:"header-anchor",href:"#fraud-proofs-of-incorrectly-extended-data","aria-label":'Permalink to "Fraud proofs of incorrectly extended data"'},"​")],-1),d1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Q1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},h1=s("",1),c1=[h1],m1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),p1=e("em",null,"i.e.",-1),g1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},x1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),_1=[x1],w1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),f1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},b1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},k1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),y1=[k1],v1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),L1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},H1=s("",1),V1=[H1],S1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k")])],-1),C1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},D1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},A1=s("",1),j1=[A1],Z1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),P1=e("p",null,"The downside of the standard Reed-Solomon encoding is dealing with malicious block producers that generate the extended data incorrectly.",-1),N1=e("strong",null,[t("Celestia does not require a majority of the consensus ("),e("em",null,"i.e."),t(", block producers) to be honest to guarantee data availability.")],-1),I1=e("em",null,"i.e.",-1),B1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.179ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 521 705","aria-hidden":"true"},q1=e("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[e("g",{"data-mml-node":"math"},[e("g",{"data-mml-node":"mi"},[e("path",{"data-c":"1D458",d:"M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z",style:{"stroke-width":"3"}})])])],-1),E1=[q1],z1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k")])],-1),G1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},J1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},F1=s("",1),O1=[F1],$1=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),W1=e("em",null,"Fraud Proofs of Incorrectly Generated Extended Data",-1),K1=e("em",null,"i.e.",-1),U1={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},X1={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.345ex",height:"1.912ex",role:"img",focusable:"false",viewBox:"0 -833.9 1036.6 844.9","aria-hidden":"true"},Y1=s("",1),e4=[Y1],t4=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("msup",null,[e("mi",null,"n"),e("mn",null,"2")])])],-1),a4={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o4={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"4.844ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2141 1000","aria-hidden":"true"},s4=s("",1),l4=[s4],i4=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"O"),e("mo",{stretchy:"false"},"("),e("mi",null,"n"),e("mo",{stretchy:"false"},")")])],-1),n4=s("",18);function r4(T4,d4,Q4,h4,c4,m4){return a(),o("div",null,[d,e("p",null,[t("To make DAS possible, Celestia uses a 2-dimensional Reed-Solomon encoding scheme to encode the block data: every block data is split into "),e("mjx-container",Q,[(a(),o("svg",h,m)),p]),t(" chunks, arranged in a "),e("mjx-container",g,[(a(),o("svg",u,_)),w]),t(" matrix, and extended with parity data into a "),e("mjx-container",f,[(a(),o("svg",b,y)),v]),t(" extended matrix by applying multiple times Reed-Solomon encoding.")]),e("p",null,[t("Then, "),e("mjx-container",L,[(a(),o("svg",M,V)),S]),t(" separate Merkle roots are computed for the rows and columns of the extended matrix; the Merkle root of these Merkle roots is used as the block data commitment in the block header.")]),C,e("p",null,[t("To verify that the data is available, Celestia light nodes are sampling the "),e("mjx-container",D,[(a(),o("svg",A,Z)),P]),t(" data chunks.")]),N,e("p",null,[t("Additionally, every received data chunk with a correct Merkle proof is gossiped to the network. As a result, as long as the Celestia light nodes are sampling together enough data chunks ("),I,t(", at least "),e("mjx-container",B,[(a(),o("svg",R,E)),z]),t(" unique chunks), the full block can be recovered by honest full nodes.")]),G,J,F,e("p",null,[t("This means that increasing the number of light nodes performing DAS allows for larger blocks ("),O,t(", with more transactions), while still keeping DAS feasible for resource-limited light nodes. However, in order to validate block headers, Celestia light nodes need to download the "),e("mjx-container",$,[(a(),o("svg",W,U)),X]),t(" intermediate Merkle roots.")]),e("p",null,[t("For a block data size of "),e("mjx-container",Y,[(a(),o("svg",e1,a1)),o1]),t(" bytes, this means that every light node must download "),e("mjx-container",s1,[(a(),o("svg",l1,n1)),r1]),t(" bytes. Therefore, any improvement in the bandwidth capacity of Celestia light nodes has a quadratic effect on the throughput of Celestia's DA layer.")]),T1,e("p",null,[t("The requirement of downloading the "),e("mjx-container",d1,[(a(),o("svg",Q1,c1)),m1]),t(" intermediate Merkle roots is a consequence of using a 2-dimensional Reed-Solomon encoding scheme. Alternatively, DAS could be designed with a standard ("),p1,t(", 1-dimensional) Reed-Solomon encoding, where the original data is split into "),e("mjx-container",g1,[(a(),o("svg",u1,_1)),w1]),t(" chunks and extended with "),e("mjx-container",f1,[(a(),o("svg",b1,y1)),v1]),t(" additional chunks of parity data. Since the block data commitment is the Merkle root of the "),e("mjx-container",L1,[(a(),o("svg",M1,V1)),S1]),t(" resulting data chunks, light nodes no longer need to download "),e("mjx-container",C1,[(a(),o("svg",D1,j1)),Z1]),t(" bytes to validate block headers.")]),P1,e("p",null,[t("This is possible as "),N1,t(" Thus, if the extended data is invalid, the original data might not be recoverable, even if the light nodes are sampling sufficient unique chunks ("),I1,t(", at least "),e("mjx-container",B1,[(a(),o("svg",R1,E1)),z1]),t(" for a standard encoding and "),e("mjx-container",G1,[(a(),o("svg",J1,O1)),$1]),t(" for a 2-dimensional encoding).")]),e("p",null,[t("As a solution, "),W1,t(" enable light nodes to reject blocks with invalid extended data. Such proofs require reconstructing the encoding and verifying the mismatch. With standard Reed-Solomon encoding, this entails downloading the original data, "),K1,t(", "),e("mjx-container",U1,[(a(),o("svg",X1,e4)),t4]),t(" bytes. Contrastingly, with 2-dimensional Reed-Solomon encoding, only "),e("mjx-container",a4,[(a(),o("svg",o4,l4)),i4]),t(" bytes are required as it is sufficient to verify only one row or one column of the extended matrix.")]),n4])}const u4=l(T,[["render",r4]]);export{g4 as __pageData,u4 as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.8958e4cb.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.355e2909.js similarity index 98% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.8958e4cb.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.355e2909.js index b7d0a2538d..3e2c760c5b 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.8958e4cb.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.355e2909.js @@ -1 +1 @@ -import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/learn/monolithic-modular.png",g=JSON.parse('{"title":"Monolithic vs. modular blockchains","description":"Comparison between monolithic and modular blockchains.","frontmatter":{"description":"Comparison between monolithic and modular blockchains.","head":[["meta",{"name":"og:title","content":"Monolithic vs. modular blockchains | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/monolithic-vs-modular.md","filePath":"learn/how-celestia-works/monolithic-vs-modular.md","lastUpdated":1705009966000}'),i={name:"learn/how-celestia-works/monolithic-vs-modular.md"},s=a('

    Monolithic vs. modular blockchains

    Blockchains instantiate replicated state machines: the nodes in a permissionless distributed network apply an ordered sequence of deterministic transactions to an initial state resulting in a common final state.

    In other words, this means that nodes in a network all follow the same set of rules (i.e., an ordered sequence of transactions) to go from a starting point (i.e., an initial state) to an ending point (i.e., a common final state). This process ensures that all nodes in the network agree on the final state of the blockchain, even though they operate independently.

    This means blockchains require the following four functions:

    • Execution entails executing transactions that update the state correctly. Thus, execution must ensure that only valid transactions are executed, i.e., transactions that result in valid state machine transitions.
    • Settlement entails an environment for execution layers to verify proofs, resolve fraud disputes, and bridge between other execution layers.
    • Consensus entails agreeing on the order of the transactions.
    • Data Availability (DA) entails making the transaction data available. Note that execution, settlement, and consensus require DA.

    Traditional blockchains, i.e. monolithic blockchains, implement all four functions together in a single base consensus layer. The problem with monolithic blockchains is that the consensus layer must perform a lot of different tasks and it cannot be optimized for only one of these functions. As a result, the monolithic paradigm limits the throughput of the system.

    Modular VS Monolithic

    As a solution, modular blockchains decouple these functions among multiple specialized layers as part of a modular stack. Due to the flexibility that specialization provides, there are many possibilities in which that stack can be arranged. For example, one such arrangement is the separation of the four functions into three specialized layers.

    The base layer consists of DA and consensus and thus, is referred to as the Consensus and DA layer (or for brevity, the DA layer), while both settlement and execution are moved on top in their own layers. As a result, every layer can be specialized to optimally perform only its function and thus, increase the throughput of the system. Furthermore, this modular paradigm enables multiple execution layers, i.e., rollups, to use the same settlement and DA layers.

    ',9),r=[s];function l(c,h,m,d,u,p){return t(),o("div",null,r)}const b=e(i,[["render",l]]);export{g as __pageData,b as default}; +import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/learn/monolithic-modular.png",g=JSON.parse('{"title":"Monolithic vs. modular blockchains","description":"Comparison between monolithic and modular blockchains.","frontmatter":{"description":"Comparison between monolithic and modular blockchains.","head":[["meta",{"name":"og:title","content":"Monolithic vs. modular blockchains | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/monolithic-vs-modular.md","filePath":"learn/how-celestia-works/monolithic-vs-modular.md","lastUpdated":1705010189000}'),i={name:"learn/how-celestia-works/monolithic-vs-modular.md"},s=a('

    Monolithic vs. modular blockchains

    Blockchains instantiate replicated state machines: the nodes in a permissionless distributed network apply an ordered sequence of deterministic transactions to an initial state resulting in a common final state.

    In other words, this means that nodes in a network all follow the same set of rules (i.e., an ordered sequence of transactions) to go from a starting point (i.e., an initial state) to an ending point (i.e., a common final state). This process ensures that all nodes in the network agree on the final state of the blockchain, even though they operate independently.

    This means blockchains require the following four functions:

    • Execution entails executing transactions that update the state correctly. Thus, execution must ensure that only valid transactions are executed, i.e., transactions that result in valid state machine transitions.
    • Settlement entails an environment for execution layers to verify proofs, resolve fraud disputes, and bridge between other execution layers.
    • Consensus entails agreeing on the order of the transactions.
    • Data Availability (DA) entails making the transaction data available. Note that execution, settlement, and consensus require DA.

    Traditional blockchains, i.e. monolithic blockchains, implement all four functions together in a single base consensus layer. The problem with monolithic blockchains is that the consensus layer must perform a lot of different tasks and it cannot be optimized for only one of these functions. As a result, the monolithic paradigm limits the throughput of the system.

    Modular VS Monolithic

    As a solution, modular blockchains decouple these functions among multiple specialized layers as part of a modular stack. Due to the flexibility that specialization provides, there are many possibilities in which that stack can be arranged. For example, one such arrangement is the separation of the four functions into three specialized layers.

    The base layer consists of DA and consensus and thus, is referred to as the Consensus and DA layer (or for brevity, the DA layer), while both settlement and execution are moved on top in their own layers. As a result, every layer can be specialized to optimally perform only its function and thus, increase the throughput of the system. Furthermore, this modular paradigm enables multiple execution layers, i.e., rollups, to use the same settlement and DA layers.

    ',9),r=[s];function l(c,h,m,d,u,p){return t(),o("div",null,r)}const b=e(i,[["render",l]]);export{g as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.8958e4cb.lean.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.355e2909.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.8958e4cb.lean.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.355e2909.lean.js index b9df34c66a..fcc42621a1 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.8958e4cb.lean.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_monolithic-vs-modular.md.355e2909.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/learn/monolithic-modular.png",g=JSON.parse('{"title":"Monolithic vs. modular blockchains","description":"Comparison between monolithic and modular blockchains.","frontmatter":{"description":"Comparison between monolithic and modular blockchains.","head":[["meta",{"name":"og:title","content":"Monolithic vs. modular blockchains | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/monolithic-vs-modular.md","filePath":"learn/how-celestia-works/monolithic-vs-modular.md","lastUpdated":1705009966000}'),i={name:"learn/how-celestia-works/monolithic-vs-modular.md"},s=a("",9),r=[s];function l(c,h,m,d,u,p){return t(),o("div",null,r)}const b=e(i,[["render",l]]);export{g as __pageData,b as default}; +import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/learn/monolithic-modular.png",g=JSON.parse('{"title":"Monolithic vs. modular blockchains","description":"Comparison between monolithic and modular blockchains.","frontmatter":{"description":"Comparison between monolithic and modular blockchains.","head":[["meta",{"name":"og:title","content":"Monolithic vs. modular blockchains | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/monolithic-vs-modular.md","filePath":"learn/how-celestia-works/monolithic-vs-modular.md","lastUpdated":1705010189000}'),i={name:"learn/how-celestia-works/monolithic-vs-modular.md"},s=a("",9),r=[s];function l(c,h,m,d,u,p){return t(),o("div",null,r)}const b=e(i,[["render",l]]);export{g as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.56b57e18.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.f5b328f4.js similarity index 97% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.56b57e18.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.f5b328f4.js index e840a679b8..92b2558b4a 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.56b57e18.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.f5b328f4.js @@ -1 +1 @@ -import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Introduction | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/overview.md","filePath":"learn/how-celestia-works/overview.md","lastUpdated":1705009966000}'),i={name:"learn/how-celestia-works/overview.md"},n=r('

    Introduction

    Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.

    Celestia enables the next generation of scalable blockchain architectures - modular blockchains. Celestia scales by decoupling execution from consensus and introducing a new primitive, data availability sampling.

    The former entails that Celestia is only responsible for ordering transactions and guaranteeing their data availability; this is similar to reducing consensus to atomic broadcast.

    The latter provides an efficient solution to the data availability problem by only requiring resource-limited light nodes to sample a small number of random chunks from each block to verify data availability.

    Interestingly, more light nodes that participate in sampling increases the amount of data that the network can safely handle, enabling the block size to increase without equally increasing the cost to verify the chain.

    ',6),o=[n];function s(l,c,h,d,p,u){return a(),t("div",null,o)}const _=e(i,[["render",s]]);export{f as __pageData,_ as default}; +import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Introduction | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/overview.md","filePath":"learn/how-celestia-works/overview.md","lastUpdated":1705010189000}'),i={name:"learn/how-celestia-works/overview.md"},n=r('

    Introduction

    Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.

    Celestia enables the next generation of scalable blockchain architectures - modular blockchains. Celestia scales by decoupling execution from consensus and introducing a new primitive, data availability sampling.

    The former entails that Celestia is only responsible for ordering transactions and guaranteeing their data availability; this is similar to reducing consensus to atomic broadcast.

    The latter provides an efficient solution to the data availability problem by only requiring resource-limited light nodes to sample a small number of random chunks from each block to verify data availability.

    Interestingly, more light nodes that participate in sampling increases the amount of data that the network can safely handle, enabling the block size to increase without equally increasing the cost to verify the chain.

    ',6),o=[n];function s(l,c,h,d,p,u){return a(),t("div",null,o)}const _=e(i,[["render",s]]);export{f as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.56b57e18.lean.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.f5b328f4.lean.js similarity index 89% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.56b57e18.lean.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.f5b328f4.lean.js index 627d852ca5..a0599eaa2d 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.56b57e18.lean.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_overview.md.f5b328f4.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Introduction | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/overview.md","filePath":"learn/how-celestia-works/overview.md","lastUpdated":1705009966000}'),i={name:"learn/how-celestia-works/overview.md"},n=r("",6),o=[n];function s(l,c,h,d,p,u){return a(),t("div",null,o)}const _=e(i,[["render",s]]);export{f as __pageData,_ as default}; +import{_ as e,o as a,c as t,Q as r}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Introduction | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/overview.md","filePath":"learn/how-celestia-works/overview.md","lastUpdated":1705010189000}'),i={name:"learn/how-celestia-works/overview.md"},n=r("",6),o=[n];function s(l,c,h,d,p,u){return a(),t("div",null,o)}const _=e(i,[["render",s]]);export{f as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.305b3ba8.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.53956a18.js similarity index 99% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.305b3ba8.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.53956a18.js index 4dfe222009..4801afe835 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.305b3ba8.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.53956a18.js @@ -1 +1 @@ -import{_ as i}from"./chunks/tx-lifecycle.28ffad7b.js";import{_ as n,o as a,c as o,k as e,a as t,Q as s}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/learn/consensus-da.png",K=JSON.parse('{"title":"The lifecycle of a celestia-app transaction","description":"Learn what is the lifecycle of a celestia-app transaction.","frontmatter":{"description":"Learn what is the lifecycle of a celestia-app transaction.","head":[["meta",{"name":"og:title","content":"The lifecycle of a celestia-app transaction | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/transaction-lifecycle.md","filePath":"learn/how-celestia-works/transaction-lifecycle.md","lastUpdated":1705009966000}'),r={name:"learn/how-celestia-works/transaction-lifecycle.md"},c=s('

    The lifecycle of a celestia-app transaction

    Users request the celestia-app to make data available by sending PayForBlobs transactions. Every such transaction consists of the identity of the sender, the data to be made available, also referred to as the message, the data size, the namespace, and a signature. Every block producer batches multiple PayForBlobs transactions into a block.

    Before proposing the block though, the producer passes it to the state machine via ABCI++, where each PayForBlobs transaction is split into a namespaced message (denoted by Msg in the figure below), i.e., the data together with the namespace ID, and an executable transaction (denoted by e-Tx in the figure below) that does not contain the data, but only a commitment that can be used at a later time to prove that the data was indeed made available.

    Thus, the block data consists of data partitioned into namespaces and executable transactions. Note that only these transactions are executed by the Celestia state machine once the block is committed.

    Lifecycle of a celestia-app Transaction

    ',5),h=e("a",{href:"./data-availability-layer"},`described in the "Celestia's data availability layer" page`,-1),d={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},T={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},Q=s('',1),p=[Q],m=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),u=e("li",null,"It splits the executable transactions and the namespaced data into shares. Every share consists of some bytes prefixed by a namespace. To this end, the executable transactions are associated with a reserved namespace.",-1),_={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},g={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},f=s('',1),x=[f],w=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),b={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},y=s('',1),v=[y],L=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),H=e("li",null,"It computes a commitment for every row and column of the extended matrix using the NMTs described above.",-1),V=e("p",null,"Thus, the commitment of the block data is the root of a Merkle tree with the leaves the roots of a forest of Namespaced Merkle subtrees, one for every row and column of the extended matrix.",-1),M=e("h2",{id:"checking-data-availability",tabindex:"-1"},[t("Checking data availability "),e("a",{class:"header-anchor",href:"#checking-data-availability","aria-label":'Permalink to "Checking data availability"'},"​")],-1),A=e("p",null,[e("img",{src:l,alt:"DA network"})],-1),C=e("p",null,[t("To enhance connectivity, the celestia-node augments the celestia-app with a separate libp2p network, "),e("em",null,"i.e."),t(", the so-called "),e("em",null,"DA network"),t(", that serves DAS requests.")],-1),D={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},S={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},I=s('',1),P=[I],N=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),j=e("p",null,[t("Note that although it is recommended, performing DAS is optional -- light nodes could just trust that the data corresponding to the commitments in the block headers was indeed made available by the Celestia DA layer. In addition, light nodes can also submit transactions to the celestia-app, i.e., "),e("code",null,"PayForBlobs"),t(" transactions.")],-1),B=e("p",null,"While performing DAS for a block header, every light node queries Celestia Nodes for a number of random data chunks from the extended matrix and the corresponding Merkle proofs. If all the queries are successful, then the light node accepts the block header as valid (from a DA perspective).",-1),Z=e("p",null,"If at least one of the queries fails (i.e., either the data chunk is not received or the Merkle proof is invalid), then the light node rejects the block header and tries again later. The retrial is necessary to deal with false negatives, i.e., block headers being rejected although the block data is available. This may happen due to network congestion for example.",-1),q=e("p",null,[t("Alternatively, light nodes may accept a block header although the data is not available, i.e., a "),e("em",null,"false positive"),t(". This is possible since the soundness property (i.e., if an honest light node accepts a block as available, then at least one honest full node will eventually have the entire block data) is probabilistically guaranteed (for more details, take a look at the "),e("a",{href:"https://arxiv.org/abs/1809.09044",target:"_blank",rel:"noreferrer"},"original paper"),t(").")],-1),E=e("p",null,"By fine tuning Celestia's parameters (e.g., the number of data chunks sampled by each light node) the likelihood of false positives can be sufficiently reduced such that block producers have no incentive to withhold the block data.",-1);function z(R,J,F,G,$,U){return a(),o("div",null,[c,e("p",null,[t("Next, the block producer adds to the block header a commitment of the block data. As "),h,t(", the commitment is the Merkle root of the "),e("mjx-container",d,[(a(),o("svg",T,p)),m]),t(" intermediate Merkle roots (i.e., one for each row and column of the extended matrix). To compute this commitment, the block producer performs the following operations:")]),e("ul",null,[u,e("li",null,[t("It arranges these shares into a square matrix (row-wise). Note that the shares are padded to the next power of two. The outcome square of size "),e("mjx-container",_,[(a(),o("svg",g,x)),w]),t(" is referred to as the original data.")]),e("li",null,[t("It extends the original data to a "),e("mjx-container",b,[(a(),o("svg",k,v)),L]),t(" square matrix using the 2-dimensional Reed-Solomon encoding scheme described above. The extended shares (i.e., containing erasure data) are associated with another reserved namespace.")]),H]),V,M,A,C,e("p",null,[t("Light nodes connect to a celestia-node in the DA network, listen to extended block headers (i.e., the block headers together with the relevant DA metadata, such as the "),e("mjx-container",D,[(a(),o("svg",S,P)),N]),t(" intermediate Merkle roots), and perform DAS on the received headers (i.e., ask for random data chunks).")]),j,B,Z,q,E])}const X=n(r,[["render",z]]);export{K as __pageData,X as default}; +import{_ as i}from"./chunks/tx-lifecycle.28ffad7b.js";import{_ as n,o as a,c as o,k as e,a as t,Q as s}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/learn/consensus-da.png",K=JSON.parse('{"title":"The lifecycle of a celestia-app transaction","description":"Learn what is the lifecycle of a celestia-app transaction.","frontmatter":{"description":"Learn what is the lifecycle of a celestia-app transaction.","head":[["meta",{"name":"og:title","content":"The lifecycle of a celestia-app transaction | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/transaction-lifecycle.md","filePath":"learn/how-celestia-works/transaction-lifecycle.md","lastUpdated":1705010189000}'),r={name:"learn/how-celestia-works/transaction-lifecycle.md"},c=s('

    The lifecycle of a celestia-app transaction

    Users request the celestia-app to make data available by sending PayForBlobs transactions. Every such transaction consists of the identity of the sender, the data to be made available, also referred to as the message, the data size, the namespace, and a signature. Every block producer batches multiple PayForBlobs transactions into a block.

    Before proposing the block though, the producer passes it to the state machine via ABCI++, where each PayForBlobs transaction is split into a namespaced message (denoted by Msg in the figure below), i.e., the data together with the namespace ID, and an executable transaction (denoted by e-Tx in the figure below) that does not contain the data, but only a commitment that can be used at a later time to prove that the data was indeed made available.

    Thus, the block data consists of data partitioned into namespaces and executable transactions. Note that only these transactions are executed by the Celestia state machine once the block is committed.

    Lifecycle of a celestia-app Transaction

    ',5),h=e("a",{href:"./data-availability-layer"},`described in the "Celestia's data availability layer" page`,-1),d={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},T={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},Q=s('',1),p=[Q],m=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),u=e("li",null,"It splits the executable transactions and the namespaced data into shares. Every share consists of some bytes prefixed by a namespace. To this end, the executable transactions are associated with a reserved namespace.",-1),_={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},g={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},f=s('',1),x=[f],w=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),b={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},y=s('',1),v=[y],L=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),H=e("li",null,"It computes a commitment for every row and column of the extended matrix using the NMTs described above.",-1),V=e("p",null,"Thus, the commitment of the block data is the root of a Merkle tree with the leaves the roots of a forest of Namespaced Merkle subtrees, one for every row and column of the extended matrix.",-1),M=e("h2",{id:"checking-data-availability",tabindex:"-1"},[t("Checking data availability "),e("a",{class:"header-anchor",href:"#checking-data-availability","aria-label":'Permalink to "Checking data availability"'},"​")],-1),A=e("p",null,[e("img",{src:l,alt:"DA network"})],-1),C=e("p",null,[t("To enhance connectivity, the celestia-node augments the celestia-app with a separate libp2p network, "),e("em",null,"i.e."),t(", the so-called "),e("em",null,"DA network"),t(", that serves DAS requests.")],-1),D={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},S={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},I=s('',1),P=[I],N=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),j=e("p",null,[t("Note that although it is recommended, performing DAS is optional -- light nodes could just trust that the data corresponding to the commitments in the block headers was indeed made available by the Celestia DA layer. In addition, light nodes can also submit transactions to the celestia-app, i.e., "),e("code",null,"PayForBlobs"),t(" transactions.")],-1),B=e("p",null,"While performing DAS for a block header, every light node queries Celestia Nodes for a number of random data chunks from the extended matrix and the corresponding Merkle proofs. If all the queries are successful, then the light node accepts the block header as valid (from a DA perspective).",-1),Z=e("p",null,"If at least one of the queries fails (i.e., either the data chunk is not received or the Merkle proof is invalid), then the light node rejects the block header and tries again later. The retrial is necessary to deal with false negatives, i.e., block headers being rejected although the block data is available. This may happen due to network congestion for example.",-1),q=e("p",null,[t("Alternatively, light nodes may accept a block header although the data is not available, i.e., a "),e("em",null,"false positive"),t(". This is possible since the soundness property (i.e., if an honest light node accepts a block as available, then at least one honest full node will eventually have the entire block data) is probabilistically guaranteed (for more details, take a look at the "),e("a",{href:"https://arxiv.org/abs/1809.09044",target:"_blank",rel:"noreferrer"},"original paper"),t(").")],-1),E=e("p",null,"By fine tuning Celestia's parameters (e.g., the number of data chunks sampled by each light node) the likelihood of false positives can be sufficiently reduced such that block producers have no incentive to withhold the block data.",-1);function z(R,J,F,G,$,U){return a(),o("div",null,[c,e("p",null,[t("Next, the block producer adds to the block header a commitment of the block data. As "),h,t(", the commitment is the Merkle root of the "),e("mjx-container",d,[(a(),o("svg",T,p)),m]),t(" intermediate Merkle roots (i.e., one for each row and column of the extended matrix). To compute this commitment, the block producer performs the following operations:")]),e("ul",null,[u,e("li",null,[t("It arranges these shares into a square matrix (row-wise). Note that the shares are padded to the next power of two. The outcome square of size "),e("mjx-container",_,[(a(),o("svg",g,x)),w]),t(" is referred to as the original data.")]),e("li",null,[t("It extends the original data to a "),e("mjx-container",b,[(a(),o("svg",k,v)),L]),t(" square matrix using the 2-dimensional Reed-Solomon encoding scheme described above. The extended shares (i.e., containing erasure data) are associated with another reserved namespace.")]),H]),V,M,A,C,e("p",null,[t("Light nodes connect to a celestia-node in the DA network, listen to extended block headers (i.e., the block headers together with the relevant DA metadata, such as the "),e("mjx-container",D,[(a(),o("svg",S,P)),N]),t(" intermediate Merkle roots), and perform DAS on the received headers (i.e., ask for random data chunks).")]),j,B,Z,q,E])}const X=n(r,[["render",z]]);export{K as __pageData,X as default}; diff --git a/pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.305b3ba8.lean.js b/pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.53956a18.lean.js similarity index 99% rename from pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.305b3ba8.lean.js rename to pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.53956a18.lean.js index 1ad54aa997..fd0fda3f18 100644 --- a/pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.305b3ba8.lean.js +++ b/pr-preview/pr-1358/assets/learn_how-celestia-works_transaction-lifecycle.md.53956a18.lean.js @@ -1 +1 @@ -import{_ as i}from"./chunks/tx-lifecycle.28ffad7b.js";import{_ as n,o as a,c as o,k as e,a as t,Q as s}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/learn/consensus-da.png",K=JSON.parse('{"title":"The lifecycle of a celestia-app transaction","description":"Learn what is the lifecycle of a celestia-app transaction.","frontmatter":{"description":"Learn what is the lifecycle of a celestia-app transaction.","head":[["meta",{"name":"og:title","content":"The lifecycle of a celestia-app transaction | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/transaction-lifecycle.md","filePath":"learn/how-celestia-works/transaction-lifecycle.md","lastUpdated":1705009966000}'),r={name:"learn/how-celestia-works/transaction-lifecycle.md"},c=s("",5),h=e("a",{href:"./data-availability-layer"},`described in the "Celestia's data availability layer" page`,-1),d={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},T={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},Q=s("",1),p=[Q],m=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),u=e("li",null,"It splits the executable transactions and the namespaced data into shares. Every share consists of some bytes prefixed by a namespace. To this end, the executable transactions are associated with a reserved namespace.",-1),_={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},g={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},f=s("",1),x=[f],w=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),b={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},y=s("",1),v=[y],L=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),H=e("li",null,"It computes a commitment for every row and column of the extended matrix using the NMTs described above.",-1),V=e("p",null,"Thus, the commitment of the block data is the root of a Merkle tree with the leaves the roots of a forest of Namespaced Merkle subtrees, one for every row and column of the extended matrix.",-1),M=e("h2",{id:"checking-data-availability",tabindex:"-1"},[t("Checking data availability "),e("a",{class:"header-anchor",href:"#checking-data-availability","aria-label":'Permalink to "Checking data availability"'},"​")],-1),A=e("p",null,[e("img",{src:l,alt:"DA network"})],-1),C=e("p",null,[t("To enhance connectivity, the celestia-node augments the celestia-app with a separate libp2p network, "),e("em",null,"i.e."),t(", the so-called "),e("em",null,"DA network"),t(", that serves DAS requests.")],-1),D={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},S={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},I=s("",1),P=[I],N=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),j=e("p",null,[t("Note that although it is recommended, performing DAS is optional -- light nodes could just trust that the data corresponding to the commitments in the block headers was indeed made available by the Celestia DA layer. In addition, light nodes can also submit transactions to the celestia-app, i.e., "),e("code",null,"PayForBlobs"),t(" transactions.")],-1),B=e("p",null,"While performing DAS for a block header, every light node queries Celestia Nodes for a number of random data chunks from the extended matrix and the corresponding Merkle proofs. If all the queries are successful, then the light node accepts the block header as valid (from a DA perspective).",-1),Z=e("p",null,"If at least one of the queries fails (i.e., either the data chunk is not received or the Merkle proof is invalid), then the light node rejects the block header and tries again later. The retrial is necessary to deal with false negatives, i.e., block headers being rejected although the block data is available. This may happen due to network congestion for example.",-1),q=e("p",null,[t("Alternatively, light nodes may accept a block header although the data is not available, i.e., a "),e("em",null,"false positive"),t(". This is possible since the soundness property (i.e., if an honest light node accepts a block as available, then at least one honest full node will eventually have the entire block data) is probabilistically guaranteed (for more details, take a look at the "),e("a",{href:"https://arxiv.org/abs/1809.09044",target:"_blank",rel:"noreferrer"},"original paper"),t(").")],-1),E=e("p",null,"By fine tuning Celestia's parameters (e.g., the number of data chunks sampled by each light node) the likelihood of false positives can be sufficiently reduced such that block producers have no incentive to withhold the block data.",-1);function z(R,J,F,G,$,U){return a(),o("div",null,[c,e("p",null,[t("Next, the block producer adds to the block header a commitment of the block data. As "),h,t(", the commitment is the Merkle root of the "),e("mjx-container",d,[(a(),o("svg",T,p)),m]),t(" intermediate Merkle roots (i.e., one for each row and column of the extended matrix). To compute this commitment, the block producer performs the following operations:")]),e("ul",null,[u,e("li",null,[t("It arranges these shares into a square matrix (row-wise). Note that the shares are padded to the next power of two. The outcome square of size "),e("mjx-container",_,[(a(),o("svg",g,x)),w]),t(" is referred to as the original data.")]),e("li",null,[t("It extends the original data to a "),e("mjx-container",b,[(a(),o("svg",k,v)),L]),t(" square matrix using the 2-dimensional Reed-Solomon encoding scheme described above. The extended shares (i.e., containing erasure data) are associated with another reserved namespace.")]),H]),V,M,A,C,e("p",null,[t("Light nodes connect to a celestia-node in the DA network, listen to extended block headers (i.e., the block headers together with the relevant DA metadata, such as the "),e("mjx-container",D,[(a(),o("svg",S,P)),N]),t(" intermediate Merkle roots), and perform DAS on the received headers (i.e., ask for random data chunks).")]),j,B,Z,q,E])}const X=n(r,[["render",z]]);export{K as __pageData,X as default}; +import{_ as i}from"./chunks/tx-lifecycle.28ffad7b.js";import{_ as n,o as a,c as o,k as e,a as t,Q as s}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/learn/consensus-da.png",K=JSON.parse('{"title":"The lifecycle of a celestia-app transaction","description":"Learn what is the lifecycle of a celestia-app transaction.","frontmatter":{"description":"Learn what is the lifecycle of a celestia-app transaction.","head":[["meta",{"name":"og:title","content":"The lifecycle of a celestia-app transaction | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/how-celestia-works/transaction-lifecycle.md","filePath":"learn/how-celestia-works/transaction-lifecycle.md","lastUpdated":1705010189000}'),r={name:"learn/how-celestia-works/transaction-lifecycle.md"},c=s("",5),h=e("a",{href:"./data-availability-layer"},`described in the "Celestia's data availability layer" page`,-1),d={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},T={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},Q=s("",1),p=[Q],m=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),u=e("li",null,"It splits the executable transactions and the namespaced data into shares. Every share consists of some bytes prefixed by a namespace. To this end, the executable transactions are associated with a reserved namespace.",-1),_={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},g={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.123ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 2264.4 705","aria-hidden":"true"},f=s("",1),x=[f],w=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mi",null,"k"),e("mo",null,"×"),e("mi",null,"k")])],-1),b={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"7.386ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 3264.4 705","aria-hidden":"true"},y=s("",1),v=[y],L=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"2"),e("mi",null,"k"),e("mo",null,"×"),e("mn",null,"2"),e("mi",null,"k")])],-1),H=e("li",null,"It computes a commitment for every row and column of the extended matrix using the NMTs described above.",-1),V=e("p",null,"Thus, the commitment of the block data is the root of a Merkle tree with the leaves the roots of a forest of Namespaced Merkle subtrees, one for every row and column of the extended matrix.",-1),M=e("h2",{id:"checking-data-availability",tabindex:"-1"},[t("Checking data availability "),e("a",{class:"header-anchor",href:"#checking-data-availability","aria-label":'Permalink to "Checking data availability"'},"​")],-1),A=e("p",null,[e("img",{src:l,alt:"DA network"})],-1),C=e("p",null,[t("To enhance connectivity, the celestia-node augments the celestia-app with a separate libp2p network, "),e("em",null,"i.e."),t(", the so-called "),e("em",null,"DA network"),t(", that serves DAS requests.")],-1),D={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},S={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.31ex",height:"1.595ex",role:"img",focusable:"false",viewBox:"0 -694 1021 705","aria-hidden":"true"},I=s("",1),P=[I],N=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mn",null,"4"),e("mi",null,"k")])],-1),j=e("p",null,[t("Note that although it is recommended, performing DAS is optional -- light nodes could just trust that the data corresponding to the commitments in the block headers was indeed made available by the Celestia DA layer. In addition, light nodes can also submit transactions to the celestia-app, i.e., "),e("code",null,"PayForBlobs"),t(" transactions.")],-1),B=e("p",null,"While performing DAS for a block header, every light node queries Celestia Nodes for a number of random data chunks from the extended matrix and the corresponding Merkle proofs. If all the queries are successful, then the light node accepts the block header as valid (from a DA perspective).",-1),Z=e("p",null,"If at least one of the queries fails (i.e., either the data chunk is not received or the Merkle proof is invalid), then the light node rejects the block header and tries again later. The retrial is necessary to deal with false negatives, i.e., block headers being rejected although the block data is available. This may happen due to network congestion for example.",-1),q=e("p",null,[t("Alternatively, light nodes may accept a block header although the data is not available, i.e., a "),e("em",null,"false positive"),t(". This is possible since the soundness property (i.e., if an honest light node accepts a block as available, then at least one honest full node will eventually have the entire block data) is probabilistically guaranteed (for more details, take a look at the "),e("a",{href:"https://arxiv.org/abs/1809.09044",target:"_blank",rel:"noreferrer"},"original paper"),t(").")],-1),E=e("p",null,"By fine tuning Celestia's parameters (e.g., the number of data chunks sampled by each light node) the likelihood of false positives can be sufficiently reduced such that block producers have no incentive to withhold the block data.",-1);function z(R,J,F,G,$,U){return a(),o("div",null,[c,e("p",null,[t("Next, the block producer adds to the block header a commitment of the block data. As "),h,t(", the commitment is the Merkle root of the "),e("mjx-container",d,[(a(),o("svg",T,p)),m]),t(" intermediate Merkle roots (i.e., one for each row and column of the extended matrix). To compute this commitment, the block producer performs the following operations:")]),e("ul",null,[u,e("li",null,[t("It arranges these shares into a square matrix (row-wise). Note that the shares are padded to the next power of two. The outcome square of size "),e("mjx-container",_,[(a(),o("svg",g,x)),w]),t(" is referred to as the original data.")]),e("li",null,[t("It extends the original data to a "),e("mjx-container",b,[(a(),o("svg",k,v)),L]),t(" square matrix using the 2-dimensional Reed-Solomon encoding scheme described above. The extended shares (i.e., containing erasure data) are associated with another reserved namespace.")]),H]),V,M,A,C,e("p",null,[t("Light nodes connect to a celestia-node in the DA network, listen to extended block headers (i.e., the block headers together with the relevant DA metadata, such as the "),e("mjx-container",D,[(a(),o("svg",S,P)),N]),t(" intermediate Merkle roots), and perform DAS on the received headers (i.e., ask for random data chunks).")]),j,B,Z,q,E])}const X=n(r,[["render",z]]);export{K as __pageData,X as default}; diff --git a/pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.96090a9e.js b/pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.75d7f3dd.js similarity index 97% rename from pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.96090a9e.js rename to pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.75d7f3dd.js index c2d07a64f1..6525aa3249 100644 --- a/pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.96090a9e.js +++ b/pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.75d7f3dd.js @@ -1 +1 @@ -import{_ as e}from"./chunks/tx-lifecycle.28ffad7b.js";import{_ as a,o as t,c as o,Q as i}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Paying for blobspace","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Paying for blobspace | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/paying-for-blobspace.md","filePath":"learn/paying-for-blobspace.md","lastUpdated":1705009966000}'),s={name:"learn/paying-for-blobspace.md"},n=i('

    Paying for blobspace

    PayForBlobs transactions

    To publish data on Celestia, developers can submit PayForBlobs transactions. A PayForBlobs transaction consists of the identity of the sender, the data to be made available, the data size, the namespace, and a signature.

    Each PayForBlobs transaction is split into two parts: the blob or blobs which include the data to be made available along with the namespace, and the executable payment transaction which includes a commitment to the data.

    Both the blobs and executable payment transactions are put into the block within the appropriate namespace. The block data is extended using erasure coding and then Merkelized into a data root commitment included in the block header.

    Lifecycle of a celestia-app Transaction

    See the detailed life cycle of a Celestia transaction.

    Learn how to submit data to Celestia’s data availability layer.

    Fee market overview

    Celestia uses a standard gas-price prioritised mempool. This means that transactions with higher fees will be prioritised by validators. Fees are comprised of a flat fee per transaction and then a variable fee based on the size of each blob in the transaction.

    Understand how fees are calculated on Celestia in the overview on submitting PFB transactions.

    ',11),r=[n];function c(l,d,p,h,b,m){return t(),o("div",null,r)}const y=a(s,[["render",c]]);export{u as __pageData,y as default}; +import{_ as e}from"./chunks/tx-lifecycle.28ffad7b.js";import{_ as a,o as t,c as o,Q as i}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Paying for blobspace","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Paying for blobspace | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/paying-for-blobspace.md","filePath":"learn/paying-for-blobspace.md","lastUpdated":1705010189000}'),s={name:"learn/paying-for-blobspace.md"},n=i('

    Paying for blobspace

    PayForBlobs transactions

    To publish data on Celestia, developers can submit PayForBlobs transactions. A PayForBlobs transaction consists of the identity of the sender, the data to be made available, the data size, the namespace, and a signature.

    Each PayForBlobs transaction is split into two parts: the blob or blobs which include the data to be made available along with the namespace, and the executable payment transaction which includes a commitment to the data.

    Both the blobs and executable payment transactions are put into the block within the appropriate namespace. The block data is extended using erasure coding and then Merkelized into a data root commitment included in the block header.

    Lifecycle of a celestia-app Transaction

    See the detailed life cycle of a Celestia transaction.

    Learn how to submit data to Celestia’s data availability layer.

    Fee market overview

    Celestia uses a standard gas-price prioritised mempool. This means that transactions with higher fees will be prioritised by validators. Fees are comprised of a flat fee per transaction and then a variable fee based on the size of each blob in the transaction.

    Understand how fees are calculated on Celestia in the overview on submitting PFB transactions.

    ',11),r=[n];function c(l,d,p,h,b,m){return t(),o("div",null,r)}const y=a(s,[["render",c]]);export{u as __pageData,y as default}; diff --git a/pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.96090a9e.lean.js b/pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.75d7f3dd.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.96090a9e.lean.js rename to pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.75d7f3dd.lean.js index 2d00e6536e..3171985dc0 100644 --- a/pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.96090a9e.lean.js +++ b/pr-preview/pr-1358/assets/learn_paying-for-blobspace.md.75d7f3dd.lean.js @@ -1 +1 @@ -import{_ as e}from"./chunks/tx-lifecycle.28ffad7b.js";import{_ as a,o as t,c as o,Q as i}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Paying for blobspace","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Paying for blobspace | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/paying-for-blobspace.md","filePath":"learn/paying-for-blobspace.md","lastUpdated":1705009966000}'),s={name:"learn/paying-for-blobspace.md"},n=i("",11),r=[n];function c(l,d,p,h,b,m){return t(),o("div",null,r)}const y=a(s,[["render",c]]);export{u as __pageData,y as default}; +import{_ as e}from"./chunks/tx-lifecycle.28ffad7b.js";import{_ as a,o as t,c as o,Q as i}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Paying for blobspace","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Paying for blobspace | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/paying-for-blobspace.md","filePath":"learn/paying-for-blobspace.md","lastUpdated":1705010189000}'),s={name:"learn/paying-for-blobspace.md"},n=i("",11),r=[n];function c(l,d,p,h,b,m){return t(),o("div",null,r)}const y=a(s,[["render",c]]);export{u as __pageData,y as default}; diff --git a/pr-preview/pr-1358/assets/learn_staking-governance-supply.md.73331605.js b/pr-preview/pr-1358/assets/learn_staking-governance-supply.md.96bf0c6c.js similarity index 99% rename from pr-preview/pr-1358/assets/learn_staking-governance-supply.md.73331605.js rename to pr-preview/pr-1358/assets/learn_staking-governance-supply.md.96bf0c6c.js index a31ddee86c..995d08d106 100644 --- a/pr-preview/pr-1358/assets/learn_staking-governance-supply.md.73331605.js +++ b/pr-preview/pr-1358/assets/learn_staking-governance-supply.md.96bf0c6c.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/learn/Celestia_TIA_Inflation.png",n="/pr-preview/pr-1358/img/learn/Celestia_TIA_Allocation_at_Genesis.png",s="/pr-preview/pr-1358/img/learn/Celestia_TIA_Available_Supply.png",k=JSON.parse('{"title":"Staking, governance, & supply","description":"Learn about proof-of-stake on Celestia","frontmatter":{"description":"Learn about proof-of-stake on Celestia","head":[["meta",{"name":"og:title","content":"Staking, governance, & supply | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/staking-governance-supply.md","filePath":"learn/staking-governance-supply.md","lastUpdated":1705009966000}'),i={name:"learn/staking-governance-supply.md"},l=o('

    Staking, governance, & supply

    Proof-of-stake on Celestia

    Celestia is a proof-of-stake blockchain based on CometBFT and the Cosmos SDK. Celestia supports in-protocol delegation and will start with an initial validator set of 100.

    Staking TIA as a validator or delegator enables you to earn staking rewards from the network. Validators charge a fee to delegators which gives them a percentage of staking rewards.

    Learn how proof of stake works on Cosmos SDK chains like Celestia.

    Consensus mechanismProof-of-stake
    Blockchain frameworkCosmos SDK
    Validator set size100
    Delegation supportYes

    Learn how to stake on your own at the community dashboards.

    Inflation

    TIA inflation starts at 8% annually and decreases by 10% every year until it reaches the long term issuance rate of 1.5%. Exact annual inflation rates can be found in the diagram below.

    inflation diagram

    The annual provisions for inflation are calculated based on the total supply of TIA at the beginning of each year. To calculate how many TIA to issue per block, Celestia uses the block timestamp rather than the block height since the time between blocks can vary and cause actual issuance to be higher than the target.

    For an in-depth understanding, refer to ADR019.

    Decentralised governance

    Network parameters

    TIA holders (not just stakers) can propose and vote on governance proposals to change a subset of network parameters. To learn more, see a complete list of both the changeable and non-changeable parameters and their values. Additionally, learn how to submit and vote on governance proposals.

    Community pool

    Starting at genesis, Celestia’s community pool receives 2% of all Celestia block rewards. TIA stakers may vote to fund ecosystem initiatives as in many other Cosmos SDK chains.

    Learn how to submit a governance proposal to spend community pool funds .

    TIA allocation at genesis

    Celestia will have a total supply of 1,000,000,000 TIA at genesis, split across five categories described in the chart and table below.

    allocation diagram

    CategoryDescription%
    Public AllocationGenesis Drop and Incentivized Testnet: 7.4%
    Future initiatives: 12.6%
    20%
    R&D & EcosystemTokens allocated to the Celestia Foundation and core devs for research, development, and ecosystem initiatives including:
    - Protocol maintenance and development
    - Programs for rollup developers, infrastructure, and node operators
    26.8%
    Early Backers: Series A&BEarly supporters of Celestia19.7%
    Early Backers: SeedEarly supporters of Celestia15.9%
    Initial Core ContributorsMembers of Celestia Labs, the first core contributor to Celestia17.6%

    Unlocks

    Celestia’s 1 billion TIA supply at genesis will be subject to several different unlock schedules. All tokens, locked or unlocked, may be staked, but staking rewards are unlocked upon receipt and will add to the circulating supply.

    Circulating supply is defined as the amount of TIA tokens in general circulation without onchain transfer restrictions.

    Available supply is defined as the amount of TIA tokens that are either part of the circulating supply or are unlocked but subject to some form of governance to determine when the tokens are allocated. This includes the unlocked portion of the R&D & Ecosystem tokens and the tokens set aside for future initiatives.

    The definitions for circulating and available supply were adapted from Optimism’s definitions.

    supply diagram

    Unlock schedule by category is described in the table below.

    CategoryUnlock Schedule
    Public AllocationFully unlocked at launch.
    R&D & Ecosystem25% unlocked at launch.
    Remaining 75% unlocks continuously from year 1 to year 4.
    Initial Core Contributors33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 3.
    Early Backers: Seed33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 2.
    Early Backers: Series A&B33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 2.
    ',30),d=[l];function c(p,h,u,m,f,g){return t(),a("div",null,d)}const y=e(i,[["render",c]]);export{k as __pageData,y as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/learn/Celestia_TIA_Inflation.png",n="/pr-preview/pr-1358/img/learn/Celestia_TIA_Allocation_at_Genesis.png",s="/pr-preview/pr-1358/img/learn/Celestia_TIA_Available_Supply.png",k=JSON.parse('{"title":"Staking, governance, & supply","description":"Learn about proof-of-stake on Celestia","frontmatter":{"description":"Learn about proof-of-stake on Celestia","head":[["meta",{"name":"og:title","content":"Staking, governance, & supply | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/staking-governance-supply.md","filePath":"learn/staking-governance-supply.md","lastUpdated":1705010189000}'),i={name:"learn/staking-governance-supply.md"},l=o('

    Staking, governance, & supply

    Proof-of-stake on Celestia

    Celestia is a proof-of-stake blockchain based on CometBFT and the Cosmos SDK. Celestia supports in-protocol delegation and will start with an initial validator set of 100.

    Staking TIA as a validator or delegator enables you to earn staking rewards from the network. Validators charge a fee to delegators which gives them a percentage of staking rewards.

    Learn how proof of stake works on Cosmos SDK chains like Celestia.

    Consensus mechanismProof-of-stake
    Blockchain frameworkCosmos SDK
    Validator set size100
    Delegation supportYes

    Learn how to stake on your own at the community dashboards.

    Inflation

    TIA inflation starts at 8% annually and decreases by 10% every year until it reaches the long term issuance rate of 1.5%. Exact annual inflation rates can be found in the diagram below.

    inflation diagram

    The annual provisions for inflation are calculated based on the total supply of TIA at the beginning of each year. To calculate how many TIA to issue per block, Celestia uses the block timestamp rather than the block height since the time between blocks can vary and cause actual issuance to be higher than the target.

    For an in-depth understanding, refer to ADR019.

    Decentralised governance

    Network parameters

    TIA holders (not just stakers) can propose and vote on governance proposals to change a subset of network parameters. To learn more, see a complete list of both the changeable and non-changeable parameters and their values. Additionally, learn how to submit and vote on governance proposals.

    Community pool

    Starting at genesis, Celestia’s community pool receives 2% of all Celestia block rewards. TIA stakers may vote to fund ecosystem initiatives as in many other Cosmos SDK chains.

    Learn how to submit a governance proposal to spend community pool funds .

    TIA allocation at genesis

    Celestia will have a total supply of 1,000,000,000 TIA at genesis, split across five categories described in the chart and table below.

    allocation diagram

    CategoryDescription%
    Public AllocationGenesis Drop and Incentivized Testnet: 7.4%
    Future initiatives: 12.6%
    20%
    R&D & EcosystemTokens allocated to the Celestia Foundation and core devs for research, development, and ecosystem initiatives including:
    - Protocol maintenance and development
    - Programs for rollup developers, infrastructure, and node operators
    26.8%
    Early Backers: Series A&BEarly supporters of Celestia19.7%
    Early Backers: SeedEarly supporters of Celestia15.9%
    Initial Core ContributorsMembers of Celestia Labs, the first core contributor to Celestia17.6%

    Unlocks

    Celestia’s 1 billion TIA supply at genesis will be subject to several different unlock schedules. All tokens, locked or unlocked, may be staked, but staking rewards are unlocked upon receipt and will add to the circulating supply.

    Circulating supply is defined as the amount of TIA tokens in general circulation without onchain transfer restrictions.

    Available supply is defined as the amount of TIA tokens that are either part of the circulating supply or are unlocked but subject to some form of governance to determine when the tokens are allocated. This includes the unlocked portion of the R&D & Ecosystem tokens and the tokens set aside for future initiatives.

    The definitions for circulating and available supply were adapted from Optimism’s definitions.

    supply diagram

    Unlock schedule by category is described in the table below.

    CategoryUnlock Schedule
    Public AllocationFully unlocked at launch.
    R&D & Ecosystem25% unlocked at launch.
    Remaining 75% unlocks continuously from year 1 to year 4.
    Initial Core Contributors33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 3.
    Early Backers: Seed33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 2.
    Early Backers: Series A&B33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 2.
    ',30),d=[l];function c(p,h,u,m,f,g){return t(),a("div",null,d)}const y=e(i,[["render",c]]);export{k as __pageData,y as default}; diff --git a/pr-preview/pr-1358/assets/learn_staking-governance-supply.md.73331605.lean.js b/pr-preview/pr-1358/assets/learn_staking-governance-supply.md.96bf0c6c.lean.js similarity index 93% rename from pr-preview/pr-1358/assets/learn_staking-governance-supply.md.73331605.lean.js rename to pr-preview/pr-1358/assets/learn_staking-governance-supply.md.96bf0c6c.lean.js index 013b138da8..2d51507490 100644 --- a/pr-preview/pr-1358/assets/learn_staking-governance-supply.md.73331605.lean.js +++ b/pr-preview/pr-1358/assets/learn_staking-governance-supply.md.96bf0c6c.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/learn/Celestia_TIA_Inflation.png",n="/pr-preview/pr-1358/img/learn/Celestia_TIA_Allocation_at_Genesis.png",s="/pr-preview/pr-1358/img/learn/Celestia_TIA_Available_Supply.png",k=JSON.parse('{"title":"Staking, governance, & supply","description":"Learn about proof-of-stake on Celestia","frontmatter":{"description":"Learn about proof-of-stake on Celestia","head":[["meta",{"name":"og:title","content":"Staking, governance, & supply | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/staking-governance-supply.md","filePath":"learn/staking-governance-supply.md","lastUpdated":1705009966000}'),i={name:"learn/staking-governance-supply.md"},l=o("",30),d=[l];function c(p,h,u,m,f,g){return t(),a("div",null,d)}const y=e(i,[["render",c]]);export{k as __pageData,y as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const r="/pr-preview/pr-1358/img/learn/Celestia_TIA_Inflation.png",n="/pr-preview/pr-1358/img/learn/Celestia_TIA_Allocation_at_Genesis.png",s="/pr-preview/pr-1358/img/learn/Celestia_TIA_Available_Supply.png",k=JSON.parse('{"title":"Staking, governance, & supply","description":"Learn about proof-of-stake on Celestia","frontmatter":{"description":"Learn about proof-of-stake on Celestia","head":[["meta",{"name":"og:title","content":"Staking, governance, & supply | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/staking-governance-supply.md","filePath":"learn/staking-governance-supply.md","lastUpdated":1705010189000}'),i={name:"learn/staking-governance-supply.md"},l=o("",30),d=[l];function c(p,h,u,m,f,g){return t(),a("div",null,d)}const y=e(i,[["render",c]]);export{k as __pageData,y as default}; diff --git a/pr-preview/pr-1358/assets/learn_tia.md.1511c563.js b/pr-preview/pr-1358/assets/learn_tia.md.13ceca34.js similarity index 99% rename from pr-preview/pr-1358/assets/learn_tia.md.1511c563.js rename to pr-preview/pr-1358/assets/learn_tia.md.13ceca34.js index 8e0e3459fe..64ea42cc90 100644 --- a/pr-preview/pr-1358/assets/learn_tia.md.1511c563.js +++ b/pr-preview/pr-1358/assets/learn_tia.md.13ceca34.js @@ -1 +1 @@ -import{_ as s,o as t,c as e,k as a,a as o,Q as n}from"./chunks/framework.2263f03b.js";const A=JSON.parse('{"title":"Overview of TIA","description":"","frontmatter":{"prev":{"text":"Data availability FAQ","link":"/learn/how-celestia-works/data-availability-faq"},"head":[["meta",{"name":"og:title","content":"Overview of TIA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/tia.md","filePath":"learn/tia.md","lastUpdated":1705009966000}'),i={name:"learn/tia.md"},r=a("h1",{id:"overview-of-tia",tabindex:"-1"},[o("Overview of TIA "),a("a",{class:"header-anchor",href:"#overview-of-tia","aria-label":'Permalink to "Overview of TIA"'},"​")],-1),l=a("h2",{id:"tia-at-a-glance",tabindex:"-1"},[o("TIA at a glance "),a("a",{class:"header-anchor",href:"#tia-at-a-glance","aria-label":'Permalink to "TIA at a glance"'},"​")],-1),d=a("thead",null,[a("tr",null,[a("th",null,"Property"),a("th",null,"Details")])],-1),c=a("tr",null,[a("td",null,"Abbreviation"),a("td",null,"TIA")],-1),h=a("tr",null,[a("td",null,"Total supply at genesis"),a("td",null,"1,000,000,000 TIA")],-1),Q=a("tr",null,[a("td",null,"Inflation schedule"),a("td",null,"8% in the first year, decreasing 10% per year until reaching an inflation floor of 1.5% annually")],-1),p=a("tr",null,[a("td",null,"Decimals"),a("td",null,"6")],-1),T=a("td",null,"Conversion",-1),m={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.526ex",height:"2.14ex",role:"img",focusable:"false",viewBox:"0 -864 9514.7 946","aria-hidden":"true"},f=n('',1),g=[f],H=a("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mtext",null,"1 uTIA"),a("mo",null,"="),a("mtext",null,"TIA"),a("mo",null,"×"),a("msup",null,[a("mn",null,"10"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"6")])])])],-1),k=n('

    Role of TIA

    Paying for blobspace

    Celestia’s native asset, TIA, is an essential part of how developers build on the first modular blockchain network. To use Celestia for data availability, rollup developers submit PayForBlobs transactions on the network for a fee, denominated in TIA.

    Bootstrapping new rollups

    A core part of the Celestia vision is that deploying a blockchain should be as easy as deploying a smart contract. In the modular era, developers no longer need to issue a token to launch their own blockchain.

    Similarly to ETH on Ethereum-based rollups, developers may opt to bootstrap their chain quickly by using TIA as a gas token and currency, in addition to paying for data availability. In this mode, developers can focus on creating their application or execution layer, instead of issuing a token right away.

    Proof-of-stake

    As a permissionless network built with Cosmos SDK, Celestia uses proof-of-stake to secure its own consensus. Like in other Cosmos networks, any user can help secure the network by delegating their TIA to a Celestia validator for a portion of their validator’s staking rewards.

    Learn how proof-of-stake works in Cosmos.

    Decentralised governance

    TIA staking also allows the community to play a critical role in decentralised governance over key parts of Celestia, such as voting on network parameters through governance proposals, and governing the community pool, which receives 2% of block rewards.

    Learn more about Celestia’s decentralised governance model.

    Denominations

    TIA: display token

    TIA is the DisplayDenom that you will typically see in wallets and user interfaces.

    utia: staking denomination

    utia is the BondDenom and stands for "micro TIA", with 1 TIA = 1,000,000 utia. This is the native staking denomination.

    In staking operations or transactions, if no denomination is specified, utia is assumed.

    microtia: staking denomination alias

    microtia is the BondDenomAlias, an alias for utia.

    ',20);function b(_,w,V,y,v,x){return t(),e("div",null,[r,l,a("table",null,[d,a("tbody",null,[c,h,Q,p,a("tr",null,[T,a("td",null,[a("mjx-container",m,[(t(),e("svg",u,g)),H])])])])]),k])}const I=s(i,[["render",b]]);export{A as __pageData,I as default}; +import{_ as s,o as t,c as e,k as a,a as o,Q as n}from"./chunks/framework.2263f03b.js";const A=JSON.parse('{"title":"Overview of TIA","description":"","frontmatter":{"prev":{"text":"Data availability FAQ","link":"/learn/how-celestia-works/data-availability-faq"},"head":[["meta",{"name":"og:title","content":"Overview of TIA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/tia.md","filePath":"learn/tia.md","lastUpdated":1705010189000}'),i={name:"learn/tia.md"},r=a("h1",{id:"overview-of-tia",tabindex:"-1"},[o("Overview of TIA "),a("a",{class:"header-anchor",href:"#overview-of-tia","aria-label":'Permalink to "Overview of TIA"'},"​")],-1),l=a("h2",{id:"tia-at-a-glance",tabindex:"-1"},[o("TIA at a glance "),a("a",{class:"header-anchor",href:"#tia-at-a-glance","aria-label":'Permalink to "TIA at a glance"'},"​")],-1),d=a("thead",null,[a("tr",null,[a("th",null,"Property"),a("th",null,"Details")])],-1),c=a("tr",null,[a("td",null,"Abbreviation"),a("td",null,"TIA")],-1),h=a("tr",null,[a("td",null,"Total supply at genesis"),a("td",null,"1,000,000,000 TIA")],-1),Q=a("tr",null,[a("td",null,"Inflation schedule"),a("td",null,"8% in the first year, decreasing 10% per year until reaching an inflation floor of 1.5% annually")],-1),p=a("tr",null,[a("td",null,"Decimals"),a("td",null,"6")],-1),T=a("td",null,"Conversion",-1),m={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.526ex",height:"2.14ex",role:"img",focusable:"false",viewBox:"0 -864 9514.7 946","aria-hidden":"true"},f=n('',1),g=[f],H=a("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mtext",null,"1 uTIA"),a("mo",null,"="),a("mtext",null,"TIA"),a("mo",null,"×"),a("msup",null,[a("mn",null,"10"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"6")])])])],-1),k=n('

    Role of TIA

    Paying for blobspace

    Celestia’s native asset, TIA, is an essential part of how developers build on the first modular blockchain network. To use Celestia for data availability, rollup developers submit PayForBlobs transactions on the network for a fee, denominated in TIA.

    Bootstrapping new rollups

    A core part of the Celestia vision is that deploying a blockchain should be as easy as deploying a smart contract. In the modular era, developers no longer need to issue a token to launch their own blockchain.

    Similarly to ETH on Ethereum-based rollups, developers may opt to bootstrap their chain quickly by using TIA as a gas token and currency, in addition to paying for data availability. In this mode, developers can focus on creating their application or execution layer, instead of issuing a token right away.

    Proof-of-stake

    As a permissionless network built with Cosmos SDK, Celestia uses proof-of-stake to secure its own consensus. Like in other Cosmos networks, any user can help secure the network by delegating their TIA to a Celestia validator for a portion of their validator’s staking rewards.

    Learn how proof-of-stake works in Cosmos.

    Decentralised governance

    TIA staking also allows the community to play a critical role in decentralised governance over key parts of Celestia, such as voting on network parameters through governance proposals, and governing the community pool, which receives 2% of block rewards.

    Learn more about Celestia’s decentralised governance model.

    Denominations

    TIA: display token

    TIA is the DisplayDenom that you will typically see in wallets and user interfaces.

    utia: staking denomination

    utia is the BondDenom and stands for "micro TIA", with 1 TIA = 1,000,000 utia. This is the native staking denomination.

    In staking operations or transactions, if no denomination is specified, utia is assumed.

    microtia: staking denomination alias

    microtia is the BondDenomAlias, an alias for utia.

    ',20);function b(_,w,V,y,v,x){return t(),e("div",null,[r,l,a("table",null,[d,a("tbody",null,[c,h,Q,p,a("tr",null,[T,a("td",null,[a("mjx-container",m,[(t(),e("svg",u,g)),H])])])])]),k])}const I=s(i,[["render",b]]);export{A as __pageData,I as default}; diff --git a/pr-preview/pr-1358/assets/learn_tia.md.1511c563.lean.js b/pr-preview/pr-1358/assets/learn_tia.md.13ceca34.lean.js similarity index 97% rename from pr-preview/pr-1358/assets/learn_tia.md.1511c563.lean.js rename to pr-preview/pr-1358/assets/learn_tia.md.13ceca34.lean.js index 4ba4e7c3dc..1e9a386323 100644 --- a/pr-preview/pr-1358/assets/learn_tia.md.1511c563.lean.js +++ b/pr-preview/pr-1358/assets/learn_tia.md.13ceca34.lean.js @@ -1 +1 @@ -import{_ as s,o as t,c as e,k as a,a as o,Q as n}from"./chunks/framework.2263f03b.js";const A=JSON.parse('{"title":"Overview of TIA","description":"","frontmatter":{"prev":{"text":"Data availability FAQ","link":"/learn/how-celestia-works/data-availability-faq"},"head":[["meta",{"name":"og:title","content":"Overview of TIA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/tia.md","filePath":"learn/tia.md","lastUpdated":1705009966000}'),i={name:"learn/tia.md"},r=a("h1",{id:"overview-of-tia",tabindex:"-1"},[o("Overview of TIA "),a("a",{class:"header-anchor",href:"#overview-of-tia","aria-label":'Permalink to "Overview of TIA"'},"​")],-1),l=a("h2",{id:"tia-at-a-glance",tabindex:"-1"},[o("TIA at a glance "),a("a",{class:"header-anchor",href:"#tia-at-a-glance","aria-label":'Permalink to "TIA at a glance"'},"​")],-1),d=a("thead",null,[a("tr",null,[a("th",null,"Property"),a("th",null,"Details")])],-1),c=a("tr",null,[a("td",null,"Abbreviation"),a("td",null,"TIA")],-1),h=a("tr",null,[a("td",null,"Total supply at genesis"),a("td",null,"1,000,000,000 TIA")],-1),Q=a("tr",null,[a("td",null,"Inflation schedule"),a("td",null,"8% in the first year, decreasing 10% per year until reaching an inflation floor of 1.5% annually")],-1),p=a("tr",null,[a("td",null,"Decimals"),a("td",null,"6")],-1),T=a("td",null,"Conversion",-1),m={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.526ex",height:"2.14ex",role:"img",focusable:"false",viewBox:"0 -864 9514.7 946","aria-hidden":"true"},f=n("",1),g=[f],H=a("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mtext",null,"1 uTIA"),a("mo",null,"="),a("mtext",null,"TIA"),a("mo",null,"×"),a("msup",null,[a("mn",null,"10"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"6")])])])],-1),k=n("",20);function b(_,w,V,y,v,x){return t(),e("div",null,[r,l,a("table",null,[d,a("tbody",null,[c,h,Q,p,a("tr",null,[T,a("td",null,[a("mjx-container",m,[(t(),e("svg",u,g)),H])])])])]),k])}const I=s(i,[["render",b]]);export{A as __pageData,I as default}; +import{_ as s,o as t,c as e,k as a,a as o,Q as n}from"./chunks/framework.2263f03b.js";const A=JSON.parse('{"title":"Overview of TIA","description":"","frontmatter":{"prev":{"text":"Data availability FAQ","link":"/learn/how-celestia-works/data-availability-faq"},"head":[["meta",{"name":"og:title","content":"Overview of TIA | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"learn/tia.md","filePath":"learn/tia.md","lastUpdated":1705010189000}'),i={name:"learn/tia.md"},r=a("h1",{id:"overview-of-tia",tabindex:"-1"},[o("Overview of TIA "),a("a",{class:"header-anchor",href:"#overview-of-tia","aria-label":'Permalink to "Overview of TIA"'},"​")],-1),l=a("h2",{id:"tia-at-a-glance",tabindex:"-1"},[o("TIA at a glance "),a("a",{class:"header-anchor",href:"#tia-at-a-glance","aria-label":'Permalink to "TIA at a glance"'},"​")],-1),d=a("thead",null,[a("tr",null,[a("th",null,"Property"),a("th",null,"Details")])],-1),c=a("tr",null,[a("td",null,"Abbreviation"),a("td",null,"TIA")],-1),h=a("tr",null,[a("td",null,"Total supply at genesis"),a("td",null,"1,000,000,000 TIA")],-1),Q=a("tr",null,[a("td",null,"Inflation schedule"),a("td",null,"8% in the first year, decreasing 10% per year until reaching an inflation floor of 1.5% annually")],-1),p=a("tr",null,[a("td",null,"Decimals"),a("td",null,"6")],-1),T=a("td",null,"Conversion",-1),m={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},u={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.526ex",height:"2.14ex",role:"img",focusable:"false",viewBox:"0 -864 9514.7 946","aria-hidden":"true"},f=n("",1),g=[f],H=a("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[a("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[a("mtext",null,"1 uTIA"),a("mo",null,"="),a("mtext",null,"TIA"),a("mo",null,"×"),a("msup",null,[a("mn",null,"10"),a("mrow",{"data-mjx-texclass":"ORD"},[a("mo",null,"−"),a("mn",null,"6")])])])],-1),k=n("",20);function b(_,w,V,y,v,x){return t(),e("div",null,[r,l,a("table",null,[d,a("tbody",null,[c,h,Q,p,a("tr",null,[T,a("td",null,[a("mjx-container",m,[(t(),e("svg",u,g)),H])])])])]),k])}const I=s(i,[["render",b]]);export{A as __pageData,I as default}; diff --git a/pr-preview/pr-1358/assets/nodes_arabica-9.md.91bed5f9.js b/pr-preview/pr-1358/assets/nodes_arabica-9.md.4364bd1a.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_arabica-9.md.91bed5f9.js rename to pr-preview/pr-1358/assets/nodes_arabica-9.md.4364bd1a.js index 55fd067d90..044671ebd2 100644 --- a/pr-preview/pr-1358/assets/nodes_arabica-9.md.91bed5f9.js +++ b/pr-preview/pr-1358/assets/nodes_arabica-9.md.4364bd1a.js @@ -1 +1 @@ -import{_ as e}from"./chunks/arabica-devnet.63578372.js";import{_ as a,o as t,c as o,Q as r}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Arabica-9 devnet","description":"A guide to Arabica-9 devnet.","frontmatter":{"description":"A guide to Arabica-9 devnet.","head":[["meta",{"name":"og:title","content":"Arabica-9 devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/arabica-9.md","filePath":"nodes/arabica-9.md","lastUpdated":1705009966000}'),i={name:"nodes/arabica-9.md"},n=r('

    Arabica-9 devnet

    arabica-devnet

    WARNING

    This page is maintained for developers still using the arabica-9 devnet.

    Refer to the Arabica devnet page for the latest updates on the Arabica devnet.

    Software version numbers

    Integrations

    This guide contains the relevant sections for how to connect to arabica-9, depending on the type of node you are running.

    Your best approach to participating is to first determine which node you would like to run. Each node's guide will link to the relevant networks in order to show you how to connect to them.

    You have a list of options on the type of nodes you can run in order to participate in arabica-9:

    Data Availability:

    Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Arabica in order to refer to the correct instructions on this page on how to connect to arabica-9.

    RPC endpoints

    The RPC endpoint is to allow users to interact with Celestia's nodes by querying the node's state and broadcasting transactions on the Celestia network. The default port is 26657.

    Below is a list of RPC endpoints you can use to connect to arabica-9 Devnet:

    Bridge, full, and light nodes

    • consensus-validator-arabica-9.celestia-arabica.com
    • validator.consensus-arabica-9.celestia-arabica.com
    • consensus-full-arabica-9.celestia-arabica.com

    Full and light nodes ONLY

    These RPC endpoints do not allow you to download full blocks from them. We advise that if you are running a bridge node, that you also run a local full consensus node in order to download full blocks from it.

    • rpc-arabica-9.consensus.celestia-arabica.com
    • rpc-2-arabica-9.consensus.celestia-arabica.com

    API endpoints

    The API endpoint is to allow users to interact with the REST API in Cosmos SDK which is implemented using gRPC-gateway, which exposes gRPC endpoints as REST endpoints. This allows for communication with the node using REST calls, which can be useful if the client does not support gRPC or HTTP2. The default port is 1317.

    gRPC endpoints

    The gRPC endpoint is to allow users to interact with a Celestia Node using gRPC, a modern open-source and high-performance RPC framework. The default port is 9090. In the Cosmos SDK, gRPC is used to define state queries and broadcast transactions.

    • grpc-arabica-9.consensus.celestia-arabica.com:443
    • grpc-2-arabica-9.consensus.celestia-arabica.com:443
    • validator.consensus-arabica-9.celestia-arabica.com:9090
    • consensus-validator-arabica-9.celestia-arabica.com:9090

    Arabica devnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    Web

    The web faucet is available at https://faucet-arabica-9.celestia-arabica.com/.

    Explorers

    There is an explorer you can use for Arabica:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    ',35),s=[n];function l(c,d,h,u,p,b){return t(),o("div",null,s)}const v=a(i,[["render",l]]);export{m as __pageData,v as default}; +import{_ as e}from"./chunks/arabica-devnet.63578372.js";import{_ as a,o as t,c as o,Q as r}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Arabica-9 devnet","description":"A guide to Arabica-9 devnet.","frontmatter":{"description":"A guide to Arabica-9 devnet.","head":[["meta",{"name":"og:title","content":"Arabica-9 devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/arabica-9.md","filePath":"nodes/arabica-9.md","lastUpdated":1705010189000}'),i={name:"nodes/arabica-9.md"},n=r('

    Arabica-9 devnet

    arabica-devnet

    WARNING

    This page is maintained for developers still using the arabica-9 devnet.

    Refer to the Arabica devnet page for the latest updates on the Arabica devnet.

    Software version numbers

    Integrations

    This guide contains the relevant sections for how to connect to arabica-9, depending on the type of node you are running.

    Your best approach to participating is to first determine which node you would like to run. Each node's guide will link to the relevant networks in order to show you how to connect to them.

    You have a list of options on the type of nodes you can run in order to participate in arabica-9:

    Data Availability:

    Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Arabica in order to refer to the correct instructions on this page on how to connect to arabica-9.

    RPC endpoints

    The RPC endpoint is to allow users to interact with Celestia's nodes by querying the node's state and broadcasting transactions on the Celestia network. The default port is 26657.

    Below is a list of RPC endpoints you can use to connect to arabica-9 Devnet:

    Bridge, full, and light nodes

    • consensus-validator-arabica-9.celestia-arabica.com
    • validator.consensus-arabica-9.celestia-arabica.com
    • consensus-full-arabica-9.celestia-arabica.com

    Full and light nodes ONLY

    These RPC endpoints do not allow you to download full blocks from them. We advise that if you are running a bridge node, that you also run a local full consensus node in order to download full blocks from it.

    • rpc-arabica-9.consensus.celestia-arabica.com
    • rpc-2-arabica-9.consensus.celestia-arabica.com

    API endpoints

    The API endpoint is to allow users to interact with the REST API in Cosmos SDK which is implemented using gRPC-gateway, which exposes gRPC endpoints as REST endpoints. This allows for communication with the node using REST calls, which can be useful if the client does not support gRPC or HTTP2. The default port is 1317.

    gRPC endpoints

    The gRPC endpoint is to allow users to interact with a Celestia Node using gRPC, a modern open-source and high-performance RPC framework. The default port is 9090. In the Cosmos SDK, gRPC is used to define state queries and broadcast transactions.

    • grpc-arabica-9.consensus.celestia-arabica.com:443
    • grpc-2-arabica-9.consensus.celestia-arabica.com:443
    • validator.consensus-arabica-9.celestia-arabica.com:9090
    • consensus-validator-arabica-9.celestia-arabica.com:9090

    Arabica devnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    Web

    The web faucet is available at https://faucet-arabica-9.celestia-arabica.com/.

    Explorers

    There is an explorer you can use for Arabica:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    ',35),s=[n];function l(c,d,h,u,p,b){return t(),o("div",null,s)}const v=a(i,[["render",l]]);export{m as __pageData,v as default}; diff --git a/pr-preview/pr-1358/assets/nodes_arabica-9.md.91bed5f9.lean.js b/pr-preview/pr-1358/assets/nodes_arabica-9.md.4364bd1a.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/nodes_arabica-9.md.91bed5f9.lean.js rename to pr-preview/pr-1358/assets/nodes_arabica-9.md.4364bd1a.lean.js index 4b365a9917..29216c6de6 100644 --- a/pr-preview/pr-1358/assets/nodes_arabica-9.md.91bed5f9.lean.js +++ b/pr-preview/pr-1358/assets/nodes_arabica-9.md.4364bd1a.lean.js @@ -1 +1 @@ -import{_ as e}from"./chunks/arabica-devnet.63578372.js";import{_ as a,o as t,c as o,Q as r}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Arabica-9 devnet","description":"A guide to Arabica-9 devnet.","frontmatter":{"description":"A guide to Arabica-9 devnet.","head":[["meta",{"name":"og:title","content":"Arabica-9 devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/arabica-9.md","filePath":"nodes/arabica-9.md","lastUpdated":1705009966000}'),i={name:"nodes/arabica-9.md"},n=r("",35),s=[n];function l(c,d,h,u,p,b){return t(),o("div",null,s)}const v=a(i,[["render",l]]);export{m as __pageData,v as default}; +import{_ as e}from"./chunks/arabica-devnet.63578372.js";import{_ as a,o as t,c as o,Q as r}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Arabica-9 devnet","description":"A guide to Arabica-9 devnet.","frontmatter":{"description":"A guide to Arabica-9 devnet.","head":[["meta",{"name":"og:title","content":"Arabica-9 devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/arabica-9.md","filePath":"nodes/arabica-9.md","lastUpdated":1705010189000}'),i={name:"nodes/arabica-9.md"},n=r("",35),s=[n];function l(c,d,h,u,p,b){return t(),o("div",null,s)}const v=a(i,[["render",l]]);export{m as __pageData,v as default}; diff --git a/pr-preview/pr-1358/assets/nodes_arabica-devnet.md.a40d5f6e.js b/pr-preview/pr-1358/assets/nodes_arabica-devnet.md.8f1c6f7b.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_arabica-devnet.md.a40d5f6e.js rename to pr-preview/pr-1358/assets/nodes_arabica-devnet.md.8f1c6f7b.js index 91b0a79908..41d3cfd0b5 100644 --- a/pr-preview/pr-1358/assets/nodes_arabica-devnet.md.a40d5f6e.js +++ b/pr-preview/pr-1358/assets/nodes_arabica-devnet.md.8f1c6f7b.js @@ -2,4 +2,4 @@ import{_ as i}from"./chunks/arabica-devnet.63578372.js";import{A as d}from"./chu –core.grpc.port <port> \\
    celestia <da_type> start –core.ip <url> –core.rpc.port <port> \\
         –core.grpc.port <port> \\

    RPCs for DA nodes to initialise or start your celestia-node to Arabica devnet with can be found in the table in the "Direct endpoints with open ports" section above.

    As an example, this command will work to start a light node with state access, using default ports:

    bash
    celestia light start --p2p.netowrk arabica \\
       --core.ip validator-1.celestia-arabica-11.com
    celestia light start --p2p.netowrk arabica \\
    -  --core.ip validator-1.celestia-arabica-11.com

    Bridge node runners

    Not all of the RPC endpoints do not guarantee the full block history. Find an archive endpoint on the community dashboard or run your own consensus full node with no pruning for your bridge node.

    Arabica devnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    Discord

    You can request from Arabica devnet Faucet on the #arabica-faucet channel on Celestia's Discord server with the following command:

    text
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

    NOTE

    Faucet has a limit of 10 tokens per week per address/Discord ID.

    Web

    The web faucet is available at https://faucet.celestia-arabica-11.com/.

    Explorers

    There are multiple explorers you can use for Arabica:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    `,28),L=JSON.parse('{"title":"Arabica devnet","description":"A guide to Arabica devnet.","frontmatter":{"description":"A guide to Arabica devnet.","head":[["meta",{"name":"og:title","content":"Arabica devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/arabica-devnet.md","filePath":"nodes/arabica-devnet.md","lastUpdated":1705009966000}'),P={name:"nodes/arabica-devnet.md"},M=Object.assign(P,{setup(l){return(c,p)=>(o(),n("div",null,[w,s(F),D,s(d),T]))}});export{L as __pageData,M as default}; + --core.ip validator-1.celestia-arabica-11.com

    Bridge node runners

    Not all of the RPC endpoints do not guarantee the full block history. Find an archive endpoint on the community dashboard or run your own consensus full node with no pruning for your bridge node.

    Arabica devnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    Discord

    You can request from Arabica devnet Faucet on the #arabica-faucet channel on Celestia's Discord server with the following command:

    text
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

    NOTE

    Faucet has a limit of 10 tokens per week per address/Discord ID.

    Web

    The web faucet is available at https://faucet.celestia-arabica-11.com/.

    Explorers

    There are multiple explorers you can use for Arabica:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    `,28),L=JSON.parse('{"title":"Arabica devnet","description":"A guide to Arabica devnet.","frontmatter":{"description":"A guide to Arabica devnet.","head":[["meta",{"name":"og:title","content":"Arabica devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/arabica-devnet.md","filePath":"nodes/arabica-devnet.md","lastUpdated":1705010189000}'),P={name:"nodes/arabica-devnet.md"},M=Object.assign(P,{setup(l){return(c,p)=>(o(),n("div",null,[w,s(F),D,s(d),T]))}});export{L as __pageData,M as default}; diff --git a/pr-preview/pr-1358/assets/nodes_arabica-devnet.md.a40d5f6e.lean.js b/pr-preview/pr-1358/assets/nodes_arabica-devnet.md.8f1c6f7b.lean.js similarity index 97% rename from pr-preview/pr-1358/assets/nodes_arabica-devnet.md.a40d5f6e.lean.js rename to pr-preview/pr-1358/assets/nodes_arabica-devnet.md.8f1c6f7b.lean.js index ca380585bd..133c7f2fe1 100644 --- a/pr-preview/pr-1358/assets/nodes_arabica-devnet.md.a40d5f6e.lean.js +++ b/pr-preview/pr-1358/assets/nodes_arabica-devnet.md.8f1c6f7b.lean.js @@ -1 +1 @@ -import{_ as i}from"./chunks/arabica-devnet.63578372.js";import{A as d}from"./chunks/ArabicaVersionTags.63a25927.js";import{c as h}from"./chunks/constants.d0f43632.js";import{_ as u,o,c as n,k as e,t as a,H as s,Q as r,a as b}from"./chunks/framework.2263f03b.js";import"./chunks/arabica_versions.9a2b5c45.js";const y={name:"ArabicaDevnetDetails",data(){return{constants:h}}},E=e("tr",null,[e("th",null,"Detail"),e("th",null,"Value")],-1),g=e("td",null,"Chain ID",-1),f=e("tr",null,[e("td",null,"Genesis hash"),e("td",null,[e("code",null,"27122593765E07329BC348E8D16E92DCB4C75B34CCCB35C640FD7A4484D4C711")])],-1),m=e("td",null,"Genesis file",-1),v=["href"],_=e("td",null,"Peers file",-1),k=["href"],C=e("tr",null,[e("td",null,"Validators"),e("td",null," 4 ")],-1);function A(l,c,p,N,t,I){return o(),n("table",null,[E,e("tr",null,[g,e("td",null,[e("code",null,a(t.constants.arabicaChainId),1)])]),f,e("tr",null,[m,e("td",null,[e("a",{href:`https://github.com/celestiaorg/networks/blob/master/${t.constants.arabicaChainId}/genesis.json`,target:"_blank",rel:"noopener noreferrer"}," https://github.com/celestiaorg/networks/blob/master/"+a(t.constants.arabicaChainId)+"/genesis.json ",9,v)])]),e("tr",null,[_,e("td",null,[e("a",{href:`https://github.com/celestiaorg/networks/blob/master/${t.constants.arabicaChainId}/peers.txt`,target:"_blank",rel:"noopener noreferrer"}," https://github.com/celestiaorg/networks/blob/master/"+a(t.constants.arabicaChainId)+"/peers.txt ",9,k)])]),C])}const F=u(y,[["render",A]]),w=r("",8),D=e("h3",{id:"software-version-numbers",tabindex:"-1"},[b("Software version numbers "),e("a",{class:"header-anchor",href:"#software-version-numbers","aria-label":'Permalink to "Software version numbers"'},"​")],-1),T=r("",28),L=JSON.parse('{"title":"Arabica devnet","description":"A guide to Arabica devnet.","frontmatter":{"description":"A guide to Arabica devnet.","head":[["meta",{"name":"og:title","content":"Arabica devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/arabica-devnet.md","filePath":"nodes/arabica-devnet.md","lastUpdated":1705009966000}'),P={name:"nodes/arabica-devnet.md"},M=Object.assign(P,{setup(l){return(c,p)=>(o(),n("div",null,[w,s(F),D,s(d),T]))}});export{L as __pageData,M as default}; +import{_ as i}from"./chunks/arabica-devnet.63578372.js";import{A as d}from"./chunks/ArabicaVersionTags.63a25927.js";import{c as h}from"./chunks/constants.d0f43632.js";import{_ as u,o,c as n,k as e,t as a,H as s,Q as r,a as b}from"./chunks/framework.2263f03b.js";import"./chunks/arabica_versions.9a2b5c45.js";const y={name:"ArabicaDevnetDetails",data(){return{constants:h}}},E=e("tr",null,[e("th",null,"Detail"),e("th",null,"Value")],-1),g=e("td",null,"Chain ID",-1),f=e("tr",null,[e("td",null,"Genesis hash"),e("td",null,[e("code",null,"27122593765E07329BC348E8D16E92DCB4C75B34CCCB35C640FD7A4484D4C711")])],-1),m=e("td",null,"Genesis file",-1),v=["href"],_=e("td",null,"Peers file",-1),k=["href"],C=e("tr",null,[e("td",null,"Validators"),e("td",null," 4 ")],-1);function A(l,c,p,N,t,I){return o(),n("table",null,[E,e("tr",null,[g,e("td",null,[e("code",null,a(t.constants.arabicaChainId),1)])]),f,e("tr",null,[m,e("td",null,[e("a",{href:`https://github.com/celestiaorg/networks/blob/master/${t.constants.arabicaChainId}/genesis.json`,target:"_blank",rel:"noopener noreferrer"}," https://github.com/celestiaorg/networks/blob/master/"+a(t.constants.arabicaChainId)+"/genesis.json ",9,v)])]),e("tr",null,[_,e("td",null,[e("a",{href:`https://github.com/celestiaorg/networks/blob/master/${t.constants.arabicaChainId}/peers.txt`,target:"_blank",rel:"noopener noreferrer"}," https://github.com/celestiaorg/networks/blob/master/"+a(t.constants.arabicaChainId)+"/peers.txt ",9,k)])]),C])}const F=u(y,[["render",A]]),w=r("",8),D=e("h3",{id:"software-version-numbers",tabindex:"-1"},[b("Software version numbers "),e("a",{class:"header-anchor",href:"#software-version-numbers","aria-label":'Permalink to "Software version numbers"'},"​")],-1),T=r("",28),L=JSON.parse('{"title":"Arabica devnet","description":"A guide to Arabica devnet.","frontmatter":{"description":"A guide to Arabica devnet.","head":[["meta",{"name":"og:title","content":"Arabica devnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/arabica-devnet.md","filePath":"nodes/arabica-devnet.md","lastUpdated":1705010189000}'),P={name:"nodes/arabica-devnet.md"},M=Object.assign(P,{setup(l){return(c,p)=>(o(),n("div",null,[w,s(F),D,s(d),T]))}});export{L as __pageData,M as default}; diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-binary.md.684dce82.js b/pr-preview/pr-1358/assets/nodes_blobstream-binary.md.ae3c7e1f.js similarity index 98% rename from pr-preview/pr-1358/assets/nodes_blobstream-binary.md.684dce82.js rename to pr-preview/pr-1358/assets/nodes_blobstream-binary.md.ae3c7e1f.js index 92fff34e0b..4900afc347 100644 --- a/pr-preview/pr-1358/assets/nodes_blobstream-binary.md.684dce82.js +++ b/pr-preview/pr-1358/assets/nodes_blobstream-binary.md.ae3c7e1f.js @@ -1,6 +1,6 @@ import{c as s}from"./chunks/constants.d0f43632.js";import{_ as d,o as n,c as i,t as o,k as e,a,l as r,H as _,Q as t}from"./chunks/framework.2263f03b.js";const b={name:"orchRelayerVersion",data(){return{orchrelayVersion:s.orchrelayVersion}}},u=["href"];function m(c,p,h,H,l,J){return n(),i("a",{href:`https://github.com/celestiaorg/orchestrator-relayer/releases/tag/${l.orchrelayVersion}`,target:"_blank",rel:"noopener noreferrer"},o(l.orchrelayVersion),9,u)}const y=d(b,[["render",m]]),g=t('

    Blobstream for validators

    Blobstream allows Ethereum developers to build high-throughput L2s using Celestia, the first data availability layer with data availability sampling.

    This page and following tutorials will go over Blobstream and how validators on Celestia can run it.

    If you're looking to learn more, you can view the orchestrator-relayer repository or read more about how Blobstream works.

    Install the Blobstream binary

    The orchestrator is the software that signs the Blobstream attestations, and the relayer is the software that relays them to the target EVM chain.

    The following sections in this category presume you have the following setup:

    • A celestia-app validator node running
    • The following hardware minimum requirements for running the orchestrator:
      • Memory: 2 GB RAM
      • CPU: 1 core
      • Disk: 10 GB SSD Storage

    Install

    ',9),f=e("a",{href:"https://go.dev/doc/install",target:"_blank",rel:"noreferrer"},"Install Go",-1),k=e("p",null,[a("Clone the "),e("code",null,"https://github.com/celestiaorg/orchestrator-relayer"),a(" repository:")],-1),E={class:"language-bash vp-adaptive-theme"},T=e("button",{title:"Copy Code",class:"copy"},null,-1),v=e("span",{class:"lang"},"bash",-1),B={class:"shiki github-dark vp-code-dark"},C=t('git clone https://github.com/celestiaorg/orchestrator-relayer.git',1),F=e("span",{class:"line"},[e("span",{style:{color:"#79B8FF"}},"cd"),e("span",{style:{color:"#E1E4E8"}}," "),e("span",{style:{color:"#9ECBFF"}},"orchestrator-relayer")],-1),w={class:"line"},P=e("span",{style:{color:"#B392F0"}},"git",-1),V=e("span",{style:{color:"#E1E4E8"}}," ",-1),I=e("span",{style:{color:"#9ECBFF"}},"checkout",-1),S=e("span",{style:{color:"#E1E4E8"}}," ",-1),A={style:{color:"#9ECBFF"}},x={class:"shiki github-light vp-code-light"},q=t('git clone https://github.com/celestiaorg/orchestrator-relayer.git',1),D=e("span",{class:"line"},[e("span",{style:{color:"#005CC5"}},"cd"),e("span",{style:{color:"#24292E"}}," "),e("span",{style:{color:"#032F62"}},"orchestrator-relayer")],-1),N={class:"line"},R=e("span",{style:{color:"#6F42C1"}},"git",-1),U=e("span",{style:{color:"#24292E"}}," ",-1),O=e("span",{style:{color:"#032F62"}},"checkout",-1),$=e("span",{style:{color:"#24292E"}}," ",-1),L={style:{color:"#032F62"}},M=t('
  2. Install the Blobstream CLI

    sh
    make install
    make install
  3. ',1),G=t(`

    Usage

    sh
    # Print help
     blobstream --help
    # Print help
    -blobstream --help

    Next steps

    1. If you are a Celestia validator, all you need to do is run the orchestrator. Check out the Blobstream orchestrator page for more details.
    2. Learn about key management
    3. Optional: If you want to post commitments on an EVM chain, you will need to deploy a new Blobstream contract and run a relayer, or run a relayer for an already deployed Blobstream contract. Check out the Blobstream relayer page for relayer docs and the Blobstream deployment page for how to deploy a new Blobstream contract.
    4. Optional: Learn how to run a Blobstream bootstrapper node

    TIP

    The Blobstream P2P network is a separate network than the consensus or the data availability one. Thus, you will need its specific bootstrappers to be able to connect to it.

    The smart contract implementation is in blobstream-contracts.

    The state machine implementation is in x/blobstream.

    Blobstream ADRs are in the docs.

    Blobstream design explained in this blog post on layer 2s.

    `,10),K=JSON.parse('{"title":"Blobstream for validators","description":"This guide shows you how to install the Blobstream binary.","frontmatter":{"description":"This guide shows you how to install the Blobstream binary.","head":[["meta",{"name":"og:title","content":"Blobstream for validators | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-binary.md","filePath":"nodes/blobstream-binary.md","lastUpdated":1705009966000}'),j={name:"nodes/blobstream-binary.md"},W=Object.assign(j,{setup(c){return(p,h)=>(n(),i("div",null,[g,e("ol",null,[e("li",null,[e("p",null,[f,a(" "+o(r(s).golangBlobstream),1)])]),e("li",null,[k,e("div",E,[T,v,e("pre",B,[e("code",null,[C,a(` +blobstream --help

    Next steps

    1. If you are a Celestia validator, all you need to do is run the orchestrator. Check out the Blobstream orchestrator page for more details.
    2. Learn about key management
    3. Optional: If you want to post commitments on an EVM chain, you will need to deploy a new Blobstream contract and run a relayer, or run a relayer for an already deployed Blobstream contract. Check out the Blobstream relayer page for relayer docs and the Blobstream deployment page for how to deploy a new Blobstream contract.
    4. Optional: Learn how to run a Blobstream bootstrapper node

    TIP

    The Blobstream P2P network is a separate network than the consensus or the data availability one. Thus, you will need its specific bootstrappers to be able to connect to it.

    The smart contract implementation is in blobstream-contracts.

    The state machine implementation is in x/blobstream.

    Blobstream ADRs are in the docs.

    Blobstream design explained in this blog post on layer 2s.

    `,10),K=JSON.parse('{"title":"Blobstream for validators","description":"This guide shows you how to install the Blobstream binary.","frontmatter":{"description":"This guide shows you how to install the Blobstream binary.","head":[["meta",{"name":"og:title","content":"Blobstream for validators | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-binary.md","filePath":"nodes/blobstream-binary.md","lastUpdated":1705010189000}'),j={name:"nodes/blobstream-binary.md"},W=Object.assign(j,{setup(c){return(p,h)=>(n(),i("div",null,[g,e("ol",null,[e("li",null,[e("p",null,[f,a(" "+o(r(s).golangBlobstream),1)])]),e("li",null,[k,e("div",E,[T,v,e("pre",B,[e("code",null,[C,a(` `),F,a(` `),e("span",w,[P,V,I,S,e("span",A,o(r(s).orchrelayVersion),1)])])]),e("pre",x,[e("code",null,[q,a(` `),D,a(` diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-binary.md.684dce82.lean.js b/pr-preview/pr-1358/assets/nodes_blobstream-binary.md.ae3c7e1f.lean.js similarity index 97% rename from pr-preview/pr-1358/assets/nodes_blobstream-binary.md.684dce82.lean.js rename to pr-preview/pr-1358/assets/nodes_blobstream-binary.md.ae3c7e1f.lean.js index 71187ad202..1f497a8963 100644 --- a/pr-preview/pr-1358/assets/nodes_blobstream-binary.md.684dce82.lean.js +++ b/pr-preview/pr-1358/assets/nodes_blobstream-binary.md.ae3c7e1f.lean.js @@ -1,4 +1,4 @@ -import{c as s}from"./chunks/constants.d0f43632.js";import{_ as d,o as n,c as i,t as o,k as e,a,l as r,H as _,Q as t}from"./chunks/framework.2263f03b.js";const b={name:"orchRelayerVersion",data(){return{orchrelayVersion:s.orchrelayVersion}}},u=["href"];function m(c,p,h,H,l,J){return n(),i("a",{href:`https://github.com/celestiaorg/orchestrator-relayer/releases/tag/${l.orchrelayVersion}`,target:"_blank",rel:"noopener noreferrer"},o(l.orchrelayVersion),9,u)}const y=d(b,[["render",m]]),g=t("",9),f=e("a",{href:"https://go.dev/doc/install",target:"_blank",rel:"noreferrer"},"Install Go",-1),k=e("p",null,[a("Clone the "),e("code",null,"https://github.com/celestiaorg/orchestrator-relayer"),a(" repository:")],-1),E={class:"language-bash vp-adaptive-theme"},T=e("button",{title:"Copy Code",class:"copy"},null,-1),v=e("span",{class:"lang"},"bash",-1),B={class:"shiki github-dark vp-code-dark"},C=t("",1),F=e("span",{class:"line"},[e("span",{style:{color:"#79B8FF"}},"cd"),e("span",{style:{color:"#E1E4E8"}}," "),e("span",{style:{color:"#9ECBFF"}},"orchestrator-relayer")],-1),w={class:"line"},P=e("span",{style:{color:"#B392F0"}},"git",-1),V=e("span",{style:{color:"#E1E4E8"}}," ",-1),I=e("span",{style:{color:"#9ECBFF"}},"checkout",-1),S=e("span",{style:{color:"#E1E4E8"}}," ",-1),A={style:{color:"#9ECBFF"}},x={class:"shiki github-light vp-code-light"},q=t("",1),D=e("span",{class:"line"},[e("span",{style:{color:"#005CC5"}},"cd"),e("span",{style:{color:"#24292E"}}," "),e("span",{style:{color:"#032F62"}},"orchestrator-relayer")],-1),N={class:"line"},R=e("span",{style:{color:"#6F42C1"}},"git",-1),U=e("span",{style:{color:"#24292E"}}," ",-1),O=e("span",{style:{color:"#032F62"}},"checkout",-1),$=e("span",{style:{color:"#24292E"}}," ",-1),L={style:{color:"#032F62"}},M=t("",1),G=t("",10),K=JSON.parse('{"title":"Blobstream for validators","description":"This guide shows you how to install the Blobstream binary.","frontmatter":{"description":"This guide shows you how to install the Blobstream binary.","head":[["meta",{"name":"og:title","content":"Blobstream for validators | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-binary.md","filePath":"nodes/blobstream-binary.md","lastUpdated":1705009966000}'),j={name:"nodes/blobstream-binary.md"},W=Object.assign(j,{setup(c){return(p,h)=>(n(),i("div",null,[g,e("ol",null,[e("li",null,[e("p",null,[f,a(" "+o(r(s).golangBlobstream),1)])]),e("li",null,[k,e("div",E,[T,v,e("pre",B,[e("code",null,[C,a(` +import{c as s}from"./chunks/constants.d0f43632.js";import{_ as d,o as n,c as i,t as o,k as e,a,l as r,H as _,Q as t}from"./chunks/framework.2263f03b.js";const b={name:"orchRelayerVersion",data(){return{orchrelayVersion:s.orchrelayVersion}}},u=["href"];function m(c,p,h,H,l,J){return n(),i("a",{href:`https://github.com/celestiaorg/orchestrator-relayer/releases/tag/${l.orchrelayVersion}`,target:"_blank",rel:"noopener noreferrer"},o(l.orchrelayVersion),9,u)}const y=d(b,[["render",m]]),g=t("",9),f=e("a",{href:"https://go.dev/doc/install",target:"_blank",rel:"noreferrer"},"Install Go",-1),k=e("p",null,[a("Clone the "),e("code",null,"https://github.com/celestiaorg/orchestrator-relayer"),a(" repository:")],-1),E={class:"language-bash vp-adaptive-theme"},T=e("button",{title:"Copy Code",class:"copy"},null,-1),v=e("span",{class:"lang"},"bash",-1),B={class:"shiki github-dark vp-code-dark"},C=t("",1),F=e("span",{class:"line"},[e("span",{style:{color:"#79B8FF"}},"cd"),e("span",{style:{color:"#E1E4E8"}}," "),e("span",{style:{color:"#9ECBFF"}},"orchestrator-relayer")],-1),w={class:"line"},P=e("span",{style:{color:"#B392F0"}},"git",-1),V=e("span",{style:{color:"#E1E4E8"}}," ",-1),I=e("span",{style:{color:"#9ECBFF"}},"checkout",-1),S=e("span",{style:{color:"#E1E4E8"}}," ",-1),A={style:{color:"#9ECBFF"}},x={class:"shiki github-light vp-code-light"},q=t("",1),D=e("span",{class:"line"},[e("span",{style:{color:"#005CC5"}},"cd"),e("span",{style:{color:"#24292E"}}," "),e("span",{style:{color:"#032F62"}},"orchestrator-relayer")],-1),N={class:"line"},R=e("span",{style:{color:"#6F42C1"}},"git",-1),U=e("span",{style:{color:"#24292E"}}," ",-1),O=e("span",{style:{color:"#032F62"}},"checkout",-1),$=e("span",{style:{color:"#24292E"}}," ",-1),L={style:{color:"#032F62"}},M=t("",1),G=t("",10),K=JSON.parse('{"title":"Blobstream for validators","description":"This guide shows you how to install the Blobstream binary.","frontmatter":{"description":"This guide shows you how to install the Blobstream binary.","head":[["meta",{"name":"og:title","content":"Blobstream for validators | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-binary.md","filePath":"nodes/blobstream-binary.md","lastUpdated":1705010189000}'),j={name:"nodes/blobstream-binary.md"},W=Object.assign(j,{setup(c){return(p,h)=>(n(),i("div",null,[g,e("ol",null,[e("li",null,[e("p",null,[f,a(" "+o(r(s).golangBlobstream),1)])]),e("li",null,[k,e("div",E,[T,v,e("pre",B,[e("code",null,[C,a(` `),F,a(` `),e("span",w,[P,V,I,S,e("span",A,o(r(s).orchrelayVersion),1)])])]),e("pre",x,[e("code",null,[q,a(` `),D,a(` diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.3494c04b.js b/pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.435c61fe.js similarity index 98% rename from pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.3494c04b.js rename to pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.435c61fe.js index 09369907f1..0a298fb44f 100644 --- a/pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.3494c04b.js +++ b/pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.435c61fe.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Blobstream bootstrapper","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Blobstream bootstrapper | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-bootstrapper.md","filePath":"nodes/blobstream-bootstrapper.md","lastUpdated":1705009966000}'),s={name:"nodes/blobstream-bootstrapper.md"},r=o('

    Blobstream bootstrapper

    To bootstrap the Blobstream P2P network, we use the bootstrapper Blobstream node type to accept connections from freshly created orchestrators/relayers and share its peer table with them.

    How to run

    Install the Blobstream binary

    Make sure to have the Blobstream binary installed. Check the Blobstream binary page for more details.

    Init the store

    Before starting the bootstrapper, we will need to init the store:

    sh
    blobstream bootstrapper init
    blobstream bootstrapper init

    By default, the store will be created in ~/.bootstrapper. However, if you want to specify a custom location, you can use the --home flag. Or, you can use the following environment variable:

    VariableExplanationDefault valueRequired
    BOOTSTRAPPER_HOMEHome directory for the bootstrapper~/.bootstrapperOptional

    Add keys

    The P2P private key is optional, and a new one will be generated automatically on the start if none is provided.

    The p2p sub-command will help you set up this key if you want to use a specific one:

    sh
    blobstream bootstrapper p2p  --help
    blobstream bootstrapper p2p  --help

    Open the P2P port

    In order for the bootstrapper node to work, you will need to expose the P2P port, which is by default 30000.

    Start the bootstrapper

    Now that we have the store initialized, we can start the bootstrapper:

    shell
    blobstream bootstrapper start
    blobstream bootstrapper start

    Systemd service

    An example of a systemd service that can be used for bootstrappers can be found in the orchestrator documentation.

    ',21),p=[r];function l(n,c,i,d,h,b){return t(),a("div",null,p)}const u=e(s,[["render",l]]);export{m as __pageData,u as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Blobstream bootstrapper","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Blobstream bootstrapper | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-bootstrapper.md","filePath":"nodes/blobstream-bootstrapper.md","lastUpdated":1705010189000}'),s={name:"nodes/blobstream-bootstrapper.md"},r=o('

    Blobstream bootstrapper

    To bootstrap the Blobstream P2P network, we use the bootstrapper Blobstream node type to accept connections from freshly created orchestrators/relayers and share its peer table with them.

    How to run

    Install the Blobstream binary

    Make sure to have the Blobstream binary installed. Check the Blobstream binary page for more details.

    Init the store

    Before starting the bootstrapper, we will need to init the store:

    sh
    blobstream bootstrapper init
    blobstream bootstrapper init

    By default, the store will be created in ~/.bootstrapper. However, if you want to specify a custom location, you can use the --home flag. Or, you can use the following environment variable:

    VariableExplanationDefault valueRequired
    BOOTSTRAPPER_HOMEHome directory for the bootstrapper~/.bootstrapperOptional

    Add keys

    The P2P private key is optional, and a new one will be generated automatically on the start if none is provided.

    The p2p sub-command will help you set up this key if you want to use a specific one:

    sh
    blobstream bootstrapper p2p  --help
    blobstream bootstrapper p2p  --help

    Open the P2P port

    In order for the bootstrapper node to work, you will need to expose the P2P port, which is by default 30000.

    Start the bootstrapper

    Now that we have the store initialized, we can start the bootstrapper:

    shell
    blobstream bootstrapper start
    blobstream bootstrapper start

    Systemd service

    An example of a systemd service that can be used for bootstrappers can be found in the orchestrator documentation.

    ',21),p=[r];function l(n,c,i,d,h,b){return t(),a("div",null,p)}const u=e(s,[["render",l]]);export{m as __pageData,u as default}; diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.3494c04b.lean.js b/pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.435c61fe.lean.js similarity index 89% rename from pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.3494c04b.lean.js rename to pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.435c61fe.lean.js index 0139cafd93..417942b4dc 100644 --- a/pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.3494c04b.lean.js +++ b/pr-preview/pr-1358/assets/nodes_blobstream-bootstrapper.md.435c61fe.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Blobstream bootstrapper","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Blobstream bootstrapper | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-bootstrapper.md","filePath":"nodes/blobstream-bootstrapper.md","lastUpdated":1705009966000}'),s={name:"nodes/blobstream-bootstrapper.md"},r=o("",21),p=[r];function l(n,c,i,d,h,b){return t(),a("div",null,p)}const u=e(s,[["render",l]]);export{m as __pageData,u as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Blobstream bootstrapper","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Blobstream bootstrapper | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-bootstrapper.md","filePath":"nodes/blobstream-bootstrapper.md","lastUpdated":1705010189000}'),s={name:"nodes/blobstream-bootstrapper.md"},r=o("",21),p=[r];function l(n,c,i,d,h,b){return t(),a("div",null,p)}const u=e(s,[["render",l]]);export{m as __pageData,u as default}; diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.d1e53185.js b/pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.a82e447c.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.d1e53185.js rename to pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.a82e447c.js index e1aa77f57b..f7c1376feb 100644 --- a/pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.d1e53185.js +++ b/pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.a82e447c.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as o,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy the Blobstream contract","description":"Learn how to deploy the Blobstream smart contract.","frontmatter":{"sidebar_label":"Deploy the Blobstream contract","description":"Learn how to deploy the Blobstream smart contract.","head":[["meta",{"name":"og:title","content":"Deploy the Blobstream contract | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-deploy.md","filePath":"nodes/blobstream-deploy.md","lastUpdated":1705009966000}'),n={name:"nodes/blobstream-deploy.md"},e=l(`

    Deploy the Blobstream contract

    The deploy is a helper command that allows deploying the Blobstream smart contract to a new EVM chain:

    sh
    blobstream deploy --help
    +import{_ as s,o as a,c as o,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy the Blobstream contract","description":"Learn how to deploy the Blobstream smart contract.","frontmatter":{"sidebar_label":"Deploy the Blobstream contract","description":"Learn how to deploy the Blobstream smart contract.","head":[["meta",{"name":"og:title","content":"Deploy the Blobstream contract | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-deploy.md","filePath":"nodes/blobstream-deploy.md","lastUpdated":1705010189000}'),n={name:"nodes/blobstream-deploy.md"},e=l(`

    Deploy the Blobstream contract

    The deploy is a helper command that allows deploying the Blobstream smart contract to a new EVM chain:

    sh
    blobstream deploy --help
     
     Deploys the Blobstream contract and initializes it using the provided Celestia chain
     
    diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.d1e53185.lean.js b/pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.a82e447c.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.d1e53185.lean.js
    rename to pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.a82e447c.lean.js
    index 2f3fff0e90..e5ffe12617 100644
    --- a/pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.d1e53185.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_blobstream-deploy.md.a82e447c.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as o,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy the Blobstream contract","description":"Learn how to deploy the Blobstream smart contract.","frontmatter":{"sidebar_label":"Deploy the Blobstream contract","description":"Learn how to deploy the Blobstream smart contract.","head":[["meta",{"name":"og:title","content":"Deploy the Blobstream contract | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-deploy.md","filePath":"nodes/blobstream-deploy.md","lastUpdated":1705009966000}'),n={name:"nodes/blobstream-deploy.md"},e=l("",21),p=[e];function t(r,c,y,E,i,d){return a(),o("div",null,p)}const b=s(n,[["render",t]]);export{F as __pageData,b as default};
    +import{_ as s,o as a,c as o,Q as l}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Deploy the Blobstream contract","description":"Learn how to deploy the Blobstream smart contract.","frontmatter":{"sidebar_label":"Deploy the Blobstream contract","description":"Learn how to deploy the Blobstream smart contract.","head":[["meta",{"name":"og:title","content":"Deploy the Blobstream contract | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-deploy.md","filePath":"nodes/blobstream-deploy.md","lastUpdated":1705010189000}'),n={name:"nodes/blobstream-deploy.md"},e=l("",21),p=[e];function t(r,c,y,E,i,d){return a(),o("div",null,p)}const b=s(n,[["render",t]]);export{F as __pageData,b as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-keys.md.48da8f2c.js b/pr-preview/pr-1358/assets/nodes_blobstream-keys.md.30287788.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/nodes_blobstream-keys.md.48da8f2c.js
    rename to pr-preview/pr-1358/assets/nodes_blobstream-keys.md.30287788.js
    index e6c2aa6f92..a9d89afb88 100644
    --- a/pr-preview/pr-1358/assets/nodes_blobstream-keys.md.48da8f2c.js
    +++ b/pr-preview/pr-1358/assets/nodes_blobstream-keys.md.30287788.js
    @@ -1,4 +1,4 @@
    -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Key management","description":"Learn how to manage EVM private keys and P2P identities.","frontmatter":{"sidebar_label":"Key management","description":"Learn how to manage EVM private keys and P2P identities.","head":[["meta",{"name":"og:title","content":"Key management | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-keys.md","filePath":"nodes/blobstream-keys.md","lastUpdated":1705009966000}'),o={name:"nodes/blobstream-keys.md"},p=l(`

    Key management

    The Blobstream keys command allows managing EVM private keys and P2P identities. It is defined as a subcommand for multiple commands with the only difference being the directory where the keys are stored. For the remaining functionality, it is the same for all the commands.

    Orchestrator command

    The blobstream orchestrator keys command manages keys for the orchestrator. By default, it uses the orchestrator default home directory to store the keys: ~/.orchestrator/keystore. However, the default home can be changed either by specifying a different directory using the --home flag or setting the following environment variable:

    VariableExplanationDefault valueRequired
    ORCHESTRATOR_HOMEHome directory for the orchestrator~/.orchestratorOptional

    Relayer command

    The blobstream relayer keys command manages keys for the relayer. By default, it uses the relayer default home directory to store the keys: ~/.relayer/keystore. However, the default home can be changed either by specifying a different directory using the --home flag or setting the following environment variable:

    VariableExplanationDefault valueRequired
    RELAYER_HOMEHome directory for the relayer~/.relayerOptional

    Deploy command

    The blobstream deploy keys command manages keys for the deployer. By default, it uses the deployer default home directory to store the keys: ~/.deployer/keystore. However, the default home can be changed either by specifying a different directory using the --home flag or setting the following environment variable:

    VariableExplanationDefault valueRequired
    DEPLOYER_HOMEHome directory for the deploy command~/.deployerOptional

    Store initialization (!)

    For the keys command, the home directory will be created automatically for commands that add/import new keys without having to manually initialize the store. Thus, you should be careful when running those.

    However, if it finds an already initialized store, it will only add new keys to it and not overwrite it.

    For the remaining subcommands update/delete/list, if the store is not initialized, the command will complain and change nothing on the file system.

    Options

    As specified above, aside from the difference in the default home directory, the keys subcommand is similar for all commands and handles the keys in the same way.

    The examples will use the orchestrator command to access the keys. However, the same behaviour applies to the other commands as well.

    sh
    blobstream orchestrator keys --help
    +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Key management","description":"Learn how to manage EVM private keys and P2P identities.","frontmatter":{"sidebar_label":"Key management","description":"Learn how to manage EVM private keys and P2P identities.","head":[["meta",{"name":"og:title","content":"Key management | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-keys.md","filePath":"nodes/blobstream-keys.md","lastUpdated":1705010189000}'),o={name:"nodes/blobstream-keys.md"},p=l(`

    Key management

    The Blobstream keys command allows managing EVM private keys and P2P identities. It is defined as a subcommand for multiple commands with the only difference being the directory where the keys are stored. For the remaining functionality, it is the same for all the commands.

    Orchestrator command

    The blobstream orchestrator keys command manages keys for the orchestrator. By default, it uses the orchestrator default home directory to store the keys: ~/.orchestrator/keystore. However, the default home can be changed either by specifying a different directory using the --home flag or setting the following environment variable:

    VariableExplanationDefault valueRequired
    ORCHESTRATOR_HOMEHome directory for the orchestrator~/.orchestratorOptional

    Relayer command

    The blobstream relayer keys command manages keys for the relayer. By default, it uses the relayer default home directory to store the keys: ~/.relayer/keystore. However, the default home can be changed either by specifying a different directory using the --home flag or setting the following environment variable:

    VariableExplanationDefault valueRequired
    RELAYER_HOMEHome directory for the relayer~/.relayerOptional

    Deploy command

    The blobstream deploy keys command manages keys for the deployer. By default, it uses the deployer default home directory to store the keys: ~/.deployer/keystore. However, the default home can be changed either by specifying a different directory using the --home flag or setting the following environment variable:

    VariableExplanationDefault valueRequired
    DEPLOYER_HOMEHome directory for the deploy command~/.deployerOptional

    Store initialization (!)

    For the keys command, the home directory will be created automatically for commands that add/import new keys without having to manually initialize the store. Thus, you should be careful when running those.

    However, if it finds an already initialized store, it will only add new keys to it and not overwrite it.

    For the remaining subcommands update/delete/list, if the store is not initialized, the command will complain and change nothing on the file system.

    Options

    As specified above, aside from the difference in the default home directory, the keys subcommand is similar for all commands and handles the keys in the same way.

    The examples will use the orchestrator command to access the keys. However, the same behaviour applies to the other commands as well.

    sh
    blobstream orchestrator keys --help
     
     Blobstream keys manager
     
    diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-keys.md.48da8f2c.lean.js b/pr-preview/pr-1358/assets/nodes_blobstream-keys.md.30287788.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_blobstream-keys.md.48da8f2c.lean.js
    rename to pr-preview/pr-1358/assets/nodes_blobstream-keys.md.30287788.lean.js
    index 7a8f7acd3e..f6f0e046cf 100644
    --- a/pr-preview/pr-1358/assets/nodes_blobstream-keys.md.48da8f2c.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_blobstream-keys.md.30287788.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Key management","description":"Learn how to manage EVM private keys and P2P identities.","frontmatter":{"sidebar_label":"Key management","description":"Learn how to manage EVM private keys and P2P identities.","head":[["meta",{"name":"og:title","content":"Key management | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-keys.md","filePath":"nodes/blobstream-keys.md","lastUpdated":1705009966000}'),o={name:"nodes/blobstream-keys.md"},p=l("",83),e=[p];function t(r,c,y,E,F,i){return a(),n("div",null,e)}const C=s(o,[["render",t]]);export{h as __pageData,C as default};
    +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Key management","description":"Learn how to manage EVM private keys and P2P identities.","frontmatter":{"sidebar_label":"Key management","description":"Learn how to manage EVM private keys and P2P identities.","head":[["meta",{"name":"og:title","content":"Key management | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-keys.md","filePath":"nodes/blobstream-keys.md","lastUpdated":1705010189000}'),o={name:"nodes/blobstream-keys.md"},p=l("",83),e=[p];function t(r,c,y,E,F,i){return a(),n("div",null,e)}const C=s(o,[["render",t]]);export{h as __pageData,C as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.053c6d78.js b/pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.d3216791.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.053c6d78.js
    rename to pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.d3216791.js
    index dbc782b618..aa52cd8fe2 100644
    --- a/pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.053c6d78.js
    +++ b/pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.d3216791.js
    @@ -1,4 +1,4 @@
    -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Blobstream Orchestrator","description":"Learn about the Blobstream Orchestrator.","frontmatter":{"sidebar_label":"Blobstream Orchestrator","description":"Learn about the Blobstream Orchestrator.","head":[["meta",{"name":"og:title","content":"Blobstream Orchestrator | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-orchestrator.md","filePath":"nodes/blobstream-orchestrator.md","lastUpdated":1705009966000}'),e={name:"nodes/blobstream-orchestrator.md"},l=o(`

    Blobstream Orchestrator

    The role of the orchestrator is to sign attestations using its corresponding validator EVM private key. These attestations are generated within the Blobstream module of the Celestia-app state machine. To learn more about what attestations are, you can refer to the Blobstream overview.

    NOTE: Running a Blobstream orchestrator is an incredibly important aspect of running a validator. The signatures created there will be used to commit to block data in the exact way as the signatures included in the commit. Not running an orchestrator potentially has the same consequences (enforced by social slashing and eventually the protocol itself) as not signing a block.

    How it works

    The orchestrator does the following:

    1. Connect to a Celestia-app full node or validator node via RPC and gRPC and wait for new attestations
    2. Once an attestation is created inside the Blobstream state machine, the orchestrator queries it.
    3. After getting the attestation, the orchestrator signs it using the provided EVM private key. The private key should correspond to the EVM address provided when creating the validator. Read more about Blobstream keys.
    4. Then, the orchestrator pushes its signature to the P2P network it is connected to, via adding it as a DHT value.
    5. Listen for new attestations and go back to step 2.

    The orchestrator connects to a separate P2P network from the consensus or the data availability networks.

    The bootstrapper node for the Mocha testnet is:

    sh
    /dns/bootstr-0-mocha-blobstream.celestia-mocha.com/tcp/30000/p2p/12D3KooWLrw6EQgDwvgqrqT8wLNJoQYN3SDAzaAxJgyiTa2xowyF
    /dns/bootstr-0-mocha-blobstream.celestia-mocha.com/tcp/30000/p2p/12D3KooWLrw6EQgDwvgqrqT8wLNJoQYN3SDAzaAxJgyiTa2xowyF

    Make sure to specify the bootstrapper using the --p2p.bootstrappers flag when running the orchestrator or set it in the <orchestrator_home>/config/config.toml config file.

    This means that even if the consensus node is already connected to the consensus network, if the orchestrator doesn't start with a list of bootstrapper to its specific network, then, it will not work and will output the following logs:

    text
    I[2023-04-26|00:04:08.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
    +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Blobstream Orchestrator","description":"Learn about the Blobstream Orchestrator.","frontmatter":{"sidebar_label":"Blobstream Orchestrator","description":"Learn about the Blobstream Orchestrator.","head":[["meta",{"name":"og:title","content":"Blobstream Orchestrator | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-orchestrator.md","filePath":"nodes/blobstream-orchestrator.md","lastUpdated":1705010189000}'),e={name:"nodes/blobstream-orchestrator.md"},l=o(`

    Blobstream Orchestrator

    The role of the orchestrator is to sign attestations using its corresponding validator EVM private key. These attestations are generated within the Blobstream module of the Celestia-app state machine. To learn more about what attestations are, you can refer to the Blobstream overview.

    NOTE: Running a Blobstream orchestrator is an incredibly important aspect of running a validator. The signatures created there will be used to commit to block data in the exact way as the signatures included in the commit. Not running an orchestrator potentially has the same consequences (enforced by social slashing and eventually the protocol itself) as not signing a block.

    How it works

    The orchestrator does the following:

    1. Connect to a Celestia-app full node or validator node via RPC and gRPC and wait for new attestations
    2. Once an attestation is created inside the Blobstream state machine, the orchestrator queries it.
    3. After getting the attestation, the orchestrator signs it using the provided EVM private key. The private key should correspond to the EVM address provided when creating the validator. Read more about Blobstream keys.
    4. Then, the orchestrator pushes its signature to the P2P network it is connected to, via adding it as a DHT value.
    5. Listen for new attestations and go back to step 2.

    The orchestrator connects to a separate P2P network from the consensus or the data availability networks.

    The bootstrapper node for the Mocha testnet is:

    sh
    /dns/bootstr-0-mocha-blobstream.celestia-mocha.com/tcp/30000/p2p/12D3KooWLrw6EQgDwvgqrqT8wLNJoQYN3SDAzaAxJgyiTa2xowyF
    /dns/bootstr-0-mocha-blobstream.celestia-mocha.com/tcp/30000/p2p/12D3KooWLrw6EQgDwvgqrqT8wLNJoQYN3SDAzaAxJgyiTa2xowyF

    Make sure to specify the bootstrapper using the --p2p.bootstrappers flag when running the orchestrator or set it in the <orchestrator_home>/config/config.toml config file.

    This means that even if the consensus node is already connected to the consensus network, if the orchestrator doesn't start with a list of bootstrapper to its specific network, then, it will not work and will output the following logs:

    text
    I[2023-04-26|00:04:08.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
     I[2023-04-26|00:04:18.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
     I[2023-04-26|00:04:28.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
    I[2023-04-26|00:04:08.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
     I[2023-04-26|00:04:18.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
    diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.053c6d78.lean.js b/pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.d3216791.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.053c6d78.lean.js
    rename to pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.d3216791.lean.js
    index 7a29e52011..879972a315 100644
    --- a/pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.053c6d78.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_blobstream-orchestrator.md.d3216791.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Blobstream Orchestrator","description":"Learn about the Blobstream Orchestrator.","frontmatter":{"sidebar_label":"Blobstream Orchestrator","description":"Learn about the Blobstream Orchestrator.","head":[["meta",{"name":"og:title","content":"Blobstream Orchestrator | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-orchestrator.md","filePath":"nodes/blobstream-orchestrator.md","lastUpdated":1705009966000}'),e={name:"nodes/blobstream-orchestrator.md"},l=o("",95),p=[l];function t(r,c,y,E,i,d){return a(),n("div",null,p)}const u=s(e,[["render",t]]);export{h as __pageData,u as default};
    +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Blobstream Orchestrator","description":"Learn about the Blobstream Orchestrator.","frontmatter":{"sidebar_label":"Blobstream Orchestrator","description":"Learn about the Blobstream Orchestrator.","head":[["meta",{"name":"og:title","content":"Blobstream Orchestrator | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-orchestrator.md","filePath":"nodes/blobstream-orchestrator.md","lastUpdated":1705010189000}'),e={name:"nodes/blobstream-orchestrator.md"},l=o("",95),p=[l];function t(r,c,y,E,i,d){return a(),n("div",null,p)}const u=s(e,[["render",t]]);export{h as __pageData,u as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.9cf9a917.js b/pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.ed24ac43.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.9cf9a917.js
    rename to pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.ed24ac43.js
    index dd7ae1dc5d..e1a7ce1158 100644
    --- a/pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.9cf9a917.js
    +++ b/pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.ed24ac43.js
    @@ -1,4 +1,4 @@
    -import{_ as e,o as s,c as a,Q as t}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Blobstream Relayer","description":"Learn about the Blobstream Relayer.","frontmatter":{"sidebar_label":"Blobstream Relayer","description":"Learn about the Blobstream Relayer.","head":[["meta",{"name":"og:title","content":"Blobstream Relayer | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-relayer.md","filePath":"nodes/blobstream-relayer.md","lastUpdated":1705009966000}'),o={name:"nodes/blobstream-relayer.md"},n=t(`

    Blobstream Relayer

    The role of the relayer is to gather attestations' signatures from the orchestrators, and submit them to a target EVM chain. The attestations are generated within the Blobstream module of the Celestia-app state machine. To learn more about what attestations are, you can refer to the Blobstream overview.

    Also, while every validator in the Celestia validator set needs to run an orchestrator, we only need one entity to run the relayer, and it can be anyone. Thus, if you're a validator, most likely you want to read the orchestrator documentation.

    Every relayer needs to target a Blobstream smart contract. This contract can be deployed, if not already, using the blobstream deploy command. More details in the Deploy the Blobstream contract guide.

    How it works

    The relayer works as follows:

    1. Connect to a Celestia-app full node or validator node via RPC and gRPC and wait for attestations.
    2. Once an attestation is created inside the Blobstream state machine, the relayer queries it.
    3. After getting the attestation, the relayer checks if the target Blobstream smart contract's nonce is lower than the attestation.
    4. If so, the relayer queries the P2P network for signatures from the orchestrators.
    5. Once the relayer finds more than 2/3s signatures, it submits them to the target Blobstream smart contract where they get validated.
    6. Listen for new attestations and go back to step 2.

    The relayer connects to a separate P2P network from the consensus or the data availability one. So, we will provide bootstrappers for that one.

    This means that even if the consensus node is already connected to the consensus network, if the relayer doesn't start with a list of bootstrapper to its specific network, then, it will not work and will output the following logs:

    text
    I[2023-04-26|00:04:08.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
    +import{_ as e,o as s,c as a,Q as t}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Blobstream Relayer","description":"Learn about the Blobstream Relayer.","frontmatter":{"sidebar_label":"Blobstream Relayer","description":"Learn about the Blobstream Relayer.","head":[["meta",{"name":"og:title","content":"Blobstream Relayer | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-relayer.md","filePath":"nodes/blobstream-relayer.md","lastUpdated":1705010189000}'),o={name:"nodes/blobstream-relayer.md"},n=t(`

    Blobstream Relayer

    The role of the relayer is to gather attestations' signatures from the orchestrators, and submit them to a target EVM chain. The attestations are generated within the Blobstream module of the Celestia-app state machine. To learn more about what attestations are, you can refer to the Blobstream overview.

    Also, while every validator in the Celestia validator set needs to run an orchestrator, we only need one entity to run the relayer, and it can be anyone. Thus, if you're a validator, most likely you want to read the orchestrator documentation.

    Every relayer needs to target a Blobstream smart contract. This contract can be deployed, if not already, using the blobstream deploy command. More details in the Deploy the Blobstream contract guide.

    How it works

    The relayer works as follows:

    1. Connect to a Celestia-app full node or validator node via RPC and gRPC and wait for attestations.
    2. Once an attestation is created inside the Blobstream state machine, the relayer queries it.
    3. After getting the attestation, the relayer checks if the target Blobstream smart contract's nonce is lower than the attestation.
    4. If so, the relayer queries the P2P network for signatures from the orchestrators.
    5. Once the relayer finds more than 2/3s signatures, it submits them to the target Blobstream smart contract where they get validated.
    6. Listen for new attestations and go back to step 2.

    The relayer connects to a separate P2P network from the consensus or the data availability one. So, we will provide bootstrappers for that one.

    This means that even if the consensus node is already connected to the consensus network, if the relayer doesn't start with a list of bootstrapper to its specific network, then, it will not work and will output the following logs:

    text
    I[2023-04-26|00:04:08.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
     I[2023-04-26|00:04:18.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
     I[2023-04-26|00:04:28.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
    I[2023-04-26|00:04:08.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
     I[2023-04-26|00:04:18.175] waiting for routing table to populate        targetnumberofpeers=1 currentcount=0
    diff --git a/pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.9cf9a917.lean.js b/pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.ed24ac43.lean.js
    similarity index 90%
    rename from pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.9cf9a917.lean.js
    rename to pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.ed24ac43.lean.js
    index 457ad2f3ef..0317e302dd 100644
    --- a/pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.9cf9a917.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_blobstream-relayer.md.ed24ac43.lean.js
    @@ -1 +1 @@
    -import{_ as e,o as s,c as a,Q as t}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Blobstream Relayer","description":"Learn about the Blobstream Relayer.","frontmatter":{"sidebar_label":"Blobstream Relayer","description":"Learn about the Blobstream Relayer.","head":[["meta",{"name":"og:title","content":"Blobstream Relayer | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-relayer.md","filePath":"nodes/blobstream-relayer.md","lastUpdated":1705009966000}'),o={name:"nodes/blobstream-relayer.md"},n=t("",44),l=[n];function r(p,c,i,y,h,d){return s(),a("div",null,l)}const u=e(o,[["render",r]]);export{b as __pageData,u as default};
    +import{_ as e,o as s,c as a,Q as t}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Blobstream Relayer","description":"Learn about the Blobstream Relayer.","frontmatter":{"sidebar_label":"Blobstream Relayer","description":"Learn about the Blobstream Relayer.","head":[["meta",{"name":"og:title","content":"Blobstream Relayer | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/blobstream-relayer.md","filePath":"nodes/blobstream-relayer.md","lastUpdated":1705010189000}'),o={name:"nodes/blobstream-relayer.md"},n=t("",44),l=[n];function r(p,c,i,y,h,d){return s(),a("div",null,l)}const u=e(o,[["render",r]]);export{b as __pageData,u as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_bridge-node.md.945479e3.js b/pr-preview/pr-1358/assets/nodes_bridge-node.md.b7def6ff.js
    similarity index 97%
    rename from pr-preview/pr-1358/assets/nodes_bridge-node.md.945479e3.js
    rename to pr-preview/pr-1358/assets/nodes_bridge-node.md.b7def6ff.js
    index 0e8c3e3204..f3f7d2087a 100644
    --- a/pr-preview/pr-1358/assets/nodes_bridge-node.md.945479e3.js
    +++ b/pr-preview/pr-1358/assets/nodes_bridge-node.md.b7def6ff.js
    @@ -1,6 +1,6 @@
    -import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/nodes/BridgeNodes.png",u=JSON.parse('{"title":"Setting up a Celestia bridge node","description":"","frontmatter":{"\\\\description":"Learn how to set up your Celestia bridge node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia bridge node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/bridge-node.md","filePath":"nodes/bridge-node.md","lastUpdated":1705009966000}'),l={name:"nodes/bridge-node.md"},t=o('

    Setting up a Celestia bridge node

    This tutorial will go over the steps to setting up your Celestia bridge node.

    Bridge nodes connect the data availability layer and the consensus layer.

    Overview of bridge nodes

    A Celestia bridge node has the following properties:

    1. Import and process “raw” headers & blocks from a trusted core process (meaning a trusted RPC connection to a celestia-core node) in the Consensus network. Bridge nodes can run this core process internally (embedded) or simply connect to a remote endpoint. Bridge nodes also have the option of being an active validator in the consensus network.
    2. Validate and erasure code the “raw” blocks
    3. Supply block shares with data availability headers to light nodes in the DA network.

    bridge-node-diagram

    From an implementation perspective, Bridge nodes run two separate processes:

    1. celestia-app with celestia-core (see repo)

      • celestia-app is the state machine where the application and the proof-of-stake logic is run. celestia-app is built on Cosmos SDK and also encompasses celestia-core.
      • celestia-core is the state interaction, consensus and block production layer. celestia-core is built on Tendermint Core, modified to store data roots of erasure coded blocks among other changes (see ADRs).
    2. celestia-node (see repo)

      • celestia-node augments the above with a separate libp2p network that serves data availability sampling requests. The team sometimes refers to this as the “halo” network.

    Hardware requirements

    The following hardware minimum requirements are recommended for running the bridge node:

    • Memory: 4 GB RAM (minimum)
    • CPU: 6 cores
    • Disk: 10 TB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    Setting up your bridge node

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Setup the dependencies

    Follow the tutorial for installing the dependencies.

    Deploy the Celestia bridge node

    Install Celestia Node

    Install the celestia-node binary, which will be used to run the bridge node.

    Follow the tutorial for installing celestia-node.

    Initialize the bridge node

    Run the following:

    sh
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>

    The --core.ip gRPC port defaults to 9090, so if you do not specify it in the command line, it will default to that port. You can add the port after the IP address or use the --core.grpc.port flag to specify another port if you prefer.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    Here is an example of initializing the bridge node:

    sh
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>
    sh
    celestia bridge init --core.ip <URI> --p2p.network mocha
    celestia bridge init --core.ip <URI> --p2p.network mocha
    sh
    celestia bridge init --core.ip <URI> --p2p.network arabica
    celestia bridge init --core.ip <URI> --p2p.network arabica

    Run the bridge node

    Start the bridge node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    sh
    celestia bridge start --core.ip <URI>
    celestia bridge start --core.ip <URI>

    Here is an example of starting the bridge node on Mocha:

    sh
    celestia bridge start --core.ip rpc-mocha.pops.one:26657
    celestia bridge start --core.ip rpc-mocha.pops.one:26657

    And on Arabica:

    sh
    celestia bridge start --core.ip consensus-validator.celestia-arabica-10.com \\
    +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/nodes/BridgeNodes.png",u=JSON.parse('{"title":"Setting up a Celestia bridge node","description":"","frontmatter":{"\\\\description":"Learn how to set up your Celestia bridge node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia bridge node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/bridge-node.md","filePath":"nodes/bridge-node.md","lastUpdated":1705010189000}'),l={name:"nodes/bridge-node.md"},t=o('

    Setting up a Celestia bridge node

    This tutorial will go over the steps to setting up your Celestia bridge node.

    Bridge nodes connect the data availability layer and the consensus layer.

    Overview of bridge nodes

    A Celestia bridge node has the following properties:

    1. Import and process “raw” headers & blocks from a trusted core process (meaning a trusted RPC connection to a celestia-core node) in the Consensus network. Bridge nodes can run this core process internally (embedded) or simply connect to a remote endpoint. Bridge nodes also have the option of being an active validator in the consensus network.
    2. Validate and erasure code the “raw” blocks
    3. Supply block shares with data availability headers to light nodes in the DA network.

    bridge-node-diagram

    From an implementation perspective, Bridge nodes run two separate processes:

    1. celestia-app with celestia-core (see repo)

      • celestia-app is the state machine where the application and the proof-of-stake logic is run. celestia-app is built on Cosmos SDK and also encompasses celestia-core.
      • celestia-core is the state interaction, consensus and block production layer. celestia-core is built on Tendermint Core, modified to store data roots of erasure coded blocks among other changes (see ADRs).
    2. celestia-node (see repo)

      • celestia-node augments the above with a separate libp2p network that serves data availability sampling requests. The team sometimes refers to this as the “halo” network.

    Hardware requirements

    The following hardware minimum requirements are recommended for running the bridge node:

    • Memory: 4 GB RAM (minimum)
    • CPU: 6 cores
    • Disk: 10 TB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    Setting up your bridge node

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Setup the dependencies

    Follow the tutorial for installing the dependencies.

    Deploy the Celestia bridge node

    Install Celestia Node

    Install the celestia-node binary, which will be used to run the bridge node.

    Follow the tutorial for installing celestia-node.

    Initialize the bridge node

    Run the following:

    sh
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>

    The --core.ip gRPC port defaults to 9090, so if you do not specify it in the command line, it will default to that port. You can add the port after the IP address or use the --core.grpc.port flag to specify another port if you prefer.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    Here is an example of initializing the bridge node:

    sh
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>
    sh
    celestia bridge init --core.ip <URI> --p2p.network mocha
    celestia bridge init --core.ip <URI> --p2p.network mocha
    sh
    celestia bridge init --core.ip <URI> --p2p.network arabica
    celestia bridge init --core.ip <URI> --p2p.network arabica

    Run the bridge node

    Start the bridge node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    sh
    celestia bridge start --core.ip <URI>
    celestia bridge start --core.ip <URI>

    Here is an example of starting the bridge node on Mocha:

    sh
    celestia bridge start --core.ip rpc-mocha.pops.one:26657
    celestia bridge start --core.ip rpc-mocha.pops.one:26657

    And on Arabica:

    sh
    celestia bridge start --core.ip consensus-validator.celestia-arabica-10.com \\
       --p2p.network arabica
    celestia bridge start --core.ip consensus-validator.celestia-arabica-10.com \\
    -  --p2p.network arabica

    You can create your key for your node by following the cel-key instructions.

    Once you start the bridge node, a wallet key will be generated for you. You will need to fund that address with Testnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

    sh
    ./cel-key list --node.type bridge --keyring-backend test --p2p.network <network>
    ./cel-key list --node.type bridge --keyring-backend test --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    You can get testnet tokens from:

    NOTE

    If you are running a bridge node for your validator it is highly recommended to request Mocha testnet tokens as this is the testnet used to test out validator operations.

    Optional: run the bridge node with a custom key

    In order to run a bridge node using a custom key:

    1. The custom key must exist inside the celestia bridge node directory at the correct path (default: ~/.celestia-bridge/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key>
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key>
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \\
    +  --p2p.network arabica

    You can create your key for your node by following the cel-key instructions.

    Once you start the bridge node, a wallet key will be generated for you. You will need to fund that address with Testnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

    sh
    ./cel-key list --node.type bridge --keyring-backend test --p2p.network <network>
    ./cel-key list --node.type bridge --keyring-backend test --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    You can get testnet tokens from:

    NOTE

    If you are running a bridge node for your validator it is highly recommended to request Mocha testnet tokens as this is the testnet used to test out validator operations.

    Optional: run the bridge node with a custom key

    In order to run a bridge node using a custom key:

    1. The custom key must exist inside the celestia bridge node directory at the correct path (default: ~/.celestia-bridge/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key>
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key>
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \\
       --p2p.network mocha
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \\
       --p2p.network mocha
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \\
       --p2p.network arabica
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \\
    diff --git a/pr-preview/pr-1358/assets/nodes_bridge-node.md.945479e3.lean.js b/pr-preview/pr-1358/assets/nodes_bridge-node.md.b7def6ff.lean.js
    similarity index 90%
    rename from pr-preview/pr-1358/assets/nodes_bridge-node.md.945479e3.lean.js
    rename to pr-preview/pr-1358/assets/nodes_bridge-node.md.b7def6ff.lean.js
    index b6914260ac..9a5aa40947 100644
    --- a/pr-preview/pr-1358/assets/nodes_bridge-node.md.945479e3.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_bridge-node.md.b7def6ff.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/nodes/BridgeNodes.png",u=JSON.parse('{"title":"Setting up a Celestia bridge node","description":"","frontmatter":{"\\\\description":"Learn how to set up your Celestia bridge node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia bridge node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/bridge-node.md","filePath":"nodes/bridge-node.md","lastUpdated":1705009966000}'),l={name:"nodes/bridge-node.md"},t=o("",49),p=[t];function r(c,i,d,y,E,h){return a(),e("div",null,p)}const b=s(l,[["render",r]]);export{u as __pageData,b as default};
    +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.2263f03b.js";const n="/pr-preview/pr-1358/img/nodes/BridgeNodes.png",u=JSON.parse('{"title":"Setting up a Celestia bridge node","description":"","frontmatter":{"\\\\description":"Learn how to set up your Celestia bridge node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia bridge node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/bridge-node.md","filePath":"nodes/bridge-node.md","lastUpdated":1705010189000}'),l={name:"nodes/bridge-node.md"},t=o("",49),p=[t];function r(c,i,d,y,E,h){return a(),e("div",null,p)}const b=s(l,[["render",r]]);export{u as __pageData,b as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.acd01a13.js b/pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.7218e4ec.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.acd01a13.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.7218e4ec.js
    index 2cc47ff464..15899c3583 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.acd01a13.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.7218e4ec.js
    @@ -1,4 +1,4 @@
    -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Helpful CLI commands","description":"Some of the most helpful celestia-app CLI commands.","frontmatter":{"description":"Some of the most helpful celestia-app CLI commands.","next":{"text":"SystemD","link":"/nodes/systemd"},"head":[["meta",{"name":"og:title","content":"Helpful CLI commands | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-commands.md","filePath":"nodes/celestia-app-commands.md","lastUpdated":1705009966000}'),p={name:"nodes/celestia-app-commands.md"},o=l(`

    Helpful CLI commands

    View all options:

    console
    $ celestia-appd --help
    +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Helpful CLI commands","description":"Some of the most helpful celestia-app CLI commands.","frontmatter":{"description":"Some of the most helpful celestia-app CLI commands.","next":{"text":"SystemD","link":"/nodes/systemd"},"head":[["meta",{"name":"og:title","content":"Helpful CLI commands | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-commands.md","filePath":"nodes/celestia-app-commands.md","lastUpdated":1705010189000}'),p={name:"nodes/celestia-app-commands.md"},o=l(`

    Helpful CLI commands

    View all options:

    console
    $ celestia-appd --help
     Start celestia-app
     
     Usage:
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.acd01a13.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.7218e4ec.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.acd01a13.lean.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.7218e4ec.lean.js
    index e170a11bff..7d3ea1c600 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.acd01a13.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app-commands.md.7218e4ec.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Helpful CLI commands","description":"Some of the most helpful celestia-app CLI commands.","frontmatter":{"description":"Some of the most helpful celestia-app CLI commands.","next":{"text":"SystemD","link":"/nodes/systemd"},"head":[["meta",{"name":"og:title","content":"Helpful CLI commands | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-commands.md","filePath":"nodes/celestia-app-commands.md","lastUpdated":1705009966000}'),p={name:"nodes/celestia-app-commands.md"},o=l("",84),e=[o];function t(c,r,y,E,i,F){return a(),n("div",null,e)}const g=s(p,[["render",t]]);export{u as __pageData,g as default};
    +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const u=JSON.parse('{"title":"Helpful CLI commands","description":"Some of the most helpful celestia-app CLI commands.","frontmatter":{"description":"Some of the most helpful celestia-app CLI commands.","next":{"text":"SystemD","link":"/nodes/systemd"},"head":[["meta",{"name":"og:title","content":"Helpful CLI commands | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-commands.md","filePath":"nodes/celestia-app-commands.md","lastUpdated":1705010189000}'),p={name:"nodes/celestia-app-commands.md"},o=l("",84),e=[o];function t(c,r,y,E,i,F){return a(),n("div",null,e)}const g=s(p,[["render",t]]);export{u as __pageData,g as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.0835b1be.js b/pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.28214465.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.0835b1be.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.28214465.js
    index bc9bcd3e0d..c145bb9091 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.0835b1be.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.28214465.js
    @@ -1,4 +1,4 @@
    -import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Metrics","description":"A guide on how to monitor the health and performance of your system.","frontmatter":{"description":"A guide on how to monitor the health and performance of your system.","head":[["meta",{"name":"og:title","content":"Metrics | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-metrics.md","filePath":"nodes/celestia-app-metrics.md","lastUpdated":1705009966000}'),o={name:"nodes/celestia-app-metrics.md"},l=e(`

    Metrics

    Metrics are a powerful tool for monitoring the health and performance of a system. Celestia provides support for metrics to make sure, as an operator, your system continues to remain up and running. Metrics can also provide critical insight into how Celestia is used and how it can be improved.

    Setup

    Celestia uses Prometheus to publish metrics. It can be enabled through the config.toml file.

    bash
    #######################################################
    +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Metrics","description":"A guide on how to monitor the health and performance of your system.","frontmatter":{"description":"A guide on how to monitor the health and performance of your system.","head":[["meta",{"name":"og:title","content":"Metrics | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-metrics.md","filePath":"nodes/celestia-app-metrics.md","lastUpdated":1705010189000}'),o={name:"nodes/celestia-app-metrics.md"},l=e(`

    Metrics

    Metrics are a powerful tool for monitoring the health and performance of a system. Celestia provides support for metrics to make sure, as an operator, your system continues to remain up and running. Metrics can also provide critical insight into how Celestia is used and how it can be improved.

    Setup

    Celestia uses Prometheus to publish metrics. It can be enabled through the config.toml file.

    bash
    #######################################################
     ###       Instrumentation Configuration Options     ###
     #######################################################
     [instrumentation]
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.0835b1be.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.28214465.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.0835b1be.lean.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.28214465.lean.js
    index d8258c19cf..88808c1449 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.0835b1be.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app-metrics.md.28214465.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Metrics","description":"A guide on how to monitor the health and performance of your system.","frontmatter":{"description":"A guide on how to monitor the health and performance of your system.","head":[["meta",{"name":"og:title","content":"Metrics | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-metrics.md","filePath":"nodes/celestia-app-metrics.md","lastUpdated":1705009966000}'),o={name:"nodes/celestia-app-metrics.md"},l=e("",27),t=[l];function p(r,c,i,y,u,h){return a(),n("div",null,t)}const E=s(o,[["render",p]]);export{m as __pageData,E as default};
    +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.2263f03b.js";const m=JSON.parse('{"title":"Metrics","description":"A guide on how to monitor the health and performance of your system.","frontmatter":{"description":"A guide on how to monitor the health and performance of your system.","head":[["meta",{"name":"og:title","content":"Metrics | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-metrics.md","filePath":"nodes/celestia-app-metrics.md","lastUpdated":1705010189000}'),o={name:"nodes/celestia-app-metrics.md"},l=e("",27),t=[l];function p(r,c,i,y,u,h){return a(),n("div",null,t)}const E=s(o,[["render",p]]);export{m as __pageData,E as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.46de9731.js b/pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.942d7a74.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.46de9731.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.942d7a74.js
    index c891f23e43..06bd11d474 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.46de9731.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.942d7a74.js
    @@ -1,4 +1,4 @@
    -import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const d=JSON.parse('{"title":"Multisig","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Multisig | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-multisig.md","filePath":"nodes/celestia-app-multisig.md","lastUpdated":1705009966000}'),p={name:"nodes/celestia-app-multisig.md"},o=l(`

    Multisig

    Celestia inherits support for multisig accounts from the Cosmos SDK. Multisig accounts behave similarly to regular accounts with the added requirement that a threshold of signatures is needed to authorize a transaction.

    Multisig accounts can be created from the command line or using a graphical interface such as Keplr.

    Command line

    bash
    #!/bin/sh
    +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const d=JSON.parse('{"title":"Multisig","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Multisig | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-multisig.md","filePath":"nodes/celestia-app-multisig.md","lastUpdated":1705010189000}'),p={name:"nodes/celestia-app-multisig.md"},o=l(`

    Multisig

    Celestia inherits support for multisig accounts from the Cosmos SDK. Multisig accounts behave similarly to regular accounts with the added requirement that a threshold of signatures is needed to authorize a transaction.

    Multisig accounts can be created from the command line or using a graphical interface such as Keplr.

    Command line

    bash
    #!/bin/sh
     
     # Prerequisite: prior to running this script, start a single node devnet with ./scripts/single-node.sh
     CHAIN_ID="private"
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.46de9731.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.942d7a74.lean.js
    similarity index 88%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.46de9731.lean.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.942d7a74.lean.js
    index 625c67f2b0..6fa456edd3 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.46de9731.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app-multisig.md.942d7a74.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const d=JSON.parse('{"title":"Multisig","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Multisig | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-multisig.md","filePath":"nodes/celestia-app-multisig.md","lastUpdated":1705009966000}'),p={name:"nodes/celestia-app-multisig.md"},o=l("",7),e=[o];function t(c,r,y,E,i,F){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{d as __pageData,u as default};
    +import{_ as s,o as n,c as a,Q as l}from"./chunks/framework.2263f03b.js";const d=JSON.parse('{"title":"Multisig","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Multisig | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-multisig.md","filePath":"nodes/celestia-app-multisig.md","lastUpdated":1705010189000}'),p={name:"nodes/celestia-app-multisig.md"},o=l("",7),e=[o];function t(c,r,y,E,i,F){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{d as __pageData,u as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.66e886da.js b/pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.d7be78de.js
    similarity index 89%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.66e886da.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.d7be78de.js
    index b349286fa0..fbf563876b 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.66e886da.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.d7be78de.js
    @@ -1 +1 @@
    -import{_ as o,o as a,c as r,k as e,a as t}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Upgrade Monitor","description":"upgrade-monitor is a tool to monitor upgrades on a Celestia network.","frontmatter":{"description":"upgrade-monitor is a tool to monitor upgrades on a Celestia network.","head":[["meta",{"name":"og:title","content":"Upgrade Monitor | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-upgrade-monitor.md","filePath":"nodes/celestia-app-upgrade-monitor.md","lastUpdated":1705009966000}'),n={name:"nodes/celestia-app-upgrade-monitor.md"},s=e("h1",{id:"upgrade-monitor",tabindex:"-1"},[t("Upgrade Monitor "),e("a",{class:"header-anchor",href:"#upgrade-monitor","aria-label":'Permalink to "Upgrade Monitor"'},"​")],-1),i=e("p",null,[t("Upgrade monitor is a binary that monitors that status of upgrades on a Celestia network. See the "),e("a",{href:"https://github.com/celestiaorg/upgrade-monitor",target:"_blank",rel:"noreferrer"},"README"),t(" for instructions on how to install and use the binary.")],-1),d=[s,i];function p(c,l,m,g,u,h){return a(),r("div",null,d)}const k=o(n,[["render",p]]);export{f as __pageData,k as default};
    +import{_ as o,o as a,c as r,k as e,a as t}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Upgrade Monitor","description":"upgrade-monitor is a tool to monitor upgrades on a Celestia network.","frontmatter":{"description":"upgrade-monitor is a tool to monitor upgrades on a Celestia network.","head":[["meta",{"name":"og:title","content":"Upgrade Monitor | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-upgrade-monitor.md","filePath":"nodes/celestia-app-upgrade-monitor.md","lastUpdated":1705010189000}'),n={name:"nodes/celestia-app-upgrade-monitor.md"},s=e("h1",{id:"upgrade-monitor",tabindex:"-1"},[t("Upgrade Monitor "),e("a",{class:"header-anchor",href:"#upgrade-monitor","aria-label":'Permalink to "Upgrade Monitor"'},"​")],-1),i=e("p",null,[t("Upgrade monitor is a binary that monitors that status of upgrades on a Celestia network. See the "),e("a",{href:"https://github.com/celestiaorg/upgrade-monitor",target:"_blank",rel:"noreferrer"},"README"),t(" for instructions on how to install and use the binary.")],-1),d=[s,i];function p(c,l,m,g,u,h){return a(),r("div",null,d)}const k=o(n,[["render",p]]);export{f as __pageData,k as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.66e886da.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.d7be78de.lean.js
    similarity index 89%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.66e886da.lean.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.d7be78de.lean.js
    index b349286fa0..fbf563876b 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.66e886da.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app-upgrade-monitor.md.d7be78de.lean.js
    @@ -1 +1 @@
    -import{_ as o,o as a,c as r,k as e,a as t}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Upgrade Monitor","description":"upgrade-monitor is a tool to monitor upgrades on a Celestia network.","frontmatter":{"description":"upgrade-monitor is a tool to monitor upgrades on a Celestia network.","head":[["meta",{"name":"og:title","content":"Upgrade Monitor | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-upgrade-monitor.md","filePath":"nodes/celestia-app-upgrade-monitor.md","lastUpdated":1705009966000}'),n={name:"nodes/celestia-app-upgrade-monitor.md"},s=e("h1",{id:"upgrade-monitor",tabindex:"-1"},[t("Upgrade Monitor "),e("a",{class:"header-anchor",href:"#upgrade-monitor","aria-label":'Permalink to "Upgrade Monitor"'},"​")],-1),i=e("p",null,[t("Upgrade monitor is a binary that monitors that status of upgrades on a Celestia network. See the "),e("a",{href:"https://github.com/celestiaorg/upgrade-monitor",target:"_blank",rel:"noreferrer"},"README"),t(" for instructions on how to install and use the binary.")],-1),d=[s,i];function p(c,l,m,g,u,h){return a(),r("div",null,d)}const k=o(n,[["render",p]]);export{f as __pageData,k as default};
    +import{_ as o,o as a,c as r,k as e,a as t}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Upgrade Monitor","description":"upgrade-monitor is a tool to monitor upgrades on a Celestia network.","frontmatter":{"description":"upgrade-monitor is a tool to monitor upgrades on a Celestia network.","head":[["meta",{"name":"og:title","content":"Upgrade Monitor | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app-upgrade-monitor.md","filePath":"nodes/celestia-app-upgrade-monitor.md","lastUpdated":1705010189000}'),n={name:"nodes/celestia-app-upgrade-monitor.md"},s=e("h1",{id:"upgrade-monitor",tabindex:"-1"},[t("Upgrade Monitor "),e("a",{class:"header-anchor",href:"#upgrade-monitor","aria-label":'Permalink to "Upgrade Monitor"'},"​")],-1),i=e("p",null,[t("Upgrade monitor is a binary that monitors that status of upgrades on a Celestia network. See the "),e("a",{href:"https://github.com/celestiaorg/upgrade-monitor",target:"_blank",rel:"noreferrer"},"README"),t(" for instructions on how to install and use the binary.")],-1),d=[s,i];function p(c,l,m,g,u,h){return a(),r("div",null,d)}const k=o(n,[["render",p]]);export{f as __pageData,k as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app.md.fe8b37cb.js b/pr-preview/pr-1358/assets/nodes_celestia-app.md.b8fe0c79.js
    similarity index 81%
    rename from pr-preview/pr-1358/assets/nodes_celestia-app.md.fe8b37cb.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-app.md.b8fe0c79.js
    index 7c5190fabb..b2dc9de832 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-app.md.fe8b37cb.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-app.md.b8fe0c79.js
    @@ -4,4 +4,4 @@ import{a}from"./chunks/arabica_versions.9a2b5c45.js";import{m as l}from"./chunks
     cd celestia-app
    cd $HOME
     rm -rf celestia-app
     git clone https://github.com/celestiaorg/celestia-app.git
    -cd celestia-app
  4. `,1),d=s("p",null,"Check out to the desired version, based on the network you will use:",-1),h={class:"vp-code-group vp-adaptive-theme"},_=o('
    ',1),y={class:"blocks"},u={class:"language-bash vp-adaptive-theme active"},b=s("button",{title:"Copy Code",class:"copy"},null,-1),g=s("span",{class:"lang"},"bash",-1),E={class:"shiki github-dark vp-code-dark"},F={class:"line"},m=s("span",{style:{color:"#B392F0"}},"git",-1),C=s("span",{style:{color:"#E1E4E8"}}," ",-1),v=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),f=s("span",{style:{color:"#E1E4E8"}}," ",-1),k={style:{color:"#9ECBFF"}},B=s("span",{style:{color:"#E1E4E8"}}," ",-1),T=s("span",{style:{color:"#79B8FF"}},"-b",-1),w=s("span",{style:{color:"#E1E4E8"}}," ",-1),P={style:{color:"#9ECBFF"}},I={class:"shiki github-light vp-code-light"},A={class:"line"},S=s("span",{style:{color:"#6F42C1"}},"git",-1),q=s("span",{style:{color:"#24292E"}}," ",-1),V=s("span",{style:{color:"#032F62"}},"checkout",-1),D=s("span",{style:{color:"#24292E"}}," ",-1),M={style:{color:"#032F62"}},L=s("span",{style:{color:"#24292E"}}," ",-1),N=s("span",{style:{color:"#005CC5"}},"-b",-1),x=s("span",{style:{color:"#24292E"}}," ",-1),O={style:{color:"#032F62"}},R={class:"language-bash vp-adaptive-theme"},H=s("button",{title:"Copy Code",class:"copy"},null,-1),Y=s("span",{class:"lang"},"bash",-1),U={class:"shiki github-dark vp-code-dark"},$={class:"line"},j=s("span",{style:{color:"#B392F0"}},"git",-1),G=s("span",{style:{color:"#E1E4E8"}}," ",-1),Q=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),J=s("span",{style:{color:"#E1E4E8"}}," ",-1),W={style:{color:"#9ECBFF"}},z=s("span",{style:{color:"#E1E4E8"}}," ",-1),K=s("span",{style:{color:"#79B8FF"}},"-b",-1),X=s("span",{style:{color:"#E1E4E8"}}," ",-1),Z={style:{color:"#9ECBFF"}},ss={class:"shiki github-light vp-code-light"},ts={class:"line"},es=s("span",{style:{color:"#6F42C1"}},"git",-1),os=s("span",{style:{color:"#24292E"}}," ",-1),as=s("span",{style:{color:"#032F62"}},"checkout",-1),ls=s("span",{style:{color:"#24292E"}}," ",-1),ns={style:{color:"#032F62"}},ps=s("span",{style:{color:"#24292E"}}," ",-1),cs=s("span",{style:{color:"#005CC5"}},"-b",-1),is=s("span",{style:{color:"#24292E"}}," ",-1),rs={style:{color:"#032F62"}},ds={class:"language-bash vp-adaptive-theme"},hs=s("button",{title:"Copy Code",class:"copy"},null,-1),_s=s("span",{class:"lang"},"bash",-1),ys={class:"shiki github-dark vp-code-dark"},us={class:"line"},bs=s("span",{style:{color:"#B392F0"}},"git",-1),gs=s("span",{style:{color:"#E1E4E8"}}," ",-1),Es=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Fs=s("span",{style:{color:"#E1E4E8"}}," ",-1),ms={style:{color:"#9ECBFF"}},Cs=s("span",{style:{color:"#E1E4E8"}}," ",-1),vs=s("span",{style:{color:"#79B8FF"}},"-b",-1),fs=s("span",{style:{color:"#E1E4E8"}}," ",-1),ks={style:{color:"#9ECBFF"}},Bs={class:"shiki github-light vp-code-light"},Ts={class:"line"},ws=s("span",{style:{color:"#6F42C1"}},"git",-1),Ps=s("span",{style:{color:"#24292E"}}," ",-1),Is=s("span",{style:{color:"#032F62"}},"checkout",-1),As=s("span",{style:{color:"#24292E"}}," ",-1),Ss={style:{color:"#032F62"}},qs=s("span",{style:{color:"#24292E"}}," ",-1),Vs=s("span",{style:{color:"#005CC5"}},"-b",-1),Ds=s("span",{style:{color:"#24292E"}}," ",-1),Ms={style:{color:"#032F62"}},Ls=o('
  5. Build and install the celestia-appd binary:

    bash
    make install
    make install
  6. To check if the binary was successfully installed you can run the binary using the --help flag:

    sh
    celestia-appd --help
    celestia-appd --help
  7. ',2),Ns=o('

    You will see an output with the menu for celestia-appd. Learn more on the helpful CLI commands page

    Installing a pre-built binary

    Installing a pre-built binary is the fastest way to get started with your Celestia consensus node. Releases after celestia-app v1.3.0 should have these binaries available.

    The steps below will download a binary file named celestia-appd. Depending on the setup that you choose during installation, the celestia-appd binary will be available at either:

    • $HOME/celestia-temp/celestia-appd
    • /usr/local/bin/celestia-appd

    Pre-built binaries are available for:

    • Operating systems: Darwin (Apple), Linux
    • Architectures: x86_64 (amd64), arm64

    To install the latest pre-built binary you can run this command in your terminal:

    bash
    bash -c "$(curl -sL https://docs.celestia.org/celestia-app.sh)"
    bash -c "$(curl -sL https://docs.celestia.org/celestia-app.sh)"

    Follow the instructions in the terminal output to choose your installation preferences.

    You will see an output with the menu for celestia-appd. Learn more on the helpful CLI commands page

    View the script to learn more about what it is doing.

    Ports

    When interacting with a consensus node, you may need to open ports on your machine to allow communication between nodes, such as bridge nodes. It is essential that specific ports are accessible. Make sure that your firewall allows connections to the correct ports.

    If you run a node on a cloud server, make sure that the ports are open on the server's firewall. If you run a node at home, make sure that your router allows connections to the correct ports.

    For example, validator ports 9090 and 26657 need to be accessible by the bridge, and port 2121 is required for P2P connections for all node types.

    The following ports are used by Celestia app nodes:

    PortProtocolAddressDescriptionEnabled by default on nodeFlag
    2121TCP/UDPlocalhostP2PtrueN/A
    9090HTTP0.0.0.0gRPCtrue--grpc.address string
    26657TCPlocalhostRPCfalse (only open to localhost)--rpc.laddr string
    ',18),Gs=JSON.parse('{"title":"Install celestia-app","description":"Learn how you can build celestia-app.","frontmatter":{"description":"Learn how you can build celestia-app.","head":[["meta",{"name":"og:title","content":"Install celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app.md","filePath":"nodes/celestia-app.md","lastUpdated":1705009966000}'),xs={name:"nodes/celestia-app.md"},Qs=Object.assign(xs,{setup(Os){return(Rs,Hs)=>(p(),c("div",null,[i,s("ol",null,[r,s("li",null,[d,s("div",h,[_,s("div",y,[s("div",u,[b,g,s("pre",E,[s("code",null,[s("span",F,[m,C,v,f,s("span",k,"tags/"+t(e(n)["app-latest-tag"]),1),B,T,w,s("span",P,t(e(n)["app-latest-tag"]),1)])])]),s("pre",I,[s("code",null,[s("span",A,[S,q,V,D,s("span",M,"tags/"+t(e(n)["app-latest-tag"]),1),L,N,x,s("span",O,t(e(n)["app-latest-tag"]),1)])])])]),s("div",R,[H,Y,s("pre",U,[s("code",null,[s("span",$,[j,G,Q,J,s("span",W,"tags/"+t(e(l)["app-latest-tag"]),1),z,K,X,s("span",Z,t(e(l)["app-latest-tag"]),1)])])]),s("pre",ss,[s("code",null,[s("span",ts,[es,os,as,ls,s("span",ns,"tags/"+t(e(l)["app-latest-tag"]),1),ps,cs,is,s("span",rs,t(e(l)["app-latest-tag"]),1)])])])]),s("div",ds,[hs,_s,s("pre",ys,[s("code",null,[s("span",us,[bs,gs,Es,Fs,s("span",ms,"tags/"+t(e(a)["app-latest-tag"]),1),Cs,vs,fs,s("span",ks,t(e(a)["app-latest-tag"]),1)])])]),s("pre",Bs,[s("code",null,[s("span",Ts,[ws,Ps,Is,As,s("span",Ss,"tags/"+t(e(a)["app-latest-tag"]),1),qs,Vs,Ds,s("span",Ms,t(e(a)["app-latest-tag"]),1)])])])])])])]),Ls]),Ns]))}});export{Gs as __pageData,Qs as default}; +cd celestia-app
    `,1),d=s("p",null,"Check out to the desired version, based on the network you will use:",-1),h={class:"vp-code-group vp-adaptive-theme"},_=o('
    ',1),y={class:"blocks"},u={class:"language-bash vp-adaptive-theme active"},b=s("button",{title:"Copy Code",class:"copy"},null,-1),g=s("span",{class:"lang"},"bash",-1),E={class:"shiki github-dark vp-code-dark"},F={class:"line"},m=s("span",{style:{color:"#B392F0"}},"git",-1),C=s("span",{style:{color:"#E1E4E8"}}," ",-1),f=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),v=s("span",{style:{color:"#E1E4E8"}}," ",-1),k={style:{color:"#9ECBFF"}},B=s("span",{style:{color:"#E1E4E8"}}," ",-1),T=s("span",{style:{color:"#79B8FF"}},"-b",-1),w=s("span",{style:{color:"#E1E4E8"}}," ",-1),P={style:{color:"#9ECBFF"}},I={class:"shiki github-light vp-code-light"},A={class:"line"},q=s("span",{style:{color:"#6F42C1"}},"git",-1),S=s("span",{style:{color:"#24292E"}}," ",-1),V=s("span",{style:{color:"#032F62"}},"checkout",-1),x=s("span",{style:{color:"#24292E"}}," ",-1),D={style:{color:"#032F62"}},L=s("span",{style:{color:"#24292E"}}," ",-1),R=s("span",{style:{color:"#005CC5"}},"-b",-1),M=s("span",{style:{color:"#24292E"}}," ",-1),N={style:{color:"#032F62"}},O={class:"language-bash vp-adaptive-theme"},$=s("button",{title:"Copy Code",class:"copy"},null,-1),H=s("span",{class:"lang"},"bash",-1),j={class:"shiki github-dark vp-code-dark"},U={class:"line"},W=s("span",{style:{color:"#B392F0"}},"git",-1),Y=s("span",{style:{color:"#E1E4E8"}}," ",-1),G=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),z=s("span",{style:{color:"#E1E4E8"}}," ",-1),J={style:{color:"#9ECBFF"}},Q=s("span",{style:{color:"#E1E4E8"}}," ",-1),K=s("span",{style:{color:"#79B8FF"}},"-b",-1),X=s("span",{style:{color:"#E1E4E8"}}," ",-1),Z={style:{color:"#9ECBFF"}},ss={class:"shiki github-light vp-code-light"},ts={class:"line"},es=s("span",{style:{color:"#6F42C1"}},"git",-1),os=s("span",{style:{color:"#24292E"}}," ",-1),as=s("span",{style:{color:"#032F62"}},"checkout",-1),ls=s("span",{style:{color:"#24292E"}}," ",-1),ns={style:{color:"#032F62"}},ps=s("span",{style:{color:"#24292E"}}," ",-1),cs=s("span",{style:{color:"#005CC5"}},"-b",-1),is=s("span",{style:{color:"#24292E"}}," ",-1),rs={style:{color:"#032F62"}},ds={class:"language-bash vp-adaptive-theme"},hs=s("button",{title:"Copy Code",class:"copy"},null,-1),_s=s("span",{class:"lang"},"bash",-1),ys={class:"shiki github-dark vp-code-dark"},us={class:"line"},bs=s("span",{style:{color:"#B392F0"}},"git",-1),gs=s("span",{style:{color:"#E1E4E8"}}," ",-1),Es=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Fs=s("span",{style:{color:"#E1E4E8"}}," ",-1),ms={style:{color:"#9ECBFF"}},Cs=s("span",{style:{color:"#E1E4E8"}}," ",-1),fs=s("span",{style:{color:"#79B8FF"}},"-b",-1),vs=s("span",{style:{color:"#E1E4E8"}}," ",-1),ks={style:{color:"#9ECBFF"}},Bs={class:"shiki github-light vp-code-light"},Ts={class:"line"},ws=s("span",{style:{color:"#6F42C1"}},"git",-1),Ps=s("span",{style:{color:"#24292E"}}," ",-1),Is=s("span",{style:{color:"#032F62"}},"checkout",-1),As=s("span",{style:{color:"#24292E"}}," ",-1),qs={style:{color:"#032F62"}},Ss=s("span",{style:{color:"#24292E"}}," ",-1),Vs=s("span",{style:{color:"#005CC5"}},"-b",-1),xs=s("span",{style:{color:"#24292E"}}," ",-1),Ds={style:{color:"#032F62"}},Ls=o('
  8. Build and install the celestia-appd binary:

    bash
    make install
    make install
  9. To check if the binary was successfully installed you can run the binary using the --help flag:

    sh
    celestia-appd --help
    celestia-appd --help
  10. ',2),Rs=o('

    You will see an output with the menu for celestia-appd. Learn more on the helpful CLI commands page

    Installing a pre-built binary

    Installing a pre-built binary is the fastest way to get started with your Celestia consensus node. Releases after celestia-app v1.3.0 should have these binaries available.

    The steps below will download a binary file named celestia-appd. Depending on the setup that you choose during installation, the celestia-appd binary will be available at either:

    • $HOME/celestia-temp/celestia-appd
    • /usr/local/bin/celestia-appd

    Pre-built binaries are available for:

    • Operating systems: Darwin (Apple), Linux
    • Architectures: x86_64 (amd64), arm64

    To install the latest pre-built binary you can run this command in your terminal:

    bash
    bash -c "$(curl -sL https://docs.celestia.org/celestia-app.sh)"
    bash -c "$(curl -sL https://docs.celestia.org/celestia-app.sh)"

    Follow the instructions in the terminal output to choose your installation preferences.

    You will see an output with the menu for celestia-appd. Learn more on the helpful CLI commands page

    View the script to learn more about what it is doing.

    Ports

    When interacting with a consensus node, you may need to open ports on your machine to allow communication between nodes, such as bridge nodes. It is essential that specific ports are accessible. Make sure that your firewall allows connections to the correct ports.

    If you run a node on a cloud server, make sure that the ports are open on the server's firewall. If you run a node at home, make sure that your router allows connections to the correct ports.

    For example, validator ports 9090 and 26657 need to be accessible by the bridge, and port 2121 is required for P2P connections for all node types.

    The following ports are used by Celestia app nodes:

    PortProtocolAddressDescriptionEnabled by default on nodeFlag
    2121TCP/UDPlocalhostP2PtrueN/A
    9090HTTP0.0.0.0gRPCtrue--grpc.address string
    26657TCPlocalhostRPCfalse (only open to localhost)--rpc.laddr string
    ',18),Ys=JSON.parse('{"title":"Install celestia-app","description":"Learn how you can build celestia-app.","frontmatter":{"description":"Learn how you can build celestia-app.","head":[["meta",{"name":"og:title","content":"Install celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app.md","filePath":"nodes/celestia-app.md","lastUpdated":1705010189000}'),Ms={name:"nodes/celestia-app.md"},Gs=Object.assign(Ms,{setup(Ns){return(Os,$s)=>(p(),c("div",null,[i,s("ol",null,[r,s("li",null,[d,s("div",h,[_,s("div",y,[s("div",u,[b,g,s("pre",E,[s("code",null,[s("span",F,[m,C,f,v,s("span",k,"tags/"+t(e(n)["app-latest-tag"]),1),B,T,w,s("span",P,t(e(n)["app-latest-tag"]),1)])])]),s("pre",I,[s("code",null,[s("span",A,[q,S,V,x,s("span",D,"tags/"+t(e(n)["app-latest-tag"]),1),L,R,M,s("span",N,t(e(n)["app-latest-tag"]),1)])])])]),s("div",O,[$,H,s("pre",j,[s("code",null,[s("span",U,[W,Y,G,z,s("span",J,"tags/"+t(e(l)["app-latest-tag"]),1),Q,K,X,s("span",Z,t(e(l)["app-latest-tag"]),1)])])]),s("pre",ss,[s("code",null,[s("span",ts,[es,os,as,ls,s("span",ns,"tags/"+t(e(l)["app-latest-tag"]),1),ps,cs,is,s("span",rs,t(e(l)["app-latest-tag"]),1)])])])]),s("div",ds,[hs,_s,s("pre",ys,[s("code",null,[s("span",us,[bs,gs,Es,Fs,s("span",ms,"tags/"+t(e(a)["app-latest-tag"]),1),Cs,fs,vs,s("span",ks,t(e(a)["app-latest-tag"]),1)])])]),s("pre",Bs,[s("code",null,[s("span",Ts,[ws,Ps,Is,As,s("span",qs,"tags/"+t(e(a)["app-latest-tag"]),1),Ss,Vs,xs,s("span",Ds,t(e(a)["app-latest-tag"]),1)])])])])])])]),Ls]),Rs]))}});export{Ys as __pageData,Gs as default}; diff --git a/pr-preview/pr-1358/assets/nodes_celestia-app.md.fe8b37cb.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-app.md.b8fe0c79.lean.js similarity index 60% rename from pr-preview/pr-1358/assets/nodes_celestia-app.md.fe8b37cb.lean.js rename to pr-preview/pr-1358/assets/nodes_celestia-app.md.b8fe0c79.lean.js index 6151e5e40b..b860eb3a1c 100644 --- a/pr-preview/pr-1358/assets/nodes_celestia-app.md.fe8b37cb.lean.js +++ b/pr-preview/pr-1358/assets/nodes_celestia-app.md.b8fe0c79.lean.js @@ -1 +1 @@ -import{a}from"./chunks/arabica_versions.9a2b5c45.js";import{m as l}from"./chunks/mocha_versions.7e950c54.js";import{m as n}from"./chunks/mainnet_versions.7e950c54.js";import{o as p,c,k as s,t,l as e,Q as o}from"./chunks/framework.2263f03b.js";const i=o("",5),r=o("",1),d=s("p",null,"Check out to the desired version, based on the network you will use:",-1),h={class:"vp-code-group vp-adaptive-theme"},_=o("",1),y={class:"blocks"},u={class:"language-bash vp-adaptive-theme active"},b=s("button",{title:"Copy Code",class:"copy"},null,-1),g=s("span",{class:"lang"},"bash",-1),E={class:"shiki github-dark vp-code-dark"},F={class:"line"},m=s("span",{style:{color:"#B392F0"}},"git",-1),C=s("span",{style:{color:"#E1E4E8"}}," ",-1),v=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),f=s("span",{style:{color:"#E1E4E8"}}," ",-1),k={style:{color:"#9ECBFF"}},B=s("span",{style:{color:"#E1E4E8"}}," ",-1),T=s("span",{style:{color:"#79B8FF"}},"-b",-1),w=s("span",{style:{color:"#E1E4E8"}}," ",-1),P={style:{color:"#9ECBFF"}},I={class:"shiki github-light vp-code-light"},A={class:"line"},S=s("span",{style:{color:"#6F42C1"}},"git",-1),q=s("span",{style:{color:"#24292E"}}," ",-1),V=s("span",{style:{color:"#032F62"}},"checkout",-1),D=s("span",{style:{color:"#24292E"}}," ",-1),M={style:{color:"#032F62"}},L=s("span",{style:{color:"#24292E"}}," ",-1),N=s("span",{style:{color:"#005CC5"}},"-b",-1),x=s("span",{style:{color:"#24292E"}}," ",-1),O={style:{color:"#032F62"}},R={class:"language-bash vp-adaptive-theme"},H=s("button",{title:"Copy Code",class:"copy"},null,-1),Y=s("span",{class:"lang"},"bash",-1),U={class:"shiki github-dark vp-code-dark"},$={class:"line"},j=s("span",{style:{color:"#B392F0"}},"git",-1),G=s("span",{style:{color:"#E1E4E8"}}," ",-1),Q=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),J=s("span",{style:{color:"#E1E4E8"}}," ",-1),W={style:{color:"#9ECBFF"}},z=s("span",{style:{color:"#E1E4E8"}}," ",-1),K=s("span",{style:{color:"#79B8FF"}},"-b",-1),X=s("span",{style:{color:"#E1E4E8"}}," ",-1),Z={style:{color:"#9ECBFF"}},ss={class:"shiki github-light vp-code-light"},ts={class:"line"},es=s("span",{style:{color:"#6F42C1"}},"git",-1),os=s("span",{style:{color:"#24292E"}}," ",-1),as=s("span",{style:{color:"#032F62"}},"checkout",-1),ls=s("span",{style:{color:"#24292E"}}," ",-1),ns={style:{color:"#032F62"}},ps=s("span",{style:{color:"#24292E"}}," ",-1),cs=s("span",{style:{color:"#005CC5"}},"-b",-1),is=s("span",{style:{color:"#24292E"}}," ",-1),rs={style:{color:"#032F62"}},ds={class:"language-bash vp-adaptive-theme"},hs=s("button",{title:"Copy Code",class:"copy"},null,-1),_s=s("span",{class:"lang"},"bash",-1),ys={class:"shiki github-dark vp-code-dark"},us={class:"line"},bs=s("span",{style:{color:"#B392F0"}},"git",-1),gs=s("span",{style:{color:"#E1E4E8"}}," ",-1),Es=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Fs=s("span",{style:{color:"#E1E4E8"}}," ",-1),ms={style:{color:"#9ECBFF"}},Cs=s("span",{style:{color:"#E1E4E8"}}," ",-1),vs=s("span",{style:{color:"#79B8FF"}},"-b",-1),fs=s("span",{style:{color:"#E1E4E8"}}," ",-1),ks={style:{color:"#9ECBFF"}},Bs={class:"shiki github-light vp-code-light"},Ts={class:"line"},ws=s("span",{style:{color:"#6F42C1"}},"git",-1),Ps=s("span",{style:{color:"#24292E"}}," ",-1),Is=s("span",{style:{color:"#032F62"}},"checkout",-1),As=s("span",{style:{color:"#24292E"}}," ",-1),Ss={style:{color:"#032F62"}},qs=s("span",{style:{color:"#24292E"}}," ",-1),Vs=s("span",{style:{color:"#005CC5"}},"-b",-1),Ds=s("span",{style:{color:"#24292E"}}," ",-1),Ms={style:{color:"#032F62"}},Ls=o("",2),Ns=o("",18),Gs=JSON.parse('{"title":"Install celestia-app","description":"Learn how you can build celestia-app.","frontmatter":{"description":"Learn how you can build celestia-app.","head":[["meta",{"name":"og:title","content":"Install celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app.md","filePath":"nodes/celestia-app.md","lastUpdated":1705009966000}'),xs={name:"nodes/celestia-app.md"},Qs=Object.assign(xs,{setup(Os){return(Rs,Hs)=>(p(),c("div",null,[i,s("ol",null,[r,s("li",null,[d,s("div",h,[_,s("div",y,[s("div",u,[b,g,s("pre",E,[s("code",null,[s("span",F,[m,C,v,f,s("span",k,"tags/"+t(e(n)["app-latest-tag"]),1),B,T,w,s("span",P,t(e(n)["app-latest-tag"]),1)])])]),s("pre",I,[s("code",null,[s("span",A,[S,q,V,D,s("span",M,"tags/"+t(e(n)["app-latest-tag"]),1),L,N,x,s("span",O,t(e(n)["app-latest-tag"]),1)])])])]),s("div",R,[H,Y,s("pre",U,[s("code",null,[s("span",$,[j,G,Q,J,s("span",W,"tags/"+t(e(l)["app-latest-tag"]),1),z,K,X,s("span",Z,t(e(l)["app-latest-tag"]),1)])])]),s("pre",ss,[s("code",null,[s("span",ts,[es,os,as,ls,s("span",ns,"tags/"+t(e(l)["app-latest-tag"]),1),ps,cs,is,s("span",rs,t(e(l)["app-latest-tag"]),1)])])])]),s("div",ds,[hs,_s,s("pre",ys,[s("code",null,[s("span",us,[bs,gs,Es,Fs,s("span",ms,"tags/"+t(e(a)["app-latest-tag"]),1),Cs,vs,fs,s("span",ks,t(e(a)["app-latest-tag"]),1)])])]),s("pre",Bs,[s("code",null,[s("span",Ts,[ws,Ps,Is,As,s("span",Ss,"tags/"+t(e(a)["app-latest-tag"]),1),qs,Vs,Ds,s("span",Ms,t(e(a)["app-latest-tag"]),1)])])])])])])]),Ls]),Ns]))}});export{Gs as __pageData,Qs as default}; +import{a}from"./chunks/arabica_versions.9a2b5c45.js";import{m as l}from"./chunks/mocha_versions.7e950c54.js";import{m as n}from"./chunks/mainnet_versions.7e950c54.js";import{o as p,c,k as s,t,l as e,Q as o}from"./chunks/framework.2263f03b.js";const i=o("",5),r=o("",1),d=s("p",null,"Check out to the desired version, based on the network you will use:",-1),h={class:"vp-code-group vp-adaptive-theme"},_=o("",1),y={class:"blocks"},u={class:"language-bash vp-adaptive-theme active"},b=s("button",{title:"Copy Code",class:"copy"},null,-1),g=s("span",{class:"lang"},"bash",-1),E={class:"shiki github-dark vp-code-dark"},F={class:"line"},m=s("span",{style:{color:"#B392F0"}},"git",-1),C=s("span",{style:{color:"#E1E4E8"}}," ",-1),f=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),v=s("span",{style:{color:"#E1E4E8"}}," ",-1),k={style:{color:"#9ECBFF"}},B=s("span",{style:{color:"#E1E4E8"}}," ",-1),T=s("span",{style:{color:"#79B8FF"}},"-b",-1),w=s("span",{style:{color:"#E1E4E8"}}," ",-1),P={style:{color:"#9ECBFF"}},I={class:"shiki github-light vp-code-light"},A={class:"line"},q=s("span",{style:{color:"#6F42C1"}},"git",-1),S=s("span",{style:{color:"#24292E"}}," ",-1),V=s("span",{style:{color:"#032F62"}},"checkout",-1),x=s("span",{style:{color:"#24292E"}}," ",-1),D={style:{color:"#032F62"}},L=s("span",{style:{color:"#24292E"}}," ",-1),R=s("span",{style:{color:"#005CC5"}},"-b",-1),M=s("span",{style:{color:"#24292E"}}," ",-1),N={style:{color:"#032F62"}},O={class:"language-bash vp-adaptive-theme"},$=s("button",{title:"Copy Code",class:"copy"},null,-1),H=s("span",{class:"lang"},"bash",-1),j={class:"shiki github-dark vp-code-dark"},U={class:"line"},W=s("span",{style:{color:"#B392F0"}},"git",-1),Y=s("span",{style:{color:"#E1E4E8"}}," ",-1),G=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),z=s("span",{style:{color:"#E1E4E8"}}," ",-1),J={style:{color:"#9ECBFF"}},Q=s("span",{style:{color:"#E1E4E8"}}," ",-1),K=s("span",{style:{color:"#79B8FF"}},"-b",-1),X=s("span",{style:{color:"#E1E4E8"}}," ",-1),Z={style:{color:"#9ECBFF"}},ss={class:"shiki github-light vp-code-light"},ts={class:"line"},es=s("span",{style:{color:"#6F42C1"}},"git",-1),os=s("span",{style:{color:"#24292E"}}," ",-1),as=s("span",{style:{color:"#032F62"}},"checkout",-1),ls=s("span",{style:{color:"#24292E"}}," ",-1),ns={style:{color:"#032F62"}},ps=s("span",{style:{color:"#24292E"}}," ",-1),cs=s("span",{style:{color:"#005CC5"}},"-b",-1),is=s("span",{style:{color:"#24292E"}}," ",-1),rs={style:{color:"#032F62"}},ds={class:"language-bash vp-adaptive-theme"},hs=s("button",{title:"Copy Code",class:"copy"},null,-1),_s=s("span",{class:"lang"},"bash",-1),ys={class:"shiki github-dark vp-code-dark"},us={class:"line"},bs=s("span",{style:{color:"#B392F0"}},"git",-1),gs=s("span",{style:{color:"#E1E4E8"}}," ",-1),Es=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),Fs=s("span",{style:{color:"#E1E4E8"}}," ",-1),ms={style:{color:"#9ECBFF"}},Cs=s("span",{style:{color:"#E1E4E8"}}," ",-1),fs=s("span",{style:{color:"#79B8FF"}},"-b",-1),vs=s("span",{style:{color:"#E1E4E8"}}," ",-1),ks={style:{color:"#9ECBFF"}},Bs={class:"shiki github-light vp-code-light"},Ts={class:"line"},ws=s("span",{style:{color:"#6F42C1"}},"git",-1),Ps=s("span",{style:{color:"#24292E"}}," ",-1),Is=s("span",{style:{color:"#032F62"}},"checkout",-1),As=s("span",{style:{color:"#24292E"}}," ",-1),qs={style:{color:"#032F62"}},Ss=s("span",{style:{color:"#24292E"}}," ",-1),Vs=s("span",{style:{color:"#005CC5"}},"-b",-1),xs=s("span",{style:{color:"#24292E"}}," ",-1),Ds={style:{color:"#032F62"}},Ls=o("",2),Rs=o("",18),Ys=JSON.parse('{"title":"Install celestia-app","description":"Learn how you can build celestia-app.","frontmatter":{"description":"Learn how you can build celestia-app.","head":[["meta",{"name":"og:title","content":"Install celestia-app | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-app.md","filePath":"nodes/celestia-app.md","lastUpdated":1705010189000}'),Ms={name:"nodes/celestia-app.md"},Gs=Object.assign(Ms,{setup(Ns){return(Os,$s)=>(p(),c("div",null,[i,s("ol",null,[r,s("li",null,[d,s("div",h,[_,s("div",y,[s("div",u,[b,g,s("pre",E,[s("code",null,[s("span",F,[m,C,f,v,s("span",k,"tags/"+t(e(n)["app-latest-tag"]),1),B,T,w,s("span",P,t(e(n)["app-latest-tag"]),1)])])]),s("pre",I,[s("code",null,[s("span",A,[q,S,V,x,s("span",D,"tags/"+t(e(n)["app-latest-tag"]),1),L,R,M,s("span",N,t(e(n)["app-latest-tag"]),1)])])])]),s("div",O,[$,H,s("pre",j,[s("code",null,[s("span",U,[W,Y,G,z,s("span",J,"tags/"+t(e(l)["app-latest-tag"]),1),Q,K,X,s("span",Z,t(e(l)["app-latest-tag"]),1)])])]),s("pre",ss,[s("code",null,[s("span",ts,[es,os,as,ls,s("span",ns,"tags/"+t(e(l)["app-latest-tag"]),1),ps,cs,is,s("span",rs,t(e(l)["app-latest-tag"]),1)])])])]),s("div",ds,[hs,_s,s("pre",ys,[s("code",null,[s("span",us,[bs,gs,Es,Fs,s("span",ms,"tags/"+t(e(a)["app-latest-tag"]),1),Cs,fs,vs,s("span",ks,t(e(a)["app-latest-tag"]),1)])])]),s("pre",Bs,[s("code",null,[s("span",Ts,[ws,Ps,Is,As,s("span",qs,"tags/"+t(e(a)["app-latest-tag"]),1),Ss,Vs,xs,s("span",Ds,t(e(a)["app-latest-tag"]),1)])])])])])])]),Ls]),Rs]))}});export{Ys as __pageData,Gs as default}; diff --git a/pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.56582c14.js b/pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.a3f7cf13.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.56582c14.js rename to pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.a3f7cf13.js index 595e5f1c0e..0aae5a5092 100644 --- a/pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.56582c14.js +++ b/pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.a3f7cf13.js @@ -1 +1 @@ -import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Custom networks and values","description":"Learn about custom networks and values on celestia-node.","frontmatter":{"description":"Learn about custom networks and values on celestia-node.","head":[["meta",{"name":"og:title","content":"Custom networks and values | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-custom-networks.md","filePath":"nodes/celestia-node-custom-networks.md","lastUpdated":1705009966000}'),p={name:"nodes/celestia-node-custom-networks.md"},l=n('

    Custom networks and values

    This section will cover importing boostrapper IDs, chain ID, and network ID. This will allow you to import custom values for a chain that is not in the default configuration.

    If you have a custom network you can export CELESTIA_CUSTOM, which will look something like:

    bash
    export BRIDGE="/ip4/<ip-address>/tcp/2121/p2p/<node-ID>"\nexport GENESIS_HASH=<genesis-hash>\nexport NETWORK=<network-name>\nexport CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"
    export BRIDGE="/ip4/<ip-address>/tcp/2121/p2p/<node-ID>"\nexport GENESIS_HASH=<genesis-hash>\nexport NETWORK=<network-name>\nexport CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"

    Query your node ID using the RPC CLI. These values with examples would look like:

    bash
    export BRIDGE="/ip4/151.115.14.33/tcp/2121/p2p/12D3KooWKEeRtzVMPUdxYsZo2edqps6mS67n6LT5mPdULSkPSxBQ"\nexport GENESIS_HASH=580B3DFF8A7C716968161D91116A1E171F486298D582874E93714E489C9E6E88\nexport NETWORK=custom\nexport CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"
    export BRIDGE="/ip4/151.115.14.33/tcp/2121/p2p/12D3KooWKEeRtzVMPUdxYsZo2edqps6mS67n6LT5mPdULSkPSxBQ"\nexport GENESIS_HASH=580B3DFF8A7C716968161D91116A1E171F486298D582874E93714E489C9E6E88\nexport NETWORK=custom\nexport CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"

    Then, start your node with:

    bash
    celestia <node-type> start [flags...]
    celestia <node-type> start [flags...]
    ',8),e=[l];function t(c,r,E,y,i,d){return a(),o("div",null,e)}const h=s(p,[["render",t]]);export{F as __pageData,h as default}; +import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Custom networks and values","description":"Learn about custom networks and values on celestia-node.","frontmatter":{"description":"Learn about custom networks and values on celestia-node.","head":[["meta",{"name":"og:title","content":"Custom networks and values | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-custom-networks.md","filePath":"nodes/celestia-node-custom-networks.md","lastUpdated":1705010189000}'),p={name:"nodes/celestia-node-custom-networks.md"},l=n('

    Custom networks and values

    This section will cover importing boostrapper IDs, chain ID, and network ID. This will allow you to import custom values for a chain that is not in the default configuration.

    If you have a custom network you can export CELESTIA_CUSTOM, which will look something like:

    bash
    export BRIDGE="/ip4/<ip-address>/tcp/2121/p2p/<node-ID>"\nexport GENESIS_HASH=<genesis-hash>\nexport NETWORK=<network-name>\nexport CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"
    export BRIDGE="/ip4/<ip-address>/tcp/2121/p2p/<node-ID>"\nexport GENESIS_HASH=<genesis-hash>\nexport NETWORK=<network-name>\nexport CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"

    Query your node ID using the RPC CLI. These values with examples would look like:

    bash
    export BRIDGE="/ip4/151.115.14.33/tcp/2121/p2p/12D3KooWKEeRtzVMPUdxYsZo2edqps6mS67n6LT5mPdULSkPSxBQ"\nexport GENESIS_HASH=580B3DFF8A7C716968161D91116A1E171F486298D582874E93714E489C9E6E88\nexport NETWORK=custom\nexport CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"
    export BRIDGE="/ip4/151.115.14.33/tcp/2121/p2p/12D3KooWKEeRtzVMPUdxYsZo2edqps6mS67n6LT5mPdULSkPSxBQ"\nexport GENESIS_HASH=580B3DFF8A7C716968161D91116A1E171F486298D582874E93714E489C9E6E88\nexport NETWORK=custom\nexport CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"

    Then, start your node with:

    bash
    celestia <node-type> start [flags...]
    celestia <node-type> start [flags...]
    ',8),e=[l];function t(c,r,E,y,i,d){return a(),o("div",null,e)}const h=s(p,[["render",t]]);export{F as __pageData,h as default}; diff --git a/pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.56582c14.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.a3f7cf13.lean.js similarity index 91% rename from pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.56582c14.lean.js rename to pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.a3f7cf13.lean.js index 0ba53a8c19..0c744267bd 100644 --- a/pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.56582c14.lean.js +++ b/pr-preview/pr-1358/assets/nodes_celestia-node-custom-networks.md.a3f7cf13.lean.js @@ -1 +1 @@ -import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Custom networks and values","description":"Learn about custom networks and values on celestia-node.","frontmatter":{"description":"Learn about custom networks and values on celestia-node.","head":[["meta",{"name":"og:title","content":"Custom networks and values | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-custom-networks.md","filePath":"nodes/celestia-node-custom-networks.md","lastUpdated":1705009966000}'),p={name:"nodes/celestia-node-custom-networks.md"},l=n("",8),e=[l];function t(c,r,E,y,i,d){return a(),o("div",null,e)}const h=s(p,[["render",t]]);export{F as __pageData,h as default}; +import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.2263f03b.js";const F=JSON.parse('{"title":"Custom networks and values","description":"Learn about custom networks and values on celestia-node.","frontmatter":{"description":"Learn about custom networks and values on celestia-node.","head":[["meta",{"name":"og:title","content":"Custom networks and values | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-custom-networks.md","filePath":"nodes/celestia-node-custom-networks.md","lastUpdated":1705010189000}'),p={name:"nodes/celestia-node-custom-networks.md"},l=n("",8),e=[l];function t(c,r,E,y,i,d){return a(),o("div",null,e)}const h=s(p,[["render",t]]);export{F as __pageData,h as default}; diff --git a/pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.7c3ba2cf.js b/pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.4c2e1903.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.7c3ba2cf.js rename to pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.4c2e1903.js index cccc2afc4d..d1e7290b46 100644 --- a/pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.7c3ba2cf.js +++ b/pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.4c2e1903.js @@ -1,4 +1,4 @@ -import{_ as s,o as n,c as a,Q as o}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"celestia-node metrics","description":"A guide on how to run metrics for your celestia-node DA instance.","frontmatter":{"description":"A guide on how to run metrics for your celestia-node DA instance.","head":[["meta",{"name":"og:title","content":"celestia-node metrics | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-metrics.md","filePath":"nodes/celestia-node-metrics.md","lastUpdated":1705009966000}'),l={name:"nodes/celestia-node-metrics.md"},e=o(`

    celestia-node metrics

    This tutorial is for running metrics for your celestia-node data availability instance. This tutorial will focus on running metrics for a light node.

    This tutorial assumes you have already setup your light node by following the tutorial in the celestia-node API tutorial.

    Running metrics flags

    You can enable the celestia-node metric flags with the following command:

    sh
    celestia <node-type> start --metrics.tls=<boolean> \\
    +import{_ as s,o as n,c as a,Q as o}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"celestia-node metrics","description":"A guide on how to run metrics for your celestia-node DA instance.","frontmatter":{"description":"A guide on how to run metrics for your celestia-node DA instance.","head":[["meta",{"name":"og:title","content":"celestia-node metrics | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-metrics.md","filePath":"nodes/celestia-node-metrics.md","lastUpdated":1705010189000}'),l={name:"nodes/celestia-node-metrics.md"},e=o(`

    celestia-node metrics

    This tutorial is for running metrics for your celestia-node data availability instance. This tutorial will focus on running metrics for a light node.

    This tutorial assumes you have already setup your light node by following the tutorial in the celestia-node API tutorial.

    Running metrics flags

    You can enable the celestia-node metric flags with the following command:

    sh
    celestia <node-type> start --metrics.tls=<boolean> \\
         --metrics --metrics.endpoint <URI> \\
         --p2p.network <network> --core.ip <URI>
    celestia <node-type> start --metrics.tls=<boolean> \\
         --metrics --metrics.endpoint <URI> \\
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.7c3ba2cf.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.4c2e1903.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.7c3ba2cf.lean.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.4c2e1903.lean.js
    index 60519b9fed..1160fd2813 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.7c3ba2cf.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-node-metrics.md.4c2e1903.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as n,c as a,Q as o}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"celestia-node metrics","description":"A guide on how to run metrics for your celestia-node DA instance.","frontmatter":{"description":"A guide on how to run metrics for your celestia-node DA instance.","head":[["meta",{"name":"og:title","content":"celestia-node metrics | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-metrics.md","filePath":"nodes/celestia-node-metrics.md","lastUpdated":1705009966000}'),l={name:"nodes/celestia-node-metrics.md"},e=o("",23),p=[e];function t(c,r,i,y,E,d){return n(),a("div",null,p)}const m=s(l,[["render",t]]);export{h as __pageData,m as default};
    +import{_ as s,o as n,c as a,Q as o}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"celestia-node metrics","description":"A guide on how to run metrics for your celestia-node DA instance.","frontmatter":{"description":"A guide on how to run metrics for your celestia-node DA instance.","head":[["meta",{"name":"og:title","content":"celestia-node metrics | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-metrics.md","filePath":"nodes/celestia-node-metrics.md","lastUpdated":1705010189000}'),l={name:"nodes/celestia-node-metrics.md"},e=o("",23),p=[e];function t(c,r,i,y,E,d){return n(),a("div",null,p)}const m=s(l,[["render",t]]);export{h as __pageData,m as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.fdb3edd1.js b/pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.41ca74ba.js
    similarity index 99%
    rename from pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.fdb3edd1.js
    rename to pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.41ca74ba.js
    index 8bb127fd67..10555e0083 100644
    --- a/pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.fdb3edd1.js
    +++ b/pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.41ca74ba.js
    @@ -22,4 +22,4 @@ import{c as o}from"./chunks/constants.d0f43632.js";import{o as p,c as t,k as s,a
     rm -rf ~/.celestia-bridge-private
     
     # celestia <node-type> init --p2p.network <network>
    -celestia bridge init --p2p.network private
    `,38),w=JSON.parse('{"title":"Troubleshooting","description":"A guide to troubleshooting common issues with Celestia Node.","frontmatter":{"description":"A guide to troubleshooting common issues with Celestia Node.","head":[["meta",{"name":"og:title","content":"Troubleshooting | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-troubleshooting.md","filePath":"nodes/celestia-node-troubleshooting.md","lastUpdated":1705009966000}'),b={name:"nodes/celestia-node-troubleshooting.md"},A=Object.assign(b,{setup(k){return(v,B)=>(p(),t("div",null,[r,s("p",null,[a("When interacting with celestia-node, it is important to take into account the different chain IDs for different networks. For Mainnet Beta, there is no need to declare a chain ID, as the default is "+n(l(o).mainnetChainId)+", ",1),c,a(" no "),i,a(" flag is required for Mainnet Beta.")]),s("table",null,[y,s("tbody",null,[s("tr",null,[E,s("td",null,n(l(o).mainnetChainId),1),d]),s("tr",null,[h,s("td",null,n(l(o).mochaChainId),1),F]),s("tr",null,[u,s("td",null,n(l(o).arabicaChainId),1),g])])]),C]))}});export{w as __pageData,A as default}; +celestia bridge init --p2p.network private
    `,38),w=JSON.parse('{"title":"Troubleshooting","description":"A guide to troubleshooting common issues with Celestia Node.","frontmatter":{"description":"A guide to troubleshooting common issues with Celestia Node.","head":[["meta",{"name":"og:title","content":"Troubleshooting | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-troubleshooting.md","filePath":"nodes/celestia-node-troubleshooting.md","lastUpdated":1705010189000}'),b={name:"nodes/celestia-node-troubleshooting.md"},A=Object.assign(b,{setup(k){return(v,B)=>(p(),t("div",null,[r,s("p",null,[a("When interacting with celestia-node, it is important to take into account the different chain IDs for different networks. For Mainnet Beta, there is no need to declare a chain ID, as the default is "+n(l(o).mainnetChainId)+", ",1),c,a(" no "),i,a(" flag is required for Mainnet Beta.")]),s("table",null,[y,s("tbody",null,[s("tr",null,[E,s("td",null,n(l(o).mainnetChainId),1),d]),s("tr",null,[h,s("td",null,n(l(o).mochaChainId),1),F]),s("tr",null,[u,s("td",null,n(l(o).arabicaChainId),1),g])])]),C]))}});export{w as __pageData,A as default}; diff --git a/pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.fdb3edd1.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.41ca74ba.lean.js similarity index 96% rename from pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.fdb3edd1.lean.js rename to pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.41ca74ba.lean.js index 182fe8ca6e..ff1f2dac64 100644 --- a/pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.fdb3edd1.lean.js +++ b/pr-preview/pr-1358/assets/nodes_celestia-node-troubleshooting.md.41ca74ba.lean.js @@ -1 +1 @@ -import{c as o}from"./chunks/constants.d0f43632.js";import{o as p,c as t,k as s,a,t as n,l,Q as e}from"./chunks/framework.2263f03b.js";const r=e("",7),c=s("em",null,"i.e.",-1),i=s("code",null,"--p2p.network string",-1),y=s("thead",null,[s("tr",null,[s("th",null,"Network"),s("th",null,"Chain ID"),s("th",null,[s("code",null,"--p2p.network string")])])],-1),E=s("td",null,"Mainnet Beta",-1),d=s("td",null,[a("not required ("),s("code",null,"--p2p.network celestia"),a(")")],-1),h=s("td",null,"Mocha",-1),F=s("td",null,[s("code",null,"--p2p.network mocha")],-1),u=s("td",null,"Arabica",-1),g=s("td",null,[s("code",null,"--p2p.network arabica")],-1),C=e("",38),w=JSON.parse('{"title":"Troubleshooting","description":"A guide to troubleshooting common issues with Celestia Node.","frontmatter":{"description":"A guide to troubleshooting common issues with Celestia Node.","head":[["meta",{"name":"og:title","content":"Troubleshooting | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-troubleshooting.md","filePath":"nodes/celestia-node-troubleshooting.md","lastUpdated":1705009966000}'),b={name:"nodes/celestia-node-troubleshooting.md"},A=Object.assign(b,{setup(k){return(v,B)=>(p(),t("div",null,[r,s("p",null,[a("When interacting with celestia-node, it is important to take into account the different chain IDs for different networks. For Mainnet Beta, there is no need to declare a chain ID, as the default is "+n(l(o).mainnetChainId)+", ",1),c,a(" no "),i,a(" flag is required for Mainnet Beta.")]),s("table",null,[y,s("tbody",null,[s("tr",null,[E,s("td",null,n(l(o).mainnetChainId),1),d]),s("tr",null,[h,s("td",null,n(l(o).mochaChainId),1),F]),s("tr",null,[u,s("td",null,n(l(o).arabicaChainId),1),g])])]),C]))}});export{w as __pageData,A as default}; +import{c as o}from"./chunks/constants.d0f43632.js";import{o as p,c as t,k as s,a,t as n,l,Q as e}from"./chunks/framework.2263f03b.js";const r=e("",7),c=s("em",null,"i.e.",-1),i=s("code",null,"--p2p.network string",-1),y=s("thead",null,[s("tr",null,[s("th",null,"Network"),s("th",null,"Chain ID"),s("th",null,[s("code",null,"--p2p.network string")])])],-1),E=s("td",null,"Mainnet Beta",-1),d=s("td",null,[a("not required ("),s("code",null,"--p2p.network celestia"),a(")")],-1),h=s("td",null,"Mocha",-1),F=s("td",null,[s("code",null,"--p2p.network mocha")],-1),u=s("td",null,"Arabica",-1),g=s("td",null,[s("code",null,"--p2p.network arabica")],-1),C=e("",38),w=JSON.parse('{"title":"Troubleshooting","description":"A guide to troubleshooting common issues with Celestia Node.","frontmatter":{"description":"A guide to troubleshooting common issues with Celestia Node.","head":[["meta",{"name":"og:title","content":"Troubleshooting | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node-troubleshooting.md","filePath":"nodes/celestia-node-troubleshooting.md","lastUpdated":1705010189000}'),b={name:"nodes/celestia-node-troubleshooting.md"},A=Object.assign(b,{setup(k){return(v,B)=>(p(),t("div",null,[r,s("p",null,[a("When interacting with celestia-node, it is important to take into account the different chain IDs for different networks. For Mainnet Beta, there is no need to declare a chain ID, as the default is "+n(l(o).mainnetChainId)+", ",1),c,a(" no "),i,a(" flag is required for Mainnet Beta.")]),s("table",null,[y,s("tbody",null,[s("tr",null,[E,s("td",null,n(l(o).mainnetChainId),1),d]),s("tr",null,[h,s("td",null,n(l(o).mochaChainId),1),F]),s("tr",null,[u,s("td",null,n(l(o).arabicaChainId),1),g])])]),C]))}});export{w as __pageData,A as default}; diff --git a/pr-preview/pr-1358/assets/nodes_celestia-node.md.afa4dc19.js b/pr-preview/pr-1358/assets/nodes_celestia-node.md.b10f9ec5.js similarity index 81% rename from pr-preview/pr-1358/assets/nodes_celestia-node.md.afa4dc19.js rename to pr-preview/pr-1358/assets/nodes_celestia-node.md.b10f9ec5.js index d1815c2d9e..b85af80109 100644 --- a/pr-preview/pr-1358/assets/nodes_celestia-node.md.afa4dc19.js +++ b/pr-preview/pr-1358/assets/nodes_celestia-node.md.b10f9ec5.js @@ -4,4 +4,4 @@ import{a as n}from"./chunks/arabica_versions.9a2b5c45.js";import{m as l}from"./c cd celestia-node/
    cd $HOME
     rm -rf celestia-node
     git clone https://github.com/celestiaorg/celestia-node.git
    -cd celestia-node/
    `,1),y=s("p",null,"Check out to the desired version, based on the network you will use:",-1),u={class:"vp-code-group vp-adaptive-theme"},g=o('
    ',1),b={class:"blocks"},v={class:"language-bash vp-adaptive-theme active"},E=s("button",{title:"Copy Code",class:"copy"},null,-1),m=s("span",{class:"lang"},"bash",-1),k={class:"shiki github-dark vp-code-dark"},F={class:"line"},C=s("span",{style:{color:"#B392F0"}},"git",-1),f=s("span",{style:{color:"#E1E4E8"}}," ",-1),B=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),T=s("span",{style:{color:"#E1E4E8"}}," ",-1),I={style:{color:"#9ECBFF"}},A={class:"shiki github-light vp-code-light"},N={class:"line"},w=s("span",{style:{color:"#6F42C1"}},"git",-1),x=s("span",{style:{color:"#24292E"}}," ",-1),S=s("span",{style:{color:"#032F62"}},"checkout",-1),P=s("span",{style:{color:"#24292E"}}," ",-1),V={style:{color:"#032F62"}},M={class:"language-bash vp-adaptive-theme"},O=s("button",{title:"Copy Code",class:"copy"},null,-1),G=s("span",{class:"lang"},"bash",-1),R={class:"shiki github-dark vp-code-dark"},j={class:"line"},D=s("span",{style:{color:"#B392F0"}},"git",-1),q=s("span",{style:{color:"#E1E4E8"}}," ",-1),L=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),H=s("span",{style:{color:"#E1E4E8"}}," ",-1),K={style:{color:"#9ECBFF"}},U={class:"shiki github-light vp-code-light"},W={class:"line"},Y=s("span",{style:{color:"#6F42C1"}},"git",-1),Z=s("span",{style:{color:"#24292E"}}," ",-1),$=s("span",{style:{color:"#032F62"}},"checkout",-1),J=s("span",{style:{color:"#24292E"}}," ",-1),Q={style:{color:"#032F62"}},z={class:"language-bash vp-adaptive-theme"},X=s("button",{title:"Copy Code",class:"copy"},null,-1),ss=s("span",{class:"lang"},"bash",-1),es={class:"shiki github-dark vp-code-dark"},as={class:"line"},os=s("span",{style:{color:"#B392F0"}},"git",-1),ts=s("span",{style:{color:"#E1E4E8"}}," ",-1),ns=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),ls=s("span",{style:{color:"#E1E4E8"}}," ",-1),is={style:{color:"#9ECBFF"}},cs={class:"shiki github-light vp-code-light"},ps={class:"line"},ds=s("span",{style:{color:"#6F42C1"}},"git",-1),rs=s("span",{style:{color:"#24292E"}}," ",-1),hs=s("span",{style:{color:"#032F62"}},"checkout",-1),_s=s("span",{style:{color:"#24292E"}}," ",-1),ys={style:{color:"#032F62"}},us=o('
  11. Build the celestia binary:

    a. Standard build

    bash
    make build
    make build

    b. Experimental build

    OPTIONAL

    If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.

    bash
    make build-jemalloc
    make build-jemalloc

    This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.

    Note: this requires Go version v1.23+.

  12. Install the binary:

    bash
    make install
    make install
    bash
    make go-install
    make go-install
  13. Build the cel-key utility:

    bash
    make cel-key
    make cel-key
  14. Verify that the binary is working and check the version:

    bash
    celestia version
    celestia version
  15. ',4),gs=o('

    The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.

    Next steps

    First, we recommend reading the overview of our node types, if you haven't yet.

    Now that you've installed Celestia Node, it's time to pick your node type and run your node!

    If you're planning to run a light node, we recommend the node RPC CLI tutorial.

    Upgrading your binary

    To upgrade your binary, you can install the latest version from the instructions above and restart your node. If you run into any issues, Refer to the troubleshooting section.

    ',7),Bs=JSON.parse('{"title":"Install celestia-node","description":"Learn to build and install celestia-node.","frontmatter":{"description":"Learn to build and install celestia-node.","head":[["meta",{"name":"og:title","content":"Install celestia-node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node.md","filePath":"nodes/celestia-node.md","lastUpdated":1705009966000}'),bs={name:"nodes/celestia-node.md"},Ts=Object.assign(bs,{setup(vs){return(Es,ms)=>(c(),p("div",null,[d,r,h,s("ol",null,[_,s("li",null,[y,s("div",u,[g,s("div",b,[s("div",v,[E,m,s("pre",k,[s("code",null,[s("span",F,[C,f,B,T,s("span",I,"tags/"+e(a(i)["node-latest-tag"]),1)])])]),s("pre",A,[s("code",null,[s("span",N,[w,x,S,P,s("span",V,"tags/"+e(a(i)["node-latest-tag"]),1)])])])]),s("div",M,[O,G,s("pre",R,[s("code",null,[s("span",j,[D,q,L,H,s("span",K,"tags/"+e(a(l)["node-latest-tag"]),1)])])]),s("pre",U,[s("code",null,[s("span",W,[Y,Z,$,J,s("span",Q,"tags/"+e(a(l)["node-latest-tag"]),1)])])])]),s("div",z,[X,ss,s("pre",es,[s("code",null,[s("span",as,[os,ts,ns,ls,s("span",is,"tags/"+e(a(n)["node-latest-tag"]),1)])])]),s("pre",cs,[s("code",null,[s("span",ps,[ds,rs,hs,_s,s("span",ys,"tags/"+e(a(n)["node-latest-tag"]),1)])])])])])])]),us]),gs]))}});export{Bs as __pageData,Ts as default}; +cd celestia-node/`,1),y=s("p",null,"Check out to the desired version, based on the network you will use:",-1),u={class:"vp-code-group vp-adaptive-theme"},g=o('
    ',1),b={class:"blocks"},v={class:"language-bash vp-adaptive-theme active"},m=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),k={class:"shiki github-dark vp-code-dark"},F={class:"line"},C=s("span",{style:{color:"#B392F0"}},"git",-1),f=s("span",{style:{color:"#E1E4E8"}}," ",-1),B=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),T=s("span",{style:{color:"#E1E4E8"}}," ",-1),I={style:{color:"#9ECBFF"}},V={class:"shiki github-light vp-code-light"},w={class:"line"},A=s("span",{style:{color:"#6F42C1"}},"git",-1),S=s("span",{style:{color:"#24292E"}}," ",-1),N=s("span",{style:{color:"#032F62"}},"checkout",-1),P=s("span",{style:{color:"#24292E"}}," ",-1),x={style:{color:"#032F62"}},q={class:"language-bash vp-adaptive-theme"},D=s("button",{title:"Copy Code",class:"copy"},null,-1),L=s("span",{class:"lang"},"bash",-1),O={class:"shiki github-dark vp-code-dark"},R={class:"line"},U=s("span",{style:{color:"#B392F0"}},"git",-1),M=s("span",{style:{color:"#E1E4E8"}}," ",-1),Y=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),j=s("span",{style:{color:"#E1E4E8"}}," ",-1),G={style:{color:"#9ECBFF"}},H={class:"shiki github-light vp-code-light"},J={class:"line"},Q=s("span",{style:{color:"#6F42C1"}},"git",-1),z=s("span",{style:{color:"#24292E"}}," ",-1),K=s("span",{style:{color:"#032F62"}},"checkout",-1),X=s("span",{style:{color:"#24292E"}}," ",-1),$={style:{color:"#032F62"}},W={class:"language-bash vp-adaptive-theme"},Z=s("button",{title:"Copy Code",class:"copy"},null,-1),ss=s("span",{class:"lang"},"bash",-1),es={class:"shiki github-dark vp-code-dark"},as={class:"line"},os=s("span",{style:{color:"#B392F0"}},"git",-1),ts=s("span",{style:{color:"#E1E4E8"}}," ",-1),ns=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),ls=s("span",{style:{color:"#E1E4E8"}}," ",-1),is={style:{color:"#9ECBFF"}},cs={class:"shiki github-light vp-code-light"},ps={class:"line"},ds=s("span",{style:{color:"#6F42C1"}},"git",-1),rs=s("span",{style:{color:"#24292E"}}," ",-1),hs=s("span",{style:{color:"#032F62"}},"checkout",-1),_s=s("span",{style:{color:"#24292E"}}," ",-1),ys={style:{color:"#032F62"}},us=o('
  16. Build the celestia binary:

    a. Standard build

    bash
    make build
    make build

    b. Experimental build

    OPTIONAL

    If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.

    bash
    make build-jemalloc
    make build-jemalloc

    This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.

    Note: this requires Go version v1.23+.

  17. Install the binary:

    bash
    make install
    make install
    bash
    make go-install
    make go-install
  18. Build the cel-key utility:

    bash
    make cel-key
    make cel-key
  19. Verify that the binary is working and check the version:

    bash
    celestia version
    celestia version
  20. ',4),gs=o('

    The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.

    Next steps

    First, we recommend reading the overview of our node types, if you haven't yet.

    Now that you've installed Celestia Node, it's time to pick your node type and run your node!

    If you're planning to run a light node, we recommend the node RPC CLI tutorial.

    Upgrading your binary

    To upgrade your binary, you can install the latest version from the instructions above and restart your node. If you run into any issues, Refer to the troubleshooting section.

    ',7),Bs=JSON.parse('{"title":"Install celestia-node","description":"Learn to build and install celestia-node.","frontmatter":{"description":"Learn to build and install celestia-node.","head":[["meta",{"name":"og:title","content":"Install celestia-node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node.md","filePath":"nodes/celestia-node.md","lastUpdated":1705010189000}'),bs={name:"nodes/celestia-node.md"},Ts=Object.assign(bs,{setup(vs){return(ms,Es)=>(c(),p("div",null,[d,r,h,s("ol",null,[_,s("li",null,[y,s("div",u,[g,s("div",b,[s("div",v,[m,E,s("pre",k,[s("code",null,[s("span",F,[C,f,B,T,s("span",I,"tags/"+e(a(i)["node-latest-tag"]),1)])])]),s("pre",V,[s("code",null,[s("span",w,[A,S,N,P,s("span",x,"tags/"+e(a(i)["node-latest-tag"]),1)])])])]),s("div",q,[D,L,s("pre",O,[s("code",null,[s("span",R,[U,M,Y,j,s("span",G,"tags/"+e(a(l)["node-latest-tag"]),1)])])]),s("pre",H,[s("code",null,[s("span",J,[Q,z,K,X,s("span",$,"tags/"+e(a(l)["node-latest-tag"]),1)])])])]),s("div",W,[Z,ss,s("pre",es,[s("code",null,[s("span",as,[os,ts,ns,ls,s("span",is,"tags/"+e(a(n)["node-latest-tag"]),1)])])]),s("pre",cs,[s("code",null,[s("span",ps,[ds,rs,hs,_s,s("span",ys,"tags/"+e(a(n)["node-latest-tag"]),1)])])])])])])]),us]),gs]))}});export{Bs as __pageData,Ts as default}; diff --git a/pr-preview/pr-1358/assets/nodes_celestia-node.md.afa4dc19.lean.js b/pr-preview/pr-1358/assets/nodes_celestia-node.md.b10f9ec5.lean.js similarity index 60% rename from pr-preview/pr-1358/assets/nodes_celestia-node.md.afa4dc19.lean.js rename to pr-preview/pr-1358/assets/nodes_celestia-node.md.b10f9ec5.lean.js index c268df21b5..b20a8923e7 100644 --- a/pr-preview/pr-1358/assets/nodes_celestia-node.md.afa4dc19.lean.js +++ b/pr-preview/pr-1358/assets/nodes_celestia-node.md.b10f9ec5.lean.js @@ -1 +1 @@ -import{a as n}from"./chunks/arabica_versions.9a2b5c45.js";import{m as l}from"./chunks/mocha_versions.7e950c54.js";import{m as i}from"./chunks/mainnet_versions.7e950c54.js";import{o as c,c as p,k as s,t as e,l as a,a as t,Q as o}from"./chunks/framework.2263f03b.js";const d=s("h1",{id:"install-celestia-node",tabindex:"-1"},[t("Install celestia-node "),s("a",{class:"header-anchor",href:"#install-celestia-node","aria-label":'Permalink to "Install celestia-node"'},"​")],-1),r=s("p",null,[t("This tutorial goes over building and installing celestia-node. This tutorial assumes you completed the steps in "),s("a",{href:"./environment"},"setting up your development environment"),t(".")],-1),h=s("p",null,"Install the celestia-node binary by running the following commands:",-1),_=o("",1),y=s("p",null,"Check out to the desired version, based on the network you will use:",-1),u={class:"vp-code-group vp-adaptive-theme"},g=o("",1),b={class:"blocks"},v={class:"language-bash vp-adaptive-theme active"},E=s("button",{title:"Copy Code",class:"copy"},null,-1),m=s("span",{class:"lang"},"bash",-1),k={class:"shiki github-dark vp-code-dark"},F={class:"line"},C=s("span",{style:{color:"#B392F0"}},"git",-1),f=s("span",{style:{color:"#E1E4E8"}}," ",-1),B=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),T=s("span",{style:{color:"#E1E4E8"}}," ",-1),I={style:{color:"#9ECBFF"}},A={class:"shiki github-light vp-code-light"},N={class:"line"},w=s("span",{style:{color:"#6F42C1"}},"git",-1),x=s("span",{style:{color:"#24292E"}}," ",-1),S=s("span",{style:{color:"#032F62"}},"checkout",-1),P=s("span",{style:{color:"#24292E"}}," ",-1),V={style:{color:"#032F62"}},M={class:"language-bash vp-adaptive-theme"},O=s("button",{title:"Copy Code",class:"copy"},null,-1),G=s("span",{class:"lang"},"bash",-1),R={class:"shiki github-dark vp-code-dark"},j={class:"line"},D=s("span",{style:{color:"#B392F0"}},"git",-1),q=s("span",{style:{color:"#E1E4E8"}}," ",-1),L=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),H=s("span",{style:{color:"#E1E4E8"}}," ",-1),K={style:{color:"#9ECBFF"}},U={class:"shiki github-light vp-code-light"},W={class:"line"},Y=s("span",{style:{color:"#6F42C1"}},"git",-1),Z=s("span",{style:{color:"#24292E"}}," ",-1),$=s("span",{style:{color:"#032F62"}},"checkout",-1),J=s("span",{style:{color:"#24292E"}}," ",-1),Q={style:{color:"#032F62"}},z={class:"language-bash vp-adaptive-theme"},X=s("button",{title:"Copy Code",class:"copy"},null,-1),ss=s("span",{class:"lang"},"bash",-1),es={class:"shiki github-dark vp-code-dark"},as={class:"line"},os=s("span",{style:{color:"#B392F0"}},"git",-1),ts=s("span",{style:{color:"#E1E4E8"}}," ",-1),ns=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),ls=s("span",{style:{color:"#E1E4E8"}}," ",-1),is={style:{color:"#9ECBFF"}},cs={class:"shiki github-light vp-code-light"},ps={class:"line"},ds=s("span",{style:{color:"#6F42C1"}},"git",-1),rs=s("span",{style:{color:"#24292E"}}," ",-1),hs=s("span",{style:{color:"#032F62"}},"checkout",-1),_s=s("span",{style:{color:"#24292E"}}," ",-1),ys={style:{color:"#032F62"}},us=o("",4),gs=o("",7),Bs=JSON.parse('{"title":"Install celestia-node","description":"Learn to build and install celestia-node.","frontmatter":{"description":"Learn to build and install celestia-node.","head":[["meta",{"name":"og:title","content":"Install celestia-node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node.md","filePath":"nodes/celestia-node.md","lastUpdated":1705009966000}'),bs={name:"nodes/celestia-node.md"},Ts=Object.assign(bs,{setup(vs){return(Es,ms)=>(c(),p("div",null,[d,r,h,s("ol",null,[_,s("li",null,[y,s("div",u,[g,s("div",b,[s("div",v,[E,m,s("pre",k,[s("code",null,[s("span",F,[C,f,B,T,s("span",I,"tags/"+e(a(i)["node-latest-tag"]),1)])])]),s("pre",A,[s("code",null,[s("span",N,[w,x,S,P,s("span",V,"tags/"+e(a(i)["node-latest-tag"]),1)])])])]),s("div",M,[O,G,s("pre",R,[s("code",null,[s("span",j,[D,q,L,H,s("span",K,"tags/"+e(a(l)["node-latest-tag"]),1)])])]),s("pre",U,[s("code",null,[s("span",W,[Y,Z,$,J,s("span",Q,"tags/"+e(a(l)["node-latest-tag"]),1)])])])]),s("div",z,[X,ss,s("pre",es,[s("code",null,[s("span",as,[os,ts,ns,ls,s("span",is,"tags/"+e(a(n)["node-latest-tag"]),1)])])]),s("pre",cs,[s("code",null,[s("span",ps,[ds,rs,hs,_s,s("span",ys,"tags/"+e(a(n)["node-latest-tag"]),1)])])])])])])]),us]),gs]))}});export{Bs as __pageData,Ts as default}; +import{a as n}from"./chunks/arabica_versions.9a2b5c45.js";import{m as l}from"./chunks/mocha_versions.7e950c54.js";import{m as i}from"./chunks/mainnet_versions.7e950c54.js";import{o as c,c as p,k as s,t as e,l as a,a as t,Q as o}from"./chunks/framework.2263f03b.js";const d=s("h1",{id:"install-celestia-node",tabindex:"-1"},[t("Install celestia-node "),s("a",{class:"header-anchor",href:"#install-celestia-node","aria-label":'Permalink to "Install celestia-node"'},"​")],-1),r=s("p",null,[t("This tutorial goes over building and installing celestia-node. This tutorial assumes you completed the steps in "),s("a",{href:"./environment"},"setting up your development environment"),t(".")],-1),h=s("p",null,"Install the celestia-node binary by running the following commands:",-1),_=o("",1),y=s("p",null,"Check out to the desired version, based on the network you will use:",-1),u={class:"vp-code-group vp-adaptive-theme"},g=o("",1),b={class:"blocks"},v={class:"language-bash vp-adaptive-theme active"},m=s("button",{title:"Copy Code",class:"copy"},null,-1),E=s("span",{class:"lang"},"bash",-1),k={class:"shiki github-dark vp-code-dark"},F={class:"line"},C=s("span",{style:{color:"#B392F0"}},"git",-1),f=s("span",{style:{color:"#E1E4E8"}}," ",-1),B=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),T=s("span",{style:{color:"#E1E4E8"}}," ",-1),I={style:{color:"#9ECBFF"}},V={class:"shiki github-light vp-code-light"},w={class:"line"},A=s("span",{style:{color:"#6F42C1"}},"git",-1),S=s("span",{style:{color:"#24292E"}}," ",-1),N=s("span",{style:{color:"#032F62"}},"checkout",-1),P=s("span",{style:{color:"#24292E"}}," ",-1),x={style:{color:"#032F62"}},q={class:"language-bash vp-adaptive-theme"},D=s("button",{title:"Copy Code",class:"copy"},null,-1),L=s("span",{class:"lang"},"bash",-1),O={class:"shiki github-dark vp-code-dark"},R={class:"line"},U=s("span",{style:{color:"#B392F0"}},"git",-1),M=s("span",{style:{color:"#E1E4E8"}}," ",-1),Y=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),j=s("span",{style:{color:"#E1E4E8"}}," ",-1),G={style:{color:"#9ECBFF"}},H={class:"shiki github-light vp-code-light"},J={class:"line"},Q=s("span",{style:{color:"#6F42C1"}},"git",-1),z=s("span",{style:{color:"#24292E"}}," ",-1),K=s("span",{style:{color:"#032F62"}},"checkout",-1),X=s("span",{style:{color:"#24292E"}}," ",-1),$={style:{color:"#032F62"}},W={class:"language-bash vp-adaptive-theme"},Z=s("button",{title:"Copy Code",class:"copy"},null,-1),ss=s("span",{class:"lang"},"bash",-1),es={class:"shiki github-dark vp-code-dark"},as={class:"line"},os=s("span",{style:{color:"#B392F0"}},"git",-1),ts=s("span",{style:{color:"#E1E4E8"}}," ",-1),ns=s("span",{style:{color:"#9ECBFF"}},"checkout",-1),ls=s("span",{style:{color:"#E1E4E8"}}," ",-1),is={style:{color:"#9ECBFF"}},cs={class:"shiki github-light vp-code-light"},ps={class:"line"},ds=s("span",{style:{color:"#6F42C1"}},"git",-1),rs=s("span",{style:{color:"#24292E"}}," ",-1),hs=s("span",{style:{color:"#032F62"}},"checkout",-1),_s=s("span",{style:{color:"#24292E"}}," ",-1),ys={style:{color:"#032F62"}},us=o("",4),gs=o("",7),Bs=JSON.parse('{"title":"Install celestia-node","description":"Learn to build and install celestia-node.","frontmatter":{"description":"Learn to build and install celestia-node.","head":[["meta",{"name":"og:title","content":"Install celestia-node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/celestia-node.md","filePath":"nodes/celestia-node.md","lastUpdated":1705010189000}'),bs={name:"nodes/celestia-node.md"},Ts=Object.assign(bs,{setup(vs){return(ms,Es)=>(c(),p("div",null,[d,r,h,s("ol",null,[_,s("li",null,[y,s("div",u,[g,s("div",b,[s("div",v,[m,E,s("pre",k,[s("code",null,[s("span",F,[C,f,B,T,s("span",I,"tags/"+e(a(i)["node-latest-tag"]),1)])])]),s("pre",V,[s("code",null,[s("span",w,[A,S,N,P,s("span",x,"tags/"+e(a(i)["node-latest-tag"]),1)])])])]),s("div",q,[D,L,s("pre",O,[s("code",null,[s("span",R,[U,M,Y,j,s("span",G,"tags/"+e(a(l)["node-latest-tag"]),1)])])]),s("pre",H,[s("code",null,[s("span",J,[Q,z,K,X,s("span",$,"tags/"+e(a(l)["node-latest-tag"]),1)])])])]),s("div",W,[Z,ss,s("pre",es,[s("code",null,[s("span",as,[os,ts,ns,ls,s("span",is,"tags/"+e(a(n)["node-latest-tag"]),1)])])]),s("pre",cs,[s("code",null,[s("span",ps,[ds,rs,hs,_s,s("span",ys,"tags/"+e(a(n)["node-latest-tag"]),1)])])])])])])]),us]),gs]))}});export{Bs as __pageData,Ts as default}; diff --git a/pr-preview/pr-1358/assets/nodes_config-toml.md.1c2fb136.js b/pr-preview/pr-1358/assets/nodes_config-toml.md.9d9340c9.js similarity index 98% rename from pr-preview/pr-1358/assets/nodes_config-toml.md.1c2fb136.js rename to pr-preview/pr-1358/assets/nodes_config-toml.md.9d9340c9.js index 250bf78104..4063dfcc7e 100644 --- a/pr-preview/pr-1358/assets/nodes_config-toml.md.1c2fb136.js +++ b/pr-preview/pr-1358/assets/nodes_config-toml.md.9d9340c9.js @@ -1 +1 @@ -import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"config.toml guide","description":"A guide to the contents of the Config.toml file.","frontmatter":{"description":"A guide to the contents of the Config.toml file.","head":[["meta",{"name":"og:title","content":"config.toml guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/config-toml.md","filePath":"nodes/config-toml.md","lastUpdated":1705009966000}'),i={name:"nodes/config-toml.md"},r=a('

    config.toml guide

    Pre-requisites

    Please, make sure that you have installed and initialized celestia-node

    Understanding config.toml

    After initialization, for any type of node, you will find a config.toml in the following path (default location):

    • $HOME/.celestia-bridge/config.toml for bridge node
    • $HOME/.celestia-light/config.toml for light node
    • $HOME/.celestia-full/config.toml for a full DA node

    Let's break down some of the most used sections.

    Core

    This section is needed for the Celestia bridge node. By default, Remote = false. Still for devnet, we are going to use the remote core option and this can also be set by the command line flag --core.remote.

    P2P

    Bootstrap

    Bootstrappers help new nodes to find peers faster in the network. By default, the Bootstrapper = false and the BootstrapPeers is empty. If you want your node to be a bootstrapper, then activate Bootstrapper = true. BootstrapPeers are already provided by default during initialisation. If you want to add your own manually, you need to provide the multiaddresses of the peers.

    Mutual peers

    The purpose of this config is to set up a bidirectional communication. This is usually the case for Celestia bridge nodes. In addition, you need to change the field PeerExchange from false to true.

    Services

    TrustedHash and TrustedPeer

    TrustedHash is needed to properly initialize a Celestia bridge node with an already-running Remote celestia-core node. Celestia light node will take a genesis hash as the trusted one, if no hash is manually provided during initialization phase.

    TrustedPeers is the array of bridge nodes' peers that Celestia light node trusts. By default, bootstrap peers becomes trusted peers for Celestia light nodes if a user is not setting the trusted peer params in config file.

    Any Celestia bridge node can be a trusted peer for the light one. However, the light node by design can not be a trusted peer for another light node.

    ',19),n=[r];function d(s,l,c,h,u,f){return t(),o("div",null,n)}const m=e(i,[["render",d]]);export{g as __pageData,m as default}; +import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"config.toml guide","description":"A guide to the contents of the Config.toml file.","frontmatter":{"description":"A guide to the contents of the Config.toml file.","head":[["meta",{"name":"og:title","content":"config.toml guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/config-toml.md","filePath":"nodes/config-toml.md","lastUpdated":1705010189000}'),i={name:"nodes/config-toml.md"},r=a('

    config.toml guide

    Pre-requisites

    Please, make sure that you have installed and initialized celestia-node

    Understanding config.toml

    After initialization, for any type of node, you will find a config.toml in the following path (default location):

    • $HOME/.celestia-bridge/config.toml for bridge node
    • $HOME/.celestia-light/config.toml for light node
    • $HOME/.celestia-full/config.toml for a full DA node

    Let's break down some of the most used sections.

    Core

    This section is needed for the Celestia bridge node. By default, Remote = false. Still for devnet, we are going to use the remote core option and this can also be set by the command line flag --core.remote.

    P2P

    Bootstrap

    Bootstrappers help new nodes to find peers faster in the network. By default, the Bootstrapper = false and the BootstrapPeers is empty. If you want your node to be a bootstrapper, then activate Bootstrapper = true. BootstrapPeers are already provided by default during initialisation. If you want to add your own manually, you need to provide the multiaddresses of the peers.

    Mutual peers

    The purpose of this config is to set up a bidirectional communication. This is usually the case for Celestia bridge nodes. In addition, you need to change the field PeerExchange from false to true.

    Services

    TrustedHash and TrustedPeer

    TrustedHash is needed to properly initialize a Celestia bridge node with an already-running Remote celestia-core node. Celestia light node will take a genesis hash as the trusted one, if no hash is manually provided during initialization phase.

    TrustedPeers is the array of bridge nodes' peers that Celestia light node trusts. By default, bootstrap peers becomes trusted peers for Celestia light nodes if a user is not setting the trusted peer params in config file.

    Any Celestia bridge node can be a trusted peer for the light one. However, the light node by design can not be a trusted peer for another light node.

    ',19),n=[r];function d(s,l,c,h,u,f){return t(),o("div",null,n)}const m=e(i,[["render",d]]);export{g as __pageData,m as default}; diff --git a/pr-preview/pr-1358/assets/nodes_config-toml.md.1c2fb136.lean.js b/pr-preview/pr-1358/assets/nodes_config-toml.md.9d9340c9.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/nodes_config-toml.md.1c2fb136.lean.js rename to pr-preview/pr-1358/assets/nodes_config-toml.md.9d9340c9.lean.js index d28ff637a6..4982eb9ba3 100644 --- a/pr-preview/pr-1358/assets/nodes_config-toml.md.1c2fb136.lean.js +++ b/pr-preview/pr-1358/assets/nodes_config-toml.md.9d9340c9.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"config.toml guide","description":"A guide to the contents of the Config.toml file.","frontmatter":{"description":"A guide to the contents of the Config.toml file.","head":[["meta",{"name":"og:title","content":"config.toml guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/config-toml.md","filePath":"nodes/config-toml.md","lastUpdated":1705009966000}'),i={name:"nodes/config-toml.md"},r=a("",19),n=[r];function d(s,l,c,h,u,f){return t(),o("div",null,n)}const m=e(i,[["render",d]]);export{g as __pageData,m as default}; +import{_ as e,o as t,c as o,Q as a}from"./chunks/framework.2263f03b.js";const g=JSON.parse('{"title":"config.toml guide","description":"A guide to the contents of the Config.toml file.","frontmatter":{"description":"A guide to the contents of the Config.toml file.","head":[["meta",{"name":"og:title","content":"config.toml guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/config-toml.md","filePath":"nodes/config-toml.md","lastUpdated":1705010189000}'),i={name:"nodes/config-toml.md"},r=a("",19),n=[r];function d(s,l,c,h,u,f){return t(),o("div",null,n)}const m=e(i,[["render",d]]);export{g as __pageData,m as default}; diff --git a/pr-preview/pr-1358/assets/nodes_consensus-node.md.a920e4f0.js b/pr-preview/pr-1358/assets/nodes_consensus-node.md.711684a9.js similarity index 93% rename from pr-preview/pr-1358/assets/nodes_consensus-node.md.a920e4f0.js rename to pr-preview/pr-1358/assets/nodes_consensus-node.md.711684a9.js index f394549b37..73db67abb8 100644 --- a/pr-preview/pr-1358/assets/nodes_consensus-node.md.a920e4f0.js +++ b/pr-preview/pr-1358/assets/nodes_consensus-node.md.711684a9.js @@ -2,21 +2,21 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t rm -rf networks git clone https://github.com/celestiaorg/networks.git
    cd $HOME
     rm -rf networks
    -git clone https://github.com/celestiaorg/networks.git

    To initialize the network pick a "node-name" that describes your node. Keep in mind that this might change if a new testnet is deployed.

    `,18),_={class:"vp-code-group vp-adaptive-theme"},d=a('
    ',1),y={class:"blocks"},h={class:"language-bash vp-adaptive-theme active"},E=s("button",{title:"Copy Code",class:"copy"},null,-1),u=s("span",{class:"lang"},"bash",-1),F={class:"shiki github-dark vp-code-dark"},C={class:"line"},g=a('celestia-appd init "node-name" --chain-id ',8),T={style:{color:"#9ECBFF"}},b={class:"shiki github-light vp-code-light"},S={class:"line"},A=a('celestia-appd init "node-name" --chain-id ',8),m={style:{color:"#032F62"}},v={class:"language-bash vp-adaptive-theme"},B=s("button",{title:"Copy Code",class:"copy"},null,-1),f=s("span",{class:"lang"},"bash",-1),k={class:"shiki github-dark vp-code-dark"},P={class:"line"},I=a('celestia-appd init "node-name" --chain-id ',8),q={style:{color:"#9ECBFF"}},V={class:"shiki github-light vp-code-light"},D={class:"line"},R=a('celestia-appd init "node-name" --chain-id ',8),w={style:{color:"#032F62"}},N={class:"language-bash vp-adaptive-theme"},x=s("button",{title:"Copy Code",class:"copy"},null,-1),O=s("span",{class:"lang"},"bash",-1),$={class:"shiki github-dark vp-code-dark"},M={class:"line"},L=a('celestia-appd init "node-name" --chain-id ',8),H={style:{color:"#9ECBFF"}},W={class:"shiki github-light vp-code-light"},j={class:"line"},G=a('celestia-appd init "node-name" --chain-id ',8),U={style:{color:"#032F62"}},Y=s("p",null,[o("Copy the "),s("code",null,"genesis.json"),o(" file:")],-1),K={class:"vp-code-group vp-adaptive-theme"},z=a('
    ',1),Q={class:"blocks"},X={class:"language-bash vp-adaptive-theme active"},J=s("button",{title:"Copy Code",class:"copy"},null,-1),Z=s("span",{class:"lang"},"bash",-1),ss={class:"shiki github-dark vp-code-dark"},as={class:"line"},os=s("span",{style:{color:"#B392F0"}},"cp",-1),ns=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),es={style:{color:"#9ECBFF"}},ls=s("span",{style:{color:"#E1E4E8"}}," ",-1),ts=s("span",{style:{color:"#79B8FF"}},"\\",-1),ps=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),cs={class:"shiki github-light vp-code-light"},rs={class:"line"},is=s("span",{style:{color:"#6F42C1"}},"cp",-1),_s=s("span",{style:{color:"#24292E"}}," $HOME",-1),ds={style:{color:"#032F62"}},ys=s("span",{style:{color:"#24292E"}}," ",-1),hs=s("span",{style:{color:"#005CC5"}},"\\",-1),Es=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),us={class:"language-bash vp-adaptive-theme"},Fs=s("button",{title:"Copy Code",class:"copy"},null,-1),Cs=s("span",{class:"lang"},"bash",-1),gs={class:"shiki github-dark vp-code-dark"},Ts={class:"line"},bs=s("span",{style:{color:"#B392F0"}},"cp",-1),Ss=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),As={style:{color:"#9ECBFF"}},ms=s("span",{style:{color:"#E1E4E8"}}," ",-1),vs=s("span",{style:{color:"#79B8FF"}},"\\",-1),Bs=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),fs={class:"shiki github-light vp-code-light"},ks={class:"line"},Ps=s("span",{style:{color:"#6F42C1"}},"cp",-1),Is=s("span",{style:{color:"#24292E"}}," $HOME",-1),qs={style:{color:"#032F62"}},Vs=s("span",{style:{color:"#24292E"}}," ",-1),Ds=s("span",{style:{color:"#005CC5"}},"\\",-1),Rs=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),ws={class:"language-bash vp-adaptive-theme"},Ns=s("button",{title:"Copy Code",class:"copy"},null,-1),xs=s("span",{class:"lang"},"bash",-1),Os={class:"shiki github-dark vp-code-dark"},$s={class:"line"},Ms=s("span",{style:{color:"#B392F0"}},"cp",-1),Ls=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),Hs={style:{color:"#9ECBFF"}},Ws=s("span",{style:{color:"#E1E4E8"}}," ",-1),js=s("span",{style:{color:"#79B8FF"}},"\\",-1),Gs=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),Us={class:"shiki github-light vp-code-light"},Ys={class:"line"},Ks=s("span",{style:{color:"#6F42C1"}},"cp",-1),zs=s("span",{style:{color:"#24292E"}}," $HOME",-1),Qs={style:{color:"#032F62"}},Xs=s("span",{style:{color:"#24292E"}}," ",-1),Js=s("span",{style:{color:"#005CC5"}},"\\",-1),Zs=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),sa=s("p",null,[o("Set seeds in the "),s("code",null,"$HOME/.celestia-app/config/config.toml"),o(" file:")],-1),aa={class:"vp-code-group vp-adaptive-theme"},oa=a('
    ',1),na={class:"blocks"},ea={class:"language-bash vp-adaptive-theme active"},la=s("button",{title:"Copy Code",class:"copy"},null,-1),ta=s("span",{class:"lang"},"bash",-1),pa={class:"shiki github-dark vp-code-dark"},ca={class:"line"},ra=a('SEEDS=$(curl -sL',6),ia={style:{color:"#9ECBFF"}},_a=a('| head -c -1 | tr '\\n' ',')',12),da=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $SEEDS")],-1),ya=a('sed -i.bak -e "s/^seeds *=.*/seeds = \\"$SEEDS\\"/" $HOME/.celestia-app/config/config.toml',1),ha={class:"shiki github-light vp-code-light"},Ea={class:"line"},ua=a('SEEDS=$(curl -sL',6),Fa={style:{color:"#032F62"}},Ca=a('| head -c -1 | tr '\\n' ',')',12),ga=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $SEEDS")],-1),Ta=a('sed -i.bak -e "s/^seeds *=.*/seeds = \\"$SEEDS\\"/" $HOME/.celestia-app/config/config.toml',1),ba={class:"language-bash vp-adaptive-theme"},Sa=s("button",{title:"Copy Code",class:"copy"},null,-1),Aa=s("span",{class:"lang"},"bash",-1),ma={class:"shiki github-dark vp-code-dark"},va={class:"line"},Ba=a('SEEDS=$(curl -sL',6),fa={style:{color:"#9ECBFF"}},ka=a('| head -c -1 | tr '\\n' ',')',12),Pa=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $SEEDS")],-1),Ia=a('sed -i.bak -e "s/^seeds *=.*/seeds = \\"$SEEDS\\"/" $HOME/.celestia-app/config/config.toml',1),qa={class:"shiki github-light vp-code-light"},Va={class:"line"},Da=a('SEEDS=$(curl -sL',6),Ra={style:{color:"#032F62"}},wa=a('| head -c -1 | tr '\\n' ',')',12),Na=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $SEEDS")],-1),xa=a('sed -i.bak -e "s/^seeds *=.*/seeds = \\"$SEEDS\\"/" $HOME/.celestia-app/config/config.toml',1),Oa=a(`
    bash
    # For Arabica, you can set seeds manually in the
    +git clone https://github.com/celestiaorg/networks.git

    To initialize the network pick a "node-name" that describes your node. Keep in mind that this might change if a new testnet is deployed.

    `,18),_={class:"vp-code-group vp-adaptive-theme"},d=a('
    ',1),y={class:"blocks"},h={class:"language-bash vp-adaptive-theme active"},E=s("button",{title:"Copy Code",class:"copy"},null,-1),u=s("span",{class:"lang"},"bash",-1),F={class:"shiki github-dark vp-code-dark"},C={class:"line"},g=a('celestia-appd init "node-name" --chain-id ',8),T={style:{color:"#9ECBFF"}},b={class:"shiki github-light vp-code-light"},S={class:"line"},A=a('celestia-appd init "node-name" --chain-id ',8),m={style:{color:"#032F62"}},v={class:"language-bash vp-adaptive-theme"},B=s("button",{title:"Copy Code",class:"copy"},null,-1),f=s("span",{class:"lang"},"bash",-1),k={class:"shiki github-dark vp-code-dark"},P={class:"line"},q=a('celestia-appd init "node-name" --chain-id ',8),I={style:{color:"#9ECBFF"}},V={class:"shiki github-light vp-code-light"},D={class:"line"},R=a('celestia-appd init "node-name" --chain-id ',8),w={style:{color:"#032F62"}},N={class:"language-bash vp-adaptive-theme"},x=s("button",{title:"Copy Code",class:"copy"},null,-1),$=s("span",{class:"lang"},"bash",-1),O={class:"shiki github-dark vp-code-dark"},M={class:"line"},L=a('celestia-appd init "node-name" --chain-id ',8),H={style:{color:"#9ECBFF"}},W={class:"shiki github-light vp-code-light"},G={class:"line"},Y=a('celestia-appd init "node-name" --chain-id ',8),z={style:{color:"#032F62"}},X=s("p",null,[o("Copy the "),s("code",null,"genesis.json"),o(" file:")],-1),j={class:"vp-code-group vp-adaptive-theme"},K=a('
    ',1),U={class:"blocks"},Q={class:"language-bash vp-adaptive-theme active"},J=s("button",{title:"Copy Code",class:"copy"},null,-1),Z=s("span",{class:"lang"},"bash",-1),ss={class:"shiki github-dark vp-code-dark"},as={class:"line"},os=s("span",{style:{color:"#B392F0"}},"cp",-1),ns=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),es={style:{color:"#9ECBFF"}},ls=s("span",{style:{color:"#E1E4E8"}}," ",-1),ts=s("span",{style:{color:"#79B8FF"}},"\\",-1),ps=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),cs={class:"shiki github-light vp-code-light"},rs={class:"line"},is=s("span",{style:{color:"#6F42C1"}},"cp",-1),_s=s("span",{style:{color:"#24292E"}}," $HOME",-1),ds={style:{color:"#032F62"}},ys=s("span",{style:{color:"#24292E"}}," ",-1),hs=s("span",{style:{color:"#005CC5"}},"\\",-1),Es=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),us={class:"language-bash vp-adaptive-theme"},Fs=s("button",{title:"Copy Code",class:"copy"},null,-1),Cs=s("span",{class:"lang"},"bash",-1),gs={class:"shiki github-dark vp-code-dark"},Ts={class:"line"},bs=s("span",{style:{color:"#B392F0"}},"cp",-1),Ss=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),As={style:{color:"#9ECBFF"}},ms=s("span",{style:{color:"#E1E4E8"}}," ",-1),vs=s("span",{style:{color:"#79B8FF"}},"\\",-1),Bs=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),fs={class:"shiki github-light vp-code-light"},ks={class:"line"},Ps=s("span",{style:{color:"#6F42C1"}},"cp",-1),qs=s("span",{style:{color:"#24292E"}}," $HOME",-1),Is={style:{color:"#032F62"}},Vs=s("span",{style:{color:"#24292E"}}," ",-1),Ds=s("span",{style:{color:"#005CC5"}},"\\",-1),Rs=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),ws={class:"language-bash vp-adaptive-theme"},Ns=s("button",{title:"Copy Code",class:"copy"},null,-1),xs=s("span",{class:"lang"},"bash",-1),$s={class:"shiki github-dark vp-code-dark"},Os={class:"line"},Ms=s("span",{style:{color:"#B392F0"}},"cp",-1),Ls=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),Hs={style:{color:"#9ECBFF"}},Ws=s("span",{style:{color:"#E1E4E8"}}," ",-1),Gs=s("span",{style:{color:"#79B8FF"}},"\\",-1),Ys=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),zs={class:"shiki github-light vp-code-light"},Xs={class:"line"},js=s("span",{style:{color:"#6F42C1"}},"cp",-1),Ks=s("span",{style:{color:"#24292E"}}," $HOME",-1),Us={style:{color:"#032F62"}},Qs=s("span",{style:{color:"#24292E"}}," ",-1),Js=s("span",{style:{color:"#005CC5"}},"\\",-1),Zs=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),sa=s("p",null,[o("Set seeds in the "),s("code",null,"$HOME/.celestia-app/config/config.toml"),o(" file:")],-1),aa={class:"vp-code-group vp-adaptive-theme"},oa=a('
    ',1),na={class:"blocks"},ea={class:"language-bash vp-adaptive-theme active"},la=s("button",{title:"Copy Code",class:"copy"},null,-1),ta=s("span",{class:"lang"},"bash",-1),pa={class:"shiki github-dark vp-code-dark"},ca={class:"line"},ra=a('SEEDS=$(curl -sL',6),ia={style:{color:"#9ECBFF"}},_a=a('| head -c -1 | tr '\\n' ',')',12),da=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $SEEDS")],-1),ya=a('sed -i.bak -e "s/^seeds *=.*/seeds = \\"$SEEDS\\"/" $HOME/.celestia-app/config/config.toml',1),ha={class:"shiki github-light vp-code-light"},Ea={class:"line"},ua=a('SEEDS=$(curl -sL',6),Fa={style:{color:"#032F62"}},Ca=a('| head -c -1 | tr '\\n' ',')',12),ga=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $SEEDS")],-1),Ta=a('sed -i.bak -e "s/^seeds *=.*/seeds = \\"$SEEDS\\"/" $HOME/.celestia-app/config/config.toml',1),ba={class:"language-bash vp-adaptive-theme"},Sa=s("button",{title:"Copy Code",class:"copy"},null,-1),Aa=s("span",{class:"lang"},"bash",-1),ma={class:"shiki github-dark vp-code-dark"},va={class:"line"},Ba=a('SEEDS=$(curl -sL',6),fa={style:{color:"#9ECBFF"}},ka=a('| head -c -1 | tr '\\n' ',')',12),Pa=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $SEEDS")],-1),qa=a('sed -i.bak -e "s/^seeds *=.*/seeds = \\"$SEEDS\\"/" $HOME/.celestia-app/config/config.toml',1),Ia={class:"shiki github-light vp-code-light"},Va={class:"line"},Da=a('SEEDS=$(curl -sL',6),Ra={style:{color:"#032F62"}},wa=a('| head -c -1 | tr '\\n' ',')',12),Na=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $SEEDS")],-1),xa=a('sed -i.bak -e "s/^seeds *=.*/seeds = \\"$SEEDS\\"/" $HOME/.celestia-app/config/config.toml',1),$a=a(`
    bash
    # For Arabica, you can set seeds manually in the
     # \`$HOME/.celestia-app/config/config.toml\` file:
     # Comma separated list of seed nodes to connect to
     seeds = ""
    # For Arabica, you can set seeds manually in the
     # \`$HOME/.celestia-app/config/config.toml\` file:
     # Comma separated list of seed nodes to connect to
    -seeds = ""
    `,1),$a=s("p",null,[s("strong",null,"Optionally"),o(", you can set persistent peers in your "),s("code",null,"config.toml"),o(" file. You can get the persistent peers from the networks repository with the following commands:")],-1),Ma=s("p",null,"Setting persistent peers is advised only if you are running a sentry node.",-1),La={class:"vp-code-group vp-adaptive-theme"},Ha=a('
    ',1),Wa={class:"blocks"},ja={class:"language-bash vp-adaptive-theme active"},Ga=s("button",{title:"Copy Code",class:"copy"},null,-1),Ua=s("span",{class:"lang"},"bash",-1),Ya={class:"shiki github-dark vp-code-dark"},Ka={class:"line"},za=a('PERSISTENT_PEERS=$(curl -sL',6),Qa={style:{color:"#9ECBFF"}},Xa=a('| head -c -1 | tr '\\n' ',')',12),Ja=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Za=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),so={class:"shiki github-light vp-code-light"},ao={class:"line"},oo=a('PERSISTENT_PEERS=$(curl -sL',6),no={style:{color:"#032F62"}},eo=a('| head -c -1 | tr '\\n' ',')',12),lo=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),to=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),po={class:"language-bash vp-adaptive-theme"},co=s("button",{title:"Copy Code",class:"copy"},null,-1),ro=s("span",{class:"lang"},"bash",-1),io={class:"shiki github-dark vp-code-dark"},_o={class:"line"},yo=a('PERSISTENT_PEERS=$(curl -sL',6),ho={style:{color:"#9ECBFF"}},Eo=a('| head -c -1 | tr '\\n' ',')',12),uo=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Fo=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),Co={class:"shiki github-light vp-code-light"},go={class:"line"},To=a('PERSISTENT_PEERS=$(curl -sL',6),bo={style:{color:"#032F62"}},So=a('| head -c -1 | tr '\\n' ',')',12),Ao=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),mo=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),vo={class:"language-bash vp-adaptive-theme"},Bo=s("button",{title:"Copy Code",class:"copy"},null,-1),fo=s("span",{class:"lang"},"bash",-1),ko={class:"shiki github-dark vp-code-dark"},Po={class:"line"},Io=a('PERSISTENT_PEERS=$(curl -sL',6),qo={style:{color:"#9ECBFF"}},Vo=a('| head -c -1 | tr '\\n' ',')',12),Do=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Ro=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),wo={class:"shiki github-light vp-code-light"},No={class:"line"},xo=a('PERSISTENT_PEERS=$(curl -sL',6),Oo={style:{color:"#032F62"}},$o=a('| head -c -1 | tr '\\n' ',')',12),Mo=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),Lo=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),Ho=a(`

    TIP

    Mac users' built-in head command does not accept negative numbers for -c flag. Solution is to install coreutils package and use ghead command from it.

    bash
    brew install coreutils
    brew install coreutils

    and optionally set alias from head to ghead in shell config (~/.bashrc, ~/.zshrc etc):

    sh
    alias head=ghead
    alias head=ghead

    Storage and pruning configurations

    Connecting a consensus node to a bridge node

    If your consensus node is being connected to a celestia-node bridge node, you will need to enable transaction indexing and retain all block data. This can be achieved with the following settings in your config.toml.

    Enable transaction indexing

    toml
    indexer = "kv"
    indexer = "kv"

    Retain all block data

    And in your app.toml, min-retain-blocks should remain as the default setting of 0:

    toml
    min-retain-blocks = 0 # retain all block data, this is default setting
    min-retain-blocks = 0 # retain all block data, this is default setting

    Querying transactions by hash

    If you want to query transactions using their hash, transaction indexing must be turned on. Set the indexer to "kv" in your config.toml:

    toml
    indexer = "kv"
    indexer = "kv"

    Accessing historical state

    If you want to query the historical state — for example, you might want to know the balance of a Celestia wallet at a given height in the past — you should run an archive node with pruning = "nothing" in your app.toml. Note that this configuration is resource-intensive and will require significant storage:

    toml
    pruning = "nothing"
    pruning = "nothing"

    Saving on storage requirements

    If you want to save on storage requirements, consider using pruning = "everything" in your app.toml to prune everything. If you select "everything" or "default", but still want to keep the block data, you can do so by not changing the default value of min-retain-blocks = 0 in your app.toml. A value of 0 for min-retain-blocks will keep all block data. This will prune snapshots of the state, but it will keep block data:

    toml
    pruning = "everything"
    +seeds = ""
    `,1),Oa=s("p",null,[s("strong",null,"Optionally"),o(", you can set persistent peers in your "),s("code",null,"config.toml"),o(" file. You can get the persistent peers from the networks repository with the following commands:")],-1),Ma=s("p",null,"Setting persistent peers is advised only if you are running a sentry node.",-1),La={class:"vp-code-group vp-adaptive-theme"},Ha=a('
    ',1),Wa={class:"blocks"},Ga={class:"language-bash vp-adaptive-theme active"},Ya=s("button",{title:"Copy Code",class:"copy"},null,-1),za=s("span",{class:"lang"},"bash",-1),Xa={class:"shiki github-dark vp-code-dark"},ja={class:"line"},Ka=a('PERSISTENT_PEERS=$(curl -sL',6),Ua={style:{color:"#9ECBFF"}},Qa=a('| head -c -1 | tr '\\n' ',')',12),Ja=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Za=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),so={class:"shiki github-light vp-code-light"},ao={class:"line"},oo=a('PERSISTENT_PEERS=$(curl -sL',6),no={style:{color:"#032F62"}},eo=a('| head -c -1 | tr '\\n' ',')',12),lo=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),to=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),po={class:"language-bash vp-adaptive-theme"},co=s("button",{title:"Copy Code",class:"copy"},null,-1),ro=s("span",{class:"lang"},"bash",-1),io={class:"shiki github-dark vp-code-dark"},_o={class:"line"},yo=a('PERSISTENT_PEERS=$(curl -sL',6),ho={style:{color:"#9ECBFF"}},Eo=a('| head -c -1 | tr '\\n' ',')',12),uo=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Fo=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),Co={class:"shiki github-light vp-code-light"},go={class:"line"},To=a('PERSISTENT_PEERS=$(curl -sL',6),bo={style:{color:"#032F62"}},So=a('| head -c -1 | tr '\\n' ',')',12),Ao=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),mo=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),vo={class:"language-bash vp-adaptive-theme"},Bo=s("button",{title:"Copy Code",class:"copy"},null,-1),fo=s("span",{class:"lang"},"bash",-1),ko={class:"shiki github-dark vp-code-dark"},Po={class:"line"},qo=a('PERSISTENT_PEERS=$(curl -sL',6),Io={style:{color:"#9ECBFF"}},Vo=a('| head -c -1 | tr '\\n' ',')',12),Do=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Ro=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),wo={class:"shiki github-light vp-code-light"},No={class:"line"},xo=a('PERSISTENT_PEERS=$(curl -sL',6),$o={style:{color:"#032F62"}},Oo=a('| head -c -1 | tr '\\n' ',')',12),Mo=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),Lo=a('sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \\"$PERSISTENT_PEERS\\"/" $HOME/.celestia-app/config/config.toml',1),Ho=a(`

    TIP

    Mac users' built-in head command does not accept negative numbers for -c flag. Solution is to install coreutils package and use ghead command from it.

    bash
    brew install coreutils
    brew install coreutils

    and optionally set alias from head to ghead in shell config (~/.bashrc, ~/.zshrc etc):

    sh
    alias head=ghead
    alias head=ghead

    Storage and pruning configurations

    Connecting a consensus node to a bridge node

    If your consensus node is being connected to a celestia-node bridge node, you will need to enable transaction indexing and retain all block data. This can be achieved with the following settings in your config.toml.

    Enable transaction indexing

    toml
    indexer = "kv"
    indexer = "kv"

    Retain all block data

    And in your app.toml, min-retain-blocks should remain as the default setting of 0:

    toml
    min-retain-blocks = 0 # retain all block data, this is default setting
    min-retain-blocks = 0 # retain all block data, this is default setting

    Querying transactions by hash

    If you want to query transactions using their hash, transaction indexing must be turned on. Set the indexer to "kv" in your config.toml:

    toml
    indexer = "kv"
    indexer = "kv"

    Accessing historical state

    If you want to query the historical state — for example, you might want to know the balance of a Celestia wallet at a given height in the past — you should run an archive node with pruning = "nothing" in your app.toml. Note that this configuration is resource-intensive and will require significant storage:

    toml
    pruning = "nothing"
    pruning = "nothing"

    Saving on storage requirements

    If you want to save on storage requirements, consider using pruning = "everything" in your app.toml to prune everything. If you select "everything" or "default", but still want to keep the block data, you can do so by not changing the default value of min-retain-blocks = 0 in your app.toml. A value of 0 for min-retain-blocks will keep all block data. This will prune snapshots of the state, but it will keep block data:

    toml
    pruning = "everything"
     min-retain-blocks = 0 # this is the default setting
    pruning = "everything"
     min-retain-blocks = 0 # this is the default setting

    Syncing

    By default, a consensus node will sync using block sync; that is request, validate and execute every block up to the head of the blockchain. This is the most secure mechanism yet the slowest (taking up to days depending on the height of the blockchain).

    There are two alternatives for quicker syncing.

    State sync

    State sync uses light client verification to verify state snapshots from peers and then apply them. State sync relies on weak subjectivity; a trusted header (specifically the hash and height) must be provided. This can be found by querying a trusted RPC endpoint (/block). RPC endpoints are also required for retrieving light blocks. These can be found in the docs here under the respective networks or from the chain-registry.

    In $HOME/.celestia-app/config/config.toml, set

    toml
    rpc_servers = ""
     trust_height = 0
     trust_hash = ""
    rpc_servers = ""
     trust_height = 0
    -trust_hash = ""

    to their respective fields. At least two different rpc endpoints should be provided. The more, the greater the chance of detecting any fraudulent behavior.

    Once setup, you should be ready to start the node as normal. In the logs, you should see: Discovering snapshots. This may take a few minutes before snapshots are found depending on the network topology.

    Quick sync

    Quick sync effectively downloads the entire data directory from a third-party provider meaning the node has all the application and blockchain state as the node it was copied from.

    Run the following command to quick-sync from a snapshot:

    `,30),Wo={class:"vp-code-group vp-adaptive-theme"},jo=a('
    ',1),Go={class:"blocks"},Uo={class:"language-bash vp-adaptive-theme active"},Yo=s("button",{title:"Copy Code",class:"copy"},null,-1),Ko=s("span",{class:"lang"},"bash",-1),zo={class:"shiki github-dark vp-code-dark"},Qo=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),Xo=a('rm -rf ~/.celestia-app/data',1),Jo=a('mkdir -p ~/.celestia-app/data',1),Zo=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),sn={class:"line"},an=s("span",{style:{color:"#9ECBFF"}}," ",-1),on=s("span",{style:{color:"#B392F0"}},"egrep",-1),nn=s("span",{style:{color:"#9ECBFF"}}," ",-1),en=s("span",{style:{color:"#79B8FF"}},"-o",-1),ln={style:{color:"#9ECBFF"}},tn=a('| tr -d ">")',6),pn=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),cn=a(' -C ~/.celestia-app/data/',1),rn={class:"shiki github-light vp-code-light"},_n=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),dn=a('rm -rf ~/.celestia-app/data',1),yn=a('mkdir -p ~/.celestia-app/data',1),hn=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),En={class:"line"},un=s("span",{style:{color:"#032F62"}}," ",-1),Fn=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Cn=s("span",{style:{color:"#032F62"}}," ",-1),gn=s("span",{style:{color:"#005CC5"}},"-o",-1),Tn={style:{color:"#032F62"}},bn=a('| tr -d ">")',6),Sn=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),An=a(' -C ~/.celestia-app/data/',1),mn={class:"language-bash vp-adaptive-theme"},vn=s("button",{title:"Copy Code",class:"copy"},null,-1),Bn=s("span",{class:"lang"},"bash",-1),fn={class:"shiki github-dark vp-code-dark"},kn=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),Pn=a('rm -rf ~/.celestia-app/data',1),In=a('mkdir -p ~/.celestia-app/data',1),qn=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),Vn={class:"line"},Dn=s("span",{style:{color:"#9ECBFF"}}," ",-1),Rn=s("span",{style:{color:"#B392F0"}},"egrep",-1),wn=s("span",{style:{color:"#9ECBFF"}}," ",-1),Nn=s("span",{style:{color:"#79B8FF"}},"-o",-1),xn={style:{color:"#9ECBFF"}},On=a('| tr -d ">")',6),$n=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),Mn=a(' -C ~/.celestia-app/data/',1),Ln={class:"shiki github-light vp-code-light"},Hn=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),Wn=a('rm -rf ~/.celestia-app/data',1),jn=a('mkdir -p ~/.celestia-app/data',1),Gn=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),Un={class:"line"},Yn=s("span",{style:{color:"#032F62"}}," ",-1),Kn=s("span",{style:{color:"#6F42C1"}},"egrep",-1),zn=s("span",{style:{color:"#032F62"}}," ",-1),Qn=s("span",{style:{color:"#005CC5"}},"-o",-1),Xn={style:{color:"#032F62"}},Jn=a('| tr -d ">")',6),Zn=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),se=a(' -C ~/.celestia-app/data/',1),ae={class:"language-bash vp-adaptive-theme"},oe=s("button",{title:"Copy Code",class:"copy"},null,-1),ne=s("span",{class:"lang"},"bash",-1),ee={class:"shiki github-dark vp-code-dark"},le=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),te=a('rm -rf ~/.celestia-app/data',1),pe=a('mkdir -p ~/.celestia-app/data',1),ce=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),re={class:"line"},ie=s("span",{style:{color:"#9ECBFF"}}," ",-1),_e=s("span",{style:{color:"#B392F0"}},"egrep",-1),de=s("span",{style:{color:"#9ECBFF"}}," ",-1),ye=s("span",{style:{color:"#79B8FF"}},"-o",-1),he={style:{color:"#9ECBFF"}},Ee=a('| tr -d ">")',6),ue=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),Fe=a(' -C ~/.celestia-app/data/',1),Ce={class:"shiki github-light vp-code-light"},ge=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),Te=a('rm -rf ~/.celestia-app/data',1),be=a('mkdir -p ~/.celestia-app/data',1),Se=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),Ae={class:"line"},me=s("span",{style:{color:"#032F62"}}," ",-1),ve=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Be=s("span",{style:{color:"#032F62"}}," ",-1),fe=s("span",{style:{color:"#005CC5"}},"-o",-1),ke={style:{color:"#032F62"}},Pe=a('| tr -d ">")',6),Ie=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),qe=a(' -C ~/.celestia-app/data/',1),Ve=a('

    Start the consensus node

    In order to start your full consensus node, run the following:

    sh
    celestia-appd start
    celestia-appd start

    Optional: If you would like celestia-app to run as a background process, you can follow the SystemD tutorial.

    TIP

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Optional: Setting up a validator

    Setting up a Celestia validator node

    Validator nodes allow you to participate in consensus in the Celestia network.

    validator node

    Validator hardware requirements

    The following hardware minimum requirements are recommended for running a validator node:

    • Memory: 8 GB RAM
    • CPU: 6 cores
    • Disk: 500 GB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    First, set up your full consensus node by following the instructions in the previous section.

    Wallet

    Follow the tutorial on creating a wallet.

    Delegate stake to a validator

    Create an environment variable for the address:

    bash
    VALIDATOR_WALLET=<validator-wallet-name>
    VALIDATOR_WALLET=<validator-wallet-name>

    If you want to delegate more stake to any validator, including your own you will need the celesvaloper address of the validator in question. You can run the command below to get the celesvaloper of your local validator wallet in case you want to delegate more to it:

    bash
    celestia-appd keys show $VALIDATOR_WALLET --bech val -a
    celestia-appd keys show $VALIDATOR_WALLET --bech val -a

    After entering the wallet passphrase you should see a similar output:

    bash
    Enter keyring passphrase:
    +trust_hash = ""

    to their respective fields. At least two different rpc endpoints should be provided. The more, the greater the chance of detecting any fraudulent behavior.

    Once setup, you should be ready to start the node as normal. In the logs, you should see: Discovering snapshots. This may take a few minutes before snapshots are found depending on the network topology.

    Quick sync

    Quick sync effectively downloads the entire data directory from a third-party provider meaning the node has all the application and blockchain state as the node it was copied from.

    Run the following command to quick-sync from a snapshot:

    `,30),Wo={class:"vp-code-group vp-adaptive-theme"},Go=a('
    ',1),Yo={class:"blocks"},zo={class:"language-bash vp-adaptive-theme active"},Xo=s("button",{title:"Copy Code",class:"copy"},null,-1),jo=s("span",{class:"lang"},"bash",-1),Ko={class:"shiki github-dark vp-code-dark"},Uo=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),Qo=a('rm -rf ~/.celestia-app/data',1),Jo=a('mkdir -p ~/.celestia-app/data',1),Zo=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),sn={class:"line"},an=s("span",{style:{color:"#9ECBFF"}}," ",-1),on=s("span",{style:{color:"#B392F0"}},"egrep",-1),nn=s("span",{style:{color:"#9ECBFF"}}," ",-1),en=s("span",{style:{color:"#79B8FF"}},"-o",-1),ln={style:{color:"#9ECBFF"}},tn=a('| tr -d ">")',6),pn=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),cn=a(' -C ~/.celestia-app/data/',1),rn={class:"shiki github-light vp-code-light"},_n=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),dn=a('rm -rf ~/.celestia-app/data',1),yn=a('mkdir -p ~/.celestia-app/data',1),hn=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),En={class:"line"},un=s("span",{style:{color:"#032F62"}}," ",-1),Fn=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Cn=s("span",{style:{color:"#032F62"}}," ",-1),gn=s("span",{style:{color:"#005CC5"}},"-o",-1),Tn={style:{color:"#032F62"}},bn=a('| tr -d ">")',6),Sn=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),An=a(' -C ~/.celestia-app/data/',1),mn={class:"language-bash vp-adaptive-theme"},vn=s("button",{title:"Copy Code",class:"copy"},null,-1),Bn=s("span",{class:"lang"},"bash",-1),fn={class:"shiki github-dark vp-code-dark"},kn=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),Pn=a('rm -rf ~/.celestia-app/data',1),qn=a('mkdir -p ~/.celestia-app/data',1),In=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),Vn={class:"line"},Dn=s("span",{style:{color:"#9ECBFF"}}," ",-1),Rn=s("span",{style:{color:"#B392F0"}},"egrep",-1),wn=s("span",{style:{color:"#9ECBFF"}}," ",-1),Nn=s("span",{style:{color:"#79B8FF"}},"-o",-1),xn={style:{color:"#9ECBFF"}},$n=a('| tr -d ">")',6),On=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),Mn=a(' -C ~/.celestia-app/data/',1),Ln={class:"shiki github-light vp-code-light"},Hn=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),Wn=a('rm -rf ~/.celestia-app/data',1),Gn=a('mkdir -p ~/.celestia-app/data',1),Yn=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),zn={class:"line"},Xn=s("span",{style:{color:"#032F62"}}," ",-1),jn=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Kn=s("span",{style:{color:"#032F62"}}," ",-1),Un=s("span",{style:{color:"#005CC5"}},"-o",-1),Qn={style:{color:"#032F62"}},Jn=a('| tr -d ">")',6),Zn=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),se=a(' -C ~/.celestia-app/data/',1),ae={class:"language-bash vp-adaptive-theme"},oe=s("button",{title:"Copy Code",class:"copy"},null,-1),ne=s("span",{class:"lang"},"bash",-1),ee={class:"shiki github-dark vp-code-dark"},le=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),te=a('rm -rf ~/.celestia-app/data',1),pe=a('mkdir -p ~/.celestia-app/data',1),ce=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),re={class:"line"},ie=s("span",{style:{color:"#9ECBFF"}}," ",-1),_e=s("span",{style:{color:"#B392F0"}},"egrep",-1),de=s("span",{style:{color:"#9ECBFF"}}," ",-1),ye=s("span",{style:{color:"#79B8FF"}},"-o",-1),he={style:{color:"#9ECBFF"}},Ee=a('| tr -d ">")',6),ue=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),Fe=a(' -C ~/.celestia-app/data/',1),Ce={class:"shiki github-light vp-code-light"},ge=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),Te=a('rm -rf ~/.celestia-app/data',1),be=a('mkdir -p ~/.celestia-app/data',1),Se=a('SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \\',1),Ae={class:"line"},me=s("span",{style:{color:"#032F62"}}," ",-1),ve=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Be=s("span",{style:{color:"#032F62"}}," ",-1),fe=s("span",{style:{color:"#005CC5"}},"-o",-1),ke={style:{color:"#032F62"}},Pe=a('| tr -d ">")',6),qe=a('wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \\',1),Ie=a(' -C ~/.celestia-app/data/',1),Ve=a('

    Start the consensus node

    In order to start your full consensus node, run the following:

    sh
    celestia-appd start
    celestia-appd start

    Optional: If you would like celestia-app to run as a background process, you can follow the SystemD tutorial.

    TIP

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Optional: Setting up a validator

    Setting up a Celestia validator node

    Validator nodes allow you to participate in consensus in the Celestia network.

    validator node

    Validator hardware requirements

    The following hardware minimum requirements are recommended for running a validator node:

    • Memory: 8 GB RAM
    • CPU: 6 cores
    • Disk: 500 GB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    First, set up your full consensus node by following the instructions in the previous section.

    Wallet

    Follow the tutorial on creating a wallet.

    Delegate stake to a validator

    Create an environment variable for the address:

    bash
    VALIDATOR_WALLET=<validator-wallet-name>
    VALIDATOR_WALLET=<validator-wallet-name>

    If you want to delegate more stake to any validator, including your own you will need the celesvaloper address of the validator in question. You can run the command below to get the celesvaloper of your local validator wallet in case you want to delegate more to it:

    bash
    celestia-appd keys show $VALIDATOR_WALLET --bech val -a
    celestia-appd keys show $VALIDATOR_WALLET --bech val -a

    After entering the wallet passphrase you should see a similar output:

    bash
    Enter keyring passphrase:
     celesvaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u43cv6hd
    Enter keyring passphrase:
    -celesvaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u43cv6hd

    To delegate tokens to the celestiavaloper validator, as an example you can run:

    `,24),De={class:"language-bash vp-adaptive-theme"},Re=s("button",{title:"Copy Code",class:"copy"},null,-1),we=s("span",{class:"lang"},"bash",-1),Ne={class:"shiki github-dark vp-code-dark"},xe=a('celestia-appd tx staking delegate \\',1),Oe=a('celestiavaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u4q4gx4p 1000000utia \\',1),$e={class:"line"},Me=s("span",{style:{color:"#E1E4E8"}},"--from=$VALIDATOR_WALLET ",-1),Le={style:{color:"#79B8FF"}},He=s("span",{style:{color:"#E1E4E8"}}," ",-1),We=s("span",{style:{color:"#79B8FF"}},"\\",-1),je=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"--fees=21000utia")],-1),Ge={class:"shiki github-light vp-code-light"},Ue=a('celestia-appd tx staking delegate \\',1),Ye=a('celestiavaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u4q4gx4p 1000000utia \\',1),Ke={class:"line"},ze=s("span",{style:{color:"#24292E"}},"--from=$VALIDATOR_WALLET ",-1),Qe={style:{color:"#005CC5"}},Xe=s("span",{style:{color:"#24292E"}}," ",-1),Je=s("span",{style:{color:"#005CC5"}},"\\",-1),Ze=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"--fees=21000utia")],-1),sl=a(`

    If successful, you should see a similar output as:

    console
    code: 0
    +celesvaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u43cv6hd

    To delegate tokens to the celestiavaloper validator, as an example you can run:

    `,24),De={class:"language-bash vp-adaptive-theme"},Re=s("button",{title:"Copy Code",class:"copy"},null,-1),we=s("span",{class:"lang"},"bash",-1),Ne={class:"shiki github-dark vp-code-dark"},xe=a('celestia-appd tx staking delegate \\',1),$e=a('celestiavaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u4q4gx4p 1000000utia \\',1),Oe={class:"line"},Me=s("span",{style:{color:"#E1E4E8"}},"--from=$VALIDATOR_WALLET ",-1),Le={style:{color:"#79B8FF"}},He=s("span",{style:{color:"#E1E4E8"}}," ",-1),We=s("span",{style:{color:"#79B8FF"}},"\\",-1),Ge=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"--fees=21000utia")],-1),Ye={class:"shiki github-light vp-code-light"},ze=a('celestia-appd tx staking delegate \\',1),Xe=a('celestiavaloper1q3v5cugc8cdpud87u4zwy0a74uxkk6u4q4gx4p 1000000utia \\',1),je={class:"line"},Ke=s("span",{style:{color:"#24292E"}},"--from=$VALIDATOR_WALLET ",-1),Ue={style:{color:"#005CC5"}},Qe=s("span",{style:{color:"#24292E"}}," ",-1),Je=s("span",{style:{color:"#005CC5"}},"\\",-1),Ze=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"--fees=21000utia")],-1),sl=a(`

    If successful, you should see a similar output as:

    console
    code: 0
     codespace: ""
     data: ""
     gas_used: "0"
    @@ -38,7 +38,7 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t
     raw_log: '[]'
     timestamp: ""
     tx: null
    -txhash: <tx-hash>

    You can check if the TX hash went through using the block explorer by inputting the txhash ID that was returned.

    Optional: Deploy the celestia-node

    Running a bridge node is critical to the Celestia network as it enables the data availability and consensus nodes to communicate with one another. It is recommended to support the data availability network, but is not required for celestia-app.

    If you are not running a bridge node, you can skip to run a validator node.

    This section describes part 2 of Celestia validator node setup: running a Celestia bridge node daemon.

    Install celestia-node

    You can follow the tutorial for installing celestia-node

    Initialize the bridge node

    Run the following:

    bash
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>

    TIP

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    If you need a list of RPC endpoints to connect to, you can find the list on the Mocha testnet page or list on the Arabica devnet page.

    Run the bridge node

    Run the following:

    bash
    celestia bridge start
    celestia bridge start

    Optional: start the bridge node with SystemD

    Follow the tutorial on setting up the bridge node as a background process with SystemD.

    You have successfully set up a bridge node that is syncing with the network.

    Setup Blobstream keys

    First, prepare an EVM address with a private key that you have access to. We will use it to register your validator's EVM address later in this page.

    Run the validator node

    In order to start your validator node, run the following:

    bash
    celestia-appd start
    celestia-appd start

    After completing all the necessary steps, you are now ready to run a validator! In order to create your validator onchain, follow the instructions below. Keep in mind that these steps are necessary ONLY if you want to participate in the consensus.

    Pick a moniker name of your choice! This is the validator name that will show up on public dashboards and explorers. VALIDATOR_WALLET must be the same you defined previously. Parameter --min-self-delegation=1000000 defines the amount of tokens that are self delegated from your validator wallet.

    Now, connect to the network of your choice.

    You have the following option of connecting to list of networks shown below:

    Continuing the validator tutorial, here are the steps to connect your validator to Mocha:

    `,30),al={class:"language-bash vp-adaptive-theme"},ol=s("button",{title:"Copy Code",class:"copy"},null,-1),nl=s("span",{class:"lang"},"bash",-1),el={class:"shiki github-dark vp-code-dark"},ll=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"MONIKER"),s("span",{style:{color:"#F97583"}},"="),s("span",{style:{color:"#9ECBFF"}},'"your_moniker"')],-1),tl=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"VALIDATOR_WALLET"),s("span",{style:{color:"#F97583"}},"="),s("span",{style:{color:"#9ECBFF"}},'"validator"')],-1),pl=s("span",{class:"line"},null,-1),cl=a('celestia-appd tx staking create-validator \\',1),rl=a(' --amount=1000000utia \\',1),il=a(' --pubkey=$(celestia-appd tendermint show-validator) \\',1),_l=a(' --moniker=$MONIKER \\',1),dl={class:"line"},yl=s("span",{style:{color:"#E1E4E8"}}," ",-1),hl={style:{color:"#79B8FF"}},El=s("span",{style:{color:"#E1E4E8"}}," ",-1),ul=s("span",{style:{color:"#79B8FF"}},"\\",-1),Fl=a(' --commission-rate=0.1 \\',1),Cl=a(' --commission-max-rate=0.2 \\',1),gl=a(' --commission-max-change-rate=0.01 \\',1),Tl=a(' --min-self-delegation=1000000 \\',1),bl=a(' --from=$VALIDATOR_WALLET \\',1),Sl=a(' --keyring-backend=test \\',1),Al=a(' --fees=21000utia \\',1),ml=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#79B8FF"}},"--gas=220000")],-1),vl={class:"shiki github-light vp-code-light"},Bl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"MONIKER"),s("span",{style:{color:"#D73A49"}},"="),s("span",{style:{color:"#032F62"}},'"your_moniker"')],-1),fl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"VALIDATOR_WALLET"),s("span",{style:{color:"#D73A49"}},"="),s("span",{style:{color:"#032F62"}},'"validator"')],-1),kl=s("span",{class:"line"},null,-1),Pl=a('celestia-appd tx staking create-validator \\',1),Il=a(' --amount=1000000utia \\',1),ql=a(' --pubkey=$(celestia-appd tendermint show-validator) \\',1),Vl=a(' --moniker=$MONIKER \\',1),Dl={class:"line"},Rl=s("span",{style:{color:"#24292E"}}," ",-1),wl={style:{color:"#005CC5"}},Nl=s("span",{style:{color:"#24292E"}}," ",-1),xl=s("span",{style:{color:"#005CC5"}},"\\",-1),Ol=a(' --commission-rate=0.1 \\',1),$l=a(' --commission-max-rate=0.2 \\',1),Ml=a(' --commission-max-change-rate=0.01 \\',1),Ll=a(' --min-self-delegation=1000000 \\',1),Hl=a(' --from=$VALIDATOR_WALLET \\',1),Wl=a(' --keyring-backend=test \\',1),jl=a(' --fees=21000utia \\',1),Gl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#005CC5"}},"--gas=220000")],-1),Ul=a(`

    You will be prompted to confirm the transaction:

    console
    confirm transaction before signing and broadcasting [y/N]: y
    confirm transaction before signing and broadcasting [y/N]: y

    Inputting y should provide an output similar to:

    console
    code: 0
    +txhash: <tx-hash>

    You can check if the TX hash went through using the block explorer by inputting the txhash ID that was returned.

    Optional: Deploy the celestia-node

    Running a bridge node is critical to the Celestia network as it enables the data availability and consensus nodes to communicate with one another. It is recommended to support the data availability network, but is not required for celestia-app.

    If you are not running a bridge node, you can skip to run a validator node.

    This section describes part 2 of Celestia validator node setup: running a Celestia bridge node daemon.

    Install celestia-node

    You can follow the tutorial for installing celestia-node

    Initialize the bridge node

    Run the following:

    bash
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>

    TIP

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    If you need a list of RPC endpoints to connect to, you can find the list on the Mocha testnet page or list on the Arabica devnet page.

    Run the bridge node

    Run the following:

    bash
    celestia bridge start
    celestia bridge start

    Optional: start the bridge node with SystemD

    Follow the tutorial on setting up the bridge node as a background process with SystemD.

    You have successfully set up a bridge node that is syncing with the network.

    Setup Blobstream keys

    First, prepare an EVM address with a private key that you have access to. We will use it to register your validator's EVM address later in this page.

    Run the validator node

    In order to start your validator node, run the following:

    bash
    celestia-appd start
    celestia-appd start

    After completing all the necessary steps, you are now ready to run a validator! In order to create your validator onchain, follow the instructions below. Keep in mind that these steps are necessary ONLY if you want to participate in the consensus.

    Pick a moniker name of your choice! This is the validator name that will show up on public dashboards and explorers. VALIDATOR_WALLET must be the same you defined previously. Parameter --min-self-delegation=1000000 defines the amount of tokens that are self delegated from your validator wallet.

    Now, connect to the network of your choice.

    You have the following option of connecting to list of networks shown below:

    Continuing the validator tutorial, here are the steps to connect your validator to Mocha:

    `,30),al={class:"language-bash vp-adaptive-theme"},ol=s("button",{title:"Copy Code",class:"copy"},null,-1),nl=s("span",{class:"lang"},"bash",-1),el={class:"shiki github-dark vp-code-dark"},ll=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"MONIKER"),s("span",{style:{color:"#F97583"}},"="),s("span",{style:{color:"#9ECBFF"}},'"your_moniker"')],-1),tl=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"VALIDATOR_WALLET"),s("span",{style:{color:"#F97583"}},"="),s("span",{style:{color:"#9ECBFF"}},'"validator"')],-1),pl=s("span",{class:"line"},null,-1),cl=a('celestia-appd tx staking create-validator \\',1),rl=a(' --amount=1000000utia \\',1),il=a(' --pubkey=$(celestia-appd tendermint show-validator) \\',1),_l=a(' --moniker=$MONIKER \\',1),dl={class:"line"},yl=s("span",{style:{color:"#E1E4E8"}}," ",-1),hl={style:{color:"#79B8FF"}},El=s("span",{style:{color:"#E1E4E8"}}," ",-1),ul=s("span",{style:{color:"#79B8FF"}},"\\",-1),Fl=a(' --commission-rate=0.1 \\',1),Cl=a(' --commission-max-rate=0.2 \\',1),gl=a(' --commission-max-change-rate=0.01 \\',1),Tl=a(' --min-self-delegation=1000000 \\',1),bl=a(' --from=$VALIDATOR_WALLET \\',1),Sl=a(' --keyring-backend=test \\',1),Al=a(' --fees=21000utia \\',1),ml=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#79B8FF"}},"--gas=220000")],-1),vl={class:"shiki github-light vp-code-light"},Bl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"MONIKER"),s("span",{style:{color:"#D73A49"}},"="),s("span",{style:{color:"#032F62"}},'"your_moniker"')],-1),fl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"VALIDATOR_WALLET"),s("span",{style:{color:"#D73A49"}},"="),s("span",{style:{color:"#032F62"}},'"validator"')],-1),kl=s("span",{class:"line"},null,-1),Pl=a('celestia-appd tx staking create-validator \\',1),ql=a(' --amount=1000000utia \\',1),Il=a(' --pubkey=$(celestia-appd tendermint show-validator) \\',1),Vl=a(' --moniker=$MONIKER \\',1),Dl={class:"line"},Rl=s("span",{style:{color:"#24292E"}}," ",-1),wl={style:{color:"#005CC5"}},Nl=s("span",{style:{color:"#24292E"}}," ",-1),xl=s("span",{style:{color:"#005CC5"}},"\\",-1),$l=a(' --commission-rate=0.1 \\',1),Ol=a(' --commission-max-rate=0.2 \\',1),Ml=a(' --commission-max-change-rate=0.01 \\',1),Ll=a(' --min-self-delegation=1000000 \\',1),Hl=a(' --from=$VALIDATOR_WALLET \\',1),Wl=a(' --keyring-backend=test \\',1),Gl=a(' --fees=21000utia \\',1),Yl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#005CC5"}},"--gas=220000")],-1),zl=a(`

    You will be prompted to confirm the transaction:

    console
    confirm transaction before signing and broadcasting [y/N]: y
    confirm transaction before signing and broadcasting [y/N]: y

    Inputting y should provide an output similar to:

    console
    code: 0
     codespace: ""
     data: ""
     gas_used: "0"
    @@ -82,21 +82,21 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t
     sed -i.bak -e "s/^external-address = ""/external-address = "$EXTERNAL-ADDRESS:26656"/" \\
         $HOME/.celestia-app/config/config.toml
    EXTERNAL-ADDRESS=$(wget -qO- eth0.me)
     sed -i.bak -e "s/^external-address = ""/external-address = "$EXTERNAL-ADDRESS:26656"/" \\
    -    $HOME/.celestia-app/config/config.toml

    Restart the node

    After making these changes, restart celestia-appd to load the new configurations.

    Optional: Transaction indexer configuration options

    This section guides you on how to configure your config.toml file in celestia-app to select which transactions to index. Depending on the application's configuration, a node operator may decide which transactions to index.

    The available options are:

    1. null: This option disables indexing. If you don't need to query transactions, you can choose this option to save space.
    2. kv (default): This is the simplest indexer, backed by key-value storage (defaults to levelDB; see DBBackend). When kv is chosen, tx.height and tx.hash will always be indexed. This option is suitable for basic queries on transactions.
    3. psql: This indexer is backed by PostgreSQL. When psql is chosen, tx.height and tx.hash will always be indexed. This option is suitable for complex queries on transactions.

    An example to set the value to kv in config.toml is:

    toml
    indexer = "kv"
    indexer = "kv"

    Remember to restart celestia-appd after making changes to the configuration to load the new settings.

    Optional: Discard ABCI responses configuration

    This section will guide you on how to configure your config.toml file in celestia-app to manage the storage of ABCI responses. ABCI responses are the results of executing transactions and are used for /block_results RPC queries and to reindex events in the command-line tool.

    The discard_abci_responses option allows you to control whether these responses are persisted in the state store:

    • false (default): ABCI responses are stored in the state store. This ensures that ABCI responses are available for /block_results RPC queries and for reindexing events. However, it can consume a significant amount of disk space.
    • true: ABCI responses are not stored in the state store. This can save a considerable amount of disk space, but /block_results RPC queries and event reindexing will not be available.

    An example to set the value to false in config.toml is:

    toml
    discard_abci_responses = false
    discard_abci_responses = false

    Remember to restart celestia-appd after making changes to the configuration to load the new settings.

    `,43),Zl=JSON.parse('{"title":"Setting up a Celestia full consensus node","description":"Learn how to set up a Celestia consensus node.","frontmatter":{"description":"Learn how to set up a Celestia consensus node.","outline":"deep","head":[["meta",{"name":"og:title","content":"Setting up a Celestia full consensus node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/consensus-node.md","filePath":"nodes/consensus-node.md","lastUpdated":1705009966000}'),Yl={name:"nodes/consensus-node.md"},st=Object.assign(Yl,{setup(Kl){return(zl,Ql)=>(t(),p("div",null,[i,s("div",_,[d,s("div",y,[s("div",h,[E,u,s("pre",F,[s("code",null,[s("span",C,[g,s("span",T,e(l(n).mainnetChainId),1)])])]),s("pre",b,[s("code",null,[s("span",S,[A,s("span",m,e(l(n).mainnetChainId),1)])])])]),s("div",v,[B,f,s("pre",k,[s("code",null,[s("span",P,[I,s("span",q,e(l(n).mochaChainId),1)])])]),s("pre",V,[s("code",null,[s("span",D,[R,s("span",w,e(l(n).mochaChainId),1)])])])]),s("div",N,[x,O,s("pre",$,[s("code",null,[s("span",M,[L,s("span",H,e(l(n).arabicaChainId),1)])])]),s("pre",W,[s("code",null,[s("span",j,[G,s("span",U,e(l(n).arabicaChainId),1)])])])])])]),Y,s("div",K,[z,s("div",Q,[s("div",X,[J,Z,s("pre",ss,[s("code",null,[s("span",as,[os,ns,s("span",es,"/networks/"+e(l(n).mainnetChainId)+"/genesis.json",1),ls,ts]),o(` + $HOME/.celestia-app/config/config.toml

    Restart the node

    After making these changes, restart celestia-appd to load the new configurations.

    Optional: Transaction indexer configuration options

    This section guides you on how to configure your config.toml file in celestia-app to select which transactions to index. Depending on the application's configuration, a node operator may decide which transactions to index.

    The available options are:

    1. null: This option disables indexing. If you don't need to query transactions, you can choose this option to save space.
    2. kv (default): This is the simplest indexer, backed by key-value storage (defaults to levelDB; see DBBackend). When kv is chosen, tx.height and tx.hash will always be indexed. This option is suitable for basic queries on transactions.
    3. psql: This indexer is backed by PostgreSQL. When psql is chosen, tx.height and tx.hash will always be indexed. This option is suitable for complex queries on transactions.

    An example to set the value to kv in config.toml is:

    toml
    indexer = "kv"
    indexer = "kv"

    Remember to restart celestia-appd after making changes to the configuration to load the new settings.

    Optional: Discard ABCI responses configuration

    This section will guide you on how to configure your config.toml file in celestia-app to manage the storage of ABCI responses. ABCI responses are the results of executing transactions and are used for /block_results RPC queries and to reindex events in the command-line tool.

    The discard_abci_responses option allows you to control whether these responses are persisted in the state store:

    • false (default): ABCI responses are stored in the state store. This ensures that ABCI responses are available for /block_results RPC queries and for reindexing events. However, it can consume a significant amount of disk space.
    • true: ABCI responses are not stored in the state store. This can save a considerable amount of disk space, but /block_results RPC queries and event reindexing will not be available.

    An example to set the value to false in config.toml is:

    toml
    discard_abci_responses = false
    discard_abci_responses = false

    Remember to restart celestia-appd after making changes to the configuration to load the new settings.

    `,43),Zl=JSON.parse('{"title":"Setting up a Celestia full consensus node","description":"Learn how to set up a Celestia consensus node.","frontmatter":{"description":"Learn how to set up a Celestia consensus node.","outline":"deep","head":[["meta",{"name":"og:title","content":"Setting up a Celestia full consensus node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/consensus-node.md","filePath":"nodes/consensus-node.md","lastUpdated":1705010189000}'),Xl={name:"nodes/consensus-node.md"},st=Object.assign(Xl,{setup(jl){return(Kl,Ul)=>(t(),p("div",null,[i,s("div",_,[d,s("div",y,[s("div",h,[E,u,s("pre",F,[s("code",null,[s("span",C,[g,s("span",T,e(l(n).mainnetChainId),1)])])]),s("pre",b,[s("code",null,[s("span",S,[A,s("span",m,e(l(n).mainnetChainId),1)])])])]),s("div",v,[B,f,s("pre",k,[s("code",null,[s("span",P,[q,s("span",I,e(l(n).mochaChainId),1)])])]),s("pre",V,[s("code",null,[s("span",D,[R,s("span",w,e(l(n).mochaChainId),1)])])])]),s("div",N,[x,$,s("pre",O,[s("code",null,[s("span",M,[L,s("span",H,e(l(n).arabicaChainId),1)])])]),s("pre",W,[s("code",null,[s("span",G,[Y,s("span",z,e(l(n).arabicaChainId),1)])])])])])]),X,s("div",j,[K,s("div",U,[s("div",Q,[J,Z,s("pre",ss,[s("code",null,[s("span",as,[os,ns,s("span",es,"/networks/"+e(l(n).mainnetChainId)+"/genesis.json",1),ls,ts]),o(` `),ps])]),s("pre",cs,[s("code",null,[s("span",rs,[is,_s,s("span",ds,"/networks/"+e(l(n).mainnetChainId)+"/genesis.json",1),ys,hs]),o(` `),Es])])]),s("div",us,[Fs,Cs,s("pre",gs,[s("code",null,[s("span",Ts,[bs,Ss,s("span",As,"/networks/"+e(l(n).mochaChainId)+"/genesis.json",1),ms,vs]),o(` -`),Bs])]),s("pre",fs,[s("code",null,[s("span",ks,[Ps,Is,s("span",qs,"/networks/"+e(l(n).mochaChainId)+"/genesis.json",1),Vs,Ds]),o(` -`),Rs])])]),s("div",ws,[Ns,xs,s("pre",Os,[s("code",null,[s("span",$s,[Ms,Ls,s("span",Hs,"/networks/"+e(l(n).arabicaChainId)+"/genesis.json",1),Ws,js]),o(` -`),Gs])]),s("pre",Us,[s("code",null,[s("span",Ys,[Ks,zs,s("span",Qs,"/networks/"+e(l(n).arabicaChainId)+"/genesis.json",1),Xs,Js]),o(` +`),Bs])]),s("pre",fs,[s("code",null,[s("span",ks,[Ps,qs,s("span",Is,"/networks/"+e(l(n).mochaChainId)+"/genesis.json",1),Vs,Ds]),o(` +`),Rs])])]),s("div",ws,[Ns,xs,s("pre",$s,[s("code",null,[s("span",Os,[Ms,Ls,s("span",Hs,"/networks/"+e(l(n).arabicaChainId)+"/genesis.json",1),Ws,Gs]),o(` +`),Ys])]),s("pre",zs,[s("code",null,[s("span",Xs,[js,Ks,s("span",Us,"/networks/"+e(l(n).arabicaChainId)+"/genesis.json",1),Qs,Js]),o(` `),Zs])])])])]),sa,s("div",aa,[oa,s("div",na,[s("div",ea,[la,ta,s("pre",pa,[s("code",null,[s("span",ca,[ra,s("span",ia," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/seeds.txt ",1),_a]),o(` `),da,o(` `),ya])]),s("pre",ha,[s("code",null,[s("span",Ea,[ua,s("span",Fa," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/seeds.txt ",1),Ca]),o(` `),ga,o(` `),Ta])])]),s("div",ba,[Sa,Aa,s("pre",ma,[s("code",null,[s("span",va,[Ba,s("span",fa," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mochaChainId)+"/seeds.txt ",1),ka]),o(` `),Pa,o(` -`),Ia])]),s("pre",qa,[s("code",null,[s("span",Va,[Da,s("span",Ra," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mochaChainId)+"/seeds.txt ",1),wa]),o(` +`),qa])]),s("pre",Ia,[s("code",null,[s("span",Va,[Da,s("span",Ra," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mochaChainId)+"/seeds.txt ",1),wa]),o(` `),Na,o(` -`),xa])])]),Oa])]),$a,Ma,s("div",La,[Ha,s("div",Wa,[s("div",ja,[Ga,Ua,s("pre",Ya,[s("code",null,[s("span",Ka,[za,s("span",Qa," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/peers.txt ",1),Xa]),o(` +`),xa])])]),$a])]),Oa,Ma,s("div",La,[Ha,s("div",Wa,[s("div",Ga,[Ya,za,s("pre",Xa,[s("code",null,[s("span",ja,[Ka,s("span",Ua," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/peers.txt ",1),Qa]),o(` `),Ja,o(` `),Za])]),s("pre",so,[s("code",null,[s("span",ao,[oo,s("span",no," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/peers.txt ",1),eo]),o(` `),lo,o(` @@ -104,12 +104,12 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t `),uo,o(` `),Fo])]),s("pre",Co,[s("code",null,[s("span",go,[To,s("span",bo," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mochaChainId)+"/peers.txt ",1),So]),o(` `),Ao,o(` -`),mo])])]),s("div",vo,[Bo,fo,s("pre",ko,[s("code",null,[s("span",Po,[Io,s("span",qo," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).arabicaChainId)+"/peers.txt ",1),Vo]),o(` +`),mo])])]),s("div",vo,[Bo,fo,s("pre",ko,[s("code",null,[s("span",Po,[qo,s("span",Io," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).arabicaChainId)+"/peers.txt ",1),Vo]),o(` `),Do,o(` -`),Ro])]),s("pre",wo,[s("code",null,[s("span",No,[xo,s("span",Oo," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).arabicaChainId)+"/peers.txt ",1),$o]),o(` +`),Ro])]),s("pre",wo,[s("code",null,[s("span",No,[xo,s("span",$o," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).arabicaChainId)+"/peers.txt ",1),Oo]),o(` `),Mo,o(` -`),Lo])])])])]),Ho,s("div",Wo,[jo,s("div",Go,[s("div",Uo,[Yo,Ko,s("pre",zo,[s("code",null,[Qo,o(` -`),Xo,o(` +`),Lo])])])])]),Ho,s("div",Wo,[Go,s("div",Yo,[s("div",zo,[Xo,jo,s("pre",Ko,[s("code",null,[Uo,o(` +`),Qo,o(` `),Jo,o(` `),Zo,o(` `),s("span",sn,[an,on,nn,en,s("span",ln,' ">'+e(l(n).mainnetChainId)+'.*tar" ',1),tn]),o(` @@ -122,15 +122,15 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t `),Sn,o(` `),An])])]),s("div",mn,[vn,Bn,s("pre",fn,[s("code",null,[kn,o(` `),Pn,o(` -`),In,o(` `),qn,o(` -`),s("span",Vn,[Dn,Rn,wn,Nn,s("span",xn,' ">'+e(l(n).mochaChainId)+'.*tar" ',1),On]),o(` -`),$n,o(` +`),In,o(` +`),s("span",Vn,[Dn,Rn,wn,Nn,s("span",xn,' ">'+e(l(n).mochaChainId)+'.*tar" ',1),$n]),o(` +`),On,o(` `),Mn])]),s("pre",Ln,[s("code",null,[Hn,o(` `),Wn,o(` -`),jn,o(` `),Gn,o(` -`),s("span",Un,[Yn,Kn,zn,Qn,s("span",Xn,' ">'+e(l(n).mochaChainId)+'.*tar" ',1),Jn]),o(` +`),Yn,o(` +`),s("span",zn,[Xn,jn,Kn,Un,s("span",Qn,' ">'+e(l(n).mochaChainId)+'.*tar" ',1),Jn]),o(` `),Zn,o(` `),se])])]),s("div",ae,[oe,ne,s("pre",ee,[s("code",null,[le,o(` `),te,o(` @@ -143,13 +143,13 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t `),be,o(` `),Se,o(` `),s("span",Ae,[me,ve,Be,fe,s("span",ke,' ">'+e(l(n).arabicaChainId)+'.*tar" ',1),Pe]),o(` -`),Ie,o(` -`),qe])])])])]),Ve,s("div",De,[Re,we,s("pre",Ne,[s("code",null,[xe,o(` -`),Oe,o(` -`),s("span",$e,[Me,s("span",Le,"--chain-id="+e(l(n).mochaChainId),1),He,We]),o(` -`),je])]),s("pre",Ge,[s("code",null,[Ue,o(` -`),Ye,o(` -`),s("span",Ke,[ze,s("span",Qe,"--chain-id="+e(l(n).mochaChainId),1),Xe,Je]),o(` +`),qe,o(` +`),Ie])])])])]),Ve,s("div",De,[Re,we,s("pre",Ne,[s("code",null,[xe,o(` +`),$e,o(` +`),s("span",Oe,[Me,s("span",Le,"--chain-id="+e(l(n).mochaChainId),1),He,We]),o(` +`),Ge])]),s("pre",Ye,[s("code",null,[ze,o(` +`),Xe,o(` +`),s("span",je,[Ke,s("span",Ue,"--chain-id="+e(l(n).mochaChainId),1),Qe,Je]),o(` `),Ze])])]),sl,s("div",al,[ol,nl,s("pre",el,[s("code",null,[ll,o(` `),tl,o(` `),pl,o(` @@ -169,15 +169,15 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t `),fl,o(` `),kl,o(` `),Pl,o(` -`),Il,o(` `),ql,o(` +`),Il,o(` `),Vl,o(` `),s("span",Dl,[Rl,s("span",wl,"--chain-id="+e(l(n).mochaChainId),1),Nl,xl]),o(` -`),Ol,o(` `),$l,o(` +`),Ol,o(` `),Ml,o(` `),Ll,o(` `),Hl,o(` `),Wl,o(` -`),jl,o(` -`),Gl])])]),Ul]))}});export{Zl as __pageData,st as default}; +`),Gl,o(` +`),Yl])])]),zl]))}});export{Zl as __pageData,st as default}; diff --git a/pr-preview/pr-1358/assets/nodes_consensus-node.md.a920e4f0.lean.js b/pr-preview/pr-1358/assets/nodes_consensus-node.md.711684a9.lean.js similarity index 74% rename from pr-preview/pr-1358/assets/nodes_consensus-node.md.a920e4f0.lean.js rename to pr-preview/pr-1358/assets/nodes_consensus-node.md.711684a9.lean.js index 9d9dadccd4..3c3e827dc0 100644 --- a/pr-preview/pr-1358/assets/nodes_consensus-node.md.a920e4f0.lean.js +++ b/pr-preview/pr-1358/assets/nodes_consensus-node.md.711684a9.lean.js @@ -1,18 +1,18 @@ -import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t as e,l,a as o,Q as a}from"./chunks/framework.2263f03b.js";const c="/pr-preview/pr-1358/img/nodes/full-consensus-node.png",r="/pr-preview/pr-1358/img/nodes/validator.png",i=a("",18),_={class:"vp-code-group vp-adaptive-theme"},d=a("",1),y={class:"blocks"},h={class:"language-bash vp-adaptive-theme active"},E=s("button",{title:"Copy Code",class:"copy"},null,-1),u=s("span",{class:"lang"},"bash",-1),F={class:"shiki github-dark vp-code-dark"},C={class:"line"},g=a("",8),T={style:{color:"#9ECBFF"}},b={class:"shiki github-light vp-code-light"},S={class:"line"},A=a("",8),m={style:{color:"#032F62"}},v={class:"language-bash vp-adaptive-theme"},B=s("button",{title:"Copy Code",class:"copy"},null,-1),f=s("span",{class:"lang"},"bash",-1),k={class:"shiki github-dark vp-code-dark"},P={class:"line"},I=a("",8),q={style:{color:"#9ECBFF"}},V={class:"shiki github-light vp-code-light"},D={class:"line"},R=a("",8),w={style:{color:"#032F62"}},N={class:"language-bash vp-adaptive-theme"},x=s("button",{title:"Copy Code",class:"copy"},null,-1),O=s("span",{class:"lang"},"bash",-1),$={class:"shiki github-dark vp-code-dark"},M={class:"line"},L=a("",8),H={style:{color:"#9ECBFF"}},W={class:"shiki github-light vp-code-light"},j={class:"line"},G=a("",8),U={style:{color:"#032F62"}},Y=s("p",null,[o("Copy the "),s("code",null,"genesis.json"),o(" file:")],-1),K={class:"vp-code-group vp-adaptive-theme"},z=a("",1),Q={class:"blocks"},X={class:"language-bash vp-adaptive-theme active"},J=s("button",{title:"Copy Code",class:"copy"},null,-1),Z=s("span",{class:"lang"},"bash",-1),ss={class:"shiki github-dark vp-code-dark"},as={class:"line"},os=s("span",{style:{color:"#B392F0"}},"cp",-1),ns=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),es={style:{color:"#9ECBFF"}},ls=s("span",{style:{color:"#E1E4E8"}}," ",-1),ts=s("span",{style:{color:"#79B8FF"}},"\\",-1),ps=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),cs={class:"shiki github-light vp-code-light"},rs={class:"line"},is=s("span",{style:{color:"#6F42C1"}},"cp",-1),_s=s("span",{style:{color:"#24292E"}}," $HOME",-1),ds={style:{color:"#032F62"}},ys=s("span",{style:{color:"#24292E"}}," ",-1),hs=s("span",{style:{color:"#005CC5"}},"\\",-1),Es=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),us={class:"language-bash vp-adaptive-theme"},Fs=s("button",{title:"Copy Code",class:"copy"},null,-1),Cs=s("span",{class:"lang"},"bash",-1),gs={class:"shiki github-dark vp-code-dark"},Ts={class:"line"},bs=s("span",{style:{color:"#B392F0"}},"cp",-1),Ss=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),As={style:{color:"#9ECBFF"}},ms=s("span",{style:{color:"#E1E4E8"}}," ",-1),vs=s("span",{style:{color:"#79B8FF"}},"\\",-1),Bs=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),fs={class:"shiki github-light vp-code-light"},ks={class:"line"},Ps=s("span",{style:{color:"#6F42C1"}},"cp",-1),Is=s("span",{style:{color:"#24292E"}}," $HOME",-1),qs={style:{color:"#032F62"}},Vs=s("span",{style:{color:"#24292E"}}," ",-1),Ds=s("span",{style:{color:"#005CC5"}},"\\",-1),Rs=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),ws={class:"language-bash vp-adaptive-theme"},Ns=s("button",{title:"Copy Code",class:"copy"},null,-1),xs=s("span",{class:"lang"},"bash",-1),Os={class:"shiki github-dark vp-code-dark"},$s={class:"line"},Ms=s("span",{style:{color:"#B392F0"}},"cp",-1),Ls=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),Hs={style:{color:"#9ECBFF"}},Ws=s("span",{style:{color:"#E1E4E8"}}," ",-1),js=s("span",{style:{color:"#79B8FF"}},"\\",-1),Gs=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),Us={class:"shiki github-light vp-code-light"},Ys={class:"line"},Ks=s("span",{style:{color:"#6F42C1"}},"cp",-1),zs=s("span",{style:{color:"#24292E"}}," $HOME",-1),Qs={style:{color:"#032F62"}},Xs=s("span",{style:{color:"#24292E"}}," ",-1),Js=s("span",{style:{color:"#005CC5"}},"\\",-1),Zs=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),sa=s("p",null,[o("Set seeds in the "),s("code",null,"$HOME/.celestia-app/config/config.toml"),o(" file:")],-1),aa={class:"vp-code-group vp-adaptive-theme"},oa=a("",1),na={class:"blocks"},ea={class:"language-bash vp-adaptive-theme active"},la=s("button",{title:"Copy Code",class:"copy"},null,-1),ta=s("span",{class:"lang"},"bash",-1),pa={class:"shiki github-dark vp-code-dark"},ca={class:"line"},ra=a("",6),ia={style:{color:"#9ECBFF"}},_a=a("",12),da=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $SEEDS")],-1),ya=a("",1),ha={class:"shiki github-light vp-code-light"},Ea={class:"line"},ua=a("",6),Fa={style:{color:"#032F62"}},Ca=a("",12),ga=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $SEEDS")],-1),Ta=a("",1),ba={class:"language-bash vp-adaptive-theme"},Sa=s("button",{title:"Copy Code",class:"copy"},null,-1),Aa=s("span",{class:"lang"},"bash",-1),ma={class:"shiki github-dark vp-code-dark"},va={class:"line"},Ba=a("",6),fa={style:{color:"#9ECBFF"}},ka=a("",12),Pa=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $SEEDS")],-1),Ia=a("",1),qa={class:"shiki github-light vp-code-light"},Va={class:"line"},Da=a("",6),Ra={style:{color:"#032F62"}},wa=a("",12),Na=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $SEEDS")],-1),xa=a("",1),Oa=a("",1),$a=s("p",null,[s("strong",null,"Optionally"),o(", you can set persistent peers in your "),s("code",null,"config.toml"),o(" file. You can get the persistent peers from the networks repository with the following commands:")],-1),Ma=s("p",null,"Setting persistent peers is advised only if you are running a sentry node.",-1),La={class:"vp-code-group vp-adaptive-theme"},Ha=a("",1),Wa={class:"blocks"},ja={class:"language-bash vp-adaptive-theme active"},Ga=s("button",{title:"Copy Code",class:"copy"},null,-1),Ua=s("span",{class:"lang"},"bash",-1),Ya={class:"shiki github-dark vp-code-dark"},Ka={class:"line"},za=a("",6),Qa={style:{color:"#9ECBFF"}},Xa=a("",12),Ja=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Za=a("",1),so={class:"shiki github-light vp-code-light"},ao={class:"line"},oo=a("",6),no={style:{color:"#032F62"}},eo=a("",12),lo=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),to=a("",1),po={class:"language-bash vp-adaptive-theme"},co=s("button",{title:"Copy Code",class:"copy"},null,-1),ro=s("span",{class:"lang"},"bash",-1),io={class:"shiki github-dark vp-code-dark"},_o={class:"line"},yo=a("",6),ho={style:{color:"#9ECBFF"}},Eo=a("",12),uo=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Fo=a("",1),Co={class:"shiki github-light vp-code-light"},go={class:"line"},To=a("",6),bo={style:{color:"#032F62"}},So=a("",12),Ao=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),mo=a("",1),vo={class:"language-bash vp-adaptive-theme"},Bo=s("button",{title:"Copy Code",class:"copy"},null,-1),fo=s("span",{class:"lang"},"bash",-1),ko={class:"shiki github-dark vp-code-dark"},Po={class:"line"},Io=a("",6),qo={style:{color:"#9ECBFF"}},Vo=a("",12),Do=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Ro=a("",1),wo={class:"shiki github-light vp-code-light"},No={class:"line"},xo=a("",6),Oo={style:{color:"#032F62"}},$o=a("",12),Mo=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),Lo=a("",1),Ho=a("",30),Wo={class:"vp-code-group vp-adaptive-theme"},jo=a("",1),Go={class:"blocks"},Uo={class:"language-bash vp-adaptive-theme active"},Yo=s("button",{title:"Copy Code",class:"copy"},null,-1),Ko=s("span",{class:"lang"},"bash",-1),zo={class:"shiki github-dark vp-code-dark"},Qo=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),Xo=a("",1),Jo=a("",1),Zo=a("",1),sn={class:"line"},an=s("span",{style:{color:"#9ECBFF"}}," ",-1),on=s("span",{style:{color:"#B392F0"}},"egrep",-1),nn=s("span",{style:{color:"#9ECBFF"}}," ",-1),en=s("span",{style:{color:"#79B8FF"}},"-o",-1),ln={style:{color:"#9ECBFF"}},tn=a("",6),pn=a("",1),cn=a("",1),rn={class:"shiki github-light vp-code-light"},_n=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),dn=a("",1),yn=a("",1),hn=a("",1),En={class:"line"},un=s("span",{style:{color:"#032F62"}}," ",-1),Fn=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Cn=s("span",{style:{color:"#032F62"}}," ",-1),gn=s("span",{style:{color:"#005CC5"}},"-o",-1),Tn={style:{color:"#032F62"}},bn=a("",6),Sn=a("",1),An=a("",1),mn={class:"language-bash vp-adaptive-theme"},vn=s("button",{title:"Copy Code",class:"copy"},null,-1),Bn=s("span",{class:"lang"},"bash",-1),fn={class:"shiki github-dark vp-code-dark"},kn=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),Pn=a("",1),In=a("",1),qn=a("",1),Vn={class:"line"},Dn=s("span",{style:{color:"#9ECBFF"}}," ",-1),Rn=s("span",{style:{color:"#B392F0"}},"egrep",-1),wn=s("span",{style:{color:"#9ECBFF"}}," ",-1),Nn=s("span",{style:{color:"#79B8FF"}},"-o",-1),xn={style:{color:"#9ECBFF"}},On=a("",6),$n=a("",1),Mn=a("",1),Ln={class:"shiki github-light vp-code-light"},Hn=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),Wn=a("",1),jn=a("",1),Gn=a("",1),Un={class:"line"},Yn=s("span",{style:{color:"#032F62"}}," ",-1),Kn=s("span",{style:{color:"#6F42C1"}},"egrep",-1),zn=s("span",{style:{color:"#032F62"}}," ",-1),Qn=s("span",{style:{color:"#005CC5"}},"-o",-1),Xn={style:{color:"#032F62"}},Jn=a("",6),Zn=a("",1),se=a("",1),ae={class:"language-bash vp-adaptive-theme"},oe=s("button",{title:"Copy Code",class:"copy"},null,-1),ne=s("span",{class:"lang"},"bash",-1),ee={class:"shiki github-dark vp-code-dark"},le=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),te=a("",1),pe=a("",1),ce=a("",1),re={class:"line"},ie=s("span",{style:{color:"#9ECBFF"}}," ",-1),_e=s("span",{style:{color:"#B392F0"}},"egrep",-1),de=s("span",{style:{color:"#9ECBFF"}}," ",-1),ye=s("span",{style:{color:"#79B8FF"}},"-o",-1),he={style:{color:"#9ECBFF"}},Ee=a("",6),ue=a("",1),Fe=a("",1),Ce={class:"shiki github-light vp-code-light"},ge=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),Te=a("",1),be=a("",1),Se=a("",1),Ae={class:"line"},me=s("span",{style:{color:"#032F62"}}," ",-1),ve=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Be=s("span",{style:{color:"#032F62"}}," ",-1),fe=s("span",{style:{color:"#005CC5"}},"-o",-1),ke={style:{color:"#032F62"}},Pe=a("",6),Ie=a("",1),qe=a("",1),Ve=a("",24),De={class:"language-bash vp-adaptive-theme"},Re=s("button",{title:"Copy Code",class:"copy"},null,-1),we=s("span",{class:"lang"},"bash",-1),Ne={class:"shiki github-dark vp-code-dark"},xe=a("",1),Oe=a("",1),$e={class:"line"},Me=s("span",{style:{color:"#E1E4E8"}},"--from=$VALIDATOR_WALLET ",-1),Le={style:{color:"#79B8FF"}},He=s("span",{style:{color:"#E1E4E8"}}," ",-1),We=s("span",{style:{color:"#79B8FF"}},"\\",-1),je=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"--fees=21000utia")],-1),Ge={class:"shiki github-light vp-code-light"},Ue=a("",1),Ye=a("",1),Ke={class:"line"},ze=s("span",{style:{color:"#24292E"}},"--from=$VALIDATOR_WALLET ",-1),Qe={style:{color:"#005CC5"}},Xe=s("span",{style:{color:"#24292E"}}," ",-1),Je=s("span",{style:{color:"#005CC5"}},"\\",-1),Ze=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"--fees=21000utia")],-1),sl=a("",30),al={class:"language-bash vp-adaptive-theme"},ol=s("button",{title:"Copy Code",class:"copy"},null,-1),nl=s("span",{class:"lang"},"bash",-1),el={class:"shiki github-dark vp-code-dark"},ll=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"MONIKER"),s("span",{style:{color:"#F97583"}},"="),s("span",{style:{color:"#9ECBFF"}},'"your_moniker"')],-1),tl=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"VALIDATOR_WALLET"),s("span",{style:{color:"#F97583"}},"="),s("span",{style:{color:"#9ECBFF"}},'"validator"')],-1),pl=s("span",{class:"line"},null,-1),cl=a("",1),rl=a("",1),il=a("",1),_l=a("",1),dl={class:"line"},yl=s("span",{style:{color:"#E1E4E8"}}," ",-1),hl={style:{color:"#79B8FF"}},El=s("span",{style:{color:"#E1E4E8"}}," ",-1),ul=s("span",{style:{color:"#79B8FF"}},"\\",-1),Fl=a("",1),Cl=a("",1),gl=a("",1),Tl=a("",1),bl=a("",1),Sl=a("",1),Al=a("",1),ml=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#79B8FF"}},"--gas=220000")],-1),vl={class:"shiki github-light vp-code-light"},Bl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"MONIKER"),s("span",{style:{color:"#D73A49"}},"="),s("span",{style:{color:"#032F62"}},'"your_moniker"')],-1),fl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"VALIDATOR_WALLET"),s("span",{style:{color:"#D73A49"}},"="),s("span",{style:{color:"#032F62"}},'"validator"')],-1),kl=s("span",{class:"line"},null,-1),Pl=a("",1),Il=a("",1),ql=a("",1),Vl=a("",1),Dl={class:"line"},Rl=s("span",{style:{color:"#24292E"}}," ",-1),wl={style:{color:"#005CC5"}},Nl=s("span",{style:{color:"#24292E"}}," ",-1),xl=s("span",{style:{color:"#005CC5"}},"\\",-1),Ol=a("",1),$l=a("",1),Ml=a("",1),Ll=a("",1),Hl=a("",1),Wl=a("",1),jl=a("",1),Gl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#005CC5"}},"--gas=220000")],-1),Ul=a("",43),Zl=JSON.parse('{"title":"Setting up a Celestia full consensus node","description":"Learn how to set up a Celestia consensus node.","frontmatter":{"description":"Learn how to set up a Celestia consensus node.","outline":"deep","head":[["meta",{"name":"og:title","content":"Setting up a Celestia full consensus node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/consensus-node.md","filePath":"nodes/consensus-node.md","lastUpdated":1705009966000}'),Yl={name:"nodes/consensus-node.md"},st=Object.assign(Yl,{setup(Kl){return(zl,Ql)=>(t(),p("div",null,[i,s("div",_,[d,s("div",y,[s("div",h,[E,u,s("pre",F,[s("code",null,[s("span",C,[g,s("span",T,e(l(n).mainnetChainId),1)])])]),s("pre",b,[s("code",null,[s("span",S,[A,s("span",m,e(l(n).mainnetChainId),1)])])])]),s("div",v,[B,f,s("pre",k,[s("code",null,[s("span",P,[I,s("span",q,e(l(n).mochaChainId),1)])])]),s("pre",V,[s("code",null,[s("span",D,[R,s("span",w,e(l(n).mochaChainId),1)])])])]),s("div",N,[x,O,s("pre",$,[s("code",null,[s("span",M,[L,s("span",H,e(l(n).arabicaChainId),1)])])]),s("pre",W,[s("code",null,[s("span",j,[G,s("span",U,e(l(n).arabicaChainId),1)])])])])])]),Y,s("div",K,[z,s("div",Q,[s("div",X,[J,Z,s("pre",ss,[s("code",null,[s("span",as,[os,ns,s("span",es,"/networks/"+e(l(n).mainnetChainId)+"/genesis.json",1),ls,ts]),o(` +import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t as e,l,a as o,Q as a}from"./chunks/framework.2263f03b.js";const c="/pr-preview/pr-1358/img/nodes/full-consensus-node.png",r="/pr-preview/pr-1358/img/nodes/validator.png",i=a("",18),_={class:"vp-code-group vp-adaptive-theme"},d=a("",1),y={class:"blocks"},h={class:"language-bash vp-adaptive-theme active"},E=s("button",{title:"Copy Code",class:"copy"},null,-1),u=s("span",{class:"lang"},"bash",-1),F={class:"shiki github-dark vp-code-dark"},C={class:"line"},g=a("",8),T={style:{color:"#9ECBFF"}},b={class:"shiki github-light vp-code-light"},S={class:"line"},A=a("",8),m={style:{color:"#032F62"}},v={class:"language-bash vp-adaptive-theme"},B=s("button",{title:"Copy Code",class:"copy"},null,-1),f=s("span",{class:"lang"},"bash",-1),k={class:"shiki github-dark vp-code-dark"},P={class:"line"},q=a("",8),I={style:{color:"#9ECBFF"}},V={class:"shiki github-light vp-code-light"},D={class:"line"},R=a("",8),w={style:{color:"#032F62"}},N={class:"language-bash vp-adaptive-theme"},x=s("button",{title:"Copy Code",class:"copy"},null,-1),$=s("span",{class:"lang"},"bash",-1),O={class:"shiki github-dark vp-code-dark"},M={class:"line"},L=a("",8),H={style:{color:"#9ECBFF"}},W={class:"shiki github-light vp-code-light"},G={class:"line"},Y=a("",8),z={style:{color:"#032F62"}},X=s("p",null,[o("Copy the "),s("code",null,"genesis.json"),o(" file:")],-1),j={class:"vp-code-group vp-adaptive-theme"},K=a("",1),U={class:"blocks"},Q={class:"language-bash vp-adaptive-theme active"},J=s("button",{title:"Copy Code",class:"copy"},null,-1),Z=s("span",{class:"lang"},"bash",-1),ss={class:"shiki github-dark vp-code-dark"},as={class:"line"},os=s("span",{style:{color:"#B392F0"}},"cp",-1),ns=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),es={style:{color:"#9ECBFF"}},ls=s("span",{style:{color:"#E1E4E8"}}," ",-1),ts=s("span",{style:{color:"#79B8FF"}},"\\",-1),ps=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),cs={class:"shiki github-light vp-code-light"},rs={class:"line"},is=s("span",{style:{color:"#6F42C1"}},"cp",-1),_s=s("span",{style:{color:"#24292E"}}," $HOME",-1),ds={style:{color:"#032F62"}},ys=s("span",{style:{color:"#24292E"}}," ",-1),hs=s("span",{style:{color:"#005CC5"}},"\\",-1),Es=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),us={class:"language-bash vp-adaptive-theme"},Fs=s("button",{title:"Copy Code",class:"copy"},null,-1),Cs=s("span",{class:"lang"},"bash",-1),gs={class:"shiki github-dark vp-code-dark"},Ts={class:"line"},bs=s("span",{style:{color:"#B392F0"}},"cp",-1),Ss=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),As={style:{color:"#9ECBFF"}},ms=s("span",{style:{color:"#E1E4E8"}}," ",-1),vs=s("span",{style:{color:"#79B8FF"}},"\\",-1),Bs=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),fs={class:"shiki github-light vp-code-light"},ks={class:"line"},Ps=s("span",{style:{color:"#6F42C1"}},"cp",-1),qs=s("span",{style:{color:"#24292E"}}," $HOME",-1),Is={style:{color:"#032F62"}},Vs=s("span",{style:{color:"#24292E"}}," ",-1),Ds=s("span",{style:{color:"#005CC5"}},"\\",-1),Rs=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),ws={class:"language-bash vp-adaptive-theme"},Ns=s("button",{title:"Copy Code",class:"copy"},null,-1),xs=s("span",{class:"lang"},"bash",-1),$s={class:"shiki github-dark vp-code-dark"},Os={class:"line"},Ms=s("span",{style:{color:"#B392F0"}},"cp",-1),Ls=s("span",{style:{color:"#E1E4E8"}}," $HOME",-1),Hs={style:{color:"#9ECBFF"}},Ws=s("span",{style:{color:"#E1E4E8"}}," ",-1),Gs=s("span",{style:{color:"#79B8FF"}},"\\",-1),Ys=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," $HOME"),s("span",{style:{color:"#9ECBFF"}},"/.celestia-app/config")],-1),zs={class:"shiki github-light vp-code-light"},Xs={class:"line"},js=s("span",{style:{color:"#6F42C1"}},"cp",-1),Ks=s("span",{style:{color:"#24292E"}}," $HOME",-1),Us={style:{color:"#032F62"}},Qs=s("span",{style:{color:"#24292E"}}," ",-1),Js=s("span",{style:{color:"#005CC5"}},"\\",-1),Zs=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," $HOME"),s("span",{style:{color:"#032F62"}},"/.celestia-app/config")],-1),sa=s("p",null,[o("Set seeds in the "),s("code",null,"$HOME/.celestia-app/config/config.toml"),o(" file:")],-1),aa={class:"vp-code-group vp-adaptive-theme"},oa=a("",1),na={class:"blocks"},ea={class:"language-bash vp-adaptive-theme active"},la=s("button",{title:"Copy Code",class:"copy"},null,-1),ta=s("span",{class:"lang"},"bash",-1),pa={class:"shiki github-dark vp-code-dark"},ca={class:"line"},ra=a("",6),ia={style:{color:"#9ECBFF"}},_a=a("",12),da=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $SEEDS")],-1),ya=a("",1),ha={class:"shiki github-light vp-code-light"},Ea={class:"line"},ua=a("",6),Fa={style:{color:"#032F62"}},Ca=a("",12),ga=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $SEEDS")],-1),Ta=a("",1),ba={class:"language-bash vp-adaptive-theme"},Sa=s("button",{title:"Copy Code",class:"copy"},null,-1),Aa=s("span",{class:"lang"},"bash",-1),ma={class:"shiki github-dark vp-code-dark"},va={class:"line"},Ba=a("",6),fa={style:{color:"#9ECBFF"}},ka=a("",12),Pa=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $SEEDS")],-1),qa=a("",1),Ia={class:"shiki github-light vp-code-light"},Va={class:"line"},Da=a("",6),Ra={style:{color:"#032F62"}},wa=a("",12),Na=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $SEEDS")],-1),xa=a("",1),$a=a("",1),Oa=s("p",null,[s("strong",null,"Optionally"),o(", you can set persistent peers in your "),s("code",null,"config.toml"),o(" file. You can get the persistent peers from the networks repository with the following commands:")],-1),Ma=s("p",null,"Setting persistent peers is advised only if you are running a sentry node.",-1),La={class:"vp-code-group vp-adaptive-theme"},Ha=a("",1),Wa={class:"blocks"},Ga={class:"language-bash vp-adaptive-theme active"},Ya=s("button",{title:"Copy Code",class:"copy"},null,-1),za=s("span",{class:"lang"},"bash",-1),Xa={class:"shiki github-dark vp-code-dark"},ja={class:"line"},Ka=a("",6),Ua={style:{color:"#9ECBFF"}},Qa=a("",12),Ja=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Za=a("",1),so={class:"shiki github-light vp-code-light"},ao={class:"line"},oo=a("",6),no={style:{color:"#032F62"}},eo=a("",12),lo=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),to=a("",1),po={class:"language-bash vp-adaptive-theme"},co=s("button",{title:"Copy Code",class:"copy"},null,-1),ro=s("span",{class:"lang"},"bash",-1),io={class:"shiki github-dark vp-code-dark"},_o={class:"line"},yo=a("",6),ho={style:{color:"#9ECBFF"}},Eo=a("",12),uo=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Fo=a("",1),Co={class:"shiki github-light vp-code-light"},go={class:"line"},To=a("",6),bo={style:{color:"#032F62"}},So=a("",12),Ao=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),mo=a("",1),vo={class:"language-bash vp-adaptive-theme"},Bo=s("button",{title:"Copy Code",class:"copy"},null,-1),fo=s("span",{class:"lang"},"bash",-1),ko={class:"shiki github-dark vp-code-dark"},Po={class:"line"},qo=a("",6),Io={style:{color:"#9ECBFF"}},Vo=a("",12),Do=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"echo"),s("span",{style:{color:"#E1E4E8"}}," $PERSISTENT_PEERS")],-1),Ro=a("",1),wo={class:"shiki github-light vp-code-light"},No={class:"line"},xo=a("",6),$o={style:{color:"#032F62"}},Oo=a("",12),Mo=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"echo"),s("span",{style:{color:"#24292E"}}," $PERSISTENT_PEERS")],-1),Lo=a("",1),Ho=a("",30),Wo={class:"vp-code-group vp-adaptive-theme"},Go=a("",1),Yo={class:"blocks"},zo={class:"language-bash vp-adaptive-theme active"},Xo=s("button",{title:"Copy Code",class:"copy"},null,-1),jo=s("span",{class:"lang"},"bash",-1),Ko={class:"shiki github-dark vp-code-dark"},Uo=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),Qo=a("",1),Jo=a("",1),Zo=a("",1),sn={class:"line"},an=s("span",{style:{color:"#9ECBFF"}}," ",-1),on=s("span",{style:{color:"#B392F0"}},"egrep",-1),nn=s("span",{style:{color:"#9ECBFF"}}," ",-1),en=s("span",{style:{color:"#79B8FF"}},"-o",-1),ln={style:{color:"#9ECBFF"}},tn=a("",6),pn=a("",1),cn=a("",1),rn={class:"shiki github-light vp-code-light"},_n=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),dn=a("",1),yn=a("",1),hn=a("",1),En={class:"line"},un=s("span",{style:{color:"#032F62"}}," ",-1),Fn=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Cn=s("span",{style:{color:"#032F62"}}," ",-1),gn=s("span",{style:{color:"#005CC5"}},"-o",-1),Tn={style:{color:"#032F62"}},bn=a("",6),Sn=a("",1),An=a("",1),mn={class:"language-bash vp-adaptive-theme"},vn=s("button",{title:"Copy Code",class:"copy"},null,-1),Bn=s("span",{class:"lang"},"bash",-1),fn={class:"shiki github-dark vp-code-dark"},kn=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),Pn=a("",1),qn=a("",1),In=a("",1),Vn={class:"line"},Dn=s("span",{style:{color:"#9ECBFF"}}," ",-1),Rn=s("span",{style:{color:"#B392F0"}},"egrep",-1),wn=s("span",{style:{color:"#9ECBFF"}}," ",-1),Nn=s("span",{style:{color:"#79B8FF"}},"-o",-1),xn={style:{color:"#9ECBFF"}},$n=a("",6),On=a("",1),Mn=a("",1),Ln={class:"shiki github-light vp-code-light"},Hn=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),Wn=a("",1),Gn=a("",1),Yn=a("",1),zn={class:"line"},Xn=s("span",{style:{color:"#032F62"}}," ",-1),jn=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Kn=s("span",{style:{color:"#032F62"}}," ",-1),Un=s("span",{style:{color:"#005CC5"}},"-o",-1),Qn={style:{color:"#032F62"}},Jn=a("",6),Zn=a("",1),se=a("",1),ae={class:"language-bash vp-adaptive-theme"},oe=s("button",{title:"Copy Code",class:"copy"},null,-1),ne=s("span",{class:"lang"},"bash",-1),ee={class:"shiki github-dark vp-code-dark"},le=s("span",{class:"line"},[s("span",{style:{color:"#79B8FF"}},"cd"),s("span",{style:{color:"#E1E4E8"}}," $HOME")],-1),te=a("",1),pe=a("",1),ce=a("",1),re={class:"line"},ie=s("span",{style:{color:"#9ECBFF"}}," ",-1),_e=s("span",{style:{color:"#B392F0"}},"egrep",-1),de=s("span",{style:{color:"#9ECBFF"}}," ",-1),ye=s("span",{style:{color:"#79B8FF"}},"-o",-1),he={style:{color:"#9ECBFF"}},Ee=a("",6),ue=a("",1),Fe=a("",1),Ce={class:"shiki github-light vp-code-light"},ge=s("span",{class:"line"},[s("span",{style:{color:"#005CC5"}},"cd"),s("span",{style:{color:"#24292E"}}," $HOME")],-1),Te=a("",1),be=a("",1),Se=a("",1),Ae={class:"line"},me=s("span",{style:{color:"#032F62"}}," ",-1),ve=s("span",{style:{color:"#6F42C1"}},"egrep",-1),Be=s("span",{style:{color:"#032F62"}}," ",-1),fe=s("span",{style:{color:"#005CC5"}},"-o",-1),ke={style:{color:"#032F62"}},Pe=a("",6),qe=a("",1),Ie=a("",1),Ve=a("",24),De={class:"language-bash vp-adaptive-theme"},Re=s("button",{title:"Copy Code",class:"copy"},null,-1),we=s("span",{class:"lang"},"bash",-1),Ne={class:"shiki github-dark vp-code-dark"},xe=a("",1),$e=a("",1),Oe={class:"line"},Me=s("span",{style:{color:"#E1E4E8"}},"--from=$VALIDATOR_WALLET ",-1),Le={style:{color:"#79B8FF"}},He=s("span",{style:{color:"#E1E4E8"}}," ",-1),We=s("span",{style:{color:"#79B8FF"}},"\\",-1),Ge=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"--fees=21000utia")],-1),Ye={class:"shiki github-light vp-code-light"},ze=a("",1),Xe=a("",1),je={class:"line"},Ke=s("span",{style:{color:"#24292E"}},"--from=$VALIDATOR_WALLET ",-1),Ue={style:{color:"#005CC5"}},Qe=s("span",{style:{color:"#24292E"}}," ",-1),Je=s("span",{style:{color:"#005CC5"}},"\\",-1),Ze=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"--fees=21000utia")],-1),sl=a("",30),al={class:"language-bash vp-adaptive-theme"},ol=s("button",{title:"Copy Code",class:"copy"},null,-1),nl=s("span",{class:"lang"},"bash",-1),el={class:"shiki github-dark vp-code-dark"},ll=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"MONIKER"),s("span",{style:{color:"#F97583"}},"="),s("span",{style:{color:"#9ECBFF"}},'"your_moniker"')],-1),tl=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}},"VALIDATOR_WALLET"),s("span",{style:{color:"#F97583"}},"="),s("span",{style:{color:"#9ECBFF"}},'"validator"')],-1),pl=s("span",{class:"line"},null,-1),cl=a("",1),rl=a("",1),il=a("",1),_l=a("",1),dl={class:"line"},yl=s("span",{style:{color:"#E1E4E8"}}," ",-1),hl={style:{color:"#79B8FF"}},El=s("span",{style:{color:"#E1E4E8"}}," ",-1),ul=s("span",{style:{color:"#79B8FF"}},"\\",-1),Fl=a("",1),Cl=a("",1),gl=a("",1),Tl=a("",1),bl=a("",1),Sl=a("",1),Al=a("",1),ml=s("span",{class:"line"},[s("span",{style:{color:"#E1E4E8"}}," "),s("span",{style:{color:"#79B8FF"}},"--gas=220000")],-1),vl={class:"shiki github-light vp-code-light"},Bl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"MONIKER"),s("span",{style:{color:"#D73A49"}},"="),s("span",{style:{color:"#032F62"}},'"your_moniker"')],-1),fl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}},"VALIDATOR_WALLET"),s("span",{style:{color:"#D73A49"}},"="),s("span",{style:{color:"#032F62"}},'"validator"')],-1),kl=s("span",{class:"line"},null,-1),Pl=a("",1),ql=a("",1),Il=a("",1),Vl=a("",1),Dl={class:"line"},Rl=s("span",{style:{color:"#24292E"}}," ",-1),wl={style:{color:"#005CC5"}},Nl=s("span",{style:{color:"#24292E"}}," ",-1),xl=s("span",{style:{color:"#005CC5"}},"\\",-1),$l=a("",1),Ol=a("",1),Ml=a("",1),Ll=a("",1),Hl=a("",1),Wl=a("",1),Gl=a("",1),Yl=s("span",{class:"line"},[s("span",{style:{color:"#24292E"}}," "),s("span",{style:{color:"#005CC5"}},"--gas=220000")],-1),zl=a("",43),Zl=JSON.parse('{"title":"Setting up a Celestia full consensus node","description":"Learn how to set up a Celestia consensus node.","frontmatter":{"description":"Learn how to set up a Celestia consensus node.","outline":"deep","head":[["meta",{"name":"og:title","content":"Setting up a Celestia full consensus node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/consensus-node.md","filePath":"nodes/consensus-node.md","lastUpdated":1705010189000}'),Xl={name:"nodes/consensus-node.md"},st=Object.assign(Xl,{setup(jl){return(Kl,Ul)=>(t(),p("div",null,[i,s("div",_,[d,s("div",y,[s("div",h,[E,u,s("pre",F,[s("code",null,[s("span",C,[g,s("span",T,e(l(n).mainnetChainId),1)])])]),s("pre",b,[s("code",null,[s("span",S,[A,s("span",m,e(l(n).mainnetChainId),1)])])])]),s("div",v,[B,f,s("pre",k,[s("code",null,[s("span",P,[q,s("span",I,e(l(n).mochaChainId),1)])])]),s("pre",V,[s("code",null,[s("span",D,[R,s("span",w,e(l(n).mochaChainId),1)])])])]),s("div",N,[x,$,s("pre",O,[s("code",null,[s("span",M,[L,s("span",H,e(l(n).arabicaChainId),1)])])]),s("pre",W,[s("code",null,[s("span",G,[Y,s("span",z,e(l(n).arabicaChainId),1)])])])])])]),X,s("div",j,[K,s("div",U,[s("div",Q,[J,Z,s("pre",ss,[s("code",null,[s("span",as,[os,ns,s("span",es,"/networks/"+e(l(n).mainnetChainId)+"/genesis.json",1),ls,ts]),o(` `),ps])]),s("pre",cs,[s("code",null,[s("span",rs,[is,_s,s("span",ds,"/networks/"+e(l(n).mainnetChainId)+"/genesis.json",1),ys,hs]),o(` `),Es])])]),s("div",us,[Fs,Cs,s("pre",gs,[s("code",null,[s("span",Ts,[bs,Ss,s("span",As,"/networks/"+e(l(n).mochaChainId)+"/genesis.json",1),ms,vs]),o(` -`),Bs])]),s("pre",fs,[s("code",null,[s("span",ks,[Ps,Is,s("span",qs,"/networks/"+e(l(n).mochaChainId)+"/genesis.json",1),Vs,Ds]),o(` -`),Rs])])]),s("div",ws,[Ns,xs,s("pre",Os,[s("code",null,[s("span",$s,[Ms,Ls,s("span",Hs,"/networks/"+e(l(n).arabicaChainId)+"/genesis.json",1),Ws,js]),o(` -`),Gs])]),s("pre",Us,[s("code",null,[s("span",Ys,[Ks,zs,s("span",Qs,"/networks/"+e(l(n).arabicaChainId)+"/genesis.json",1),Xs,Js]),o(` +`),Bs])]),s("pre",fs,[s("code",null,[s("span",ks,[Ps,qs,s("span",Is,"/networks/"+e(l(n).mochaChainId)+"/genesis.json",1),Vs,Ds]),o(` +`),Rs])])]),s("div",ws,[Ns,xs,s("pre",$s,[s("code",null,[s("span",Os,[Ms,Ls,s("span",Hs,"/networks/"+e(l(n).arabicaChainId)+"/genesis.json",1),Ws,Gs]),o(` +`),Ys])]),s("pre",zs,[s("code",null,[s("span",Xs,[js,Ks,s("span",Us,"/networks/"+e(l(n).arabicaChainId)+"/genesis.json",1),Qs,Js]),o(` `),Zs])])])])]),sa,s("div",aa,[oa,s("div",na,[s("div",ea,[la,ta,s("pre",pa,[s("code",null,[s("span",ca,[ra,s("span",ia," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/seeds.txt ",1),_a]),o(` `),da,o(` `),ya])]),s("pre",ha,[s("code",null,[s("span",Ea,[ua,s("span",Fa," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/seeds.txt ",1),Ca]),o(` `),ga,o(` `),Ta])])]),s("div",ba,[Sa,Aa,s("pre",ma,[s("code",null,[s("span",va,[Ba,s("span",fa," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mochaChainId)+"/seeds.txt ",1),ka]),o(` `),Pa,o(` -`),Ia])]),s("pre",qa,[s("code",null,[s("span",Va,[Da,s("span",Ra," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mochaChainId)+"/seeds.txt ",1),wa]),o(` +`),qa])]),s("pre",Ia,[s("code",null,[s("span",Va,[Da,s("span",Ra," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mochaChainId)+"/seeds.txt ",1),wa]),o(` `),Na,o(` -`),xa])])]),Oa])]),$a,Ma,s("div",La,[Ha,s("div",Wa,[s("div",ja,[Ga,Ua,s("pre",Ya,[s("code",null,[s("span",Ka,[za,s("span",Qa," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/peers.txt ",1),Xa]),o(` +`),xa])])]),$a])]),Oa,Ma,s("div",La,[Ha,s("div",Wa,[s("div",Ga,[Ya,za,s("pre",Xa,[s("code",null,[s("span",ja,[Ka,s("span",Ua," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/peers.txt ",1),Qa]),o(` `),Ja,o(` `),Za])]),s("pre",so,[s("code",null,[s("span",ao,[oo,s("span",no," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mainnetChainId)+"/peers.txt ",1),eo]),o(` `),lo,o(` @@ -20,12 +20,12 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t `),uo,o(` `),Fo])]),s("pre",Co,[s("code",null,[s("span",go,[To,s("span",bo," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).mochaChainId)+"/peers.txt ",1),So]),o(` `),Ao,o(` -`),mo])])]),s("div",vo,[Bo,fo,s("pre",ko,[s("code",null,[s("span",Po,[Io,s("span",qo," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).arabicaChainId)+"/peers.txt ",1),Vo]),o(` +`),mo])])]),s("div",vo,[Bo,fo,s("pre",ko,[s("code",null,[s("span",Po,[qo,s("span",Io," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).arabicaChainId)+"/peers.txt ",1),Vo]),o(` `),Do,o(` -`),Ro])]),s("pre",wo,[s("code",null,[s("span",No,[xo,s("span",Oo," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).arabicaChainId)+"/peers.txt ",1),$o]),o(` +`),Ro])]),s("pre",wo,[s("code",null,[s("span",No,[xo,s("span",$o," https://raw.githubusercontent.com/celestiaorg/networks/master/"+e(l(n).arabicaChainId)+"/peers.txt ",1),Oo]),o(` `),Mo,o(` -`),Lo])])])])]),Ho,s("div",Wo,[jo,s("div",Go,[s("div",Uo,[Yo,Ko,s("pre",zo,[s("code",null,[Qo,o(` -`),Xo,o(` +`),Lo])])])])]),Ho,s("div",Wo,[Go,s("div",Yo,[s("div",zo,[Xo,jo,s("pre",Ko,[s("code",null,[Uo,o(` +`),Qo,o(` `),Jo,o(` `),Zo,o(` `),s("span",sn,[an,on,nn,en,s("span",ln,' ">'+e(l(n).mainnetChainId)+'.*tar" ',1),tn]),o(` @@ -38,15 +38,15 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t `),Sn,o(` `),An])])]),s("div",mn,[vn,Bn,s("pre",fn,[s("code",null,[kn,o(` `),Pn,o(` -`),In,o(` `),qn,o(` -`),s("span",Vn,[Dn,Rn,wn,Nn,s("span",xn,' ">'+e(l(n).mochaChainId)+'.*tar" ',1),On]),o(` -`),$n,o(` +`),In,o(` +`),s("span",Vn,[Dn,Rn,wn,Nn,s("span",xn,' ">'+e(l(n).mochaChainId)+'.*tar" ',1),$n]),o(` +`),On,o(` `),Mn])]),s("pre",Ln,[s("code",null,[Hn,o(` `),Wn,o(` -`),jn,o(` `),Gn,o(` -`),s("span",Un,[Yn,Kn,zn,Qn,s("span",Xn,' ">'+e(l(n).mochaChainId)+'.*tar" ',1),Jn]),o(` +`),Yn,o(` +`),s("span",zn,[Xn,jn,Kn,Un,s("span",Qn,' ">'+e(l(n).mochaChainId)+'.*tar" ',1),Jn]),o(` `),Zn,o(` `),se])])]),s("div",ae,[oe,ne,s("pre",ee,[s("code",null,[le,o(` `),te,o(` @@ -59,13 +59,13 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t `),be,o(` `),Se,o(` `),s("span",Ae,[me,ve,Be,fe,s("span",ke,' ">'+e(l(n).arabicaChainId)+'.*tar" ',1),Pe]),o(` -`),Ie,o(` -`),qe])])])])]),Ve,s("div",De,[Re,we,s("pre",Ne,[s("code",null,[xe,o(` -`),Oe,o(` -`),s("span",$e,[Me,s("span",Le,"--chain-id="+e(l(n).mochaChainId),1),He,We]),o(` -`),je])]),s("pre",Ge,[s("code",null,[Ue,o(` -`),Ye,o(` -`),s("span",Ke,[ze,s("span",Qe,"--chain-id="+e(l(n).mochaChainId),1),Xe,Je]),o(` +`),qe,o(` +`),Ie])])])])]),Ve,s("div",De,[Re,we,s("pre",Ne,[s("code",null,[xe,o(` +`),$e,o(` +`),s("span",Oe,[Me,s("span",Le,"--chain-id="+e(l(n).mochaChainId),1),He,We]),o(` +`),Ge])]),s("pre",Ye,[s("code",null,[ze,o(` +`),Xe,o(` +`),s("span",je,[Ke,s("span",Ue,"--chain-id="+e(l(n).mochaChainId),1),Qe,Je]),o(` `),Ze])])]),sl,s("div",al,[ol,nl,s("pre",el,[s("code",null,[ll,o(` `),tl,o(` `),pl,o(` @@ -85,15 +85,15 @@ import{c as n}from"./chunks/constants.d0f43632.js";import{o as t,c as p,k as s,t `),fl,o(` `),kl,o(` `),Pl,o(` -`),Il,o(` `),ql,o(` +`),Il,o(` `),Vl,o(` `),s("span",Dl,[Rl,s("span",wl,"--chain-id="+e(l(n).mochaChainId),1),Nl,xl]),o(` -`),Ol,o(` `),$l,o(` +`),Ol,o(` `),Ml,o(` `),Ll,o(` `),Hl,o(` `),Wl,o(` -`),jl,o(` -`),Gl])])]),Ul]))}});export{Zl as __pageData,st as default}; +`),Gl,o(` +`),Yl])])]),zl]))}});export{Zl as __pageData,st as default}; diff --git a/pr-preview/pr-1358/assets/nodes_decide-node.md.28304b44.js b/pr-preview/pr-1358/assets/nodes_decide-node.md.6443394a.js similarity index 96% rename from pr-preview/pr-1358/assets/nodes_decide-node.md.28304b44.js rename to pr-preview/pr-1358/assets/nodes_decide-node.md.6443394a.js index cbb3e1686c..1faa1444cd 100644 --- a/pr-preview/pr-1358/assets/nodes_decide-node.md.28304b44.js +++ b/pr-preview/pr-1358/assets/nodes_decide-node.md.6443394a.js @@ -1 +1 @@ -import{_ as e,o as n,c as o,Q as a}from"./chunks/framework.2263f03b.js";const _=JSON.parse('{"title":"Deciding which node to run","description":"Guide on helping you decide which type of node to run.","frontmatter":{"description":"Guide on helping you decide which type of node to run.","head":[["meta",{"name":"og:title","content":"Deciding which node to run | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/decide-node.md","filePath":"nodes/decide-node.md","lastUpdated":1705009966000}'),t={name:"nodes/decide-node.md"},i=a('

    Deciding which node to run

    Now that you have installed the basic dependencies, you can start exploring which nodes to run!

    Beginner

    It is highly recommended if you are a beginner to get started with running a Data-Availability light node.

    In order to get started, you can proceed to the light node section.

    You can also play around with the Data Availability API in this tutorial for posting and retrieving data with a light node.

    Advanced

    If you are looking to run a consensus node, please follow the tutorial for running a consensus node.

    Note that running a validator means you must also run a bridge node, which is covered in this section.

    ',9),d=[i];function r(c,h,s,l,u,p){return n(),o("div",null,d)}const f=e(t,[["render",r]]);export{_ as __pageData,f as default}; +import{_ as e,o as n,c as o,Q as a}from"./chunks/framework.2263f03b.js";const _=JSON.parse('{"title":"Deciding which node to run","description":"Guide on helping you decide which type of node to run.","frontmatter":{"description":"Guide on helping you decide which type of node to run.","head":[["meta",{"name":"og:title","content":"Deciding which node to run | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/decide-node.md","filePath":"nodes/decide-node.md","lastUpdated":1705010189000}'),t={name:"nodes/decide-node.md"},i=a('

    Deciding which node to run

    Now that you have installed the basic dependencies, you can start exploring which nodes to run!

    Beginner

    It is highly recommended if you are a beginner to get started with running a Data-Availability light node.

    In order to get started, you can proceed to the light node section.

    You can also play around with the Data Availability API in this tutorial for posting and retrieving data with a light node.

    Advanced

    If you are looking to run a consensus node, please follow the tutorial for running a consensus node.

    Note that running a validator means you must also run a bridge node, which is covered in this section.

    ',9),d=[i];function r(c,h,s,l,u,p){return n(),o("div",null,d)}const f=e(t,[["render",r]]);export{_ as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/nodes_decide-node.md.28304b44.lean.js b/pr-preview/pr-1358/assets/nodes_decide-node.md.6443394a.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/nodes_decide-node.md.28304b44.lean.js rename to pr-preview/pr-1358/assets/nodes_decide-node.md.6443394a.lean.js index 345a3ca69f..e35269efdb 100644 --- a/pr-preview/pr-1358/assets/nodes_decide-node.md.28304b44.lean.js +++ b/pr-preview/pr-1358/assets/nodes_decide-node.md.6443394a.lean.js @@ -1 +1 @@ -import{_ as e,o as n,c as o,Q as a}from"./chunks/framework.2263f03b.js";const _=JSON.parse('{"title":"Deciding which node to run","description":"Guide on helping you decide which type of node to run.","frontmatter":{"description":"Guide on helping you decide which type of node to run.","head":[["meta",{"name":"og:title","content":"Deciding which node to run | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/decide-node.md","filePath":"nodes/decide-node.md","lastUpdated":1705009966000}'),t={name:"nodes/decide-node.md"},i=a("",9),d=[i];function r(c,h,s,l,u,p){return n(),o("div",null,d)}const f=e(t,[["render",r]]);export{_ as __pageData,f as default}; +import{_ as e,o as n,c as o,Q as a}from"./chunks/framework.2263f03b.js";const _=JSON.parse('{"title":"Deciding which node to run","description":"Guide on helping you decide which type of node to run.","frontmatter":{"description":"Guide on helping you decide which type of node to run.","head":[["meta",{"name":"og:title","content":"Deciding which node to run | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/decide-node.md","filePath":"nodes/decide-node.md","lastUpdated":1705010189000}'),t={name:"nodes/decide-node.md"},i=a("",9),d=[i];function r(c,h,s,l,u,p){return n(),o("div",null,d)}const f=e(t,[["render",r]]);export{_ as __pageData,f as default}; diff --git a/pr-preview/pr-1358/assets/nodes_docker-images.md.14cb58a7.js b/pr-preview/pr-1358/assets/nodes_docker-images.md.db62ba23.js similarity index 85% rename from pr-preview/pr-1358/assets/nodes_docker-images.md.14cb58a7.js rename to pr-preview/pr-1358/assets/nodes_docker-images.md.db62ba23.js index b75160c85c..e955ce15e8 100644 --- a/pr-preview/pr-1358/assets/nodes_docker-images.md.14cb58a7.js +++ b/pr-preview/pr-1358/assets/nodes_docker-images.md.db62ba23.js @@ -1,34 +1,34 @@ -import{a as l}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./chunks/mocha_versions.7e950c54.js";import{m as p}from"./chunks/mainnet_versions.7e950c54.js";import{o as c,c as r,k as s,a,t as n,l as e,Q as o}from"./chunks/framework.2263f03b.js";const _=o('

    🐳 Docker setup

    This page has instructions to run celestia-node using Docker. If you are looking for instructions to run celestia-node using a binary, please refer to the celestia-node page.

    Using Docker is the easiest way to run celestia-node for most users. Docker is a containerization platform that allows you to run celestia-node in an isolated environment.

    This means that you can run celestia-node on your machine without having to worry about installing and configuring all of the dependencies required to run the node.

    If you would like to learn more about key management in Docker, visit the Docker and cel-key section.

    The easiest way to install Docker is to use the Docker Desktop installer or Ubuntu. You can follow the instructions for your operating system.

    Prerequisites

    Quick start

    ',9),i=o('
  21. Set the network you would like to run your node on:

    bash
    export NETWORK=celestia
    export NETWORK=celestia
    bash
    export NETWORK=mocha
    export NETWORK=mocha
    bash
    export NETWORK=arabica
    export NETWORK=arabica
  22. Set the node type

    bash
    export NODE_TYPE=light
    export NODE_TYPE=light
    bash
    export NODE_TYPE=bridge
    export NODE_TYPE=bridge
    bash
    export NODE_TYPE=full
    export NODE_TYPE=full
  23. Set an RPC endpoint for either Mainnet Beta, Mocha, or Arabica using the bare URL (without http or https):

    bash
    export RPC_URL=this-is-an-rpc-url.com
    export RPC_URL=this-is-an-rpc-url.com
  24. ',3),E=s("p",null,"Run the image from the command line:",-1),y={class:"vp-code-group vp-adaptive-theme"},d=o('
    ',1),h={class:"blocks"},T={class:"language-bash vp-adaptive-theme active"},F=s("button",{title:"Copy Code",class:"copy"},null,-1),C=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),b={class:"line"},v=s("span",{style:{color:"#E1E4E8"}}," ",-1),P={style:{color:"#9ECBFF"}},k=s("span",{style:{color:"#E1E4E8"}}," ",-1),m=s("span",{style:{color:"#79B8FF"}},"\\",-1),A=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),S={class:"shiki github-light vp-code-light"},N=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),B={class:"line"},D=s("span",{style:{color:"#24292E"}}," ",-1),R={style:{color:"#032F62"}},O=s("span",{style:{color:"#24292E"}}," ",-1),V=s("span",{style:{color:"#005CC5"}},"\\",-1),I=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),f={class:"language-bash vp-adaptive-theme"},$=s("button",{title:"Copy Code",class:"copy"},null,-1),W=s("span",{class:"lang"},"bash",-1),Y={class:"shiki github-dark vp-code-dark"},w=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),K={class:"line"},M=s("span",{style:{color:"#E1E4E8"}}," ",-1),x={style:{color:"#9ECBFF"}},H=s("span",{style:{color:"#E1E4E8"}}," ",-1),q=s("span",{style:{color:"#79B8FF"}},"\\",-1),L=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),U={class:"shiki github-light vp-code-light"},z=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),J={class:"line"},X=s("span",{style:{color:"#24292E"}}," ",-1),G={style:{color:"#032F62"}},Q=s("span",{style:{color:"#24292E"}}," ",-1),j=s("span",{style:{color:"#005CC5"}},"\\",-1),Z=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),ss={class:"language-bash vp-adaptive-theme"},os=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"bash",-1),ns={class:"shiki github-dark vp-code-dark"},es=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),ls={class:"line"},ts=s("span",{style:{color:"#E1E4E8"}}," ",-1),ps={style:{color:"#9ECBFF"}},cs=s("span",{style:{color:"#E1E4E8"}}," ",-1),rs=s("span",{style:{color:"#79B8FF"}},"\\",-1),_s=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),is={class:"shiki github-light vp-code-light"},Es=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),ys={class:"line"},ds=s("span",{style:{color:"#24292E"}}," ",-1),hs={style:{color:"#032F62"}},Ts=s("span",{style:{color:"#24292E"}}," ",-1),Fs=s("span",{style:{color:"#005CC5"}},"\\",-1),Cs=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),us=o(`

    Congratulations! You now have a celestia-node running!

    If you would like to run the node with custom flags, you can refer to the celestia-node tutorial page. Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Light node setup with persistent storage

    If you delete a container that you started above, all data will be lost. To avoid this, you can mount a volume to the container. This will allow you to persist data even after the container is deleted.

    First, you will need to create a directory on your host machine. This directory will be used to store the data for the container. Create a directory on your host machine and give it a name. For example, you can name it my-node-store:

    bash
    cd $HOME
    +import{a as l}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./chunks/mocha_versions.7e950c54.js";import{m as p}from"./chunks/mainnet_versions.7e950c54.js";import{o as c,c as r,k as s,a,t as n,l as e,Q as o}from"./chunks/framework.2263f03b.js";const _=o('

    🐳 Docker setup

    This page has instructions to run celestia-node using Docker. If you are looking for instructions to run celestia-node using a binary, please refer to the celestia-node page.

    Using Docker is the easiest way to run celestia-node for most users. Docker is a containerization platform that allows you to run celestia-node in an isolated environment.

    This means that you can run celestia-node on your machine without having to worry about installing and configuring all of the dependencies required to run the node.

    If you would like to learn more about key management in Docker, visit the Docker and cel-key section.

    The easiest way to install Docker is to use the Docker Desktop installer or Ubuntu. You can follow the instructions for your operating system.

    Prerequisites

    Quick start

    ',9),i=o('
  25. Set the network you would like to run your node on:

    bash
    export NETWORK=celestia
    export NETWORK=celestia
    bash
    export NETWORK=mocha
    export NETWORK=mocha
    bash
    export NETWORK=arabica
    export NETWORK=arabica
  26. Set the node type

    bash
    export NODE_TYPE=light
    export NODE_TYPE=light
    bash
    export NODE_TYPE=bridge
    export NODE_TYPE=bridge
    bash
    export NODE_TYPE=full
    export NODE_TYPE=full
  27. Set an RPC endpoint for either Mainnet Beta, Mocha, or Arabica using the bare URL (without http or https):

    bash
    export RPC_URL=this-is-an-rpc-url.com
    export RPC_URL=this-is-an-rpc-url.com
  28. ',3),E=s("p",null,"Run the image from the command line:",-1),y={class:"vp-code-group vp-adaptive-theme"},d=o('
    ',1),h={class:"blocks"},T={class:"language-bash vp-adaptive-theme active"},F=s("button",{title:"Copy Code",class:"copy"},null,-1),C=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),b={class:"line"},v=s("span",{style:{color:"#E1E4E8"}}," ",-1),P={style:{color:"#9ECBFF"}},k=s("span",{style:{color:"#E1E4E8"}}," ",-1),m=s("span",{style:{color:"#79B8FF"}},"\\",-1),A=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),S={class:"shiki github-light vp-code-light"},B=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),N={class:"line"},D=s("span",{style:{color:"#24292E"}}," ",-1),R={style:{color:"#032F62"}},O=s("span",{style:{color:"#24292E"}}," ",-1),I=s("span",{style:{color:"#005CC5"}},"\\",-1),V=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),f={class:"language-bash vp-adaptive-theme"},$=s("button",{title:"Copy Code",class:"copy"},null,-1),w=s("span",{class:"lang"},"bash",-1),W={class:"shiki github-dark vp-code-dark"},K=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Y={class:"line"},M=s("span",{style:{color:"#E1E4E8"}}," ",-1),x={style:{color:"#9ECBFF"}},q=s("span",{style:{color:"#E1E4E8"}}," ",-1),L=s("span",{style:{color:"#79B8FF"}},"\\",-1),H=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),U={class:"shiki github-light vp-code-light"},X=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),z={class:"line"},j=s("span",{style:{color:"#24292E"}}," ",-1),G={style:{color:"#032F62"}},J=s("span",{style:{color:"#24292E"}}," ",-1),Q=s("span",{style:{color:"#005CC5"}},"\\",-1),Z=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),ss={class:"language-bash vp-adaptive-theme"},os=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"bash",-1),ns={class:"shiki github-dark vp-code-dark"},es=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),ls={class:"line"},ts=s("span",{style:{color:"#E1E4E8"}}," ",-1),ps={style:{color:"#9ECBFF"}},cs=s("span",{style:{color:"#E1E4E8"}}," ",-1),rs=s("span",{style:{color:"#79B8FF"}},"\\",-1),_s=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),is={class:"shiki github-light vp-code-light"},Es=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),ys={class:"line"},ds=s("span",{style:{color:"#24292E"}}," ",-1),hs={style:{color:"#032F62"}},Ts=s("span",{style:{color:"#24292E"}}," ",-1),Fs=s("span",{style:{color:"#005CC5"}},"\\",-1),Cs=o(' celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK',1),us=o(`

    Congratulations! You now have a celestia-node running!

    If you would like to run the node with custom flags, you can refer to the celestia-node tutorial page. Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Light node setup with persistent storage

    If you delete a container that you started above, all data will be lost. To avoid this, you can mount a volume to the container. This will allow you to persist data even after the container is deleted.

    First, you will need to create a directory on your host machine. This directory will be used to store the data for the container. Create a directory on your host machine and give it a name. For example, you can name it my-node-store:

    bash
    cd $HOME
     mkdir my-node-store
    cd $HOME
    -mkdir my-node-store

    Now, you can mount this directory to the container. Before mounting a volume, you may need to set permissions for the user on the host machine by running:

    bash
    sudo chown 10001:10001 $HOME/my-node-store
    sudo chown 10001:10001 $HOME/my-node-store
    bash
    # you're good to go 😎
    # you're good to go 😎

    Initialize the node store and key

    In order to mount a volume to the container, you need to specify the path to the volume. When you run your container, you can specify the path to the volume using the --volume (or -v for short) flag. In this command, we'll create our key and initialize the node store, using the variables we set in the quick start section:

    bash
    # --volume == -v [local path]:[container path]
    +mkdir my-node-store

    Now, you can mount this directory to the container. Before mounting a volume, you may need to set permissions for the user on the host machine by running:

    bash
    sudo chown 10001:10001 $HOME/my-node-store
    sudo chown 10001:10001 $HOME/my-node-store
    bash
    # you're good to go 😎
    # you're good to go 😎

    Initialize the node store and key

    In order to mount a volume to the container, you need to specify the path to the volume. When you run your container, you can specify the path to the volume using the --volume (or -v for short) flag. In this command, we'll create our key and initialize the node store, using the variables we set in the quick start section:

    bash
    # --volume == -v [local path]:[container path]
     docker run [args...] -v $HOME/my-node-store:/home/celestia \\
         celestia $NODE_TYPE init [args...]
    # --volume == -v [local path]:[container path]
     docker run [args...] -v $HOME/my-node-store:/home/celestia \\
    -    celestia $NODE_TYPE init [args...]

    An example init command will look similar to below:

    `,12),gs={class:"vp-code-group vp-adaptive-theme"},bs=o('
    ',1),vs={class:"blocks"},Ps={class:"language-bash vp-adaptive-theme active"},ks=s("button",{title:"Copy Code",class:"copy"},null,-1),ms=s("span",{class:"lang"},"bash",-1),As={class:"shiki github-dark vp-code-dark"},Ss=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Ns=o(' -v $HOME/my-node-store:/home/celestia \\',1),Bs={class:"line"},Ds=s("span",{style:{color:"#E1E4E8"}}," ",-1),Rs={style:{color:"#9ECBFF"}},Os=s("span",{style:{color:"#E1E4E8"}}," ",-1),Vs=s("span",{style:{color:"#79B8FF"}},"\\",-1),Is=o(' celestia light init --p2p.network $NETWORK',1),fs={class:"shiki github-light vp-code-light"},$s=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Ws=o(' -v $HOME/my-node-store:/home/celestia \\',1),Ys={class:"line"},ws=s("span",{style:{color:"#24292E"}}," ",-1),Ks={style:{color:"#032F62"}},Ms=s("span",{style:{color:"#24292E"}}," ",-1),xs=s("span",{style:{color:"#005CC5"}},"\\",-1),Hs=o(' celestia light init --p2p.network $NETWORK',1),qs={class:"language-bash vp-adaptive-theme"},Ls=s("button",{title:"Copy Code",class:"copy"},null,-1),Us=s("span",{class:"lang"},"bash",-1),zs={class:"shiki github-dark vp-code-dark"},Js=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Xs=o(' -v $HOME/my-node-store:/home/celestia \\',1),Gs={class:"line"},Qs=s("span",{style:{color:"#E1E4E8"}}," ",-1),js={style:{color:"#9ECBFF"}},Zs=s("span",{style:{color:"#E1E4E8"}}," ",-1),so=s("span",{style:{color:"#79B8FF"}},"\\",-1),oo=o(' celestia light init --p2p.network $NETWORK',1),ao={class:"shiki github-light vp-code-light"},no=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),eo=o(' -v $HOME/my-node-store:/home/celestia \\',1),lo={class:"line"},to=s("span",{style:{color:"#24292E"}}," ",-1),po={style:{color:"#032F62"}},co=s("span",{style:{color:"#24292E"}}," ",-1),ro=s("span",{style:{color:"#005CC5"}},"\\",-1),_o=o(' celestia light init --p2p.network $NETWORK',1),io={class:"language-bash vp-adaptive-theme"},Eo=s("button",{title:"Copy Code",class:"copy"},null,-1),yo=s("span",{class:"lang"},"bash",-1),ho={class:"shiki github-dark vp-code-dark"},To=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Fo=o(' -v $HOME/my-node-store:/home/celestia \\',1),Co={class:"line"},uo=s("span",{style:{color:"#E1E4E8"}}," ",-1),go={style:{color:"#9ECBFF"}},bo=s("span",{style:{color:"#E1E4E8"}}," ",-1),vo=s("span",{style:{color:"#79B8FF"}},"\\",-1),Po=o(' celestia light init --p2p.network $NETWORK',1),ko={class:"shiki github-light vp-code-light"},mo=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Ao=o(' -v $HOME/my-node-store:/home/celestia \\',1),So={class:"line"},No=s("span",{style:{color:"#24292E"}}," ",-1),Bo={style:{color:"#032F62"}},Do=s("span",{style:{color:"#24292E"}}," ",-1),Ro=s("span",{style:{color:"#005CC5"}},"\\",-1),Oo=o(' celestia light init --p2p.network $NETWORK',1),Vo=o(`

    Start the node

    Run the following command to start the node:

    bash
    # --volume == -v [local path]:[container path]
    +    celestia $NODE_TYPE init [args...]

    An example init command will look similar to below:

    `,12),gs={class:"vp-code-group vp-adaptive-theme"},bs=o('
    ',1),vs={class:"blocks"},Ps={class:"language-bash vp-adaptive-theme active"},ks=s("button",{title:"Copy Code",class:"copy"},null,-1),ms=s("span",{class:"lang"},"bash",-1),As={class:"shiki github-dark vp-code-dark"},Ss=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Bs=o(' -v $HOME/my-node-store:/home/celestia \\',1),Ns={class:"line"},Ds=s("span",{style:{color:"#E1E4E8"}}," ",-1),Rs={style:{color:"#9ECBFF"}},Os=s("span",{style:{color:"#E1E4E8"}}," ",-1),Is=s("span",{style:{color:"#79B8FF"}},"\\",-1),Vs=o(' celestia light init --p2p.network $NETWORK',1),fs={class:"shiki github-light vp-code-light"},$s=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),ws=o(' -v $HOME/my-node-store:/home/celestia \\',1),Ws={class:"line"},Ks=s("span",{style:{color:"#24292E"}}," ",-1),Ys={style:{color:"#032F62"}},Ms=s("span",{style:{color:"#24292E"}}," ",-1),xs=s("span",{style:{color:"#005CC5"}},"\\",-1),qs=o(' celestia light init --p2p.network $NETWORK',1),Ls={class:"language-bash vp-adaptive-theme"},Hs=s("button",{title:"Copy Code",class:"copy"},null,-1),Us=s("span",{class:"lang"},"bash",-1),Xs={class:"shiki github-dark vp-code-dark"},zs=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),js=o(' -v $HOME/my-node-store:/home/celestia \\',1),Gs={class:"line"},Js=s("span",{style:{color:"#E1E4E8"}}," ",-1),Qs={style:{color:"#9ECBFF"}},Zs=s("span",{style:{color:"#E1E4E8"}}," ",-1),so=s("span",{style:{color:"#79B8FF"}},"\\",-1),oo=o(' celestia light init --p2p.network $NETWORK',1),ao={class:"shiki github-light vp-code-light"},no=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),eo=o(' -v $HOME/my-node-store:/home/celestia \\',1),lo={class:"line"},to=s("span",{style:{color:"#24292E"}}," ",-1),po={style:{color:"#032F62"}},co=s("span",{style:{color:"#24292E"}}," ",-1),ro=s("span",{style:{color:"#005CC5"}},"\\",-1),_o=o(' celestia light init --p2p.network $NETWORK',1),io={class:"language-bash vp-adaptive-theme"},Eo=s("button",{title:"Copy Code",class:"copy"},null,-1),yo=s("span",{class:"lang"},"bash",-1),ho={class:"shiki github-dark vp-code-dark"},To=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Fo=o(' -v $HOME/my-node-store:/home/celestia \\',1),Co={class:"line"},uo=s("span",{style:{color:"#E1E4E8"}}," ",-1),go={style:{color:"#9ECBFF"}},bo=s("span",{style:{color:"#E1E4E8"}}," ",-1),vo=s("span",{style:{color:"#79B8FF"}},"\\",-1),Po=o(' celestia light init --p2p.network $NETWORK',1),ko={class:"shiki github-light vp-code-light"},mo=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Ao=o(' -v $HOME/my-node-store:/home/celestia \\',1),So={class:"line"},Bo=s("span",{style:{color:"#24292E"}}," ",-1),No={style:{color:"#032F62"}},Do=s("span",{style:{color:"#24292E"}}," ",-1),Ro=s("span",{style:{color:"#005CC5"}},"\\",-1),Oo=o(' celestia light init --p2p.network $NETWORK',1),Io=o(`

    Start the node

    Run the following command to start the node:

    bash
    # --volume == -v [local path]:[container path]
     docker run [...args] -v $HOME/my-node-store:/home/celestia \\
         celestia <node-type> start [...args]
    # --volume == -v [local path]:[container path]
     docker run [...args] -v $HOME/my-node-store:/home/celestia \\
    -    celestia <node-type> start [...args]

    A full start command will look similar to below.

    `,4),Io={class:"vp-code-group vp-adaptive-theme"},fo=o('
    ',1),$o={class:"blocks"},Wo={class:"language-bash vp-adaptive-theme active"},Yo=s("button",{title:"Copy Code",class:"copy"},null,-1),wo=s("span",{class:"lang"},"bash",-1),Ko={class:"shiki github-dark vp-code-dark"},Mo=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),xo=o(' -v $HOME/my-node-store:/home/celestia \\',1),Ho={class:"line"},qo=s("span",{style:{color:"#E1E4E8"}}," ",-1),Lo={style:{color:"#9ECBFF"}},Uo=s("span",{style:{color:"#E1E4E8"}}," ",-1),zo=s("span",{style:{color:"#79B8FF"}},"\\",-1),Jo=o(' celestia light start --core.ip $RPC_URL',1),Xo={class:"shiki github-light vp-code-light"},Go=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Qo=o(' -v $HOME/my-node-store:/home/celestia \\',1),jo={class:"line"},Zo=s("span",{style:{color:"#24292E"}}," ",-1),sa={style:{color:"#032F62"}},oa=s("span",{style:{color:"#24292E"}}," ",-1),aa=s("span",{style:{color:"#005CC5"}},"\\",-1),na=o(' celestia light start --core.ip $RPC_URL',1),ea={class:"language-bash vp-adaptive-theme"},la=s("button",{title:"Copy Code",class:"copy"},null,-1),ta=s("span",{class:"lang"},"bash",-1),pa={class:"shiki github-dark vp-code-dark"},ca=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),ra=o(' -v $HOME/my-node-store:/home/celestia \\',1),_a={class:"line"},ia=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ea={style:{color:"#9ECBFF"}},ya=s("span",{style:{color:"#E1E4E8"}}," ",-1),da=s("span",{style:{color:"#79B8FF"}},"\\",-1),ha=o(' celestia light start --core.ip $RPC_URL',1),Ta={class:"shiki github-light vp-code-light"},Fa=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Ca=o(' -v $HOME/my-node-store:/home/celestia \\',1),ua={class:"line"},ga=s("span",{style:{color:"#24292E"}}," ",-1),ba={style:{color:"#032F62"}},va=s("span",{style:{color:"#24292E"}}," ",-1),Pa=s("span",{style:{color:"#005CC5"}},"\\",-1),ka=o(' celestia light start --core.ip $RPC_URL',1),ma={class:"language-bash vp-adaptive-theme"},Aa=s("button",{title:"Copy Code",class:"copy"},null,-1),Sa=s("span",{class:"lang"},"bash",-1),Na={class:"shiki github-dark vp-code-dark"},Ba=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Da=o(' -v $HOME/my-node-store:/home/celestia \\',1),Ra={class:"line"},Oa=s("span",{style:{color:"#E1E4E8"}}," ",-1),Va={style:{color:"#9ECBFF"}},Ia=s("span",{style:{color:"#E1E4E8"}}," ",-1),fa=s("span",{style:{color:"#79B8FF"}},"\\",-1),$a=o(' celestia light start --core.ip $RPC_URL',1),Wa={class:"shiki github-light vp-code-light"},Ya=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),wa=o(' -v $HOME/my-node-store:/home/celestia \\',1),Ka={class:"line"},Ma=s("span",{style:{color:"#24292E"}}," ",-1),xa={style:{color:"#032F62"}},Ha=s("span",{style:{color:"#24292E"}}," ",-1),qa=s("span",{style:{color:"#005CC5"}},"\\",-1),La=o(' celestia light start --core.ip $RPC_URL',1),Ua=s("p",null,"Congratulations! You now have a node running with persistent storage.",-1),za=s("h2",{id:"video-walkthrough",tabindex:"-1"},[a("Video walkthrough "),s("a",{class:"header-anchor",href:"#video-walkthrough","aria-label":'Permalink to "Video walkthrough"'},"​")],-1),Ja=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Running a Celestia light node",src:"https://youtube.com/embed/WFubhQc8tGk",allowfullscreen:""})],-1),Xa=s("h3",{id:"_2-5-minute-version",tabindex:"-1"},[a("2.5 minute version "),s("a",{class:"header-anchor",href:"#_2-5-minute-version","aria-label":'Permalink to "2.5 minute version"'},"​")],-1),Ga=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Running a Celestia light node",src:"https://youtube.com/embed/ROZv871Q7RM",allowfullscreen:""})],-1),Qa=s("h2",{id:"troubleshooting",tabindex:"-1"},[a("Troubleshooting "),s("a",{class:"header-anchor",href:"#troubleshooting","aria-label":'Permalink to "Troubleshooting"'},"​")],-1),ja=s("p",null,[a("For security purposes Celestia expects to interact with the your node's keys in a read-only manner. This is enforced using linux style permissions on the filesystem. Windows NTFS does not support these types of permissions. As a result the recommended path for Windows users to mount a persisted volume is to do so within WSL. You can find "),s("a",{href:"https://learn.microsoft.com/en-us/windows/wsl/install",target:"_blank",rel:"noreferrer"},"instructions for installing WSL"),a(".")],-1),pn=JSON.parse('{"title":"🐳 Docker setup","description":"Running Celestia Node using Docker.","frontmatter":{"sidebar_label":"Docker images","description":"Running Celestia Node using Docker.","head":[["meta",{"name":"og:title","content":"🐳 Docker setup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/docker-images.md","filePath":"nodes/docker-images.md","lastUpdated":1705009966000}'),Za={name:"nodes/docker-images.md"},cn=Object.assign(Za,{setup(sn){return(on,an)=>(c(),r("div",null,[_,s("ol",null,[i,s("li",null,[E,s("div",y,[d,s("div",h,[s("div",T,[F,C,s("pre",u,[s("code",null,[g,a(` + celestia <node-type> start [...args]

    A full start command will look similar to below.

    `,4),Vo={class:"vp-code-group vp-adaptive-theme"},fo=o('
    ',1),$o={class:"blocks"},wo={class:"language-bash vp-adaptive-theme active"},Wo=s("button",{title:"Copy Code",class:"copy"},null,-1),Ko=s("span",{class:"lang"},"bash",-1),Yo={class:"shiki github-dark vp-code-dark"},Mo=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),xo=o(' -v $HOME/my-node-store:/home/celestia \\',1),qo={class:"line"},Lo=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ho={style:{color:"#9ECBFF"}},Uo=s("span",{style:{color:"#E1E4E8"}}," ",-1),Xo=s("span",{style:{color:"#79B8FF"}},"\\",-1),zo=o(' celestia light start --core.ip $RPC_URL',1),jo={class:"shiki github-light vp-code-light"},Go=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Jo=o(' -v $HOME/my-node-store:/home/celestia \\',1),Qo={class:"line"},Zo=s("span",{style:{color:"#24292E"}}," ",-1),sa={style:{color:"#032F62"}},oa=s("span",{style:{color:"#24292E"}}," ",-1),aa=s("span",{style:{color:"#005CC5"}},"\\",-1),na=o(' celestia light start --core.ip $RPC_URL',1),ea={class:"language-bash vp-adaptive-theme"},la=s("button",{title:"Copy Code",class:"copy"},null,-1),ta=s("span",{class:"lang"},"bash",-1),pa={class:"shiki github-dark vp-code-dark"},ca=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),ra=o(' -v $HOME/my-node-store:/home/celestia \\',1),_a={class:"line"},ia=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ea={style:{color:"#9ECBFF"}},ya=s("span",{style:{color:"#E1E4E8"}}," ",-1),da=s("span",{style:{color:"#79B8FF"}},"\\",-1),ha=o(' celestia light start --core.ip $RPC_URL',1),Ta={class:"shiki github-light vp-code-light"},Fa=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Ca=o(' -v $HOME/my-node-store:/home/celestia \\',1),ua={class:"line"},ga=s("span",{style:{color:"#24292E"}}," ",-1),ba={style:{color:"#032F62"}},va=s("span",{style:{color:"#24292E"}}," ",-1),Pa=s("span",{style:{color:"#005CC5"}},"\\",-1),ka=o(' celestia light start --core.ip $RPC_URL',1),ma={class:"language-bash vp-adaptive-theme"},Aa=s("button",{title:"Copy Code",class:"copy"},null,-1),Sa=s("span",{class:"lang"},"bash",-1),Ba={class:"shiki github-dark vp-code-dark"},Na=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Da=o(' -v $HOME/my-node-store:/home/celestia \\',1),Ra={class:"line"},Oa=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ia={style:{color:"#9ECBFF"}},Va=s("span",{style:{color:"#E1E4E8"}}," ",-1),fa=s("span",{style:{color:"#79B8FF"}},"\\",-1),$a=o(' celestia light start --core.ip $RPC_URL',1),wa={class:"shiki github-light vp-code-light"},Wa=o('docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \\',1),Ka=o(' -v $HOME/my-node-store:/home/celestia \\',1),Ya={class:"line"},Ma=s("span",{style:{color:"#24292E"}}," ",-1),xa={style:{color:"#032F62"}},qa=s("span",{style:{color:"#24292E"}}," ",-1),La=s("span",{style:{color:"#005CC5"}},"\\",-1),Ha=o(' celestia light start --core.ip $RPC_URL',1),Ua=s("p",null,"Congratulations! You now have a node running with persistent storage.",-1),Xa=s("h2",{id:"video-walkthrough",tabindex:"-1"},[a("Video walkthrough "),s("a",{class:"header-anchor",href:"#video-walkthrough","aria-label":'Permalink to "Video walkthrough"'},"​")],-1),za=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Running a Celestia light node",src:"https://youtube.com/embed/WFubhQc8tGk",allowfullscreen:""})],-1),ja=s("h3",{id:"_2-5-minute-version",tabindex:"-1"},[a("2.5 minute version "),s("a",{class:"header-anchor",href:"#_2-5-minute-version","aria-label":'Permalink to "2.5 minute version"'},"​")],-1),Ga=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Running a Celestia light node",src:"https://youtube.com/embed/ROZv871Q7RM",allowfullscreen:""})],-1),Ja=s("h2",{id:"troubleshooting",tabindex:"-1"},[a("Troubleshooting "),s("a",{class:"header-anchor",href:"#troubleshooting","aria-label":'Permalink to "Troubleshooting"'},"​")],-1),Qa=s("p",null,[a("For security purposes Celestia expects to interact with the your node's keys in a read-only manner. This is enforced using linux style permissions on the filesystem. Windows NTFS does not support these types of permissions. As a result the recommended path for Windows users to mount a persisted volume is to do so within WSL. You can find "),s("a",{href:"https://learn.microsoft.com/en-us/windows/wsl/install",target:"_blank",rel:"noreferrer"},"instructions for installing WSL"),a(".")],-1),pn=JSON.parse('{"title":"🐳 Docker setup","description":"Running Celestia Node using Docker.","frontmatter":{"sidebar_label":"Docker images","description":"Running Celestia Node using Docker.","head":[["meta",{"name":"og:title","content":"🐳 Docker setup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/docker-images.md","filePath":"nodes/docker-images.md","lastUpdated":1705010189000}'),Za={name:"nodes/docker-images.md"},cn=Object.assign(Za,{setup(sn){return(on,an)=>(c(),r("div",null,[_,s("ol",null,[i,s("li",null,[E,s("div",y,[d,s("div",h,[s("div",T,[F,C,s("pre",u,[s("code",null,[g,a(` `),s("span",b,[v,s("span",P,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),k,m]),a(` -`),A])]),s("pre",S,[s("code",null,[N,a(` -`),s("span",B,[D,s("span",R,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),O,V]),a(` -`),I])])]),s("div",f,[$,W,s("pre",Y,[s("code",null,[w,a(` -`),s("span",K,[M,s("span",x,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),H,q]),a(` -`),L])]),s("pre",U,[s("code",null,[z,a(` -`),s("span",J,[X,s("span",G,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),Q,j]),a(` +`),A])]),s("pre",S,[s("code",null,[B,a(` +`),s("span",N,[D,s("span",R,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),O,I]),a(` +`),V])])]),s("div",f,[$,w,s("pre",W,[s("code",null,[K,a(` +`),s("span",Y,[M,s("span",x,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),q,L]),a(` +`),H])]),s("pre",U,[s("code",null,[X,a(` +`),s("span",z,[j,s("span",G,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),J,Q]),a(` `),Z])])]),s("div",ss,[os,as,s("pre",ns,[s("code",null,[es,a(` `),s("span",ls,[ts,s("span",ps,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),cs,rs]),a(` `),_s])]),s("pre",is,[s("code",null,[Es,a(` `),s("span",ys,[ds,s("span",hs,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Ts,Fs]),a(` `),Cs])])])])])])]),us,s("div",gs,[bs,s("div",vs,[s("div",Ps,[ks,ms,s("pre",As,[s("code",null,[Ss,a(` -`),Ns,a(` -`),s("span",Bs,[Ds,s("span",Rs,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Os,Vs]),a(` -`),Is])]),s("pre",fs,[s("code",null,[$s,a(` -`),Ws,a(` -`),s("span",Ys,[ws,s("span",Ks,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Ms,xs]),a(` -`),Hs])])]),s("div",qs,[Ls,Us,s("pre",zs,[s("code",null,[Js,a(` -`),Xs,a(` -`),s("span",Gs,[Qs,s("span",js,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),Zs,so]),a(` +`),Bs,a(` +`),s("span",Ns,[Ds,s("span",Rs,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Os,Is]),a(` +`),Vs])]),s("pre",fs,[s("code",null,[$s,a(` +`),ws,a(` +`),s("span",Ws,[Ks,s("span",Ys,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Ms,xs]),a(` +`),qs])])]),s("div",Ls,[Hs,Us,s("pre",Xs,[s("code",null,[zs,a(` +`),js,a(` +`),s("span",Gs,[Js,s("span",Qs,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),Zs,so]),a(` `),oo])]),s("pre",ao,[s("code",null,[no,a(` `),eo,a(` `),s("span",lo,[to,s("span",po,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),co,ro]),a(` @@ -37,23 +37,23 @@ import{a as l}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./c `),s("span",Co,[uo,s("span",go,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),bo,vo]),a(` `),Po])]),s("pre",ko,[s("code",null,[mo,a(` `),Ao,a(` -`),s("span",So,[No,s("span",Bo,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Do,Ro]),a(` -`),Oo])])])])]),Vo,s("div",Io,[fo,s("div",$o,[s("div",Wo,[Yo,wo,s("pre",Ko,[s("code",null,[Mo,a(` +`),s("span",So,[Bo,s("span",No,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Do,Ro]),a(` +`),Oo])])])])]),Io,s("div",Vo,[fo,s("div",$o,[s("div",wo,[Wo,Ko,s("pre",Yo,[s("code",null,[Mo,a(` `),xo,a(` -`),s("span",Ho,[qo,s("span",Lo,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Uo,zo]),a(` -`),Jo])]),s("pre",Xo,[s("code",null,[Go,a(` -`),Qo,a(` -`),s("span",jo,[Zo,s("span",sa,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),oa,aa]),a(` +`),s("span",qo,[Lo,s("span",Ho,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Uo,Xo]),a(` +`),zo])]),s("pre",jo,[s("code",null,[Go,a(` +`),Jo,a(` +`),s("span",Qo,[Zo,s("span",sa,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),oa,aa]),a(` `),na])])]),s("div",ea,[la,ta,s("pre",pa,[s("code",null,[ca,a(` `),ra,a(` `),s("span",_a,[ia,s("span",Ea,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),ya,da]),a(` `),ha])]),s("pre",Ta,[s("code",null,[Fa,a(` `),Ca,a(` `),s("span",ua,[ga,s("span",ba,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),va,Pa]),a(` -`),ka])])]),s("div",ma,[Aa,Sa,s("pre",Na,[s("code",null,[Ba,a(` +`),ka])])]),s("div",ma,[Aa,Sa,s("pre",Ba,[s("code",null,[Na,a(` `),Da,a(` -`),s("span",Ra,[Oa,s("span",Va,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Ia,fa]),a(` -`),$a])]),s("pre",Wa,[s("code",null,[Ya,a(` -`),wa,a(` -`),s("span",Ka,[Ma,s("span",xa,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Ha,qa]),a(` -`),La])])])])]),Ua,za,Ja,Xa,Ga,Qa,ja]))}});export{pn as __pageData,cn as default}; +`),s("span",Ra,[Oa,s("span",Ia,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Va,fa]),a(` +`),$a])]),s("pre",wa,[s("code",null,[Wa,a(` +`),Ka,a(` +`),s("span",Ya,[Ma,s("span",xa,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),qa,La]),a(` +`),Ha])])])])]),Ua,Xa,za,ja,Ga,Ja,Qa]))}});export{pn as __pageData,cn as default}; diff --git a/pr-preview/pr-1358/assets/nodes_docker-images.md.14cb58a7.lean.js b/pr-preview/pr-1358/assets/nodes_docker-images.md.db62ba23.lean.js similarity index 61% rename from pr-preview/pr-1358/assets/nodes_docker-images.md.14cb58a7.lean.js rename to pr-preview/pr-1358/assets/nodes_docker-images.md.db62ba23.lean.js index d8cf5737a4..e521969425 100644 --- a/pr-preview/pr-1358/assets/nodes_docker-images.md.14cb58a7.lean.js +++ b/pr-preview/pr-1358/assets/nodes_docker-images.md.db62ba23.lean.js @@ -1,24 +1,24 @@ -import{a as l}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./chunks/mocha_versions.7e950c54.js";import{m as p}from"./chunks/mainnet_versions.7e950c54.js";import{o as c,c as r,k as s,a,t as n,l as e,Q as o}from"./chunks/framework.2263f03b.js";const _=o("",9),i=o("",3),E=s("p",null,"Run the image from the command line:",-1),y={class:"vp-code-group vp-adaptive-theme"},d=o("",1),h={class:"blocks"},T={class:"language-bash vp-adaptive-theme active"},F=s("button",{title:"Copy Code",class:"copy"},null,-1),C=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g=o("",1),b={class:"line"},v=s("span",{style:{color:"#E1E4E8"}}," ",-1),P={style:{color:"#9ECBFF"}},k=s("span",{style:{color:"#E1E4E8"}}," ",-1),m=s("span",{style:{color:"#79B8FF"}},"\\",-1),A=o("",1),S={class:"shiki github-light vp-code-light"},N=o("",1),B={class:"line"},D=s("span",{style:{color:"#24292E"}}," ",-1),R={style:{color:"#032F62"}},O=s("span",{style:{color:"#24292E"}}," ",-1),V=s("span",{style:{color:"#005CC5"}},"\\",-1),I=o("",1),f={class:"language-bash vp-adaptive-theme"},$=s("button",{title:"Copy Code",class:"copy"},null,-1),W=s("span",{class:"lang"},"bash",-1),Y={class:"shiki github-dark vp-code-dark"},w=o("",1),K={class:"line"},M=s("span",{style:{color:"#E1E4E8"}}," ",-1),x={style:{color:"#9ECBFF"}},H=s("span",{style:{color:"#E1E4E8"}}," ",-1),q=s("span",{style:{color:"#79B8FF"}},"\\",-1),L=o("",1),U={class:"shiki github-light vp-code-light"},z=o("",1),J={class:"line"},X=s("span",{style:{color:"#24292E"}}," ",-1),G={style:{color:"#032F62"}},Q=s("span",{style:{color:"#24292E"}}," ",-1),j=s("span",{style:{color:"#005CC5"}},"\\",-1),Z=o("",1),ss={class:"language-bash vp-adaptive-theme"},os=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"bash",-1),ns={class:"shiki github-dark vp-code-dark"},es=o("",1),ls={class:"line"},ts=s("span",{style:{color:"#E1E4E8"}}," ",-1),ps={style:{color:"#9ECBFF"}},cs=s("span",{style:{color:"#E1E4E8"}}," ",-1),rs=s("span",{style:{color:"#79B8FF"}},"\\",-1),_s=o("",1),is={class:"shiki github-light vp-code-light"},Es=o("",1),ys={class:"line"},ds=s("span",{style:{color:"#24292E"}}," ",-1),hs={style:{color:"#032F62"}},Ts=s("span",{style:{color:"#24292E"}}," ",-1),Fs=s("span",{style:{color:"#005CC5"}},"\\",-1),Cs=o("",1),us=o("",12),gs={class:"vp-code-group vp-adaptive-theme"},bs=o("",1),vs={class:"blocks"},Ps={class:"language-bash vp-adaptive-theme active"},ks=s("button",{title:"Copy Code",class:"copy"},null,-1),ms=s("span",{class:"lang"},"bash",-1),As={class:"shiki github-dark vp-code-dark"},Ss=o("",1),Ns=o("",1),Bs={class:"line"},Ds=s("span",{style:{color:"#E1E4E8"}}," ",-1),Rs={style:{color:"#9ECBFF"}},Os=s("span",{style:{color:"#E1E4E8"}}," ",-1),Vs=s("span",{style:{color:"#79B8FF"}},"\\",-1),Is=o("",1),fs={class:"shiki github-light vp-code-light"},$s=o("",1),Ws=o("",1),Ys={class:"line"},ws=s("span",{style:{color:"#24292E"}}," ",-1),Ks={style:{color:"#032F62"}},Ms=s("span",{style:{color:"#24292E"}}," ",-1),xs=s("span",{style:{color:"#005CC5"}},"\\",-1),Hs=o("",1),qs={class:"language-bash vp-adaptive-theme"},Ls=s("button",{title:"Copy Code",class:"copy"},null,-1),Us=s("span",{class:"lang"},"bash",-1),zs={class:"shiki github-dark vp-code-dark"},Js=o("",1),Xs=o("",1),Gs={class:"line"},Qs=s("span",{style:{color:"#E1E4E8"}}," ",-1),js={style:{color:"#9ECBFF"}},Zs=s("span",{style:{color:"#E1E4E8"}}," ",-1),so=s("span",{style:{color:"#79B8FF"}},"\\",-1),oo=o("",1),ao={class:"shiki github-light vp-code-light"},no=o("",1),eo=o("",1),lo={class:"line"},to=s("span",{style:{color:"#24292E"}}," ",-1),po={style:{color:"#032F62"}},co=s("span",{style:{color:"#24292E"}}," ",-1),ro=s("span",{style:{color:"#005CC5"}},"\\",-1),_o=o("",1),io={class:"language-bash vp-adaptive-theme"},Eo=s("button",{title:"Copy Code",class:"copy"},null,-1),yo=s("span",{class:"lang"},"bash",-1),ho={class:"shiki github-dark vp-code-dark"},To=o("",1),Fo=o("",1),Co={class:"line"},uo=s("span",{style:{color:"#E1E4E8"}}," ",-1),go={style:{color:"#9ECBFF"}},bo=s("span",{style:{color:"#E1E4E8"}}," ",-1),vo=s("span",{style:{color:"#79B8FF"}},"\\",-1),Po=o("",1),ko={class:"shiki github-light vp-code-light"},mo=o("",1),Ao=o("",1),So={class:"line"},No=s("span",{style:{color:"#24292E"}}," ",-1),Bo={style:{color:"#032F62"}},Do=s("span",{style:{color:"#24292E"}}," ",-1),Ro=s("span",{style:{color:"#005CC5"}},"\\",-1),Oo=o("",1),Vo=o("",4),Io={class:"vp-code-group vp-adaptive-theme"},fo=o("",1),$o={class:"blocks"},Wo={class:"language-bash vp-adaptive-theme active"},Yo=s("button",{title:"Copy Code",class:"copy"},null,-1),wo=s("span",{class:"lang"},"bash",-1),Ko={class:"shiki github-dark vp-code-dark"},Mo=o("",1),xo=o("",1),Ho={class:"line"},qo=s("span",{style:{color:"#E1E4E8"}}," ",-1),Lo={style:{color:"#9ECBFF"}},Uo=s("span",{style:{color:"#E1E4E8"}}," ",-1),zo=s("span",{style:{color:"#79B8FF"}},"\\",-1),Jo=o("",1),Xo={class:"shiki github-light vp-code-light"},Go=o("",1),Qo=o("",1),jo={class:"line"},Zo=s("span",{style:{color:"#24292E"}}," ",-1),sa={style:{color:"#032F62"}},oa=s("span",{style:{color:"#24292E"}}," ",-1),aa=s("span",{style:{color:"#005CC5"}},"\\",-1),na=o("",1),ea={class:"language-bash vp-adaptive-theme"},la=s("button",{title:"Copy Code",class:"copy"},null,-1),ta=s("span",{class:"lang"},"bash",-1),pa={class:"shiki github-dark vp-code-dark"},ca=o("",1),ra=o("",1),_a={class:"line"},ia=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ea={style:{color:"#9ECBFF"}},ya=s("span",{style:{color:"#E1E4E8"}}," ",-1),da=s("span",{style:{color:"#79B8FF"}},"\\",-1),ha=o("",1),Ta={class:"shiki github-light vp-code-light"},Fa=o("",1),Ca=o("",1),ua={class:"line"},ga=s("span",{style:{color:"#24292E"}}," ",-1),ba={style:{color:"#032F62"}},va=s("span",{style:{color:"#24292E"}}," ",-1),Pa=s("span",{style:{color:"#005CC5"}},"\\",-1),ka=o("",1),ma={class:"language-bash vp-adaptive-theme"},Aa=s("button",{title:"Copy Code",class:"copy"},null,-1),Sa=s("span",{class:"lang"},"bash",-1),Na={class:"shiki github-dark vp-code-dark"},Ba=o("",1),Da=o("",1),Ra={class:"line"},Oa=s("span",{style:{color:"#E1E4E8"}}," ",-1),Va={style:{color:"#9ECBFF"}},Ia=s("span",{style:{color:"#E1E4E8"}}," ",-1),fa=s("span",{style:{color:"#79B8FF"}},"\\",-1),$a=o("",1),Wa={class:"shiki github-light vp-code-light"},Ya=o("",1),wa=o("",1),Ka={class:"line"},Ma=s("span",{style:{color:"#24292E"}}," ",-1),xa={style:{color:"#032F62"}},Ha=s("span",{style:{color:"#24292E"}}," ",-1),qa=s("span",{style:{color:"#005CC5"}},"\\",-1),La=o("",1),Ua=s("p",null,"Congratulations! You now have a node running with persistent storage.",-1),za=s("h2",{id:"video-walkthrough",tabindex:"-1"},[a("Video walkthrough "),s("a",{class:"header-anchor",href:"#video-walkthrough","aria-label":'Permalink to "Video walkthrough"'},"​")],-1),Ja=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Running a Celestia light node",src:"https://youtube.com/embed/WFubhQc8tGk",allowfullscreen:""})],-1),Xa=s("h3",{id:"_2-5-minute-version",tabindex:"-1"},[a("2.5 minute version "),s("a",{class:"header-anchor",href:"#_2-5-minute-version","aria-label":'Permalink to "2.5 minute version"'},"​")],-1),Ga=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Running a Celestia light node",src:"https://youtube.com/embed/ROZv871Q7RM",allowfullscreen:""})],-1),Qa=s("h2",{id:"troubleshooting",tabindex:"-1"},[a("Troubleshooting "),s("a",{class:"header-anchor",href:"#troubleshooting","aria-label":'Permalink to "Troubleshooting"'},"​")],-1),ja=s("p",null,[a("For security purposes Celestia expects to interact with the your node's keys in a read-only manner. This is enforced using linux style permissions on the filesystem. Windows NTFS does not support these types of permissions. As a result the recommended path for Windows users to mount a persisted volume is to do so within WSL. You can find "),s("a",{href:"https://learn.microsoft.com/en-us/windows/wsl/install",target:"_blank",rel:"noreferrer"},"instructions for installing WSL"),a(".")],-1),pn=JSON.parse('{"title":"🐳 Docker setup","description":"Running Celestia Node using Docker.","frontmatter":{"sidebar_label":"Docker images","description":"Running Celestia Node using Docker.","head":[["meta",{"name":"og:title","content":"🐳 Docker setup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/docker-images.md","filePath":"nodes/docker-images.md","lastUpdated":1705009966000}'),Za={name:"nodes/docker-images.md"},cn=Object.assign(Za,{setup(sn){return(on,an)=>(c(),r("div",null,[_,s("ol",null,[i,s("li",null,[E,s("div",y,[d,s("div",h,[s("div",T,[F,C,s("pre",u,[s("code",null,[g,a(` +import{a as l}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./chunks/mocha_versions.7e950c54.js";import{m as p}from"./chunks/mainnet_versions.7e950c54.js";import{o as c,c as r,k as s,a,t as n,l as e,Q as o}from"./chunks/framework.2263f03b.js";const _=o("",9),i=o("",3),E=s("p",null,"Run the image from the command line:",-1),y={class:"vp-code-group vp-adaptive-theme"},d=o("",1),h={class:"blocks"},T={class:"language-bash vp-adaptive-theme active"},F=s("button",{title:"Copy Code",class:"copy"},null,-1),C=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g=o("",1),b={class:"line"},v=s("span",{style:{color:"#E1E4E8"}}," ",-1),P={style:{color:"#9ECBFF"}},k=s("span",{style:{color:"#E1E4E8"}}," ",-1),m=s("span",{style:{color:"#79B8FF"}},"\\",-1),A=o("",1),S={class:"shiki github-light vp-code-light"},B=o("",1),N={class:"line"},D=s("span",{style:{color:"#24292E"}}," ",-1),R={style:{color:"#032F62"}},O=s("span",{style:{color:"#24292E"}}," ",-1),I=s("span",{style:{color:"#005CC5"}},"\\",-1),V=o("",1),f={class:"language-bash vp-adaptive-theme"},$=s("button",{title:"Copy Code",class:"copy"},null,-1),w=s("span",{class:"lang"},"bash",-1),W={class:"shiki github-dark vp-code-dark"},K=o("",1),Y={class:"line"},M=s("span",{style:{color:"#E1E4E8"}}," ",-1),x={style:{color:"#9ECBFF"}},q=s("span",{style:{color:"#E1E4E8"}}," ",-1),L=s("span",{style:{color:"#79B8FF"}},"\\",-1),H=o("",1),U={class:"shiki github-light vp-code-light"},X=o("",1),z={class:"line"},j=s("span",{style:{color:"#24292E"}}," ",-1),G={style:{color:"#032F62"}},J=s("span",{style:{color:"#24292E"}}," ",-1),Q=s("span",{style:{color:"#005CC5"}},"\\",-1),Z=o("",1),ss={class:"language-bash vp-adaptive-theme"},os=s("button",{title:"Copy Code",class:"copy"},null,-1),as=s("span",{class:"lang"},"bash",-1),ns={class:"shiki github-dark vp-code-dark"},es=o("",1),ls={class:"line"},ts=s("span",{style:{color:"#E1E4E8"}}," ",-1),ps={style:{color:"#9ECBFF"}},cs=s("span",{style:{color:"#E1E4E8"}}," ",-1),rs=s("span",{style:{color:"#79B8FF"}},"\\",-1),_s=o("",1),is={class:"shiki github-light vp-code-light"},Es=o("",1),ys={class:"line"},ds=s("span",{style:{color:"#24292E"}}," ",-1),hs={style:{color:"#032F62"}},Ts=s("span",{style:{color:"#24292E"}}," ",-1),Fs=s("span",{style:{color:"#005CC5"}},"\\",-1),Cs=o("",1),us=o("",12),gs={class:"vp-code-group vp-adaptive-theme"},bs=o("",1),vs={class:"blocks"},Ps={class:"language-bash vp-adaptive-theme active"},ks=s("button",{title:"Copy Code",class:"copy"},null,-1),ms=s("span",{class:"lang"},"bash",-1),As={class:"shiki github-dark vp-code-dark"},Ss=o("",1),Bs=o("",1),Ns={class:"line"},Ds=s("span",{style:{color:"#E1E4E8"}}," ",-1),Rs={style:{color:"#9ECBFF"}},Os=s("span",{style:{color:"#E1E4E8"}}," ",-1),Is=s("span",{style:{color:"#79B8FF"}},"\\",-1),Vs=o("",1),fs={class:"shiki github-light vp-code-light"},$s=o("",1),ws=o("",1),Ws={class:"line"},Ks=s("span",{style:{color:"#24292E"}}," ",-1),Ys={style:{color:"#032F62"}},Ms=s("span",{style:{color:"#24292E"}}," ",-1),xs=s("span",{style:{color:"#005CC5"}},"\\",-1),qs=o("",1),Ls={class:"language-bash vp-adaptive-theme"},Hs=s("button",{title:"Copy Code",class:"copy"},null,-1),Us=s("span",{class:"lang"},"bash",-1),Xs={class:"shiki github-dark vp-code-dark"},zs=o("",1),js=o("",1),Gs={class:"line"},Js=s("span",{style:{color:"#E1E4E8"}}," ",-1),Qs={style:{color:"#9ECBFF"}},Zs=s("span",{style:{color:"#E1E4E8"}}," ",-1),so=s("span",{style:{color:"#79B8FF"}},"\\",-1),oo=o("",1),ao={class:"shiki github-light vp-code-light"},no=o("",1),eo=o("",1),lo={class:"line"},to=s("span",{style:{color:"#24292E"}}," ",-1),po={style:{color:"#032F62"}},co=s("span",{style:{color:"#24292E"}}," ",-1),ro=s("span",{style:{color:"#005CC5"}},"\\",-1),_o=o("",1),io={class:"language-bash vp-adaptive-theme"},Eo=s("button",{title:"Copy Code",class:"copy"},null,-1),yo=s("span",{class:"lang"},"bash",-1),ho={class:"shiki github-dark vp-code-dark"},To=o("",1),Fo=o("",1),Co={class:"line"},uo=s("span",{style:{color:"#E1E4E8"}}," ",-1),go={style:{color:"#9ECBFF"}},bo=s("span",{style:{color:"#E1E4E8"}}," ",-1),vo=s("span",{style:{color:"#79B8FF"}},"\\",-1),Po=o("",1),ko={class:"shiki github-light vp-code-light"},mo=o("",1),Ao=o("",1),So={class:"line"},Bo=s("span",{style:{color:"#24292E"}}," ",-1),No={style:{color:"#032F62"}},Do=s("span",{style:{color:"#24292E"}}," ",-1),Ro=s("span",{style:{color:"#005CC5"}},"\\",-1),Oo=o("",1),Io=o("",4),Vo={class:"vp-code-group vp-adaptive-theme"},fo=o("",1),$o={class:"blocks"},wo={class:"language-bash vp-adaptive-theme active"},Wo=s("button",{title:"Copy Code",class:"copy"},null,-1),Ko=s("span",{class:"lang"},"bash",-1),Yo={class:"shiki github-dark vp-code-dark"},Mo=o("",1),xo=o("",1),qo={class:"line"},Lo=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ho={style:{color:"#9ECBFF"}},Uo=s("span",{style:{color:"#E1E4E8"}}," ",-1),Xo=s("span",{style:{color:"#79B8FF"}},"\\",-1),zo=o("",1),jo={class:"shiki github-light vp-code-light"},Go=o("",1),Jo=o("",1),Qo={class:"line"},Zo=s("span",{style:{color:"#24292E"}}," ",-1),sa={style:{color:"#032F62"}},oa=s("span",{style:{color:"#24292E"}}," ",-1),aa=s("span",{style:{color:"#005CC5"}},"\\",-1),na=o("",1),ea={class:"language-bash vp-adaptive-theme"},la=s("button",{title:"Copy Code",class:"copy"},null,-1),ta=s("span",{class:"lang"},"bash",-1),pa={class:"shiki github-dark vp-code-dark"},ca=o("",1),ra=o("",1),_a={class:"line"},ia=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ea={style:{color:"#9ECBFF"}},ya=s("span",{style:{color:"#E1E4E8"}}," ",-1),da=s("span",{style:{color:"#79B8FF"}},"\\",-1),ha=o("",1),Ta={class:"shiki github-light vp-code-light"},Fa=o("",1),Ca=o("",1),ua={class:"line"},ga=s("span",{style:{color:"#24292E"}}," ",-1),ba={style:{color:"#032F62"}},va=s("span",{style:{color:"#24292E"}}," ",-1),Pa=s("span",{style:{color:"#005CC5"}},"\\",-1),ka=o("",1),ma={class:"language-bash vp-adaptive-theme"},Aa=s("button",{title:"Copy Code",class:"copy"},null,-1),Sa=s("span",{class:"lang"},"bash",-1),Ba={class:"shiki github-dark vp-code-dark"},Na=o("",1),Da=o("",1),Ra={class:"line"},Oa=s("span",{style:{color:"#E1E4E8"}}," ",-1),Ia={style:{color:"#9ECBFF"}},Va=s("span",{style:{color:"#E1E4E8"}}," ",-1),fa=s("span",{style:{color:"#79B8FF"}},"\\",-1),$a=o("",1),wa={class:"shiki github-light vp-code-light"},Wa=o("",1),Ka=o("",1),Ya={class:"line"},Ma=s("span",{style:{color:"#24292E"}}," ",-1),xa={style:{color:"#032F62"}},qa=s("span",{style:{color:"#24292E"}}," ",-1),La=s("span",{style:{color:"#005CC5"}},"\\",-1),Ha=o("",1),Ua=s("p",null,"Congratulations! You now have a node running with persistent storage.",-1),Xa=s("h2",{id:"video-walkthrough",tabindex:"-1"},[a("Video walkthrough "),s("a",{class:"header-anchor",href:"#video-walkthrough","aria-label":'Permalink to "Video walkthrough"'},"​")],-1),za=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Running a Celestia light node",src:"https://youtube.com/embed/WFubhQc8tGk",allowfullscreen:""})],-1),ja=s("h3",{id:"_2-5-minute-version",tabindex:"-1"},[a("2.5 minute version "),s("a",{class:"header-anchor",href:"#_2-5-minute-version","aria-label":'Permalink to "2.5 minute version"'},"​")],-1),Ga=s("div",{class:"youtube-wrapper"},[s("iframe",{class:"youtube-video",title:"Running a Celestia light node",src:"https://youtube.com/embed/ROZv871Q7RM",allowfullscreen:""})],-1),Ja=s("h2",{id:"troubleshooting",tabindex:"-1"},[a("Troubleshooting "),s("a",{class:"header-anchor",href:"#troubleshooting","aria-label":'Permalink to "Troubleshooting"'},"​")],-1),Qa=s("p",null,[a("For security purposes Celestia expects to interact with the your node's keys in a read-only manner. This is enforced using linux style permissions on the filesystem. Windows NTFS does not support these types of permissions. As a result the recommended path for Windows users to mount a persisted volume is to do so within WSL. You can find "),s("a",{href:"https://learn.microsoft.com/en-us/windows/wsl/install",target:"_blank",rel:"noreferrer"},"instructions for installing WSL"),a(".")],-1),pn=JSON.parse('{"title":"🐳 Docker setup","description":"Running Celestia Node using Docker.","frontmatter":{"sidebar_label":"Docker images","description":"Running Celestia Node using Docker.","head":[["meta",{"name":"og:title","content":"🐳 Docker setup | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/docker-images.md","filePath":"nodes/docker-images.md","lastUpdated":1705010189000}'),Za={name:"nodes/docker-images.md"},cn=Object.assign(Za,{setup(sn){return(on,an)=>(c(),r("div",null,[_,s("ol",null,[i,s("li",null,[E,s("div",y,[d,s("div",h,[s("div",T,[F,C,s("pre",u,[s("code",null,[g,a(` `),s("span",b,[v,s("span",P,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),k,m]),a(` -`),A])]),s("pre",S,[s("code",null,[N,a(` -`),s("span",B,[D,s("span",R,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),O,V]),a(` -`),I])])]),s("div",f,[$,W,s("pre",Y,[s("code",null,[w,a(` -`),s("span",K,[M,s("span",x,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),H,q]),a(` -`),L])]),s("pre",U,[s("code",null,[z,a(` -`),s("span",J,[X,s("span",G,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),Q,j]),a(` +`),A])]),s("pre",S,[s("code",null,[B,a(` +`),s("span",N,[D,s("span",R,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),O,I]),a(` +`),V])])]),s("div",f,[$,w,s("pre",W,[s("code",null,[K,a(` +`),s("span",Y,[M,s("span",x,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),q,L]),a(` +`),H])]),s("pre",U,[s("code",null,[X,a(` +`),s("span",z,[j,s("span",G,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),J,Q]),a(` `),Z])])]),s("div",ss,[os,as,s("pre",ns,[s("code",null,[es,a(` `),s("span",ls,[ts,s("span",ps,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),cs,rs]),a(` `),_s])]),s("pre",is,[s("code",null,[Es,a(` `),s("span",ys,[ds,s("span",hs,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Ts,Fs]),a(` `),Cs])])])])])])]),us,s("div",gs,[bs,s("div",vs,[s("div",Ps,[ks,ms,s("pre",As,[s("code",null,[Ss,a(` -`),Ns,a(` -`),s("span",Bs,[Ds,s("span",Rs,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Os,Vs]),a(` -`),Is])]),s("pre",fs,[s("code",null,[$s,a(` -`),Ws,a(` -`),s("span",Ys,[ws,s("span",Ks,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Ms,xs]),a(` -`),Hs])])]),s("div",qs,[Ls,Us,s("pre",zs,[s("code",null,[Js,a(` -`),Xs,a(` -`),s("span",Gs,[Qs,s("span",js,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),Zs,so]),a(` +`),Bs,a(` +`),s("span",Ns,[Ds,s("span",Rs,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Os,Is]),a(` +`),Vs])]),s("pre",fs,[s("code",null,[$s,a(` +`),ws,a(` +`),s("span",Ws,[Ks,s("span",Ys,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Ms,xs]),a(` +`),qs])])]),s("div",Ls,[Hs,Us,s("pre",Xs,[s("code",null,[zs,a(` +`),js,a(` +`),s("span",Gs,[Js,s("span",Qs,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),Zs,so]),a(` `),oo])]),s("pre",ao,[s("code",null,[no,a(` `),eo,a(` `),s("span",lo,[to,s("span",po,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),co,ro]),a(` @@ -27,23 +27,23 @@ import{a as l}from"./chunks/arabica_versions.9a2b5c45.js";import{m as t}from"./c `),s("span",Co,[uo,s("span",go,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),bo,vo]),a(` `),Po])]),s("pre",ko,[s("code",null,[mo,a(` `),Ao,a(` -`),s("span",So,[No,s("span",Bo,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Do,Ro]),a(` -`),Oo])])])])]),Vo,s("div",Io,[fo,s("div",$o,[s("div",Wo,[Yo,wo,s("pre",Ko,[s("code",null,[Mo,a(` +`),s("span",So,[Bo,s("span",No,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Do,Ro]),a(` +`),Oo])])])])]),Io,s("div",Vo,[fo,s("div",$o,[s("div",wo,[Wo,Ko,s("pre",Yo,[s("code",null,[Mo,a(` `),xo,a(` -`),s("span",Ho,[qo,s("span",Lo,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Uo,zo]),a(` -`),Jo])]),s("pre",Xo,[s("code",null,[Go,a(` -`),Qo,a(` -`),s("span",jo,[Zo,s("span",sa,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),oa,aa]),a(` +`),s("span",qo,[Lo,s("span",Ho,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),Uo,Xo]),a(` +`),zo])]),s("pre",jo,[s("code",null,[Go,a(` +`),Jo,a(` +`),s("span",Qo,[Zo,s("span",sa,"ghcr.io/celestiaorg/celestia-node:"+n(e(p)["node-latest-tag"]),1),oa,aa]),a(` `),na])])]),s("div",ea,[la,ta,s("pre",pa,[s("code",null,[ca,a(` `),ra,a(` `),s("span",_a,[ia,s("span",Ea,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),ya,da]),a(` `),ha])]),s("pre",Ta,[s("code",null,[Fa,a(` `),Ca,a(` `),s("span",ua,[ga,s("span",ba,"ghcr.io/celestiaorg/celestia-node:"+n(e(t)["node-latest-tag"]),1),va,Pa]),a(` -`),ka])])]),s("div",ma,[Aa,Sa,s("pre",Na,[s("code",null,[Ba,a(` +`),ka])])]),s("div",ma,[Aa,Sa,s("pre",Ba,[s("code",null,[Na,a(` `),Da,a(` -`),s("span",Ra,[Oa,s("span",Va,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Ia,fa]),a(` -`),$a])]),s("pre",Wa,[s("code",null,[Ya,a(` -`),wa,a(` -`),s("span",Ka,[Ma,s("span",xa,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Ha,qa]),a(` -`),La])])])])]),Ua,za,Ja,Xa,Ga,Qa,ja]))}});export{pn as __pageData,cn as default}; +`),s("span",Ra,[Oa,s("span",Ia,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),Va,fa]),a(` +`),$a])]),s("pre",wa,[s("code",null,[Wa,a(` +`),Ka,a(` +`),s("span",Ya,[Ma,s("span",xa,"ghcr.io/celestiaorg/celestia-node:"+n(e(l)["node-latest-tag"]),1),qa,La]),a(` +`),Ha])])])])]),Ua,Xa,za,ja,Ga,Ja,Qa]))}});export{pn as __pageData,cn as default}; diff --git a/pr-preview/pr-1358/assets/nodes_environment.md.29ebdfd7.lean.js b/pr-preview/pr-1358/assets/nodes_environment.md.29ebdfd7.lean.js deleted file mode 100644 index b88d558a53..0000000000 --- a/pr-preview/pr-1358/assets/nodes_environment.md.29ebdfd7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{c as a}from"./chunks/constants.d0f43632.js";import{o as p,c as e,k as s,t as n,l as o,Q as l}from"./chunks/framework.2263f03b.js";const t=l("",6),c=s("p",null,"Set the version for your desired network:",-1),r={class:"vp-code-group vp-adaptive-theme"},y=l("",1),i={class:"blocks"},E={class:"language-bash vp-adaptive-theme active"},d=s("button",{title:"Copy Code",class:"copy"},null,-1),F=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g={class:"line"},h=s("span",{style:{color:"#E1E4E8"}},"ver",-1),C=s("span",{style:{color:"#F97583"}},"=",-1),b={style:{color:"#9ECBFF"}},v={class:"shiki github-light vp-code-light"},m={class:"line"},B=s("span",{style:{color:"#24292E"}},"ver",-1),_=s("span",{style:{color:"#D73A49"}},"=",-1),k={style:{color:"#032F62"}},q={class:"language-bash vp-adaptive-theme"},f=s("button",{title:"Copy Code",class:"copy"},null,-1),w=s("span",{class:"lang"},"bash",-1),$={class:"shiki github-dark vp-code-dark"},A={class:"line"},z=s("span",{style:{color:"#E1E4E8"}},"ver",-1),T=s("span",{style:{color:"#F97583"}},"=",-1),M={style:{color:"#9ECBFF"}},x={class:"shiki github-light vp-code-light"},H={class:"line"},D=s("span",{style:{color:"#24292E"}},"ver",-1),O=s("span",{style:{color:"#D73A49"}},"=",-1),S={style:{color:"#032F62"}},P={class:"language-bash vp-adaptive-theme"},I=s("button",{title:"Copy Code",class:"copy"},null,-1),N=s("span",{class:"lang"},"bash",-1),V={class:"shiki github-dark vp-code-dark"},j={class:"line"},J=s("span",{style:{color:"#E1E4E8"}},"ver",-1),G=s("span",{style:{color:"#F97583"}},"=",-1),W={style:{color:"#9ECBFF"}},Y={class:"shiki github-light vp-code-light"},L={class:"line"},U=s("span",{style:{color:"#24292E"}},"ver",-1),R=s("span",{style:{color:"#D73A49"}},"=",-1),K={style:{color:"#032F62"}},X=l("",3),Q=s("p",null,"The output will show the version installed.",-1),ps=JSON.parse('{"title":"Development environment","description":"Learn to set up your development environment to run Celestia software.","frontmatter":{"description":"Learn to set up your development environment to run Celestia software.","head":[["meta",{"name":"og:title","content":"Development environment | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/environment.md","filePath":"nodes/environment.md","lastUpdated":1705009966000}'),Z={name:"nodes/environment.md"},es=Object.assign(Z,{setup(ss){return(as,ns)=>(p(),e("div",null,[t,s("ol",null,[s("li",null,[c,s("div",r,[y,s("div",i,[s("div",E,[d,F,s("pre",u,[s("code",null,[s("span",g,[h,C,s("span",b,'"'+n(o(a).golangNodeMainnet)+'"',1)])])]),s("pre",v,[s("code",null,[s("span",m,[B,_,s("span",k,'"'+n(o(a).golangNodeMainnet)+'"',1)])])])]),s("div",q,[f,w,s("pre",$,[s("code",null,[s("span",A,[z,T,s("span",M,'"'+n(o(a).golangNodeMocha)+'"',1)])])]),s("pre",x,[s("code",null,[s("span",H,[D,O,s("span",S,'"'+n(o(a).golangNodeMocha)+'"',1)])])])]),s("div",P,[I,N,s("pre",V,[s("code",null,[s("span",j,[J,G,s("span",W,'"'+n(o(a).golangNodeArabica)+'"',1)])])]),s("pre",Y,[s("code",null,[s("span",L,[U,R,s("span",K,'"'+n(o(a).golangNodeArabica)+'"',1)])])])])])])]),X]),Q]))}});export{ps as __pageData,es as default}; diff --git a/pr-preview/pr-1358/assets/nodes_environment.md.29ebdfd7.js b/pr-preview/pr-1358/assets/nodes_environment.md.dc077089.js similarity index 89% rename from pr-preview/pr-1358/assets/nodes_environment.md.29ebdfd7.js rename to pr-preview/pr-1358/assets/nodes_environment.md.dc077089.js index 853fa534a0..e6f62ac5d4 100644 --- a/pr-preview/pr-1358/assets/nodes_environment.md.29ebdfd7.js +++ b/pr-preview/pr-1358/assets/nodes_environment.md.dc077089.js @@ -1,4 +1,4 @@ -import{c as a}from"./chunks/constants.d0f43632.js";import{o as p,c as e,k as s,t as n,l as o,Q as l}from"./chunks/framework.2263f03b.js";const t=l(`

    Development environment

    This page will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.

    Install dependencies

    1. If you are on Ubuntu, first update and upgrade your OS:

      bash
      sudo apt update && sudo apt upgrade -y
      sudo apt update && sudo apt upgrade -y
      bash
      sudo yum update
      sudo yum update
    2. Install essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the node:

      bash
      sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential \\
      +import{c as a}from"./chunks/constants.d0f43632.js";import{o as p,c as e,k as s,t as n,l as o,Q as l}from"./chunks/framework.2263f03b.js";const t=l(`

      Development environment

      This page will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.

      Install dependencies

      1. If you are on Ubuntu, first update and upgrade your OS:

        bash
        sudo apt update && sudo apt upgrade -y
        sudo apt update && sudo apt upgrade -y
        bash
        sudo yum update
        sudo yum update
      2. Install essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the node:

        bash
        sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential \\
         git make ncdu -y
        sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential \\
         git make ncdu -y
        bash
        sudo yum install curl tar wget clang pkg-config libssl-dev jq build-essential \\
         git make ncdu -y
        sudo yum install curl tar wget clang pkg-config libssl-dev jq build-essential \\
        @@ -12,7 +12,7 @@ import{c as a}from"./chunks/constants.d0f43632.js";import{o as p,c as e,k as s,t
         /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
         
         # then install wget & jq
        -brew install wget && brew install jq

      Install Golang

      celestia-node is written in Golang so we must install Golang to build and run our node.

      `,6),c=s("p",null,"Set the version for your desired network:",-1),r={class:"vp-code-group vp-adaptive-theme"},y=l('
      ',1),i={class:"blocks"},E={class:"language-bash vp-adaptive-theme active"},d=s("button",{title:"Copy Code",class:"copy"},null,-1),F=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g={class:"line"},h=s("span",{style:{color:"#E1E4E8"}},"ver",-1),C=s("span",{style:{color:"#F97583"}},"=",-1),b={style:{color:"#9ECBFF"}},v={class:"shiki github-light vp-code-light"},m={class:"line"},B=s("span",{style:{color:"#24292E"}},"ver",-1),_=s("span",{style:{color:"#D73A49"}},"=",-1),k={style:{color:"#032F62"}},q={class:"language-bash vp-adaptive-theme"},f=s("button",{title:"Copy Code",class:"copy"},null,-1),w=s("span",{class:"lang"},"bash",-1),$={class:"shiki github-dark vp-code-dark"},A={class:"line"},z=s("span",{style:{color:"#E1E4E8"}},"ver",-1),T=s("span",{style:{color:"#F97583"}},"=",-1),M={style:{color:"#9ECBFF"}},x={class:"shiki github-light vp-code-light"},H={class:"line"},D=s("span",{style:{color:"#24292E"}},"ver",-1),O=s("span",{style:{color:"#D73A49"}},"=",-1),S={style:{color:"#032F62"}},P={class:"language-bash vp-adaptive-theme"},I=s("button",{title:"Copy Code",class:"copy"},null,-1),N=s("span",{class:"lang"},"bash",-1),V={class:"shiki github-dark vp-code-dark"},j={class:"line"},J=s("span",{style:{color:"#E1E4E8"}},"ver",-1),G=s("span",{style:{color:"#F97583"}},"=",-1),W={style:{color:"#9ECBFF"}},Y={class:"shiki github-light vp-code-light"},L={class:"line"},U=s("span",{style:{color:"#24292E"}},"ver",-1),R=s("span",{style:{color:"#D73A49"}},"=",-1),K={style:{color:"#032F62"}},X=l(`
    3. Download and install Golang:

      bash
      cd $HOME
      +brew install wget && brew install jq

    Install Golang

    celestia-node is written in Golang so we must install Golang to build and run our node.

    `,6),c=s("p",null,"Set the version for your desired network:",-1),r={class:"vp-code-group vp-adaptive-theme"},y=l('
    ',1),E={class:"blocks"},i={class:"language-bash vp-adaptive-theme active"},d=s("button",{title:"Copy Code",class:"copy"},null,-1),F=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g={class:"line"},h=s("span",{style:{color:"#E1E4E8"}},"ver",-1),C=s("span",{style:{color:"#F97583"}},"=",-1),b={style:{color:"#9ECBFF"}},v={class:"shiki github-light vp-code-light"},m={class:"line"},_=s("span",{style:{color:"#24292E"}},"ver",-1),B=s("span",{style:{color:"#D73A49"}},"=",-1),k={style:{color:"#032F62"}},q={class:"language-bash vp-adaptive-theme"},f=s("button",{title:"Copy Code",class:"copy"},null,-1),w=s("span",{class:"lang"},"bash",-1),$={class:"shiki github-dark vp-code-dark"},z={class:"line"},A=s("span",{style:{color:"#E1E4E8"}},"ver",-1),x=s("span",{style:{color:"#F97583"}},"=",-1),H={style:{color:"#9ECBFF"}},T={class:"shiki github-light vp-code-light"},M={class:"line"},D=s("span",{style:{color:"#24292E"}},"ver",-1),O=s("span",{style:{color:"#D73A49"}},"=",-1),P={style:{color:"#032F62"}},S={class:"language-bash vp-adaptive-theme"},N=s("button",{title:"Copy Code",class:"copy"},null,-1),V=s("span",{class:"lang"},"bash",-1),j={class:"shiki github-dark vp-code-dark"},I={class:"line"},L=s("span",{style:{color:"#E1E4E8"}},"ver",-1),G=s("span",{style:{color:"#F97583"}},"=",-1),R={style:{color:"#9ECBFF"}},X={class:"shiki github-light vp-code-light"},Y={class:"line"},U=s("span",{style:{color:"#24292E"}},"ver",-1),W=s("span",{style:{color:"#D73A49"}},"=",-1),K={style:{color:"#032F62"}},Z=l(`
  29. Download and install Golang:

    bash
    cd $HOME
     wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
     sudo rm -rf /usr/local/go
     sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
    @@ -44,8 +44,8 @@ import{c as a}from"./chunks/constants.d0f43632.js";import{o as p,c as e,k as s,t
     wget "https://golang.org/dl/go$ver.darwin-amd64.tar.gz"
     sudo rm -rf /usr/local/go
     sudo tar -C /usr/local -xzf "go$ver.darwin-amd64.tar.gz"
    -rm "go$ver.darwin-amd64.tar.gz"
  30. Add your /usr/local/go/bin directory to your $PATH if you have not already:

    bash
    echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
    +rm "go$ver.darwin-amd64.tar.gz"
  31. Add your /usr/local/go/bin directory to your $PATH if you have not already:

    bash
    echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
     source $HOME/.bash_profile
    echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
     source $HOME/.bash_profile
    bash
    echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.zshrc
     source $HOME/.zshrc
    echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.zshrc
    -source $HOME/.zshrc
  32. To verify that the correct version of Go was installed correctly run:

    bash
    go version
    go version
  33. `,3),Q=s("p",null,"The output will show the version installed.",-1),ps=JSON.parse('{"title":"Development environment","description":"Learn to set up your development environment to run Celestia software.","frontmatter":{"description":"Learn to set up your development environment to run Celestia software.","head":[["meta",{"name":"og:title","content":"Development environment | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/environment.md","filePath":"nodes/environment.md","lastUpdated":1705009966000}'),Z={name:"nodes/environment.md"},es=Object.assign(Z,{setup(ss){return(as,ns)=>(p(),e("div",null,[t,s("ol",null,[s("li",null,[c,s("div",r,[y,s("div",i,[s("div",E,[d,F,s("pre",u,[s("code",null,[s("span",g,[h,C,s("span",b,'"'+n(o(a).golangNodeMainnet)+'"',1)])])]),s("pre",v,[s("code",null,[s("span",m,[B,_,s("span",k,'"'+n(o(a).golangNodeMainnet)+'"',1)])])])]),s("div",q,[f,w,s("pre",$,[s("code",null,[s("span",A,[z,T,s("span",M,'"'+n(o(a).golangNodeMocha)+'"',1)])])]),s("pre",x,[s("code",null,[s("span",H,[D,O,s("span",S,'"'+n(o(a).golangNodeMocha)+'"',1)])])])]),s("div",P,[I,N,s("pre",V,[s("code",null,[s("span",j,[J,G,s("span",W,'"'+n(o(a).golangNodeArabica)+'"',1)])])]),s("pre",Y,[s("code",null,[s("span",L,[U,R,s("span",K,'"'+n(o(a).golangNodeArabica)+'"',1)])])])])])])]),X]),Q]))}});export{ps as __pageData,es as default}; +source $HOME/.zshrc
  34. To verify that the correct version of Go was installed correctly run:

    bash
    go version
    go version
  35. `,3),J=s("p",null,"The output will show the version installed.",-1),ps=JSON.parse('{"title":"Development environment","description":"Learn to set up your development environment to run Celestia software.","frontmatter":{"description":"Learn to set up your development environment to run Celestia software.","head":[["meta",{"name":"og:title","content":"Development environment | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/environment.md","filePath":"nodes/environment.md","lastUpdated":1705010189000}'),Q={name:"nodes/environment.md"},es=Object.assign(Q,{setup(ss){return(as,ns)=>(p(),e("div",null,[t,s("ol",null,[s("li",null,[c,s("div",r,[y,s("div",E,[s("div",i,[d,F,s("pre",u,[s("code",null,[s("span",g,[h,C,s("span",b,'"'+n(o(a).golangNodeMainnet)+'"',1)])])]),s("pre",v,[s("code",null,[s("span",m,[_,B,s("span",k,'"'+n(o(a).golangNodeMainnet)+'"',1)])])])]),s("div",q,[f,w,s("pre",$,[s("code",null,[s("span",z,[A,x,s("span",H,'"'+n(o(a).golangNodeMocha)+'"',1)])])]),s("pre",T,[s("code",null,[s("span",M,[D,O,s("span",P,'"'+n(o(a).golangNodeMocha)+'"',1)])])])]),s("div",S,[N,V,s("pre",j,[s("code",null,[s("span",I,[L,G,s("span",R,'"'+n(o(a).golangNodeArabica)+'"',1)])])]),s("pre",X,[s("code",null,[s("span",Y,[U,W,s("span",K,'"'+n(o(a).golangNodeArabica)+'"',1)])])])])])])]),Z]),J]))}});export{ps as __pageData,es as default}; diff --git a/pr-preview/pr-1358/assets/nodes_environment.md.dc077089.lean.js b/pr-preview/pr-1358/assets/nodes_environment.md.dc077089.lean.js new file mode 100644 index 0000000000..61272300ac --- /dev/null +++ b/pr-preview/pr-1358/assets/nodes_environment.md.dc077089.lean.js @@ -0,0 +1 @@ +import{c as a}from"./chunks/constants.d0f43632.js";import{o as p,c as e,k as s,t as n,l as o,Q as l}from"./chunks/framework.2263f03b.js";const t=l("",6),c=s("p",null,"Set the version for your desired network:",-1),r={class:"vp-code-group vp-adaptive-theme"},y=l("",1),E={class:"blocks"},i={class:"language-bash vp-adaptive-theme active"},d=s("button",{title:"Copy Code",class:"copy"},null,-1),F=s("span",{class:"lang"},"bash",-1),u={class:"shiki github-dark vp-code-dark"},g={class:"line"},h=s("span",{style:{color:"#E1E4E8"}},"ver",-1),C=s("span",{style:{color:"#F97583"}},"=",-1),b={style:{color:"#9ECBFF"}},v={class:"shiki github-light vp-code-light"},m={class:"line"},_=s("span",{style:{color:"#24292E"}},"ver",-1),B=s("span",{style:{color:"#D73A49"}},"=",-1),k={style:{color:"#032F62"}},q={class:"language-bash vp-adaptive-theme"},f=s("button",{title:"Copy Code",class:"copy"},null,-1),w=s("span",{class:"lang"},"bash",-1),$={class:"shiki github-dark vp-code-dark"},z={class:"line"},A=s("span",{style:{color:"#E1E4E8"}},"ver",-1),x=s("span",{style:{color:"#F97583"}},"=",-1),H={style:{color:"#9ECBFF"}},T={class:"shiki github-light vp-code-light"},M={class:"line"},D=s("span",{style:{color:"#24292E"}},"ver",-1),O=s("span",{style:{color:"#D73A49"}},"=",-1),P={style:{color:"#032F62"}},S={class:"language-bash vp-adaptive-theme"},N=s("button",{title:"Copy Code",class:"copy"},null,-1),V=s("span",{class:"lang"},"bash",-1),j={class:"shiki github-dark vp-code-dark"},I={class:"line"},L=s("span",{style:{color:"#E1E4E8"}},"ver",-1),G=s("span",{style:{color:"#F97583"}},"=",-1),R={style:{color:"#9ECBFF"}},X={class:"shiki github-light vp-code-light"},Y={class:"line"},U=s("span",{style:{color:"#24292E"}},"ver",-1),W=s("span",{style:{color:"#D73A49"}},"=",-1),K={style:{color:"#032F62"}},Z=l("",3),J=s("p",null,"The output will show the version installed.",-1),ps=JSON.parse('{"title":"Development environment","description":"Learn to set up your development environment to run Celestia software.","frontmatter":{"description":"Learn to set up your development environment to run Celestia software.","head":[["meta",{"name":"og:title","content":"Development environment | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/environment.md","filePath":"nodes/environment.md","lastUpdated":1705010189000}'),Q={name:"nodes/environment.md"},es=Object.assign(Q,{setup(ss){return(as,ns)=>(p(),e("div",null,[t,s("ol",null,[s("li",null,[c,s("div",r,[y,s("div",E,[s("div",i,[d,F,s("pre",u,[s("code",null,[s("span",g,[h,C,s("span",b,'"'+n(o(a).golangNodeMainnet)+'"',1)])])]),s("pre",v,[s("code",null,[s("span",m,[_,B,s("span",k,'"'+n(o(a).golangNodeMainnet)+'"',1)])])])]),s("div",q,[f,w,s("pre",$,[s("code",null,[s("span",z,[A,x,s("span",H,'"'+n(o(a).golangNodeMocha)+'"',1)])])]),s("pre",T,[s("code",null,[s("span",M,[D,O,s("span",P,'"'+n(o(a).golangNodeMocha)+'"',1)])])])]),s("div",S,[N,V,s("pre",j,[s("code",null,[s("span",I,[L,G,s("span",R,'"'+n(o(a).golangNodeArabica)+'"',1)])])]),s("pre",X,[s("code",null,[s("span",Y,[U,W,s("span",K,'"'+n(o(a).golangNodeArabica)+'"',1)])])])])])])]),Z]),J]))}});export{ps as __pageData,es as default}; diff --git a/pr-preview/pr-1358/assets/nodes_full-storage-node.md.23f1735f.js b/pr-preview/pr-1358/assets/nodes_full-storage-node.md.48d8403d.js similarity index 96% rename from pr-preview/pr-1358/assets/nodes_full-storage-node.md.23f1735f.js rename to pr-preview/pr-1358/assets/nodes_full-storage-node.md.48d8403d.js index cd972c63be..b7540ec774 100644 --- a/pr-preview/pr-1358/assets/nodes_full-storage-node.md.23f1735f.js +++ b/pr-preview/pr-1358/assets/nodes_full-storage-node.md.48d8403d.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/nodes/full-storage-node.png",g=JSON.parse('{"title":"Setting up a Celestia full storage Node","description":"Set up a Celestia full storage node.","frontmatter":{"description":"Set up a Celestia full storage node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia full storage Node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/full-storage-node.md","filePath":"nodes/full-storage-node.md","lastUpdated":1705009966000}'),n={name:"nodes/full-storage-node.md"},t=o('

    Setting up a Celestia full storage Node

    This tutorial will guide you through setting up a Celestia full storage node, which is a celestia-node that doesn't connect to celestia-app (hence not a full consensus node), but stores all the data.

    Overview of full storage nodes

    Full storage nodes are Celestia nodes that store all the data. Full storage nodes send block shares, headers, and fraud proofs to light nodes. The light nodes gossip headers, fraud proofs, and sometimes block shares, between one another.

    Full storage node

    Hardware requirements

    The following hardware minimum requirements are recommended for running the full storage node:

    • Memory: 4 GB RAM (minimum)
    • CPU: 6 cores
    • Disk: 10 TB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    Setting up your full storage node

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Setup the dependencies

    You can follow the tutorial for setting up your dependencies

    Install celestia-node

    You can follow the tutorial for installing celestia-node

    Run the full storage node

    Initialize the full storage node

    Run the following command:

    sh
    celestia full init
    celestia full init
    sh
    celestia full init --p2p.network mocha
    celestia full init --p2p.network mocha
    sh
    celestia full init --p2p.network arabica
    celestia full init --p2p.network arabica

    Start the full storage node

    Start the full storage node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    In order for access to the ability to get/submit state-related information, such as the ability to submit PayForBlob transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    sh
    celestia full start --core.ip <URI>
    celestia full start --core.ip <URI>

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    You can create your key for your node by following the cel-key instructions

    Once you start the full storage node, a wallet key will be generated for you. You will need to fund that address with testnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

    sh
    ./cel-key list --node.type full --keyring-backend test --p2p.network <network>
    ./cel-key list --node.type full --keyring-backend test --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    You can get testnet tokens from:

    NOTE

    If you are running a full-storage node for your sovereign rollup, it is highly recommended to request Arabica devnet tokens as Arabica has the latest changes that can be used to test for developing your sovereign rollup. You can still use Mocha testnet as well, it is just mostly used for validator operations.

    Optional: run the full storage node with a custom key

    In order to run a full storage node using a custom key:

    1. The custom key must exist inside the celestia full storage node directory at the correct path (default: ~/.celestia-full/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia full start --core.ip <URI> \\
    +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/nodes/full-storage-node.png",g=JSON.parse('{"title":"Setting up a Celestia full storage Node","description":"Set up a Celestia full storage node.","frontmatter":{"description":"Set up a Celestia full storage node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia full storage Node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/full-storage-node.md","filePath":"nodes/full-storage-node.md","lastUpdated":1705010189000}'),n={name:"nodes/full-storage-node.md"},t=o('

    Setting up a Celestia full storage Node

    This tutorial will guide you through setting up a Celestia full storage node, which is a celestia-node that doesn't connect to celestia-app (hence not a full consensus node), but stores all the data.

    Overview of full storage nodes

    Full storage nodes are Celestia nodes that store all the data. Full storage nodes send block shares, headers, and fraud proofs to light nodes. The light nodes gossip headers, fraud proofs, and sometimes block shares, between one another.

    Full storage node

    Hardware requirements

    The following hardware minimum requirements are recommended for running the full storage node:

    • Memory: 4 GB RAM (minimum)
    • CPU: 6 cores
    • Disk: 10 TB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    Setting up your full storage node

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Setup the dependencies

    You can follow the tutorial for setting up your dependencies

    Install celestia-node

    You can follow the tutorial for installing celestia-node

    Run the full storage node

    Initialize the full storage node

    Run the following command:

    sh
    celestia full init
    celestia full init
    sh
    celestia full init --p2p.network mocha
    celestia full init --p2p.network mocha
    sh
    celestia full init --p2p.network arabica
    celestia full init --p2p.network arabica

    Start the full storage node

    Start the full storage node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    In order for access to the ability to get/submit state-related information, such as the ability to submit PayForBlob transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    sh
    celestia full start --core.ip <URI>
    celestia full start --core.ip <URI>

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    You can create your key for your node by following the cel-key instructions

    Once you start the full storage node, a wallet key will be generated for you. You will need to fund that address with testnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

    sh
    ./cel-key list --node.type full --keyring-backend test --p2p.network <network>
    ./cel-key list --node.type full --keyring-backend test --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    You can get testnet tokens from:

    NOTE

    If you are running a full-storage node for your sovereign rollup, it is highly recommended to request Arabica devnet tokens as Arabica has the latest changes that can be used to test for developing your sovereign rollup. You can still use Mocha testnet as well, it is just mostly used for validator operations.

    Optional: run the full storage node with a custom key

    In order to run a full storage node using a custom key:

    1. The custom key must exist inside the celestia full storage node directory at the correct path (default: ~/.celestia-full/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia full start --core.ip <URI> \\
       --keyring.accname <name-of-custom-key> \\
    celestia full start --core.ip <URI> \\
       --keyring.accname <name-of-custom-key> \\
    sh
    celestia full start --core.ip <URI> \\
       --keyring.accname <name-of-custom-key> \\
    diff --git a/pr-preview/pr-1358/assets/nodes_full-storage-node.md.23f1735f.lean.js b/pr-preview/pr-1358/assets/nodes_full-storage-node.md.48d8403d.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_full-storage-node.md.23f1735f.lean.js
    rename to pr-preview/pr-1358/assets/nodes_full-storage-node.md.48d8403d.lean.js
    index 1aded7e341..0aa2bf4fb5 100644
    --- a/pr-preview/pr-1358/assets/nodes_full-storage-node.md.23f1735f.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_full-storage-node.md.48d8403d.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/nodes/full-storage-node.png",g=JSON.parse('{"title":"Setting up a Celestia full storage Node","description":"Set up a Celestia full storage node.","frontmatter":{"description":"Set up a Celestia full storage node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia full storage Node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/full-storage-node.md","filePath":"nodes/full-storage-node.md","lastUpdated":1705009966000}'),n={name:"nodes/full-storage-node.md"},t=o("",40),p=[t];function r(c,i,d,y,u,h){return a(),e("div",null,p)}const F=s(n,[["render",r]]);export{g as __pageData,F as default};
    +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/nodes/full-storage-node.png",g=JSON.parse('{"title":"Setting up a Celestia full storage Node","description":"Set up a Celestia full storage node.","frontmatter":{"description":"Set up a Celestia full storage node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia full storage Node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/full-storage-node.md","filePath":"nodes/full-storage-node.md","lastUpdated":1705010189000}'),n={name:"nodes/full-storage-node.md"},t=o("",40),p=[t];function r(c,i,d,y,u,h){return a(),e("div",null,p)}const F=s(n,[["render",r]]);export{g as __pageData,F as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_hardfork-process.md.0d0962f7.js b/pr-preview/pr-1358/assets/nodes_hardfork-process.md.68176593.js
    similarity index 96%
    rename from pr-preview/pr-1358/assets/nodes_hardfork-process.md.0d0962f7.js
    rename to pr-preview/pr-1358/assets/nodes_hardfork-process.md.68176593.js
    index d17cc742c4..d4fba71a20 100644
    --- a/pr-preview/pr-1358/assets/nodes_hardfork-process.md.0d0962f7.js
    +++ b/pr-preview/pr-1358/assets/nodes_hardfork-process.md.68176593.js
    @@ -1 +1 @@
    -import{_ as e,o as a,c as o,Q as t}from"./chunks/framework.2263f03b.js";const k=JSON.parse('{"title":"Celestia hardfork process","description":"Overview of the Celestia hardfork process.","frontmatter":{"description":"Overview of the Celestia hardfork process.","head":[["meta",{"name":"og:title","content":"Celestia hardfork process | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/hardfork-process.md","filePath":"nodes/hardfork-process.md","lastUpdated":1705009966000}'),r={name:"nodes/hardfork-process.md"},s=t('

    Celestia hardfork process

    Blockchain networks often times need to upgrade with new features which require coordination work among the validators prior to activating the upgrades.

    This process is called a hardfork or a network upgrade. In those events, the Celestia Labs team will be coordinating with the validators on what they need to do in order to be ready for an upcoming hardfork.

    Hardforks are not backward-compatible with older versions of the network software which is why it is important that validators upgrade their software to continue validating on the network after the network upgrades.

    General process

    The general process can be broken down into several components:

    • Hardfork specifications and features (defined by description of features and code implementation of those features).
    • Binary used to add those features (a new binary release with those features will be provided by Celestia team in order for validators to upgrade their nodes to the new binary).
    • A block number for when the network upgrades (even if validators upgrade their binary to be hardfork ready, the network upgrade does not happen right away, but some short time in the future at a specific block number).
    • Testing of the features (happens on testnets first prior to activating on mainnet in order to ensure the network can upgrade securely).

    The two testnets were hardforks are deployed on are:

    Mocha hardfork

    Celestia is planning the Mocha Hardfork upgrade on the Mamaki Testnet. This hardfork is unique as it will reset the Mamaki network to block 0 while maintaining the existing state and also will rename Mamaki to Mocha.

    The new chain-id will be mocha.

    You can find the release logs for consensus nodes on the celestia-app releases page.

    The most exciting feature included is setting the stage for Blobstream on Mocha.

    Validators will need to generate 2 new keys in order to be Blobstream-ready. Note that for the Mocha Hardfork, Blobstream will not launch yet so you can swap those keys after for new ones if needed. The keys needed are:

    • 1 EVM key
    • 1 Celestia key

    So, in order for this to happen, validators will need to maintain two new keys in order to have a successful upgrade.

    Those two keys will need to be added to 2 new flags on celestia-app:

    • --evm-address: This flag should contain a 0x EVM address.
    ',19),i=[s];function n(d,l,h,c,p,f){return a(),o("div",null,i)}const w=e(r,[["render",n]]);export{k as __pageData,w as default}; +import{_ as e,o as a,c as o,Q as t}from"./chunks/framework.2263f03b.js";const k=JSON.parse('{"title":"Celestia hardfork process","description":"Overview of the Celestia hardfork process.","frontmatter":{"description":"Overview of the Celestia hardfork process.","head":[["meta",{"name":"og:title","content":"Celestia hardfork process | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/hardfork-process.md","filePath":"nodes/hardfork-process.md","lastUpdated":1705010189000}'),r={name:"nodes/hardfork-process.md"},s=t('

    Celestia hardfork process

    Blockchain networks often times need to upgrade with new features which require coordination work among the validators prior to activating the upgrades.

    This process is called a hardfork or a network upgrade. In those events, the Celestia Labs team will be coordinating with the validators on what they need to do in order to be ready for an upcoming hardfork.

    Hardforks are not backward-compatible with older versions of the network software which is why it is important that validators upgrade their software to continue validating on the network after the network upgrades.

    General process

    The general process can be broken down into several components:

    • Hardfork specifications and features (defined by description of features and code implementation of those features).
    • Binary used to add those features (a new binary release with those features will be provided by Celestia team in order for validators to upgrade their nodes to the new binary).
    • A block number for when the network upgrades (even if validators upgrade their binary to be hardfork ready, the network upgrade does not happen right away, but some short time in the future at a specific block number).
    • Testing of the features (happens on testnets first prior to activating on mainnet in order to ensure the network can upgrade securely).

    The two testnets were hardforks are deployed on are:

    Mocha hardfork

    Celestia is planning the Mocha Hardfork upgrade on the Mamaki Testnet. This hardfork is unique as it will reset the Mamaki network to block 0 while maintaining the existing state and also will rename Mamaki to Mocha.

    The new chain-id will be mocha.

    You can find the release logs for consensus nodes on the celestia-app releases page.

    The most exciting feature included is setting the stage for Blobstream on Mocha.

    Validators will need to generate 2 new keys in order to be Blobstream-ready. Note that for the Mocha Hardfork, Blobstream will not launch yet so you can swap those keys after for new ones if needed. The keys needed are:

    • 1 EVM key
    • 1 Celestia key

    So, in order for this to happen, validators will need to maintain two new keys in order to have a successful upgrade.

    Those two keys will need to be added to 2 new flags on celestia-app:

    • --evm-address: This flag should contain a 0x EVM address.
    ',19),i=[s];function n(d,l,h,c,p,f){return a(),o("div",null,i)}const w=e(r,[["render",n]]);export{k as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/nodes_hardfork-process.md.0d0962f7.lean.js b/pr-preview/pr-1358/assets/nodes_hardfork-process.md.68176593.lean.js similarity index 81% rename from pr-preview/pr-1358/assets/nodes_hardfork-process.md.0d0962f7.lean.js rename to pr-preview/pr-1358/assets/nodes_hardfork-process.md.68176593.lean.js index 655dbc4cd0..0e6427539e 100644 --- a/pr-preview/pr-1358/assets/nodes_hardfork-process.md.0d0962f7.lean.js +++ b/pr-preview/pr-1358/assets/nodes_hardfork-process.md.68176593.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as o,Q as t}from"./chunks/framework.2263f03b.js";const k=JSON.parse('{"title":"Celestia hardfork process","description":"Overview of the Celestia hardfork process.","frontmatter":{"description":"Overview of the Celestia hardfork process.","head":[["meta",{"name":"og:title","content":"Celestia hardfork process | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/hardfork-process.md","filePath":"nodes/hardfork-process.md","lastUpdated":1705009966000}'),r={name:"nodes/hardfork-process.md"},s=t("",19),i=[s];function n(d,l,h,c,p,f){return a(),o("div",null,i)}const w=e(r,[["render",n]]);export{k as __pageData,w as default}; +import{_ as e,o as a,c as o,Q as t}from"./chunks/framework.2263f03b.js";const k=JSON.parse('{"title":"Celestia hardfork process","description":"Overview of the Celestia hardfork process.","frontmatter":{"description":"Overview of the Celestia hardfork process.","head":[["meta",{"name":"og:title","content":"Celestia hardfork process | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/hardfork-process.md","filePath":"nodes/hardfork-process.md","lastUpdated":1705010189000}'),r={name:"nodes/hardfork-process.md"},s=t("",19),i=[s];function n(d,l,h,c,p,f){return a(),o("div",null,i)}const w=e(r,[["render",n]]);export{k as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.e1404647.js b/pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.c33fb906.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.e1404647.js rename to pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.c33fb906.js index 7b0fcd583c..00f8fc18c3 100644 --- a/pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.e1404647.js +++ b/pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.c33fb906.js @@ -1,4 +1,4 @@ -import{_ as e,o as s,c as a,Q as n}from"./chunks/framework.2263f03b.js";const E=JSON.parse('{"title":"Celestia App network instantiation guide","description":"A guide that helps you instantiate a new testnetwork with Celestia App.","frontmatter":{"description":"A guide that helps you instantiate a new testnetwork with Celestia App.","head":[["meta",{"name":"og:title","content":"Celestia App network instantiation guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/instantiate-testnet.md","filePath":"nodes/instantiate-testnet.md","lastUpdated":1705009966000}'),o={name:"nodes/instantiate-testnet.md"},t=n(`

    Celestia App network instantiation guide

    This guide is for helping instantiate a new testnetwork and following the correct steps to do so with Celestia App. You should only follow this guide if you want to experiment with your own Celestia test network (testnet) or if you want to test out new features to build as a core developer.

    Hardware requirements

    You will need to follow hardware requirements.

    Setup dependencies

    You will need to setup dependencies by following the guide.

    celestia-app installation

    You will need to install celestia-app by following the guide.

    Spin up a Celestia testnet

    If you want to spin up a quick testnet with your friends, you can follow these steps. Unless otherwise noted, every step must be done by everyone who wants to participate in this testnet.

    Optional: Reset working directory

    If you have already initialized a working directory for celestia-appd in the past, you must clean up before reinitializing a new directory. You can do so by running the following command:

    sh
    celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app
    celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app

    Initialize a working directory

    Run the following command:

    sh
    VALIDATOR_NAME=validator1
    +import{_ as e,o as s,c as a,Q as n}from"./chunks/framework.2263f03b.js";const E=JSON.parse('{"title":"Celestia App network instantiation guide","description":"A guide that helps you instantiate a new testnetwork with Celestia App.","frontmatter":{"description":"A guide that helps you instantiate a new testnetwork with Celestia App.","head":[["meta",{"name":"og:title","content":"Celestia App network instantiation guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/instantiate-testnet.md","filePath":"nodes/instantiate-testnet.md","lastUpdated":1705010189000}'),o={name:"nodes/instantiate-testnet.md"},t=n(`

    Celestia App network instantiation guide

    This guide is for helping instantiate a new testnetwork and following the correct steps to do so with Celestia App. You should only follow this guide if you want to experiment with your own Celestia test network (testnet) or if you want to test out new features to build as a core developer.

    Hardware requirements

    You will need to follow hardware requirements.

    Setup dependencies

    You will need to setup dependencies by following the guide.

    celestia-app installation

    You will need to install celestia-app by following the guide.

    Spin up a Celestia testnet

    If you want to spin up a quick testnet with your friends, you can follow these steps. Unless otherwise noted, every step must be done by everyone who wants to participate in this testnet.

    Optional: Reset working directory

    If you have already initialized a working directory for celestia-appd in the past, you must clean up before reinitializing a new directory. You can do so by running the following command:

    sh
    celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app
    celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app

    Initialize a working directory

    Run the following command:

    sh
    VALIDATOR_NAME=validator1
     CHAIN_ID=testnet
     celestia-appd init $VALIDATOR_NAME --chain-id $CHAIN_ID
    VALIDATOR_NAME=validator1
     CHAIN_ID=testnet
    diff --git a/pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.e1404647.lean.js b/pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.c33fb906.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.e1404647.lean.js
    rename to pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.c33fb906.lean.js
    index 53d8fe6a41..6404e41caa 100644
    --- a/pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.e1404647.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_instantiate-testnet.md.c33fb906.lean.js
    @@ -1 +1 @@
    -import{_ as e,o as s,c as a,Q as n}from"./chunks/framework.2263f03b.js";const E=JSON.parse('{"title":"Celestia App network instantiation guide","description":"A guide that helps you instantiate a new testnetwork with Celestia App.","frontmatter":{"description":"A guide that helps you instantiate a new testnetwork with Celestia App.","head":[["meta",{"name":"og:title","content":"Celestia App network instantiation guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/instantiate-testnet.md","filePath":"nodes/instantiate-testnet.md","lastUpdated":1705009966000}'),o={name:"nodes/instantiate-testnet.md"},t=n("",60),l=[t];function p(i,r,c,d,h,y){return s(),a("div",null,l)}const g=e(o,[["render",p]]);export{E as __pageData,g as default};
    +import{_ as e,o as s,c as a,Q as n}from"./chunks/framework.2263f03b.js";const E=JSON.parse('{"title":"Celestia App network instantiation guide","description":"A guide that helps you instantiate a new testnetwork with Celestia App.","frontmatter":{"description":"A guide that helps you instantiate a new testnetwork with Celestia App.","head":[["meta",{"name":"og:title","content":"Celestia App network instantiation guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/instantiate-testnet.md","filePath":"nodes/instantiate-testnet.md","lastUpdated":1705010189000}'),o={name:"nodes/instantiate-testnet.md"},t=n("",60),l=[t];function p(i,r,c,d,h,y){return s(),a("div",null,l)}const g=e(o,[["render",p]]);export{E as __pageData,g as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_light-node.md.e1daa9b0.js b/pr-preview/pr-1358/assets/nodes_light-node.md.b067d9c8.js
    similarity index 96%
    rename from pr-preview/pr-1358/assets/nodes_light-node.md.e1daa9b0.js
    rename to pr-preview/pr-1358/assets/nodes_light-node.md.b067d9c8.js
    index a5fffc8689..7d2654cd96 100644
    --- a/pr-preview/pr-1358/assets/nodes_light-node.md.e1daa9b0.js
    +++ b/pr-preview/pr-1358/assets/nodes_light-node.md.b067d9c8.js
    @@ -1,8 +1,8 @@
    -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/nodes/LightNodes.png",F=JSON.parse('{"title":"Setting up a Celestia light node","description":"This tutorial covers setting up a Celestia light node.","frontmatter":{"sidebar_label":"Light node","description":"This tutorial covers setting up a Celestia light node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia light node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/light-node.md","filePath":"nodes/light-node.md","lastUpdated":1705009966000}'),e={name:"nodes/light-node.md"},p=o('

    Setting up a Celestia light node

    This tutorial will guide you through setting up a Celestia light node, which will allow you to perform data availability sampling (DAS) on Celestia's data availability (DA) network.

    Overview of light nodes

    Light nodes ensure data availability. This is the most common way to interact with Celestia networks.

    light-node

    Light nodes have the following behavior:

    1. They listen for ExtendedHeaders, i.e. wrapped “raw” headers, that notify Celestia nodes of new block headers and relevant DA metadata.
    2. They perform DAS on the received headers

    Hardware requirements

    The following minimum hardware requirements are recommended for running a light node:

    • Memory: 500 MB RAM (minimum)
    • CPU: Single Core
    • Disk: 50 GB SSD Storage
    • Bandwidth: 56 Kbps for Download/56 Kbps for Upload

    Setting up your light node

    This tutorial was performed on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Set up dependencies on the setting up environment page.

    Install celestia-node

    Install the celestia binary by building and installing celestia-node.

    Initialize the light node

    Run the following command:

    sh
    celestia light init
    celestia light init
    sh
    celestia light init --p2p.network mocha
    celestia light init --p2p.network mocha
    sh
    celestia light init --p2p.network arabica
    celestia light init --p2p.network arabica

    The output in your terminal will show the location of your node store and config. It will also show confirmation that the node store has been initialized.

    Start the light node

    Start the light node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    In order for access to the ability to get and submit state-related information, such as the ability to submit PayForBlobs transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    To start the light node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    sh
    celestia light start --core.ip <URI> --p2p.network <network>
    celestia light start --core.ip <URI> --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    For example, your command might look something like this for Mocha:

    sh
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha

    Or for Arabica:

    sh
    celestia light start --core.ip consensus-validator.celestia-arabica-10.com \\
    +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/nodes/LightNodes.png",F=JSON.parse('{"title":"Setting up a Celestia light node","description":"This tutorial covers setting up a Celestia light node.","frontmatter":{"sidebar_label":"Light node","description":"This tutorial covers setting up a Celestia light node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia light node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/light-node.md","filePath":"nodes/light-node.md","lastUpdated":1705010189000}'),e={name:"nodes/light-node.md"},p=o('

    Setting up a Celestia light node

    This tutorial will guide you through setting up a Celestia light node, which will allow you to perform data availability sampling (DAS) on Celestia's data availability (DA) network.

    Overview of light nodes

    Light nodes ensure data availability. This is the most common way to interact with Celestia networks.

    light-node

    Light nodes have the following behavior:

    1. They listen for ExtendedHeaders, i.e. wrapped “raw” headers, that notify Celestia nodes of new block headers and relevant DA metadata.
    2. They perform DAS on the received headers

    Hardware requirements

    The following minimum hardware requirements are recommended for running a light node:

    • Memory: 500 MB RAM (minimum)
    • CPU: Single Core
    • Disk: 50 GB SSD Storage
    • Bandwidth: 56 Kbps for Download/56 Kbps for Upload

    Setting up your light node

    This tutorial was performed on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Set up dependencies on the setting up environment page.

    Install celestia-node

    Install the celestia binary by building and installing celestia-node.

    Initialize the light node

    Run the following command:

    sh
    celestia light init
    celestia light init
    sh
    celestia light init --p2p.network mocha
    celestia light init --p2p.network mocha
    sh
    celestia light init --p2p.network arabica
    celestia light init --p2p.network arabica

    The output in your terminal will show the location of your node store and config. It will also show confirmation that the node store has been initialized.

    Start the light node

    Start the light node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    In order for access to the ability to get and submit state-related information, such as the ability to submit PayForBlobs transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    To start the light node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    sh
    celestia light start --core.ip <URI> --p2p.network <network>
    celestia light start --core.ip <URI> --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    For example, your command might look something like this for Mocha:

    sh
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha

    Or for Arabica:

    sh
    celestia light start --core.ip consensus-validator.celestia-arabica-10.com \\
         --p2p.network arabica
    celestia light start --core.ip consensus-validator.celestia-arabica-10.com \\
         --p2p.network arabica

    Keys and wallets

    You can create your key for your node by running the following command with the cel-key utility in the celestia-node directory:

    sh
    ./cel-key add <key-name> --keyring-backend test \\
         --node.type light --p2p.network <network>
    ./cel-key add <key-name> --keyring-backend test \\
    -    --node.type light --p2p.network <network>

    You can start your light node with the key created above by running the following command:

    sh
    celestia light start --keyring.accname my_celes_key \\
    +    --node.type light --p2p.network <network>

    You can start your light node with the key created above by running the following command:

    sh
    celestia light start --keyring.accname my_celes_key \\
         --core.ip consensus.lunaroasis.net
    celestia light start --keyring.accname my_celes_key \\
         --core.ip consensus.lunaroasis.net
    sh
    celestia light start --keyring.accname my_celes_key \\
         --core.ip rpc-mocha.pops.one --p2p.network mocha
    celestia light start --keyring.accname my_celes_key \\
    @@ -12,7 +12,7 @@ import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const l=
         --core.ip consensus-validator.celestia-arabica-10.com \\
         --p2p.network arabica

    Once you start the light node, a wallet key will be generated for you. You will need to fund that address with testnet tokens to pay for PayForBlob transactions.

    You can find the address using the RPC CLI or by running the following command in the celestia-node directory:

    sh
    ./cel-key list --node.type light --keyring-backend test \\
         --p2p.network <network>
    ./cel-key list --node.type light --keyring-backend test \\
    -    --p2p.network <network>

    Testnet tokens

    You have two networks to get testnet tokens from:

    You can request funds to your wallet address using the following command in Discord:

    console
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is the celestia1****** address generated when you created the wallet.

    Optional: run the light node with a custom key

    In order to run a light node using a custom key:

    1. The custom key must exist inside the celestia light node directory at the correct path (default: ~/.celestia-light/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia light start --core.ip <URI> \\
    +    --p2p.network <network>

    Testnet tokens

    You have two networks to get testnet tokens from:

    You can request funds to your wallet address using the following command in Discord:

    console
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is the celestia1****** address generated when you created the wallet.

    Optional: run the light node with a custom key

    In order to run a light node using a custom key:

    1. The custom key must exist inside the celestia light node directory at the correct path (default: ~/.celestia-light/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia light start --core.ip <URI> \\
         --keyring.accname <name-of-custom-key> \\
    celestia light start --core.ip <URI> \\
         --keyring.accname <name-of-custom-key> \\
    sh
    celestia light start --core.ip <URI> \\
         --keyring.accname <name-of-custom-key> \\
    @@ -22,4 +22,4 @@ import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const l=
         --keyring.accname <name-of-custom-key> \\
         --p2p.network mocha
    celestia light start --core.ip <URI> \\
         --keyring.accname <name-of-custom-key> \\
    -    --p2p.network mocha

    Optional: start light node with SystemD

    Follow the tutorial on setting up the light node as a background process with SystemD.

    Data availability sampling

    With your light node running, you can check out this tutorial on submitting PayForBlob transactions.

    `,53),t=[p];function c(r,i,y,E,d,h){return a(),n("div",null,t)}const u=s(e,[["render",c]]);export{F as __pageData,u as default}; + --p2p.network mocha

    Optional: start light node with SystemD

    Follow the tutorial on setting up the light node as a background process with SystemD.

    Data availability sampling

    With your light node running, you can check out this tutorial on submitting PayForBlob transactions.

    `,53),t=[p];function c(r,i,y,d,E,h){return a(),n("div",null,t)}const u=s(e,[["render",c]]);export{F as __pageData,u as default}; diff --git a/pr-preview/pr-1358/assets/nodes_light-node.md.e1daa9b0.lean.js b/pr-preview/pr-1358/assets/nodes_light-node.md.b067d9c8.lean.js similarity index 83% rename from pr-preview/pr-1358/assets/nodes_light-node.md.e1daa9b0.lean.js rename to pr-preview/pr-1358/assets/nodes_light-node.md.b067d9c8.lean.js index 1e8e95c18e..8d90c93597 100644 --- a/pr-preview/pr-1358/assets/nodes_light-node.md.e1daa9b0.lean.js +++ b/pr-preview/pr-1358/assets/nodes_light-node.md.b067d9c8.lean.js @@ -1 +1 @@ -import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/nodes/LightNodes.png",F=JSON.parse('{"title":"Setting up a Celestia light node","description":"This tutorial covers setting up a Celestia light node.","frontmatter":{"sidebar_label":"Light node","description":"This tutorial covers setting up a Celestia light node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia light node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/light-node.md","filePath":"nodes/light-node.md","lastUpdated":1705009966000}'),e={name:"nodes/light-node.md"},p=o("",53),t=[p];function c(r,i,y,E,d,h){return a(),n("div",null,t)}const u=s(e,[["render",c]]);export{F as __pageData,u as default}; +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.2263f03b.js";const l="/pr-preview/pr-1358/img/nodes/LightNodes.png",F=JSON.parse('{"title":"Setting up a Celestia light node","description":"This tutorial covers setting up a Celestia light node.","frontmatter":{"sidebar_label":"Light node","description":"This tutorial covers setting up a Celestia light node.","head":[["meta",{"name":"og:title","content":"Setting up a Celestia light node | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/light-node.md","filePath":"nodes/light-node.md","lastUpdated":1705010189000}'),e={name:"nodes/light-node.md"},p=o("",53),t=[p];function c(r,i,y,d,E,h){return a(),n("div",null,t)}const u=s(e,[["render",c]]);export{F as __pageData,u as default}; diff --git a/pr-preview/pr-1358/assets/nodes_mainnet.md.b5e0ec34.js b/pr-preview/pr-1358/assets/nodes_mainnet.md.47e4ca41.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_mainnet.md.b5e0ec34.js rename to pr-preview/pr-1358/assets/nodes_mainnet.md.47e4ca41.js index 0586bb924c..adfd7f5bc8 100644 --- a/pr-preview/pr-1358/assets/nodes_mainnet.md.b5e0ec34.js +++ b/pr-preview/pr-1358/assets/nodes_mainnet.md.47e4ca41.js @@ -1,3 +1,3 @@ import{M as o}from"./chunks/MainnetVersionTags.aecb1c97.js";import{o as a,c as s,H as l,k as e,Q as t}from"./chunks/framework.2263f03b.js";import"./chunks/mainnet_versions.7e950c54.js";import"./chunks/constants.d0f43632.js";const r="/pr-preview/pr-1358/img/Mainnet-Beta.png",n=t('

    Mainnet Beta

    Mainnet Beta

    Welcome to the guide for Celestia’s Mainnet Beta, the production network that marks the pinnacle of Celestia’s evolution since its inception in 2019. This network is where all components of the Celestia ecosystem come to life in a real-world environment.

    Mainnet Beta is the culmination of rigorous community testing, upgrades, and feedback. It serves as the platform for deploying mainnet rollups and applications.

    Network stability and upgrades

    Mainnet Beta is a stable network, but will still receive updates and improvements. Any changes or upgrades will be coordinated with node operators and the broader Celestia community to ensure seamless integration and minimal service interruptions.

    As we step into unexplored territories with groundbreaking technologies like data availability sampling, it's crucial to remember that Mainnet Beta remains experimental at this stage. While the network is live and functional, users may encounter occasional instability or reduced performance.

    Software version numbers

    ',8),i=t('

    Network parameters

    Full network parameters, such as max bytes, can be found in the celestia-app specifications.

    CIP-13 has been drafted to create a living document for these parameters as a part of the CIP process.

    Maximum bytes

    There is a hard limit on the total blob size in a transaction, which is determined by the effective maximum square size. Given that the current governance maximum square size is 64, the total blob size in a transaction must be slightly less than ~2 MiB, or 1,973,786 bytes to be exact.

    The following provides an approximation of the maximum block size:

    • The maximum square size is 64x64, which gives us 4096 shares.
    • One share is reserved for the PFB transaction, leaving us with 4095 shares.
    • The first sparse share has 478 bytes available, and the remaining sparse shares have 482 bytes each.

    This can be calculated as follows:

    ',8),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Q={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"68.588ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 30315.8 1000","aria-hidden":"true"},c=t('',1),d=[c],p=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mtext",null,"Total Bytes"),e("mo",null,"="),e("mo",{stretchy:"false"},"("),e("mn",null,"1"),e("mo",null,"×"),e("mn",null,"478"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes"),e("mo",{stretchy:"false"},")"),e("mo",null,"+"),e("mo",{stretchy:"false"},"("),e("mn",null,"4094"),e("mo",null,"×"),e("mn",null,"482"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes"),e("mo",{stretchy:"false"},")"),e("mo",null,"="),e("mn",null,"1"),e("mo",null,","),e("mn",null,"973"),e("mo",null,","),e("mn",null,"786"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes")])],-1),h=t(`

    Please note that there isn't a precise upper bound on the maximum total blob size. It depends on several factors:

    • The maximum square size, which is determined by a governance parameter and a versioned constant.
    • The maximum bytes in a block, which is determined by a governance parameter and a hard-coded constant in CometBFT.
    • The amount of shares occupied by the PFB transaction share.

    These factors can cause the maximum total blob size that can be included in one block to vary.

    Integrations

    This guide contains the relevant sections for how to connect to Mainnet Beta, depending on the type of node you are running. Your best approach to participating is to first determine which node you would like to run. Each node’s guide will link to the relevant network in order to show you how to connect to them. Learn about the different endpoint types in the Cosmos SDK documentation.

    Here is a list of options of the type of nodes you can run in order to participate in Mainnet Beta:

    Consensus nodes

    Consensus RPC endpoints

    • public-celestia-rpc.numia.xyz
    • celestia-rpc.mesa.newmetric.xyz
    • rpc.lunaroasis.net
    • rpc.celestia.nodestake.top
    • celestia-rpc.brightlystake.com
    • celestia-rpc.spidey.services
    • rpc-celestia.contributiondao.com
    • celestia.rpc.stakin-nodes.com
    • celestia.cumulo.org.es
    • rpc-celestia.mzonder.com
    • rpc-celestia-01.stakeflow.io
    • rpc-celestia.alphab.ai
    • rpc-celestia-full.avril14th.org
    • celestia-rpc.easy2stake.com

    API endpoints

    • public-celestia-lcd.numia.xyz
    • celestia-rest.mesa.newmetric.xyz
    • api.celestia.pops.one
    • api.lunaroasis.net
    • api.celestia.nodestake.top
    • celestia-rpc.brightlystake.com/api
    • celestia-api.spidey.services
    • api-celestia.contributiondao.com
    • celestia.rest.stakin-nodes.com
    • celestia.api.cumulo.org.es
    • api-celestia.mzonder.com
    • api-celestia-01.stakeflow.io
    • api-celestia.alphab.ai
    • api-celestia-full.avril14th.org
    • celestia-lcd.easy2stake.com

    gRPC endpoints

    • public-celestia-grpc.numia.xyz
    • celestia-grpc.mesa.newmetric.xyz
    • grpc.celestia.pops.one
    • grpc.lunaroasis.net:443
    • grpc.celestia.nodestake.top
    • celestia-rpc.brightlystake.com:9090
    • celestia-grpc.spidey.services
    • grpc-celestia.contributiondao.com
    • celestia.grpc.stakin-nodes.com:443
    • celestia.grpc.cumulo.org.es:443
    • grpc-celestia.mzonder.com:443
    • grpc-celestia-01.stakeflow.io:15002
    • rpc-celestia.alphab.ai:9090
    • grpc-celestia-full.avril14th.org

    Data availability nodes

    DA RPC endpoints

    These RPC endpoints for DA nodes are to provide state access for querying the chain’s state and broadcasting transactions (balances, blobs, etc.) to the Celestia network. For users, they will need to provide a –core.ip string from a consensus node’s URL or IP that populates 2 ports for 2 types (RPC and gRPC, at ports 26657 and 9090, respectively) to their respective DA node.

    TIP

    bash
    celestia <da_type> start –core.ip <url> –core.rpc.port <port> \\
         –core.grpc.port <port>
    celestia <da_type> start –core.ip <url> –core.rpc.port <port> \\
    -    –core.grpc.port <port>

    Bridge nodes

    Not all of the RPC endpoints do not guarantee the full block history. Find an archive endpoint on the community dashboard or run your own consensus full node with no pruning for your bridge node.

    RPCs for DA nodes to initialise or start your celestia-node to Mainnet Beta with:

    • public-celestia-consensus.numia.xyz
      • gRPC: port 9090
      • RPC: port 26657
    • celestia-consensus.mesa.newmetric.xyz
      • gRPC: port 9090
      • RPC: port 26657
    • rpc.celestia.pops.one
      • gRPC: port 9090
      • RPC: port 26657
    • consensus.lunaroasis.net
      • gRPC: port 9090
      • RPC: port 26657
    • rpc-celestia.alphab.ai
      • gRPC: port 9090
      • RPC: port 26657

    DA full and light nodes might have troubles connecting to the networks, so you can checkout this Grafana dashboard to see health/uptime status of DA bootstrappers (now celestia network only).

    You can find the status of these endpoints.

    Explorers

    There are multiple explorers you can use for Mainnet Beta:

    Analytics

    The following websites provide analytics for Celestia:

    Network upgrades

    Join the Community Telegram announcement channel for network upgrades.

    `,32),L=JSON.parse('{"title":"Mainnet Beta","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Mainnet Beta | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/mainnet.md","filePath":"nodes/mainnet.md","lastUpdated":1705009966000}'),m={name:"nodes/mainnet.md"},k=Object.assign(m,{setup(u){return(H,V)=>(a(),s("div",null,[n,l(o),i,e("p",null,[e("mjx-container",T,[(a(),s("svg",Q,d)),p])]),h]))}});export{L as __pageData,k as default}; + –core.grpc.port <port>

    Bridge nodes

    Not all of the RPC endpoints do not guarantee the full block history. Find an archive endpoint on the community dashboard or run your own consensus full node with no pruning for your bridge node.

    RPCs for DA nodes to initialise or start your celestia-node to Mainnet Beta with:

    • public-celestia-consensus.numia.xyz
      • gRPC: port 9090
      • RPC: port 26657
    • celestia-consensus.mesa.newmetric.xyz
      • gRPC: port 9090
      • RPC: port 26657
    • rpc.celestia.pops.one
      • gRPC: port 9090
      • RPC: port 26657
    • consensus.lunaroasis.net
      • gRPC: port 9090
      • RPC: port 26657
    • rpc-celestia.alphab.ai
      • gRPC: port 9090
      • RPC: port 26657

    DA full and light nodes might have troubles connecting to the networks, so you can checkout this Grafana dashboard to see health/uptime status of DA bootstrappers (now celestia network only).

    You can find the status of these endpoints.

    Explorers

    There are multiple explorers you can use for Mainnet Beta:

    Analytics

    The following websites provide analytics for Celestia:

    Network upgrades

    Join the Community Telegram announcement channel for network upgrades.

    `,32),L=JSON.parse('{"title":"Mainnet Beta","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Mainnet Beta | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/mainnet.md","filePath":"nodes/mainnet.md","lastUpdated":1705010189000}'),m={name:"nodes/mainnet.md"},k=Object.assign(m,{setup(u){return(H,V)=>(a(),s("div",null,[n,l(o),i,e("p",null,[e("mjx-container",T,[(a(),s("svg",Q,d)),p])]),h]))}});export{L as __pageData,k as default}; diff --git a/pr-preview/pr-1358/assets/nodes_mainnet.md.b5e0ec34.lean.js b/pr-preview/pr-1358/assets/nodes_mainnet.md.47e4ca41.lean.js similarity index 97% rename from pr-preview/pr-1358/assets/nodes_mainnet.md.b5e0ec34.lean.js rename to pr-preview/pr-1358/assets/nodes_mainnet.md.47e4ca41.lean.js index 3e39da5116..40c1308aad 100644 --- a/pr-preview/pr-1358/assets/nodes_mainnet.md.b5e0ec34.lean.js +++ b/pr-preview/pr-1358/assets/nodes_mainnet.md.47e4ca41.lean.js @@ -1 +1 @@ -import{M as o}from"./chunks/MainnetVersionTags.aecb1c97.js";import{o as a,c as s,H as l,k as e,Q as t}from"./chunks/framework.2263f03b.js";import"./chunks/mainnet_versions.7e950c54.js";import"./chunks/constants.d0f43632.js";const r="/pr-preview/pr-1358/img/Mainnet-Beta.png",n=t("",8),i=t("",8),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Q={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"68.588ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 30315.8 1000","aria-hidden":"true"},c=t("",1),d=[c],p=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mtext",null,"Total Bytes"),e("mo",null,"="),e("mo",{stretchy:"false"},"("),e("mn",null,"1"),e("mo",null,"×"),e("mn",null,"478"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes"),e("mo",{stretchy:"false"},")"),e("mo",null,"+"),e("mo",{stretchy:"false"},"("),e("mn",null,"4094"),e("mo",null,"×"),e("mn",null,"482"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes"),e("mo",{stretchy:"false"},")"),e("mo",null,"="),e("mn",null,"1"),e("mo",null,","),e("mn",null,"973"),e("mo",null,","),e("mn",null,"786"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes")])],-1),h=t("",32),L=JSON.parse('{"title":"Mainnet Beta","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Mainnet Beta | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/mainnet.md","filePath":"nodes/mainnet.md","lastUpdated":1705009966000}'),m={name:"nodes/mainnet.md"},k=Object.assign(m,{setup(u){return(H,V)=>(a(),s("div",null,[n,l(o),i,e("p",null,[e("mjx-container",T,[(a(),s("svg",Q,d)),p])]),h]))}});export{L as __pageData,k as default}; +import{M as o}from"./chunks/MainnetVersionTags.aecb1c97.js";import{o as a,c as s,H as l,k as e,Q as t}from"./chunks/framework.2263f03b.js";import"./chunks/mainnet_versions.7e950c54.js";import"./chunks/constants.d0f43632.js";const r="/pr-preview/pr-1358/img/Mainnet-Beta.png",n=t("",8),i=t("",8),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},Q={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"68.588ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 30315.8 1000","aria-hidden":"true"},c=t("",1),d=[c],p=e("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[e("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[e("mtext",null,"Total Bytes"),e("mo",null,"="),e("mo",{stretchy:"false"},"("),e("mn",null,"1"),e("mo",null,"×"),e("mn",null,"478"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes"),e("mo",{stretchy:"false"},")"),e("mo",null,"+"),e("mo",{stretchy:"false"},"("),e("mn",null,"4094"),e("mo",null,"×"),e("mn",null,"482"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes"),e("mo",{stretchy:"false"},")"),e("mo",null,"="),e("mn",null,"1"),e("mo",null,","),e("mn",null,"973"),e("mo",null,","),e("mn",null,"786"),e("mstyle",{scriptlevel:"0"},[e("mspace",{width:"0.167em"})]),e("mtext",null,"bytes")])],-1),h=t("",32),L=JSON.parse('{"title":"Mainnet Beta","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Mainnet Beta | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/mainnet.md","filePath":"nodes/mainnet.md","lastUpdated":1705010189000}'),m={name:"nodes/mainnet.md"},k=Object.assign(m,{setup(u){return(H,V)=>(a(),s("div",null,[n,l(o),i,e("p",null,[e("mjx-container",T,[(a(),s("svg",Q,d)),p])]),h]))}});export{L as __pageData,k as default}; diff --git a/pr-preview/pr-1358/assets/nodes_mocha-testnet.md.4bdc3c2e.js b/pr-preview/pr-1358/assets/nodes_mocha-testnet.md.bd2f0390.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_mocha-testnet.md.4bdc3c2e.js rename to pr-preview/pr-1358/assets/nodes_mocha-testnet.md.bd2f0390.js index 9d9e2893c6..7823b075ec 100644 --- a/pr-preview/pr-1358/assets/nodes_mocha-testnet.md.4bdc3c2e.js +++ b/pr-preview/pr-1358/assets/nodes_mocha-testnet.md.bd2f0390.js @@ -1 +1 @@ -import{M as t}from"./chunks/MochaVersionTags.07e9ad5f.js";import{o,c as a,H as i,Q as e}from"./chunks/framework.2263f03b.js";import"./chunks/mocha_versions.7e950c54.js";import"./chunks/constants.d0f43632.js";const l="/pr-preview/pr-1358/img/mocha.jpg",s=e('

    Mocha testnet

    mocha-testnet

    This guide contains the relevant sections for how to connect to Mocha, depending on the type of node you are running. Mocha testnet is designed to help validators test out their infrastructure and node software. Developers are encouraged to deploy their sovereign rollups on Mocha, but we also recommend Arabica devnet for that as it is designed for development purposes.

    Mocha is a milestone in Celestia, allowing everyone to test out core functionalities on the network. Read the announcement. Your best approach to participating is to first determine which node you would like to run. Each node's guide will link to the relevant networks in order to show you how to connect to them.

    You have a list of options on the type of nodes you can run in order to participate in Mocha:

    Consensus:

    Data Availability:

    Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Mocha in order to refer to the correct instructions on this page on how to connect to Mocha.

    Software version numbers

    ',11),n=e('

    RPC endpoints

    The RPC endpoint is to allow users to interact with Celestia's nodes by querying the node's state and broadcasting transactions on the Celestia network. The default port is 26657.

    Below is a list of RPC endpoints you can use to connect to Mocha testnet:

    Bridge, full, and light nodes

    • full.consensus.mocha-4.celestia-mocha.com
    • consensus-full-mocha-4.celestia-mocha.com
    • rpc-mocha.pops.one
    • celestia-rpc.f5nodes.com
    • celestia-testnet.brightlystake.com
    • rpc-celestia-mocha.architectnodes.com
    • rpc-celestia-mocha.testnet-pride.com
    • rpc-celestia-testnet-01.stakeflow.io
    • mocha.celestia.rpc.cumulo.me
    • rpc-mocha-4.spidey.services

    Full and light nodes ONLY

    These RPC endpoints do not allow you to download full blocks from them. We advise that if you are running a bridge node, that you also run a local full consensus node in order to download full blocks from it.

    • rpc.celestia-mocha.com
    • rpc-2.celestia-mocha.com

    API endpoints

    The API endpoint is to allow users to interact with the REST API in Cosmos SDK which is implemented using gRPC-gateway, which exposes gRPC endpoints as REST endpoints. This allows for communication with the node using REST calls, which can be useful if the client does not support gRPC or HTTP2. The default port is 1317.

    gRPC endpoints

    The gRPC endpoint is to allow users to interact with a Celestia Node using gRPC, a modern open-source and high-performance RPC framework. The default port is 9090. In the Cosmos SDK, gRPC is used to define state queries and broadcast transactions.

    • https://grpc-mocha.pops.one
    • grpc.celestia-mocha.com:443
    • grpc-2.celestia-mocha.com:443
    • full.consensus.mocha-4.celestia-mocha.com:9090
    • consensus-full-mocha-4.celestia-mocha.com:9090
    • celestia-grpc.f5nodes.com
    • celestia-testnet.brightlystake.com:9390
    • grpc-celestia-mocha.architectnodes.com:1443
    • grpc-celestia-mocha.testnet-pride.com:9099
    • grpc-celestia-testnet-01.stakeflow.io:16002
    • mocha.grpc.cumulo.me:443
    • grpc-mocha-4.spidey.services

    Bridge and full node endpoints

    The endpoints below are for bridge and full nodes only. They can be used to find bootstrapper peers in the p2p network.

    Bridge node 1:

    • da-bridge-mocha-4.celestia-mocha.com
    • bridge-mocha-4.da.celestia-mocha.com

    Bridge node 2:

    • da-bridge-mocha-4-2.celestia-mocha.com
    • bridge-mocha-4-2.da.celestia-mocha.com

    Full node 1:

    • da-full-1-mocha-4.celestia-mocha.com
    • full-1-mocha-4.da.celestia-mocha.com

    Full node 2:

    • da-full-2-mocha-4.celestia-mocha.com
    • full-2-mocha-4.da.celestia-mocha.com

    Mocha testnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    You can request from Mocha testnet Faucet on the #mocha-faucet channel on Celestia's Discord server with the following command:

    text
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

    NOTE

    Faucet has a limit of 10 tokens per week per address/Discord ID.

    Explorers

    There are several explorers you can use for Mocha:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    ',35),g=JSON.parse('{"title":"Mocha testnet","description":"Learn how to connect to the Mocha network.","frontmatter":{"description":"Learn how to connect to the Mocha network.","head":[["meta",{"name":"og:title","content":"Mocha testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/mocha-testnet.md","filePath":"nodes/mocha-testnet.md","lastUpdated":1705009966000}'),r={name:"nodes/mocha-testnet.md"},b=Object.assign(r,{setup(c){return(d,h)=>(o(),a("div",null,[s,i(t),n]))}});export{g as __pageData,b as default}; +import{M as t}from"./chunks/MochaVersionTags.07e9ad5f.js";import{o,c as a,H as i,Q as e}from"./chunks/framework.2263f03b.js";import"./chunks/mocha_versions.7e950c54.js";import"./chunks/constants.d0f43632.js";const l="/pr-preview/pr-1358/img/mocha.jpg",s=e('

    Mocha testnet

    mocha-testnet

    This guide contains the relevant sections for how to connect to Mocha, depending on the type of node you are running. Mocha testnet is designed to help validators test out their infrastructure and node software. Developers are encouraged to deploy their sovereign rollups on Mocha, but we also recommend Arabica devnet for that as it is designed for development purposes.

    Mocha is a milestone in Celestia, allowing everyone to test out core functionalities on the network. Read the announcement. Your best approach to participating is to first determine which node you would like to run. Each node's guide will link to the relevant networks in order to show you how to connect to them.

    You have a list of options on the type of nodes you can run in order to participate in Mocha:

    Consensus:

    Data Availability:

    Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Mocha in order to refer to the correct instructions on this page on how to connect to Mocha.

    Software version numbers

    ',11),n=e('

    RPC endpoints

    The RPC endpoint is to allow users to interact with Celestia's nodes by querying the node's state and broadcasting transactions on the Celestia network. The default port is 26657.

    Below is a list of RPC endpoints you can use to connect to Mocha testnet:

    Bridge, full, and light nodes

    • full.consensus.mocha-4.celestia-mocha.com
    • consensus-full-mocha-4.celestia-mocha.com
    • rpc-mocha.pops.one
    • celestia-rpc.f5nodes.com
    • celestia-testnet.brightlystake.com
    • rpc-celestia-mocha.architectnodes.com
    • rpc-celestia-mocha.testnet-pride.com
    • rpc-celestia-testnet-01.stakeflow.io
    • mocha.celestia.rpc.cumulo.me
    • rpc-mocha-4.spidey.services

    Full and light nodes ONLY

    These RPC endpoints do not allow you to download full blocks from them. We advise that if you are running a bridge node, that you also run a local full consensus node in order to download full blocks from it.

    • rpc.celestia-mocha.com
    • rpc-2.celestia-mocha.com

    API endpoints

    The API endpoint is to allow users to interact with the REST API in Cosmos SDK which is implemented using gRPC-gateway, which exposes gRPC endpoints as REST endpoints. This allows for communication with the node using REST calls, which can be useful if the client does not support gRPC or HTTP2. The default port is 1317.

    gRPC endpoints

    The gRPC endpoint is to allow users to interact with a Celestia Node using gRPC, a modern open-source and high-performance RPC framework. The default port is 9090. In the Cosmos SDK, gRPC is used to define state queries and broadcast transactions.

    • https://grpc-mocha.pops.one
    • grpc.celestia-mocha.com:443
    • grpc-2.celestia-mocha.com:443
    • full.consensus.mocha-4.celestia-mocha.com:9090
    • consensus-full-mocha-4.celestia-mocha.com:9090
    • celestia-grpc.f5nodes.com
    • celestia-testnet.brightlystake.com:9390
    • grpc-celestia-mocha.architectnodes.com:1443
    • grpc-celestia-mocha.testnet-pride.com:9099
    • grpc-celestia-testnet-01.stakeflow.io:16002
    • mocha.grpc.cumulo.me:443
    • grpc-mocha-4.spidey.services

    Bridge and full node endpoints

    The endpoints below are for bridge and full nodes only. They can be used to find bootstrapper peers in the p2p network.

    Bridge node 1:

    • da-bridge-mocha-4.celestia-mocha.com
    • bridge-mocha-4.da.celestia-mocha.com

    Bridge node 2:

    • da-bridge-mocha-4-2.celestia-mocha.com
    • bridge-mocha-4-2.da.celestia-mocha.com

    Full node 1:

    • da-full-1-mocha-4.celestia-mocha.com
    • full-1-mocha-4.da.celestia-mocha.com

    Full node 2:

    • da-full-2-mocha-4.celestia-mocha.com
    • full-2-mocha-4.da.celestia-mocha.com

    Mocha testnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    You can request from Mocha testnet Faucet on the #mocha-faucet channel on Celestia's Discord server with the following command:

    text
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

    NOTE

    Faucet has a limit of 10 tokens per week per address/Discord ID.

    Explorers

    There are several explorers you can use for Mocha:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    ',35),g=JSON.parse('{"title":"Mocha testnet","description":"Learn how to connect to the Mocha network.","frontmatter":{"description":"Learn how to connect to the Mocha network.","head":[["meta",{"name":"og:title","content":"Mocha testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/mocha-testnet.md","filePath":"nodes/mocha-testnet.md","lastUpdated":1705010189000}'),r={name:"nodes/mocha-testnet.md"},b=Object.assign(r,{setup(c){return(d,h)=>(o(),a("div",null,[s,i(t),n]))}});export{g as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/nodes_mocha-testnet.md.4bdc3c2e.lean.js b/pr-preview/pr-1358/assets/nodes_mocha-testnet.md.bd2f0390.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/nodes_mocha-testnet.md.4bdc3c2e.lean.js rename to pr-preview/pr-1358/assets/nodes_mocha-testnet.md.bd2f0390.lean.js index 28e2accb5c..2645be3705 100644 --- a/pr-preview/pr-1358/assets/nodes_mocha-testnet.md.4bdc3c2e.lean.js +++ b/pr-preview/pr-1358/assets/nodes_mocha-testnet.md.bd2f0390.lean.js @@ -1 +1 @@ -import{M as t}from"./chunks/MochaVersionTags.07e9ad5f.js";import{o,c as a,H as i,Q as e}from"./chunks/framework.2263f03b.js";import"./chunks/mocha_versions.7e950c54.js";import"./chunks/constants.d0f43632.js";const l="/pr-preview/pr-1358/img/mocha.jpg",s=e("",11),n=e("",35),g=JSON.parse('{"title":"Mocha testnet","description":"Learn how to connect to the Mocha network.","frontmatter":{"description":"Learn how to connect to the Mocha network.","head":[["meta",{"name":"og:title","content":"Mocha testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/mocha-testnet.md","filePath":"nodes/mocha-testnet.md","lastUpdated":1705009966000}'),r={name:"nodes/mocha-testnet.md"},b=Object.assign(r,{setup(c){return(d,h)=>(o(),a("div",null,[s,i(t),n]))}});export{g as __pageData,b as default}; +import{M as t}from"./chunks/MochaVersionTags.07e9ad5f.js";import{o,c as a,H as i,Q as e}from"./chunks/framework.2263f03b.js";import"./chunks/mocha_versions.7e950c54.js";import"./chunks/constants.d0f43632.js";const l="/pr-preview/pr-1358/img/mocha.jpg",s=e("",11),n=e("",35),g=JSON.parse('{"title":"Mocha testnet","description":"Learn how to connect to the Mocha network.","frontmatter":{"description":"Learn how to connect to the Mocha network.","head":[["meta",{"name":"og:title","content":"Mocha testnet | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/mocha-testnet.md","filePath":"nodes/mocha-testnet.md","lastUpdated":1705010189000}'),r={name:"nodes/mocha-testnet.md"},b=Object.assign(r,{setup(c){return(d,h)=>(o(),a("div",null,[s,i(t),n]))}});export{g as __pageData,b as default}; diff --git a/pr-preview/pr-1358/assets/nodes_overview.md.7420380e.js b/pr-preview/pr-1358/assets/nodes_overview.md.66a45f27.js similarity index 97% rename from pr-preview/pr-1358/assets/nodes_overview.md.7420380e.js rename to pr-preview/pr-1358/assets/nodes_overview.md.66a45f27.js index 1f4c418e45..d46933c454 100644 --- a/pr-preview/pr-1358/assets/nodes_overview.md.7420380e.js +++ b/pr-preview/pr-1358/assets/nodes_overview.md.66a45f27.js @@ -1 +1 @@ -import{_ as e,o,c as t,Q as n}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/node-requirements.jpg",_=JSON.parse('{"title":"Overview to running nodes on Celestia","description":"An overview on how to participate in the Celestia network.","frontmatter":{"description":"An overview on how to participate in the Celestia network.","head":[["meta",{"name":"og:title","content":"Overview to running nodes on Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/overview.md","filePath":"nodes/overview.md","lastUpdated":1705009966000}'),i={name:"nodes/overview.md"},s=n('

    Overview to running nodes on Celestia

    There are many ways you can participate in the Celestia networks.

    Celestia node operators can run several options on the network.

    Consensus:

    • Validator node: This type of node participates in consensus by producing and voting on blocks.
    • Full consensus node: A celestia-app Full node to sync blockchain history.

    Data Availability:

    • Bridge node: This node bridges blocks between the Data-Availability network and the Consensus network.
    • Full storage node: This node stores all the data but does not connect to Consensus.
    • Light node: Light clients conduct data availability sampling on the Data Availability network.

    You can learn more about how to setup each different node by going through each tutorial guide.

    Banner

    Please provide any feedback on the tutorials and guides. If you notice a bug or issue, feel free to make a pull request or write up a Github issue!

    ',10),r=[s];function l(d,c,p,u,h,v){return o(),t("div",null,r)}const w=e(i,[["render",l]]);export{_ as __pageData,w as default}; +import{_ as e,o,c as t,Q as n}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/node-requirements.jpg",_=JSON.parse('{"title":"Overview to running nodes on Celestia","description":"An overview on how to participate in the Celestia network.","frontmatter":{"description":"An overview on how to participate in the Celestia network.","head":[["meta",{"name":"og:title","content":"Overview to running nodes on Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/overview.md","filePath":"nodes/overview.md","lastUpdated":1705010189000}'),i={name:"nodes/overview.md"},s=n('

    Overview to running nodes on Celestia

    There are many ways you can participate in the Celestia networks.

    Celestia node operators can run several options on the network.

    Consensus:

    • Validator node: This type of node participates in consensus by producing and voting on blocks.
    • Full consensus node: A celestia-app Full node to sync blockchain history.

    Data Availability:

    • Bridge node: This node bridges blocks between the Data-Availability network and the Consensus network.
    • Full storage node: This node stores all the data but does not connect to Consensus.
    • Light node: Light clients conduct data availability sampling on the Data Availability network.

    You can learn more about how to setup each different node by going through each tutorial guide.

    Banner

    Please provide any feedback on the tutorials and guides. If you notice a bug or issue, feel free to make a pull request or write up a Github issue!

    ',10),r=[s];function l(d,c,p,u,h,v){return o(),t("div",null,r)}const w=e(i,[["render",l]]);export{_ as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/nodes_overview.md.7420380e.lean.js b/pr-preview/pr-1358/assets/nodes_overview.md.66a45f27.lean.js similarity index 91% rename from pr-preview/pr-1358/assets/nodes_overview.md.7420380e.lean.js rename to pr-preview/pr-1358/assets/nodes_overview.md.66a45f27.lean.js index 39e9d330fe..11fb60a1c4 100644 --- a/pr-preview/pr-1358/assets/nodes_overview.md.7420380e.lean.js +++ b/pr-preview/pr-1358/assets/nodes_overview.md.66a45f27.lean.js @@ -1 +1 @@ -import{_ as e,o,c as t,Q as n}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/node-requirements.jpg",_=JSON.parse('{"title":"Overview to running nodes on Celestia","description":"An overview on how to participate in the Celestia network.","frontmatter":{"description":"An overview on how to participate in the Celestia network.","head":[["meta",{"name":"og:title","content":"Overview to running nodes on Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/overview.md","filePath":"nodes/overview.md","lastUpdated":1705009966000}'),i={name:"nodes/overview.md"},s=n("",10),r=[s];function l(d,c,p,u,h,v){return o(),t("div",null,r)}const w=e(i,[["render",l]]);export{_ as __pageData,w as default}; +import{_ as e,o,c as t,Q as n}from"./chunks/framework.2263f03b.js";const a="/pr-preview/pr-1358/img/node-requirements.jpg",_=JSON.parse('{"title":"Overview to running nodes on Celestia","description":"An overview on how to participate in the Celestia network.","frontmatter":{"description":"An overview on how to participate in the Celestia network.","head":[["meta",{"name":"og:title","content":"Overview to running nodes on Celestia | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/overview.md","filePath":"nodes/overview.md","lastUpdated":1705010189000}'),i={name:"nodes/overview.md"},s=n("",10),r=[s];function l(d,c,p,u,h,v){return o(),t("div",null,r)}const w=e(i,[["render",l]]);export{_ as __pageData,w as default}; diff --git a/pr-preview/pr-1358/assets/nodes_participate.md.7099968a.js b/pr-preview/pr-1358/assets/nodes_participate.md.3043cbf7.js similarity index 98% rename from pr-preview/pr-1358/assets/nodes_participate.md.7099968a.js rename to pr-preview/pr-1358/assets/nodes_participate.md.3043cbf7.js index 381468bd54..6de8ffce2e 100644 --- a/pr-preview/pr-1358/assets/nodes_participate.md.7099968a.js +++ b/pr-preview/pr-1358/assets/nodes_participate.md.3043cbf7.js @@ -1 +1 @@ -import{A as n}from"./chunks/ArabicaVersionTags.63a25927.js";import{M as i}from"./chunks/MochaVersionTags.07e9ad5f.js";import{M as o}from"./chunks/MainnetVersionTags.aecb1c97.js";import{o as s,c as r,k as e,a as t,H as a,Q as l}from"./chunks/framework.2263f03b.js";import"./chunks/arabica_versions.9a2b5c45.js";import"./chunks/constants.d0f43632.js";import"./chunks/mocha_versions.7e950c54.js";import"./chunks/mainnet_versions.7e950c54.js";const c=l('

    Participate in the Celestia networks

    Mainnet Beta

    Celestia’s Mainnet Beta is the production network for deploying mainnet rollups and applications. This marks the culmination of years of development and community testing. While the network is stable and continues to receive updates, it remains experimental and users may experience occasional instability or reduced performance.

    ',3),d=e("h2",{id:"testnets",tabindex:"-1"},[t("Testnets "),e("a",{class:"header-anchor",href:"#testnets","aria-label":'Permalink to "Testnets"'},"​")],-1),p=e("p",null,"Celestia currently has two existing testnets that you can participate in:",-1),h=e("a",{href:"./arabica-devnet"},"Arabica devnet",-1),u=e("a",{href:"./mocha-testnet"},"Mocha testnet",-1),m=e("h2",{id:"network-upgrades",tabindex:"-1"},[t("Network upgrades "),e("a",{class:"header-anchor",href:"#network-upgrades","aria-label":'Permalink to "Network upgrades"'},"​")],-1),_=e("p",null,[t("Join our "),e("a",{href:"https://t.me/+smSFIA7XXLU4MjJh",target:"_blank",rel:"noreferrer"},"Telegram announcement channel"),t(" for network upgrades.")],-1),x=JSON.parse('{"title":"Participate in the Celestia networks","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Participate in the Celestia networks | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/participate.md","filePath":"nodes/participate.md","lastUpdated":1705009966000}'),b={name:"nodes/participate.md"},V=Object.assign(b,{setup(f){return(g,w)=>(s(),r("div",null,[c,e("ul",null,[e("li",null,[t("Compatible software versions"),a(o)])]),d,p,e("ul",null,[e("li",null,[h,t(": A devnet focused on developers who want to deploy sovereign rollups on the latest changes from Celestia's codebase. Arabica will be updated frequently and might be unstable at times given new updates. Validators won't be able to validate on Arabica as it is not designed for validators to participate. "),e("ul",null,[e("li",null,[t("Compatible software versions"),a(n)])])]),e("li",null,[u,t(": A testnet focused on enabling validators to test out their infrastructure by running nodes connected to the network. Developers can also deploy sovereign rollups on Mocha, it just will always be behind Arabica as Mocha upgrades are slower given they need to be done via hardforks in coordination with the validator community on Mocha. "),e("ul",null,[e("li",null,[t("Compatible software versions"),a(i)])])])]),m,_]))}});export{x as __pageData,V as default}; +import{A as n}from"./chunks/ArabicaVersionTags.63a25927.js";import{M as i}from"./chunks/MochaVersionTags.07e9ad5f.js";import{M as o}from"./chunks/MainnetVersionTags.aecb1c97.js";import{o as s,c as r,k as e,a as t,H as a,Q as l}from"./chunks/framework.2263f03b.js";import"./chunks/arabica_versions.9a2b5c45.js";import"./chunks/constants.d0f43632.js";import"./chunks/mocha_versions.7e950c54.js";import"./chunks/mainnet_versions.7e950c54.js";const c=l('

    Participate in the Celestia networks

    Mainnet Beta

    Celestia’s Mainnet Beta is the production network for deploying mainnet rollups and applications. This marks the culmination of years of development and community testing. While the network is stable and continues to receive updates, it remains experimental and users may experience occasional instability or reduced performance.

    ',3),d=e("h2",{id:"testnets",tabindex:"-1"},[t("Testnets "),e("a",{class:"header-anchor",href:"#testnets","aria-label":'Permalink to "Testnets"'},"​")],-1),p=e("p",null,"Celestia currently has two existing testnets that you can participate in:",-1),h=e("a",{href:"./arabica-devnet"},"Arabica devnet",-1),u=e("a",{href:"./mocha-testnet"},"Mocha testnet",-1),m=e("h2",{id:"network-upgrades",tabindex:"-1"},[t("Network upgrades "),e("a",{class:"header-anchor",href:"#network-upgrades","aria-label":'Permalink to "Network upgrades"'},"​")],-1),_=e("p",null,[t("Join our "),e("a",{href:"https://t.me/+smSFIA7XXLU4MjJh",target:"_blank",rel:"noreferrer"},"Telegram announcement channel"),t(" for network upgrades.")],-1),x=JSON.parse('{"title":"Participate in the Celestia networks","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Participate in the Celestia networks | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/participate.md","filePath":"nodes/participate.md","lastUpdated":1705010189000}'),b={name:"nodes/participate.md"},V=Object.assign(b,{setup(f){return(g,w)=>(s(),r("div",null,[c,e("ul",null,[e("li",null,[t("Compatible software versions"),a(o)])]),d,p,e("ul",null,[e("li",null,[h,t(": A devnet focused on developers who want to deploy sovereign rollups on the latest changes from Celestia's codebase. Arabica will be updated frequently and might be unstable at times given new updates. Validators won't be able to validate on Arabica as it is not designed for validators to participate. "),e("ul",null,[e("li",null,[t("Compatible software versions"),a(n)])])]),e("li",null,[u,t(": A testnet focused on enabling validators to test out their infrastructure by running nodes connected to the network. Developers can also deploy sovereign rollups on Mocha, it just will always be behind Arabica as Mocha upgrades are slower given they need to be done via hardforks in coordination with the validator community on Mocha. "),e("ul",null,[e("li",null,[t("Compatible software versions"),a(i)])])])]),m,_]))}});export{x as __pageData,V as default}; diff --git a/pr-preview/pr-1358/assets/nodes_participate.md.7099968a.lean.js b/pr-preview/pr-1358/assets/nodes_participate.md.3043cbf7.lean.js similarity index 97% rename from pr-preview/pr-1358/assets/nodes_participate.md.7099968a.lean.js rename to pr-preview/pr-1358/assets/nodes_participate.md.3043cbf7.lean.js index c3c12fe0a9..41ff6c4270 100644 --- a/pr-preview/pr-1358/assets/nodes_participate.md.7099968a.lean.js +++ b/pr-preview/pr-1358/assets/nodes_participate.md.3043cbf7.lean.js @@ -1 +1 @@ -import{A as n}from"./chunks/ArabicaVersionTags.63a25927.js";import{M as i}from"./chunks/MochaVersionTags.07e9ad5f.js";import{M as o}from"./chunks/MainnetVersionTags.aecb1c97.js";import{o as s,c as r,k as e,a as t,H as a,Q as l}from"./chunks/framework.2263f03b.js";import"./chunks/arabica_versions.9a2b5c45.js";import"./chunks/constants.d0f43632.js";import"./chunks/mocha_versions.7e950c54.js";import"./chunks/mainnet_versions.7e950c54.js";const c=l("",3),d=e("h2",{id:"testnets",tabindex:"-1"},[t("Testnets "),e("a",{class:"header-anchor",href:"#testnets","aria-label":'Permalink to "Testnets"'},"​")],-1),p=e("p",null,"Celestia currently has two existing testnets that you can participate in:",-1),h=e("a",{href:"./arabica-devnet"},"Arabica devnet",-1),u=e("a",{href:"./mocha-testnet"},"Mocha testnet",-1),m=e("h2",{id:"network-upgrades",tabindex:"-1"},[t("Network upgrades "),e("a",{class:"header-anchor",href:"#network-upgrades","aria-label":'Permalink to "Network upgrades"'},"​")],-1),_=e("p",null,[t("Join our "),e("a",{href:"https://t.me/+smSFIA7XXLU4MjJh",target:"_blank",rel:"noreferrer"},"Telegram announcement channel"),t(" for network upgrades.")],-1),x=JSON.parse('{"title":"Participate in the Celestia networks","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Participate in the Celestia networks | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/participate.md","filePath":"nodes/participate.md","lastUpdated":1705009966000}'),b={name:"nodes/participate.md"},V=Object.assign(b,{setup(f){return(g,w)=>(s(),r("div",null,[c,e("ul",null,[e("li",null,[t("Compatible software versions"),a(o)])]),d,p,e("ul",null,[e("li",null,[h,t(": A devnet focused on developers who want to deploy sovereign rollups on the latest changes from Celestia's codebase. Arabica will be updated frequently and might be unstable at times given new updates. Validators won't be able to validate on Arabica as it is not designed for validators to participate. "),e("ul",null,[e("li",null,[t("Compatible software versions"),a(n)])])]),e("li",null,[u,t(": A testnet focused on enabling validators to test out their infrastructure by running nodes connected to the network. Developers can also deploy sovereign rollups on Mocha, it just will always be behind Arabica as Mocha upgrades are slower given they need to be done via hardforks in coordination with the validator community on Mocha. "),e("ul",null,[e("li",null,[t("Compatible software versions"),a(i)])])])]),m,_]))}});export{x as __pageData,V as default}; +import{A as n}from"./chunks/ArabicaVersionTags.63a25927.js";import{M as i}from"./chunks/MochaVersionTags.07e9ad5f.js";import{M as o}from"./chunks/MainnetVersionTags.aecb1c97.js";import{o as s,c as r,k as e,a as t,H as a,Q as l}from"./chunks/framework.2263f03b.js";import"./chunks/arabica_versions.9a2b5c45.js";import"./chunks/constants.d0f43632.js";import"./chunks/mocha_versions.7e950c54.js";import"./chunks/mainnet_versions.7e950c54.js";const c=l("",3),d=e("h2",{id:"testnets",tabindex:"-1"},[t("Testnets "),e("a",{class:"header-anchor",href:"#testnets","aria-label":'Permalink to "Testnets"'},"​")],-1),p=e("p",null,"Celestia currently has two existing testnets that you can participate in:",-1),h=e("a",{href:"./arabica-devnet"},"Arabica devnet",-1),u=e("a",{href:"./mocha-testnet"},"Mocha testnet",-1),m=e("h2",{id:"network-upgrades",tabindex:"-1"},[t("Network upgrades "),e("a",{class:"header-anchor",href:"#network-upgrades","aria-label":'Permalink to "Network upgrades"'},"​")],-1),_=e("p",null,[t("Join our "),e("a",{href:"https://t.me/+smSFIA7XXLU4MjJh",target:"_blank",rel:"noreferrer"},"Telegram announcement channel"),t(" for network upgrades.")],-1),x=JSON.parse('{"title":"Participate in the Celestia networks","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Participate in the Celestia networks | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/participate.md","filePath":"nodes/participate.md","lastUpdated":1705010189000}'),b={name:"nodes/participate.md"},V=Object.assign(b,{setup(f){return(g,w)=>(s(),r("div",null,[c,e("ul",null,[e("li",null,[t("Compatible software versions"),a(o)])]),d,p,e("ul",null,[e("li",null,[h,t(": A devnet focused on developers who want to deploy sovereign rollups on the latest changes from Celestia's codebase. Arabica will be updated frequently and might be unstable at times given new updates. Validators won't be able to validate on Arabica as it is not designed for validators to participate. "),e("ul",null,[e("li",null,[t("Compatible software versions"),a(n)])])]),e("li",null,[u,t(": A testnet focused on enabling validators to test out their infrastructure by running nodes connected to the network. Developers can also deploy sovereign rollups on Mocha, it just will always be behind Arabica as Mocha upgrades are slower given they need to be done via hardforks in coordination with the validator community on Mocha. "),e("ul",null,[e("li",null,[t("Compatible software versions"),a(i)])])])]),m,_]))}});export{x as __pageData,V as default}; diff --git a/pr-preview/pr-1358/assets/nodes_quick-start.md.cf19cb81.js b/pr-preview/pr-1358/assets/nodes_quick-start.md.ba85612b.js similarity index 97% rename from pr-preview/pr-1358/assets/nodes_quick-start.md.cf19cb81.js rename to pr-preview/pr-1358/assets/nodes_quick-start.md.ba85612b.js index ea06360242..558951512b 100644 --- a/pr-preview/pr-1358/assets/nodes_quick-start.md.cf19cb81.js +++ b/pr-preview/pr-1358/assets/nodes_quick-start.md.ba85612b.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Quick start guide","description":"Learn how to get started and run your first node on Celestia.","frontmatter":{"description":"Learn how to get started and run your first node on Celestia.","head":[["meta",{"name":"og:title","content":"Quick start guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/quick-start.md","filePath":"nodes/quick-start.md","lastUpdated":1705009966000}'),i={name:"nodes/quick-start.md"},n=o('

    Quick start guide

    In this section, we show you how to get started with installing the needed libraries and packages in Celestia to help you run a node on Celestia.

    Celestia Node

    Install celestia-node allows you to get started with running a light node and do data availability sampling.

    Light nodes are the best nodes to test out initially if you are new to participating in Celestia.

    celestia-node client also allows you to run other types of data availability (DA) nodes like bridge and full DA storage nodes, which will be covered in later sections.

    Celestia App

    Install celestia-app allows you to get started running a consensus node.

    celestia-app is the software that allows you to run validator nodes and also provide RPC endpoints.

    celestia-app covers the consensus layer, while celestia-node covers the DA layer.

    Getting started

    As covered in the previous section, Celestia offers two different test networks, Arabica devnet and Mocha testnet.

    If you are planning to run a light node, it is recommended to use Arabica, which you will find options to connecting to in the later sections.

    If you plan on running a validator, your only option is to run your node on Mocha.

    In this quick start guide, we will go over installing both of the software clients: celestia-node and celestia-app.

    NOTE

    If you just want to run a light node, you don't need to install celestia-app and can skip that part.

    Proceed to the next section in order to get started.

    ',17),s=[n];function r(l,d,c,p,u,h){return t(),a("div",null,s)}const _=e(i,[["render",r]]);export{f as __pageData,_ as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Quick start guide","description":"Learn how to get started and run your first node on Celestia.","frontmatter":{"description":"Learn how to get started and run your first node on Celestia.","head":[["meta",{"name":"og:title","content":"Quick start guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/quick-start.md","filePath":"nodes/quick-start.md","lastUpdated":1705010189000}'),i={name:"nodes/quick-start.md"},n=o('

    Quick start guide

    In this section, we show you how to get started with installing the needed libraries and packages in Celestia to help you run a node on Celestia.

    Celestia Node

    Install celestia-node allows you to get started with running a light node and do data availability sampling.

    Light nodes are the best nodes to test out initially if you are new to participating in Celestia.

    celestia-node client also allows you to run other types of data availability (DA) nodes like bridge and full DA storage nodes, which will be covered in later sections.

    Celestia App

    Install celestia-app allows you to get started running a consensus node.

    celestia-app is the software that allows you to run validator nodes and also provide RPC endpoints.

    celestia-app covers the consensus layer, while celestia-node covers the DA layer.

    Getting started

    As covered in the previous section, Celestia offers two different test networks, Arabica devnet and Mocha testnet.

    If you are planning to run a light node, it is recommended to use Arabica, which you will find options to connecting to in the later sections.

    If you plan on running a validator, your only option is to run your node on Mocha.

    In this quick start guide, we will go over installing both of the software clients: celestia-node and celestia-app.

    NOTE

    If you just want to run a light node, you don't need to install celestia-app and can skip that part.

    Proceed to the next section in order to get started.

    ',17),s=[n];function r(l,d,c,p,u,h){return t(),a("div",null,s)}const _=e(i,[["render",r]]);export{f as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/nodes_quick-start.md.cf19cb81.lean.js b/pr-preview/pr-1358/assets/nodes_quick-start.md.ba85612b.lean.js similarity index 90% rename from pr-preview/pr-1358/assets/nodes_quick-start.md.cf19cb81.lean.js rename to pr-preview/pr-1358/assets/nodes_quick-start.md.ba85612b.lean.js index b815332636..f45f0353cd 100644 --- a/pr-preview/pr-1358/assets/nodes_quick-start.md.cf19cb81.lean.js +++ b/pr-preview/pr-1358/assets/nodes_quick-start.md.ba85612b.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Quick start guide","description":"Learn how to get started and run your first node on Celestia.","frontmatter":{"description":"Learn how to get started and run your first node on Celestia.","head":[["meta",{"name":"og:title","content":"Quick start guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/quick-start.md","filePath":"nodes/quick-start.md","lastUpdated":1705009966000}'),i={name:"nodes/quick-start.md"},n=o("",17),s=[n];function r(l,d,c,p,u,h){return t(),a("div",null,s)}const _=e(i,[["render",r]]);export{f as __pageData,_ as default}; +import{_ as e,o as t,c as a,Q as o}from"./chunks/framework.2263f03b.js";const f=JSON.parse('{"title":"Quick start guide","description":"Learn how to get started and run your first node on Celestia.","frontmatter":{"description":"Learn how to get started and run your first node on Celestia.","head":[["meta",{"name":"og:title","content":"Quick start guide | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/quick-start.md","filePath":"nodes/quick-start.md","lastUpdated":1705010189000}'),i={name:"nodes/quick-start.md"},n=o("",17),s=[n];function r(l,d,c,p,u,h){return t(),a("div",null,s)}const _=e(i,[["render",r]]);export{f as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/nodes_systemd.md.2a8f5b64.js b/pr-preview/pr-1358/assets/nodes_systemd.md.4890eb0c.js similarity index 99% rename from pr-preview/pr-1358/assets/nodes_systemd.md.2a8f5b64.js rename to pr-preview/pr-1358/assets/nodes_systemd.md.4890eb0c.js index 6b10a3a5fc..c184020b3d 100644 --- a/pr-preview/pr-1358/assets/nodes_systemd.md.2a8f5b64.js +++ b/pr-preview/pr-1358/assets/nodes_systemd.md.4890eb0c.js @@ -1,4 +1,4 @@ -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Setting up your node as a background process with SystemD","description":"Learn how to setup your node as a background process with SystemD.","frontmatter":{"description":"Learn how to setup your node as a background process with SystemD.","head":[["meta",{"name":"og:title","content":"Setting up your node as a background process with SystemD | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/systemd.md","filePath":"nodes/systemd.md","lastUpdated":1705009966000}'),e={name:"nodes/systemd.md"},p=l(`

    Setting up your node as a background process with SystemD

    SystemD is a daemon service useful for running applications as background processes.

    Consensus nodes

    If you are running a validator or full consensus node, here are the steps to setting up celestia-appd as a background process.

    Start the celestia-app with SystemD

    SystemD is a daemon service useful for running applications as background processes.

    Create Celestia-App systemd file:

    sh
    sudo tee <<EOF >/dev/null /etc/systemd/system/celestia-appd.service
    +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Setting up your node as a background process with SystemD","description":"Learn how to setup your node as a background process with SystemD.","frontmatter":{"description":"Learn how to setup your node as a background process with SystemD.","head":[["meta",{"name":"og:title","content":"Setting up your node as a background process with SystemD | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/systemd.md","filePath":"nodes/systemd.md","lastUpdated":1705010189000}'),e={name:"nodes/systemd.md"},p=l(`

    Setting up your node as a background process with SystemD

    SystemD is a daemon service useful for running applications as background processes.

    Consensus nodes

    If you are running a validator or full consensus node, here are the steps to setting up celestia-appd as a background process.

    Start the celestia-app with SystemD

    SystemD is a daemon service useful for running applications as background processes.

    Create Celestia-App systemd file:

    sh
    sudo tee <<EOF >/dev/null /etc/systemd/system/celestia-appd.service
     [Unit]
     Description=celestia-appd Cosmos daemon
     After=network-online.target
    diff --git a/pr-preview/pr-1358/assets/nodes_systemd.md.2a8f5b64.lean.js b/pr-preview/pr-1358/assets/nodes_systemd.md.4890eb0c.lean.js
    similarity index 91%
    rename from pr-preview/pr-1358/assets/nodes_systemd.md.2a8f5b64.lean.js
    rename to pr-preview/pr-1358/assets/nodes_systemd.md.4890eb0c.lean.js
    index 16879f003c..53f141496e 100644
    --- a/pr-preview/pr-1358/assets/nodes_systemd.md.2a8f5b64.lean.js
    +++ b/pr-preview/pr-1358/assets/nodes_systemd.md.4890eb0c.lean.js
    @@ -1 +1 @@
    -import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Setting up your node as a background process with SystemD","description":"Learn how to setup your node as a background process with SystemD.","frontmatter":{"description":"Learn how to setup your node as a background process with SystemD.","head":[["meta",{"name":"og:title","content":"Setting up your node as a background process with SystemD | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/systemd.md","filePath":"nodes/systemd.md","lastUpdated":1705009966000}'),e={name:"nodes/systemd.md"},p=l("",52),o=[p];function t(c,r,i,y,d,E){return a(),n("div",null,o)}const u=s(e,[["render",t]]);export{h as __pageData,u as default};
    +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.2263f03b.js";const h=JSON.parse('{"title":"Setting up your node as a background process with SystemD","description":"Learn how to setup your node as a background process with SystemD.","frontmatter":{"description":"Learn how to setup your node as a background process with SystemD.","head":[["meta",{"name":"og:title","content":"Setting up your node as a background process with SystemD | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/systemd.md","filePath":"nodes/systemd.md","lastUpdated":1705010189000}'),e={name:"nodes/systemd.md"},p=l("",52),o=[p];function t(c,r,i,y,d,E){return a(),n("div",null,o)}const u=s(e,[["render",t]]);export{h as __pageData,u as default};
    diff --git a/pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.112ed17e.js b/pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.7b10acd2.js
    similarity index 97%
    rename from pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.112ed17e.js
    rename to pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.7b10acd2.js
    index 84a642dcb4..7cb12c9cfa 100644
    --- a/pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.112ed17e.js
    +++ b/pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.7b10acd2.js
    @@ -1 +1 @@
    -import{_ as e,o as s,c as n,Q as i}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Transaction resubmission","description":"This is a guide on transaction resubmission on Celestia.","frontmatter":{"description":"This is a guide on transaction resubmission on Celestia.","prev":{"text":"Helpful CLI commands","link":"/nodes/celestia-app-commands"},"head":[["meta",{"name":"og:title","content":"Transaction resubmission | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/transaction-resubmission.md","filePath":"nodes/transaction-resubmission.md","lastUpdated":1705009966000}'),t={name:"nodes/transaction-resubmission.md"},a=i('

    Transaction resubmission

    In cases where transactions are not included within a 75-second window, resubmission is necessary. This is especially important during network congestion, as transactions with relatively low fees may not be processed even after the network clears up.

    Regardless of whether they originate from celestia-app or celestia-node, transactions will not be re-gossiped, except in the presence of a new peer.

    Monitoring and resubmission

    Monitor the status of your transactions. If a transaction is not included within a 75-second window, it should be resubmitted. This can be done manually or through automated processes.

    Changes introduced in celestiaorg/celestia-core#1089 may affect transaction gossiping and inclusion speed.

    Notes

    • All transactions, regardless of their origin, are subject to being sorted and pruned based on fees.
    • It is the user or developer's responsibility to monitor and possibly resubumit transactions if they are not included in a 75-second window.
    ',8),o=[a];function r(c,d,l,u,m,h){return s(),n("div",null,o)}const _=e(t,[["render",r]]);export{b as __pageData,_ as default}; +import{_ as e,o as s,c as n,Q as i}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Transaction resubmission","description":"This is a guide on transaction resubmission on Celestia.","frontmatter":{"description":"This is a guide on transaction resubmission on Celestia.","prev":{"text":"Helpful CLI commands","link":"/nodes/celestia-app-commands"},"head":[["meta",{"name":"og:title","content":"Transaction resubmission | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/transaction-resubmission.md","filePath":"nodes/transaction-resubmission.md","lastUpdated":1705010189000}'),t={name:"nodes/transaction-resubmission.md"},a=i('

    Transaction resubmission

    In cases where transactions are not included within a 75-second window, resubmission is necessary. This is especially important during network congestion, as transactions with relatively low fees may not be processed even after the network clears up.

    Regardless of whether they originate from celestia-app or celestia-node, transactions will not be re-gossiped, except in the presence of a new peer.

    Monitoring and resubmission

    Monitor the status of your transactions. If a transaction is not included within a 75-second window, it should be resubmitted. This can be done manually or through automated processes.

    Changes introduced in celestiaorg/celestia-core#1089 may affect transaction gossiping and inclusion speed.

    Notes

    • All transactions, regardless of their origin, are subject to being sorted and pruned based on fees.
    • It is the user or developer's responsibility to monitor and possibly resubumit transactions if they are not included in a 75-second window.
    ',8),o=[a];function r(c,d,l,u,m,h){return s(),n("div",null,o)}const _=e(t,[["render",r]]);export{b as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.112ed17e.lean.js b/pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.7b10acd2.lean.js similarity index 92% rename from pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.112ed17e.lean.js rename to pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.7b10acd2.lean.js index 6c218fb28d..b2b14749a9 100644 --- a/pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.112ed17e.lean.js +++ b/pr-preview/pr-1358/assets/nodes_transaction-resubmission.md.7b10acd2.lean.js @@ -1 +1 @@ -import{_ as e,o as s,c as n,Q as i}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Transaction resubmission","description":"This is a guide on transaction resubmission on Celestia.","frontmatter":{"description":"This is a guide on transaction resubmission on Celestia.","prev":{"text":"Helpful CLI commands","link":"/nodes/celestia-app-commands"},"head":[["meta",{"name":"og:title","content":"Transaction resubmission | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/transaction-resubmission.md","filePath":"nodes/transaction-resubmission.md","lastUpdated":1705009966000}'),t={name:"nodes/transaction-resubmission.md"},a=i("",8),o=[a];function r(c,d,l,u,m,h){return s(),n("div",null,o)}const _=e(t,[["render",r]]);export{b as __pageData,_ as default}; +import{_ as e,o as s,c as n,Q as i}from"./chunks/framework.2263f03b.js";const b=JSON.parse('{"title":"Transaction resubmission","description":"This is a guide on transaction resubmission on Celestia.","frontmatter":{"description":"This is a guide on transaction resubmission on Celestia.","prev":{"text":"Helpful CLI commands","link":"/nodes/celestia-app-commands"},"head":[["meta",{"name":"og:title","content":"Transaction resubmission | Celestia Docs"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"nodes/transaction-resubmission.md","filePath":"nodes/transaction-resubmission.md","lastUpdated":1705010189000}'),t={name:"nodes/transaction-resubmission.md"},a=i("",8),o=[a];function r(c,d,l,u,m,h){return s(),n("div",null,o)}const _=e(t,[["render",r]]);export{b as __pageData,_ as default}; diff --git a/pr-preview/pr-1358/community/calendar.html b/pr-preview/pr-1358/community/calendar.html index 3fc1b81227..833d7e657e 100644 --- a/pr-preview/pr-1358/community/calendar.html +++ b/pr-preview/pr-1358/community/calendar.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Community calendar

    The Celestia community calendar is available for finding all the different community call events happening in Celestia's community.

    Add the community calendar to your personal calendar to stay updated with all the events.

    Explore past community call agendas, notes, and recordings for more insights.

    - +

    Community calendar

    The Celestia community calendar is available for finding all the different community call events happening in Celestia's community.

    Add the community calendar to your personal calendar to stay updated with all the events.

    Explore past community call agendas, notes, and recordings for more insights.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/coc.html b/pr-preview/pr-1358/community/coc.html index b0e8af7db3..5f4b33de48 100644 --- a/pr-preview/pr-1358/community/coc.html +++ b/pr-preview/pr-1358/community/coc.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Celestia.org Code of Conduct

    Our Pledge

    We as Celestia.org members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

    We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

    Our Standards

    Examples of behavior that contributes to a positive environment for our community include:

    • Demonstrating empathy and kindness toward other people
    • Being respectful of differing opinions, viewpoints, and experiences
    • Giving and gracefully accepting constructive feedback
    • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
    • Focusing on what is best not just for us as individuals, but for the overall community
    • Contributing to conversations about Celestia’s technology and ecosystem

    Examples of unacceptable behavior include:

    • The use of sexualized language or imagery, and sexual attention or advances of any kind
    • Trolling, insulting or derogatory comments, and personal or political attacks
    • Public or private harassment
    • Publishing others' private information, such as a physical or email address, without their explicit permission
    • Focusing on the prices of digital assets or tokens, or where they can be purchased
    • Other conduct which could reasonably be considered inappropriate in a professional setting

    Enforcement Responsibilities

    Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

    Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

    Scope

    This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

    Enforcement

    Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at Celestia.org Discord. All complaints will be reviewed and investigated promptly and fairly.

    All community leaders are obligated to respect the privacy and security of the reporter of any incident.

    Enforcement Guidelines

    Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

    1. Correction

    Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

    Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

    2. Warning

    Community Impact: A violation through a single incident or series of actions.

    Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

    3. Temporary Ban

    Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

    Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

    4. Permanent Ban

    Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

    Consequence: A permanent ban from any sort of public interaction within the community.

    Attribution

    This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

    Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

    For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

    - +

    Celestia.org Code of Conduct

    Our Pledge

    We as Celestia.org members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

    We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

    Our Standards

    Examples of behavior that contributes to a positive environment for our community include:

    • Demonstrating empathy and kindness toward other people
    • Being respectful of differing opinions, viewpoints, and experiences
    • Giving and gracefully accepting constructive feedback
    • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
    • Focusing on what is best not just for us as individuals, but for the overall community
    • Contributing to conversations about Celestia’s technology and ecosystem

    Examples of unacceptable behavior include:

    • The use of sexualized language or imagery, and sexual attention or advances of any kind
    • Trolling, insulting or derogatory comments, and personal or political attacks
    • Public or private harassment
    • Publishing others' private information, such as a physical or email address, without their explicit permission
    • Focusing on the prices of digital assets or tokens, or where they can be purchased
    • Other conduct which could reasonably be considered inappropriate in a professional setting

    Enforcement Responsibilities

    Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

    Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

    Scope

    This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

    Enforcement

    Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at Celestia.org Discord. All complaints will be reviewed and investigated promptly and fairly.

    All community leaders are obligated to respect the privacy and security of the reporter of any incident.

    Enforcement Guidelines

    Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

    1. Correction

    Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

    Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

    2. Warning

    Community Impact: A violation through a single incident or series of actions.

    Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

    3. Temporary Ban

    Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

    Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

    4. Permanent Ban

    Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

    Consequence: A permanent ban from any sort of public interaction within the community.

    Attribution

    This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

    Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

    For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/cohort-one-content.html b/pr-preview/pr-1358/community/cohort-one-content.html index a2f4827b27..940ceead2b 100644 --- a/pr-preview/pr-1358/community/cohort-one-content.html +++ b/pr-preview/pr-1358/community/cohort-one-content.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Cohort one content & calendar

    Month 1 - learning and exploring (start building whenever you’re ready)

    Milestone - present an idea that you want to pursue

    Week 1 - 26 September

    🚀 Kickoff call - 26 September @ 11am EDT / 3pm UTC / 5pm CEST


    Week 2 - 3 October

    📗 Lesson 1 - Introduction to Celestia and the Cosmos SDK (Nader and Yaz)

    🧑‍🏫 Office Hour

    • Wednesday 5 October @ 11am EDT / 3pm UTC / 5pm CEST

    Week 3 - 10 October

    📗 Lesson 2 - Building a sovereign rollup with Ignite and Rollkit on Celestia with Yaz

    🧑‍🏫 Office Hour

    • Wednesday 12 October @ 11am EDT / 3pm UTC / 5pm CEST

    Week 4 - 17 October

    🪧 Present your idea

    • Wednesday 19 October @ 11am EDT / 3pm UTC / 5pm CEST

    Month 2 - designing & implementing a basic prototype

    Milestone - present the prototype for feedback

    Week 5 - 24 October

    📗 Lesson 3 - Introduction to Fuel with Emily Herbert

    🧑‍🏫 Wednesday Office Hour

    • 26 October @ 11am EDT / 3pm UTC / 5pm CEST

    🧠 Modular Insights with Skip Protocol


    Week 6 - 31 October

    🧑‍🏫 Thursday Office Hour

    • 3 November - @ 11am EDT / 3pm UTC / 5pm CEST

    Week 7 - 7 November

    📗 Lesson 4 - Introduction to Astria with Josh Bowen

    🧑‍🏫 Office Hour

    • Wednesday 9 November @ 11am EST / 4pm UTC / 5pm CEST

    Week 8 - 14 November

    Modular Fellows AMA with Evan Forbes

    Modular Fellows AMA with Dr. Mustafa Al-Bassam

    • Tuesday 15 November @ 10am EST / 3pm UTC / 4pm CEST

    🧑‍🏫 Wednesday Office Hour

    • 16 November @ 11am EST / 4pm UTC / 5pm CEST

    Modular Fellows AMA with Zaki Manian

    • Friday 18 November @ 11am EST / 4pm UTC / 5pm CEST

    Week 9 - 21 November

    📗 Lesson 5 - Quantum Gravity Bridge with Evan Forbes

    • Monday 21 November @ 11am EST / 4pm UTC / 5pm CEST
      • In this lesson, Evan Forbes will teach us about the Quantum Gravity Bridge (Blobstream) and layer 2s. Blobstream proves that some data was posted on Celestia. Rollups use the this bridge to provide strong data availability guarantees for block data at a fraction of the cost of calldata on Ethereum.
    • Lesson #5 - Quantum Gravity Bridge with Evan Forbes (Recording)

    Modular Fellows AMA with Ismail Khoffi

    🪧 Present your project prototype


    Month 3 - build out the prototype into a functional product

    Milestone - demo, write up of product

    Week 10 - 28 November

    🧠 Modular Insights with dYmension

    🧑‍🏫 Wednesday Office Hour

    • 30 November - @ 11am EST / 4pm UTC / 5pm CEST

    🧠 Modular Insights with Eclipse


    Week 11 - 5 December

    🧑‍🏫 Office Hour

    • Wednesday 7 December - @ 11am EST / 4pm UTC / 5pm CEST

    Dec 12 - Week 12

    Modular Fellows AMA with John Adler

    📗 Lesson 6 with Cosmology

    • Tuesday 13 December @ 1pm EST / 6pm UTC / 7pm CEST
    • Building apps in the Cosmos
      • Learn how to build apps that quickly and easily interact with Cosmos blockchains and wallets.
      • Convert custom Cosmos SDK chains and CosmWasm Smart Contracts into neatly packaged Typescript modules that can be published to npm and brought into frontend projects.
    • Lesson #6 - Cosmology (Recording)

    📗 Lesson 7 with CosmWasm

    • Thursday 15 December @ 11am EST / 5pm UTC / 6pm CEST
      • CosmWasm is a new smart contracting platform built for the Cosmos ecosystem.
      • Learn to build a Smart Contract in under 1 hour in Rust. You will learn all the basic pieces you need to shape your Smart Contract.
    • Lesson #7 - CosmWasm (Recording)

    Dec 19 - Week 13 - no scheduled events, meet with mentors

    🧑‍🏫 Office Hour

    • Tuesday 20 December @ 11am EDT / 3pm UTC / 5pm CEST

    Dec 26 - Week 14 - no scheduled events, holiday break 🎉


    Jan 2 - Week 15 - no scheduled events, meet with mentors

    🧑‍🏫 Office Hour

    • Wednesday 4 January @ 11am EDT / 3pm UTC / 5pm CEST

    Jan 9 - Week 16 - submissions due

    🧑‍🏫 Office Hour

    • Monday 9 January @ 11am EDT / 3pm UTC / 5pm CEST

    🪧 Demo Day

    🪧 Write up of project due

    • Friday 13 January @ 11:59pm EST

    Project repositories

    Individual fellows

    Team fellows

    - +

    Cohort one content & calendar

    Month 1 - learning and exploring (start building whenever you’re ready)

    Milestone - present an idea that you want to pursue

    Week 1 - 26 September

    🚀 Kickoff call - 26 September @ 11am EDT / 3pm UTC / 5pm CEST


    Week 2 - 3 October

    📗 Lesson 1 - Introduction to Celestia and the Cosmos SDK (Nader and Yaz)

    🧑‍🏫 Office Hour

    • Wednesday 5 October @ 11am EDT / 3pm UTC / 5pm CEST

    Week 3 - 10 October

    📗 Lesson 2 - Building a sovereign rollup with Ignite and Rollkit on Celestia with Yaz

    🧑‍🏫 Office Hour

    • Wednesday 12 October @ 11am EDT / 3pm UTC / 5pm CEST

    Week 4 - 17 October

    🪧 Present your idea

    • Wednesday 19 October @ 11am EDT / 3pm UTC / 5pm CEST

    Month 2 - designing & implementing a basic prototype

    Milestone - present the prototype for feedback

    Week 5 - 24 October

    📗 Lesson 3 - Introduction to Fuel with Emily Herbert

    🧑‍🏫 Wednesday Office Hour

    • 26 October @ 11am EDT / 3pm UTC / 5pm CEST

    🧠 Modular Insights with Skip Protocol


    Week 6 - 31 October

    🧑‍🏫 Thursday Office Hour

    • 3 November - @ 11am EDT / 3pm UTC / 5pm CEST

    Week 7 - 7 November

    📗 Lesson 4 - Introduction to Astria with Josh Bowen

    🧑‍🏫 Office Hour

    • Wednesday 9 November @ 11am EST / 4pm UTC / 5pm CEST

    Week 8 - 14 November

    Modular Fellows AMA with Evan Forbes

    Modular Fellows AMA with Dr. Mustafa Al-Bassam

    • Tuesday 15 November @ 10am EST / 3pm UTC / 4pm CEST

    🧑‍🏫 Wednesday Office Hour

    • 16 November @ 11am EST / 4pm UTC / 5pm CEST

    Modular Fellows AMA with Zaki Manian

    • Friday 18 November @ 11am EST / 4pm UTC / 5pm CEST

    Week 9 - 21 November

    📗 Lesson 5 - Quantum Gravity Bridge with Evan Forbes

    • Monday 21 November @ 11am EST / 4pm UTC / 5pm CEST
      • In this lesson, Evan Forbes will teach us about the Quantum Gravity Bridge (Blobstream) and layer 2s. Blobstream proves that some data was posted on Celestia. Rollups use the this bridge to provide strong data availability guarantees for block data at a fraction of the cost of calldata on Ethereum.
    • Lesson #5 - Quantum Gravity Bridge with Evan Forbes (Recording)

    Modular Fellows AMA with Ismail Khoffi

    🪧 Present your project prototype


    Month 3 - build out the prototype into a functional product

    Milestone - demo, write up of product

    Week 10 - 28 November

    🧠 Modular Insights with dYmension

    🧑‍🏫 Wednesday Office Hour

    • 30 November - @ 11am EST / 4pm UTC / 5pm CEST

    🧠 Modular Insights with Eclipse


    Week 11 - 5 December

    🧑‍🏫 Office Hour

    • Wednesday 7 December - @ 11am EST / 4pm UTC / 5pm CEST

    Dec 12 - Week 12

    Modular Fellows AMA with John Adler

    📗 Lesson 6 with Cosmology

    • Tuesday 13 December @ 1pm EST / 6pm UTC / 7pm CEST
    • Building apps in the Cosmos
      • Learn how to build apps that quickly and easily interact with Cosmos blockchains and wallets.
      • Convert custom Cosmos SDK chains and CosmWasm Smart Contracts into neatly packaged Typescript modules that can be published to npm and brought into frontend projects.
    • Lesson #6 - Cosmology (Recording)

    📗 Lesson 7 with CosmWasm

    • Thursday 15 December @ 11am EST / 5pm UTC / 6pm CEST
      • CosmWasm is a new smart contracting platform built for the Cosmos ecosystem.
      • Learn to build a Smart Contract in under 1 hour in Rust. You will learn all the basic pieces you need to shape your Smart Contract.
    • Lesson #7 - CosmWasm (Recording)

    Dec 19 - Week 13 - no scheduled events, meet with mentors

    🧑‍🏫 Office Hour

    • Tuesday 20 December @ 11am EDT / 3pm UTC / 5pm CEST

    Dec 26 - Week 14 - no scheduled events, holiday break 🎉


    Jan 2 - Week 15 - no scheduled events, meet with mentors

    🧑‍🏫 Office Hour

    • Wednesday 4 January @ 11am EDT / 3pm UTC / 5pm CEST

    Jan 9 - Week 16 - submissions due

    🧑‍🏫 Office Hour

    • Monday 9 January @ 11am EDT / 3pm UTC / 5pm CEST

    🪧 Demo Day

    🪧 Write up of project due

    • Friday 13 January @ 11:59pm EST

    Project repositories

    Individual fellows

    Team fellows

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/itn-tos.html b/pr-preview/pr-1358/community/itn-tos.html index 8747d1db88..82c3107a87 100644 --- a/pr-preview/pr-1358/community/itn-tos.html +++ b/pr-preview/pr-1358/community/itn-tos.html @@ -7,11 +7,11 @@ - + - - + + @@ -39,7 +39,7 @@

    SUPPLEMENTAL INCENTIVIZED TESTNET TERMS

    Last Revised on 1/16/2023

    Welcome to the Supplemental Terms (these "ITN Award Program Terms" or "Terms") for the Incentivized Testnet Award Program (the "ITN Award Program" or the "Program") as operated on behalf of Strange Loop Labs AG ("Company", "we" or "us"). The ITN Award Program provides eligible users of a Testnet designated by the Company the opportunity to earn rewards, which may include Celestia tokens. These Terms are supplemental to, and incorporate by reference, the broader Celestia Terms of Service ("Services Terms") available at Celestia Terms of Service.

    Defined terms used but not defined herein have the meaning set forth in the Services Terms. The Program and your participation in it is a Service as defined under the Services Terms.

    These Terms govern your ability to participate in the Program and any awards you receive from that participation, which may include Celestia tokens ("ITN Rewards").

    Please read these Terms carefully, as they include important information about your legal rights. By participating in the Program or claiming ITN Rewards, you are agreeing to these Terms. If you do not understand or agree to these Terms, please do not participate in the Program or claim ITN Rewards.

    In order to participate in the Program you must provide certain information about you. Our collection of such information, your rights with respect to such collection, and other relevant information is described in the Celestia Privacy Policy available at Celestia Privacy Policy, and is supplemented by Section 3 of these Terms.

    The Program is a discretionary Service provided by the Company, pursuant to which the Company may, in its sole discretion, provide you ITN Rewards for your successful completion of certain tasks on a Testnet designated by the Company. Please note that any such Testnet itself (as well as any other Testnets or any mainnet deployment of the Celestia Protocol) is not a Service and does not constitute an element of the Services. We do not control the Celestia Protocol and accept no liability for its operation or its deployment in any testnet or mainnet environment.

    1. General Terms

    1.1 You must be eighteen (18) years of age or older and capable of forming a binding contract with the Company in order to participate in the Program or receive ITN Rewards.

    1.2 You agree and acknowledge that you (a) may receive ITN Rewards for free (other than applicable taxes, if any) from your participation in the Program, (b) were not previously promised ITN Rewards, unless pursuant to a separate written agreement, and (c) took no action in anticipation of or in reliance on receiving any ITN Rewards, unless pursuant to a separate written agreement.

    1.3 Your eligibility to participate in or receive ITN Rewards from the Program is subject to our sole discretion. The complete list of actions you must complete to earn ITN Rewards may not have been described in the documentation released by us from time to time, you may not receive ITN Rewards even if you successfully complete such actions, and no documentation related to the Program entitles you to any ITN Rewards or to participate in the Program.

    1.4 You agree and acknowledge that (a) you are not a Prohibited Person, (b) you are not a U.S. Person as defined in Rule 902(k) of Regulation S under the U.S. Securities Act of 1933, as amended (the "1933 Act" or "Act"), (c) you will not use a VPN or other tool to circumvent any geoblock or other restrictions that we may have implemented for participants in the Program, and (d) you are not participating in, and have not become eligible to participate in, the Program by receiving credentials from any other person or entity. Any circumvention or violation of the above will permanently disqualify you from participation in the Program.

    1.5 You agree and acknowledge that if you are unable to claim ITN Rewards due to technical bugs, gas fees, loss of access to a Wallet or the keys thereto, or for any other reason, you will have no recourse or claim against us or any other Company Entity and that neither we nor any other Company Entity will bear any liability.

    1.6 You agree and acknowledge that claiming an ITN Reward may require reliance on or an integration with third party products (e.g., a Wallet or an unaffiliated network or blockchain) that we do not control. In the event that you are unable to access such products or integrations, or if they fail for any reason, and you are unable to participate in the Program or claim ITN Rewards, you will have no recourse or claim against us or any other Company Entity and neither we nor any other Company Entity will bear any liability.

    1.7 The Company may share identifying information and documentation with certain vendors or third-party providers who provide such identity verification and sanctions and watchlist screening services (the "Third-Party Services"). You agree that your access and use of such Third-Party Services is governed solely by the terms and conditions of such Third-Party Services, and the Company is not responsible or liable for, and make no representations as to any aspect of such Third-Party Services, including, without limitation, their content or the manner in which they handle, protect, manage or process data or any interaction between you and the provider of such Third-Party Services. You irrevocably waive any claim against the Company with respect to such Third-Party Services. We are not liable for any damage or loss caused or alleged to be caused by or in connection with your enablement, access or use of any such Third-Party Services, or your reliance on the privacy practices, data security processes or other policies of such Third-Party Services.

    2. Taxes

    2.1 You are responsible for the payment of all taxes associated with your participation in the Program and your receipt of ITN Rewards. You agree to provide the Company with any additional information and complete any required tax or other forms relating to your receipt of ITN Rewards. You may suffer adverse tax consequences as a result of your participation in the Program or your receipt of ITN Rewards. You hereby represent that (a) you have consulted with a tax adviser that you deem advisable in connection with your participation, or that you have had the opportunity to obtain tax advice but have chosen not to do so, (b) the Company has not provided you with any tax advice with respect to your participation, and (c) you are not relying on the Company for any tax advice.

    3. Supplemental Privacy Information

    We may collect information to help us determine the reliability or uptime of your activities within the Program, including through the use of telemetry or metrics endpoints to collect and analyse such information, and link this information to a unique identifier to represent your activities within the Program. We may display all of the foregoing information on a public dashboard.

    Additionally, we may collect certain information about you from Third-Party Services and may combine information we receive from you with information we obtain from Third-Party Services, including but not limited to:

    • Transaction information. Information related to transactions in your Wallet, your Wallet address, activities performed using your Wallet, tokens received by your Wallet, or transactions initiated or completed.
    • Identification information. We collect your government identification (e.g., driver’s license, passport, etc.), proof of address, biometric information, and entity formation information if applicable. By agreeing to these Terms, you consent to our use of your biometric information, and understand and agree that our use of the biometric information is necessary for the performance of these Terms and the implementation of the Services.

    We collect this information to confirm your eligibility to participate in the Program and receive ITN Rewards, comply with our legal obligations, detect and prevent fraud, and to provide you with the Program.

    Any information we receive from third-party sources will be treated in accordance with the Celestia Privacy Policy, available at Celestia Privacy Policy. We are not responsible or liable for the accuracy of the information provided to us by third parties and are not responsible for any third party’s policies or practices. See Section 9 of the Celestia Privacy Policy for more information.

    4. Certain Additional Representations

    4.1 Receipt of Rewards Entirely for Own Account. Your eligibility to receive ITN Rewards is made in reliance upon your representation to the Company, which by your agreement to these Terms you hereby confirm, that any ITN Rewards you receive will be for your own account, not as a nominee or agent, and not with a view to the resale or distribution of any part thereof, and that you have no present intention of selling, granting any participation in, or otherwise distributing the same. By agreeing to these Terms, you further represent that you do not presently have any contract, undertaking, agreement or arrangement with any person to sell, transfer or grant participations to such person or to any third person, with respect to any ITN Rewards. If you are agreeing to these terms on behalf of an entity, that entity has not been formed for the specific purpose of obtaining the ITN Rewards.

    4.2 Disclosure of Information. Your eligibility to receive ITN Rewards is made in reliance upon your representation to the Company, which by your agreement to these Terms you hereby confirm, that you have sufficient knowledge of and experience in business and financial matters to be able to evaluate the risks and merits of your participation in the Program and of any ITN Rewards and are able to bear the risks thereof. You hereby affirm that you have not relied on any representations or warranties made by the Company related to the Program, including, but not limited to, conversations of any kind, whether through oral or electronic communication, or any white paper.

    4.3 Compliance with United States Securities Laws. You understand that the ITN Rewards have not been, and will not be, registered under the 1933 Act or any applicable state securities laws. You acknowledge that the availability of an exemption from the registration provisions of the Securities Act and other applicable state securities laws depends upon, among other things, the bona fide nature of your intent as described in Section 4.1 above and with respect to the accuracy of your representations as expressed throughout these Terms. You understand that the ITN Rewards may be deemed "restricted securities" under applicable United States federal and state securities laws and that, pursuant to these laws, you may be restricted from transferring any ITN Rewards unless they are registered with the Securities and Exchange Commission and qualified by state authorities, or an exemption from such registration and qualification requirements is available. You acknowledge that the Company does not undertake any obligation to register or qualify the ITN Rewards for resale, and exemptions from registration and qualification may not be available or may not permit you to transfer all or any of the ITN Rewards in the amounts or at the times proposed by you. You further acknowledge that if an exemption from registration or qualification is available, such exemption may be conditioned on various requirements including, but not limited to, the time and manner of sale, the holding period for the ITN Rewards, and on other factors outside of your control, for which the Company makes no assurances and may not be able to satisfy.

    4.4 Compliance with Liechtenstein Security Law. You understand that nothing in these Terms will be deemed to constitute a prospectus of any sort in Liechtenstein or in any jurisdiction in the EU; nor does it in any way pertain to a public offering or a solicitation of an offer to buy any securities in Liechtenstein or in any jurisdiction in the EU.

    4.5 No Public Market. You understand that no public market now exists for the ITN Rewards, and that the Company has not made any assurances that a public market will ever exist for the ITN Rewards.

    4.6 No Solicitation. At no time were you presented with or solicited by any publicly issued or circulated newspaper, mail, radio, television or other form of general advertising or solicitation in connection with any invitation to participate in the Program or offer of the ITN Rewards.

    4.7 Other Applicable Laws. You hereby represent that you have satisfied yourself as to the full observance of the laws of your jurisdiction in connection with any invitation to participate in the Program, receipt of ITN Awards, and other use of these Terms, including (a) the legal requirements within your jurisdiction for participating in the Program and receiving ITN Rewards, (b) any foreign exchange restrictions applicable to such participation or receipt, (c) any governmental or other consents that may need to be obtained, and (d) the income tax and other tax consequences, if any, that may be relevant to the receipt, holding, sale, or transfer of the ITN Rewards. Your participation in the Program and continued beneficial ownership of ITN Rewards will not violate any applicable securities or other laws of your jurisdiction.

    4.8 Non-US Transaction. You are not a U.S. Person as defined in Rule 902(k) of Regulation S under the 1933 Act. The offer of the ITN Rewards to you was made in an offshore transaction (as defined in Rule 902(h) of Regulation S), no directed selling efforts (as defined in Rule 902(c) of Regulation S) were made in the United States, and you are not obtaining the ITN Rewards for the account or benefit of any U.S. Person.

    4.9 Transfer Restrictions. You will not, during the Restricted Period (as defined below) offer or sell any of the ITN Rewards (or create or maintain any derivative position equivalent thereto) in the United States, to or for the account or benefit of a U.S. Person or other than in accordance with Regulation S. The Company reserves the right to impose additional transfer restrictions with respect to the ITN Rewards in its sole discretion.

    4.10 Subsequent Sales. You will, after the expiration of the applicable Restricted Period, only offer, sell, pledge or otherwise transfer the ITN Rewards (or create or maintain any derivative position equivalent thereto) pursuant to registration under the 1933 Act or any available exemption therefrom and, in any case, in accordance with applicable state securities laws.

    4.11 Legends. You acknowledge and agree that the ITN Rewards will be deemed to bear the following legends: (a) any legend required by the securities laws of any state or country to the extent such laws are applicable to the ITN Rewards represented by the certificate so legended, and (b): the following legend (and even without such legend the following restrictions apply):

    THE ITN REWARDS HAVE NOT BEEN REGISTERED UNDER THE ACT WITH THE UNITED STATES SECURITIES AND EXCHANGE COMMISSION, AND THE COMPANY DOES NOT INTEND TO REGISTER THEM. THE ITN REWARDS HAVE BEEN OBTAINED TO HOLD FOR THE LONG TERM AND NOT WITH A VIEW TO, OR IN CONNECTION WITH, THE SALE OR DISTRIBUTION THEREFOR. PRIOR TO THE ONE YEAR ANNIVERSARY FROM THE TERMINATION OF THE ITN REWARD PROGRAM (THE "PROGRAM COMPLETION DATE" AND SUCH ONE YEAR PERIOD, THE "RESTRICTED PERIOD"), THE ITN REWARDS MAY NOT BE OFFERED OR SOLD (INCLUDING OPENING A SHORT POSITION IN SUCH ITN REWARDS) IN THE UNITED STATES OR TO U.S. PERSONS AS DEFINED BY RULE 902(k) ADOPTED UNDER THE ACT, OTHER THAN TO DISTRIBUTORS, UNLESS THE ITN REWARDS ARE REGISTERED UNDER THE ACT, OR AN EXEMPTION FROM THE REGISTRATION REQUIREMENTS OF THE ACT IS AVAILABLE. RECIPIENTS OF ITN REWARDS PRIOR TO THE ONE YEAR ANNIVERSARY OF THE PROGRAM COMPLETION DATE MAY SELL SUCH ITN REWARDS ONLY PURSUANT TO AN EXEMPTION FROM REGISTRATION UNDER THE ACT OR OTHERWISE IN ACCORDANCE WITH THE PROVISIONS OF REGULATION S OF THE ACT, OR IN TRANSACTIONS EFFECTED OUTSIDE OF THE UNITED STATES PROVIDED THEY DO NOT SOLICIT (AND NO ONE ACTING ON THEIR BEHALF SOLICITS) PURCHASERS IN THE UNITED STATES OR OTHERWISE ENGAGE(S) IN SELLING EFFORTS IN THE UNITED STATES AND PROVIDED THAT HEDGING TRANSACTIONS INVOLVING THESE ITN REWARDS MAY NOT BE CONDUCTED UNLESS IN COMPLIANCE WITH THE ACT. A HOLDER OF THE ITN REWARDS WHO IS A DISTRIBUTOR, DEALER, SUB-UNDERWRITER OR OTHER SECURITIES PROFESSIONAL, IN ADDITION, CANNOT PRIOR TO THE ONE YEAR ANNIVERSARY OF THE PROGRAM COMPLETION DATE SELL THE ITN REWARDS TO A U.S. PERSON AS DEFINED BY RULE 902(k) OF REGULATION S UNLESS THE ITN REWARDS ARE REGISTERED UNDER THE ACT OR AN EXEMPTION FROM REGISTRATION UNDER THE ACT IS AVAILABLE.

    - + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/modular-fellows.html b/pr-preview/pr-1358/community/modular-fellows.html index 90f5284716..5d409cd8e3 100644 --- a/pr-preview/pr-1358/community/modular-fellows.html +++ b/pr-preview/pr-1358/community/modular-fellows.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Modular Fellows

    Modular Fellows

    Modular Fellows is a program designed to empower modular builders with the right resources to build the future of scalable and sovereign blockchain networks.

    Over the course of the three month program, Modular Fellows will receive engineering support, mentorship, and a monthly stipend of $3,000 to build a project of their choice. After the program, continuing support will be available for Fellows in the form of fundraising help and grants.

    Applications are currently closed. Check back for details about future cohorts.

    Overview

    Milestones

    Each month, the Fellows will complete a project milestone, culminating in a demo-day presentation.

    • Month 1 - Learning and Exploring (start building whenever you’re ready)

      In this month, you will immerse yourself in modular blockchains to come up with ideas of protocols, tools or applications to build during the rest of the program.

      • Milestone - present an idea that you want to pursue
    • Month 2 - Designing & Implementing a Basic Prototype

      In this month, you will design and implement a basic prototype of the idea that you settled on during the first month.

      • Milestone - present the prototype for feedback
    • Month 3 - Build out the Prototype into a Functional Product

      In this month, you will expand on your prototype to build a functional product which you will demo and explain with a write up.

      • Milestone - demo, write up of product

    Project ideas

    Fellows do not need to have a specific project idea at the start of the program, but you will need to settle on one by the end of the first month. There are no right or wrong ideas, but here are a few to get you thinking:

    • New execution layers, e.g. a Move rollup
    • Rollup infrastructure services, e.g. one click deploy rollup sequencers
    • Modular interoperability solutions, e.g. settlement layers or bridges
    • Modular versions of the following
      • Popular DeFi apps e.g. AMMs & lending protocols
      • NFT platforms
      • Naming services like ENS
      • Social graphs like Lens Protocol

    Support

    1. Weekly office hours

      An optional meeting to ask questions, get help and receive feedback.

      Wednesdays alternating at 8:00am or 6:00pm Central US time.

    2. Lessons & tutorials

      Presentations from Celestia Labs team members & mentors explaining key concepts or giving tutorials on specific tools.

    3. Demos from participants

      Presentations from fellows about what they are working on for feedback.

    4. Communication

      Fellows will share a Telegram group with other Modular Fellows and Modular Mentors.

    5. Monthly stipend

      Fellows will receive $3,000.00 per month paid on completion of each milestone.

    Continuation

    Though the program lasts only 3 months, we will provide you with continuing support in the following ways.

    • Grants & Funding - We will assist you in fundraising or in applying for a grant so that you can continue building your project.
    • Alumni Network - You will be inducted into the Modular Fellows alumni network where you can keep in touch with other past and future Modular Fellows.

    Modular Mentors

    Modular Fellows will work closely with the Celestia Labs team and a group of hand-picked Modular Mentors who will help solve engineering problems and provide feedback on milestones.

    These are the Mentors for the first cohort:

    • Wei Dai - Research partner at Bain Capital Crypto
    • Can Gurel - Researcher at Delphi Digital
    • Eric Wall - Blockchain Researcher
    • Eli Krenzke - Research Team Partner at Polychain
    • Zaki Manian - Co-Founder of Sommelier, Co-Founder of iqlusion, helped build the Cosmos ecosystem, including launching the first public Cosmos testnet
    • Marko Baricevic - Cosmos-sdk lead and founder of binary holdings works.
    • Morgan Beller - General Partner at NFX, a seed-stage venture capital fund, prev. Head of Strategy for Facebook's Novi
    • John Adler - CRO, Celestia Labs
    • Mustafa Al-Bassam - CEO, Celestia Labs
    • Ismail Khoffi - CTO, Celestia Labs
    • Evan Forbes - Software Engineer, Celestia Labs
    - +

    Modular Fellows

    Modular Fellows

    Modular Fellows is a program designed to empower modular builders with the right resources to build the future of scalable and sovereign blockchain networks.

    Over the course of the three month program, Modular Fellows will receive engineering support, mentorship, and a monthly stipend of $3,000 to build a project of their choice. After the program, continuing support will be available for Fellows in the form of fundraising help and grants.

    Applications are currently closed. Check back for details about future cohorts.

    Overview

    Milestones

    Each month, the Fellows will complete a project milestone, culminating in a demo-day presentation.

    • Month 1 - Learning and Exploring (start building whenever you’re ready)

      In this month, you will immerse yourself in modular blockchains to come up with ideas of protocols, tools or applications to build during the rest of the program.

      • Milestone - present an idea that you want to pursue
    • Month 2 - Designing & Implementing a Basic Prototype

      In this month, you will design and implement a basic prototype of the idea that you settled on during the first month.

      • Milestone - present the prototype for feedback
    • Month 3 - Build out the Prototype into a Functional Product

      In this month, you will expand on your prototype to build a functional product which you will demo and explain with a write up.

      • Milestone - demo, write up of product

    Project ideas

    Fellows do not need to have a specific project idea at the start of the program, but you will need to settle on one by the end of the first month. There are no right or wrong ideas, but here are a few to get you thinking:

    • New execution layers, e.g. a Move rollup
    • Rollup infrastructure services, e.g. one click deploy rollup sequencers
    • Modular interoperability solutions, e.g. settlement layers or bridges
    • Modular versions of the following
      • Popular DeFi apps e.g. AMMs & lending protocols
      • NFT platforms
      • Naming services like ENS
      • Social graphs like Lens Protocol

    Support

    1. Weekly office hours

      An optional meeting to ask questions, get help and receive feedback.

      Wednesdays alternating at 8:00am or 6:00pm Central US time.

    2. Lessons & tutorials

      Presentations from Celestia Labs team members & mentors explaining key concepts or giving tutorials on specific tools.

    3. Demos from participants

      Presentations from fellows about what they are working on for feedback.

    4. Communication

      Fellows will share a Telegram group with other Modular Fellows and Modular Mentors.

    5. Monthly stipend

      Fellows will receive $3,000.00 per month paid on completion of each milestone.

    Continuation

    Though the program lasts only 3 months, we will provide you with continuing support in the following ways.

    • Grants & Funding - We will assist you in fundraising or in applying for a grant so that you can continue building your project.
    • Alumni Network - You will be inducted into the Modular Fellows alumni network where you can keep in touch with other past and future Modular Fellows.

    Modular Mentors

    Modular Fellows will work closely with the Celestia Labs team and a group of hand-picked Modular Mentors who will help solve engineering problems and provide feedback on milestones.

    These are the Mentors for the first cohort:

    • Wei Dai - Research partner at Bain Capital Crypto
    • Can Gurel - Researcher at Delphi Digital
    • Eric Wall - Blockchain Researcher
    • Eli Krenzke - Research Team Partner at Polychain
    • Zaki Manian - Co-Founder of Sommelier, Co-Founder of iqlusion, helped build the Cosmos ecosystem, including launching the first public Cosmos testnet
    • Marko Baricevic - Cosmos-sdk lead and founder of binary holdings works.
    • Morgan Beller - General Partner at NFX, a seed-stage venture capital fund, prev. Head of Strategy for Facebook's Novi
    • John Adler - CRO, Celestia Labs
    • Mustafa Al-Bassam - CEO, Celestia Labs
    • Ismail Khoffi - CTO, Celestia Labs
    • Evan Forbes - Software Engineer, Celestia Labs
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/modular-meetup-guide.html b/pr-preview/pr-1358/community/modular-meetup-guide.html index 4178663c62..07a4ed301e 100644 --- a/pr-preview/pr-1358/community/modular-meetup-guide.html +++ b/pr-preview/pr-1358/community/modular-meetup-guide.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Modular Meetup guide

    These are recommended steps you can follow that can help you organize a successful Modular Meetup. You aren’t required to follow the entire checklist but it is available to help aid you in your journey to organize a Modular Meetup.

    Before the Meetup

    1. Determine the meetup topic and objectives.
    2. Select a suitable date and time for the event.
    3. Secure a convenient and accessible venue that can accommodate the expected number of attendees.
    4. Finalize a schedule or agenda for the event, including speakers, presentations, and activities.
    5. Prepare and send out invitations to potential attendees using various channels (email, social media, community platforms, etc.).
    6. Create and share promotional materials (graphics, blog posts, etc.) to raise awareness about the meetup.
    7. Confirm speakers, including their availability, presentation topics, and technical requirements. If you are working from a Speaker List, please reach out to Nat for any support needed on coordination with speakers.
    8. Arrange any necessary equipment, such as microphones, projectors, and whiteboards.
    9. Plan and arrange refreshments, if applicable.
    10. Prepare and print any required materials, like agendas, name tags, and feedback forms.
    11. Coordinate with volunteers or team members to help manage the event.
    12. Set up a registration system or RSVP process to track attendance.
    13. Send out reminder messages to registered attendees prior to the event.
    14. Conduct a final review of the event logistics, including venue setup, equipment functionality, and volunteer roles.

    During the Meetup

    1. Set up the venue, including arranging seating, preparing equipment, and displaying any promotional materials.
    2. Designate a registration area and ensure that someone is available to greet and check-in attendees.
    3. Welcome the attendees and provide an overview of the event schedule.
    4. Introduce speakers and facilitate any presentations or discussions.
    5. Encourage networking and interaction among attendees during breaks or dedicated activities.
    6. Capture the event with photos or videos for future promotions and documentation.
    7. Collect feedback from attendees using forms, online surveys, or informal conversations if needed.

    After the Meetup

    1. Send follow-up messages to attendees, thanking them for their participation and soliciting additional feedback.
    2. Evaluate the success of the event by reviewing feedback and assessing key performance indicators (e.g., attendance, engagement, etc.).
    3. Analyze and document lessons learned, identifying areas for improvement in future meetups.
    4. Share event highlights, photos, and key takeaways with the community through social media, blog posts, or newsletters.
    5. Connect with speakers, attendees, and volunteers to maintain and strengthen relationships.
    6. Begin planning for the next meetup, applying insights gained from the previous event to enhance the experience for future attendees.

    Logistics and guidance

    These are provided guidelines for different components of kickstarting a Modular Meetup to help you get started on the logistics of organizing a meetup. A lot of those guidelines are thanks to the wonderful write ups in Ethereum Meetup Support Program and Elastic Community Organizer Guides.

    Venue

    Selecting the perfect venue for your Modular Meetup is essential in creating a welcoming atmosphere for the Celestia community.

    1. Startup Incubators
      • Often they would have spaces for meetups.
    2. Libraries
      • Libraries can normally have spaces for meetups at little to no costs
    3. Co-working spaces:
      • Co-working spaces might be able to offer necessary equipment like microphones, projectors, and whiteboards.
    4. Restaurants:
      • Restaurants might have private rooms for larger groups of people that you can book, depending on the restaurant.
    5. Universities and Blockchain Clubs:
      • Partnering with universities and their local university clubs can offer you a lot of spaces for meetups, as well as necessary equipments if needed for giving a talk.
    6. Other options:
      • If you're having difficulty finding a venue, don't hesitate to ask for help within the Celestia community. Your fellow organizers and attendees may have valuable suggestions or connections.

    An ideal venue should offer:

    • Sufficient seating for the audience
    • A projector and screen
    • A microphone (especially for meetups with 10+ attendees)
    • Optional: A whiteboard for speakers or workshops (not always necessary, but a nice addition)

    Consider recording the event, even with a smartphone, to share with the community later. If the speaker uses a microphone, their voice will be more audible in the video. We might be able to post those recordings of the meetup talks on a meetup youtube channel after.

    Remember to negotiate on costs and seek discounts, emphasizing that your meetup benefits the community.

    Collaborate with your venue provider to explore options like borrowing recording equipment, tripods, or even having them record the event for you. Some providers may offer these services for free or at a reduced cost.

    Catering and refreshments

    Providing refreshments or catering for your Modular Meetup enhances the overall experience and encourages networking among attendees.

    1. Determine your budget
      • Identify the amount you can allocate for food and drinks at your event which will help you determine how much you can bring in refreshments. You can also contact the Celestia Devrel team for ideas and support. Costs for refreshments and drinks can vary depending on your location, so be mindful to be flexible on your plans according to your specific location and budget.
    2. Offer a variety of refreshments
      • If you're ordering in, pizza and finger foods work well, but you can also have more budget-friendly options for food.
      • Offering drinks like beer, soda, or lemonade are great, but water also works. Keep in mind that not everyone drinks alcohol so it’s not a requirement. But having at least water and plastic cups works well.
    3. Plan ahead
      • Order refreshments 1 or 2 days in advance and schedule delivery to avoid last-minute stress during the event.

    By following these recommendations, you'll be able to provide enjoyable refreshments for your Celestia Modular Meetup attendees while fostering a friendly and engaging atmosphere.

    Audience

    Understanding your audience and estimating attendance are crucial for organizing successful Modular Meetups for Celestia.

    1. Research the local tech scene:
      • Investigate the types of meetups and events popular in your area. Attend other technology-focused events to get a sense of the audience size and interests. This information will help you tailor your meetup to attract a larger audience.
    2. Assess the availability of speakers:
      • Before organizing a meetup, ensure that you have access to a pool of knowledgeable speakers. If you anticipate difficulty in securing speakers, consider joining forces with an existing meetup group or speaking at other events before launching a new group. This approach will help spread the word about your planned Modular Meetup and gauge interest. Speakers are covered in the following section with a reference to Speaker List offered by the Modular Meetup program.
    3. Establish connections with other user groups:
      • Forge relationships with other tech-focused meetup groups to mutually promote each other's events, potentially increasing attendance.
    4. Set a regular routine for your meetup:
      • Communicate how often you plan to hold meetups, whether it's monthly or quarterly, to help attendees manage their expectations and maintain their interest.
    5. Organize casual meetups:
      • If there's a gap between more formal events, arrange casual meetups at pubs or cafes to keep people engaged and connect with potential speakers for future events.
    6. Estimate the number of attendees:
      • Consider factors such as the size of your city, the popularity of the topic, and the appeal of the event description when estimating attendance.

    Speakers

    Securing engaging and knowledgeable speakers is key to hosting an exceptional Celestia Modular Meetup.

    1. Define your event topic
      • Determine the theme of your event, focusing on areas such as DeFi, Gaming, NFTs, coding workshops, protocol changes, rollups, data availability, or other topics relevant to the Modular ecosystem. This will help you find speakers with expertise in the chosen subject.
    2. Utilize the Speaker List provided by the Modular Meetup program
      • As a meetup organizer, you have access to a curated list of talented speakers from Celestia Labs and the broader Modular ecosystem. This valuable resource can connect you with experts who can share their knowledge with your meetup attendees.
    3. Aim for multiple speakers
      • Ideally, invite 2-3 speakers to your event, allotting 20-40 minutes per talk. Schedule short breaks between presentations to maintain audience engagement.
    4. Organize the speaker lineup
      • Discuss the topics and slides with your speakers before the event to ensure a smooth flow. Arrange the talks in a logical order, saving the most impactful presentation for last.
    5. Invite local speakers
      • For your first meetup, consider presenting an introduction to the Celestia ecosystem or a specific area of interest. Encourage local experts or enthusiasts to speak at future meetups. This approach fosters community involvement and helps build a network of potential speakers.
    6. Seek speaker referrals
      • Ask your current speakers, attendees, or other meetup organizers for referrals. Personal connections often lead to discovering new speakers with valuable insights.
    7. Leverage your meetup discussion board
      • Post a call for speakers on your meetup discussion board to reach out to potential presenters within your community. Be clear about the event theme and requirements to attract relevant speakers.
    8. Offer incentives and appreciation
      • Reward speakers with tokens of gratitude, such as T-shirts, gifts, or public recognition, to show your appreciation for their contribution to the meetup. The Celestia Labs Devrel team can help with swag logistics if needed.

    Sponsors

    Finding sponsors for your meetup can be challenging, but securing financial support is crucial for covering costs related to venue and refreshments.

    1. Leverage Celestia Labs' support
      • Celestia Labs may offer co-sponsorship for your meetup. However, they also encourage organizers to find local co-sponsors to help cover costs and create a more sustainable event.
    2. Offer value to your sponsors:
      • Show potential sponsors how partnering with your event will benefit them. Include their logo on event banners, mention them in the event description, and give them a shoutout at the beginning of the event. If they desire, allow them to place a rollup banner at the venue.
    3. Reach out to your network
      • Ask friends and acquaintances if they know of coworking spaces, schools, universities, or companies interested in sponsorship. A personal connection can significantly increase the chances of securing support.
    4. Approach speakers for sponsorship
      • Request speakers or their affiliated projects to contribute towards the event's expenses, such as catering costs. This can be an effective way to obtain additional funding.
    5. Create a sponsorship deck
      • Develop a compelling sponsorship deck to pitch your event to tech companies in your city or potential online sponsors. This presentation should highlight the benefits of supporting your event and showcase past successful meetups.
    6. Research local companies
      • Investigate businesses in your area that may be interested in sponsoring your event. Tailor your pitch to align with their industry and demonstrate how the meetup can benefit their company.
    7. Engage sponsors during the event
      • Allow sponsors to briefly address the audience, participate in Q&A sessions, or mention their hiring needs. Remember to avoid sales pitches, as they can negatively impact the meetup experience.
    8. Thank your sponsors
      • Express gratitude to your sponsors at the beginning and end of the meetup. Acknowledging their support encourages continued collaboration and enhances the credibility of your event.

    Communications and marketing

    Effectively marketing and announcing your Modular Meetup is essential for attracting attendees and ensuring a successful event.

    1. Plan your announcement
      • Announce your meetup at least two weeks prior. This gives your audience ample time to prepare and increases the likelihood of their attendance.
    2. Utilize Celestia Labs' resources
      • Celestia Labs can help co-promote your meetup on social media and Discord. They can also add your event to their online calendar, email local contacts, and share the event via their Developer Relations Team on Twitter. Don't hesitate to reach out to them for assistance.
    3. Share on social media
      • Promote your event on Twitter and any other popular social media platforms in your area. Tag speakers, sponsors, and use relevant hashtags to increase visibility.
    4. Leverage local community groups
      • Post your event in local Telegram, Discord, or other community groups relevant to your city. These groups often have many members who may be interested in attending your event.
    5. Engage speakers and the venue
      • Maintain communication with speakers and the venue to ensure any changes can be announced in advance. Trust is critical, so avoid canceling planned meetups whenever possible.
    6. Send reminders via meetup.com (optional)
      • After announcing your event, send a warm invite to your meetup group members through meetup.com. Additionally, send a reminder email one day before the event to encourage attendance.
    7. Share with friends and family
      • Invite your friends, family, and acquaintances to the meetup, as they may help spread the word or know someone interested in the event.
    8. Utilize conference groups
      • If you've attended conferences, share your meetup in the associated Telegram or social media groups, as there may be members nearby who would be interested in attending.

    Recording

    Recording and live-streaming your Modular Meetup can greatly benefit those who cannot attend in person and expand the reach of your event.

    1. Plan for recording
      • Consider recording your meetup to create additional learning resources and share the knowledge with a broader audience.
    2. Consider live-streaming
      • Live-streaming your event on platforms like Twitch, YouTube, or Twitter allows remote participants to watch and engage in the meetup. This can also boost your event's reach and create a sense of inclusion for those who couldn't attend in person.
    3. Coordinate with Celestia Labs
      • Celestia Labs can potentially help cover recording costs and promote recorded meetups. Reach out to them at meetups@celestia.org to discuss available options and support. They can also assist with finding local contacts for recording if you don't have one already.
    4. Utilize available resources
      • If you have a small budget, consider allocating some funds for recording and live-streaming your event. Look for local professionals or affordable equipment rentals to ensure high-quality recordings.
    5. Share recordings on Celestia Labs' channels
      • Celestia Labs can help promote recorded meetups by sharing videos in their meetups playlist on YouTube and hosting them on their website. Ensure you coordinate with Celestia Labs to provide them with the recorded video.
    6. Promote recorded content
      • Share the recordings on your social media channels and meetup group after the event. This helps attendees revisit the content and allows those who couldn't attend to learn from the talks.

    Utilizing Meetup.com platform

    Celestia Labs is committed to supporting your meetup efforts by helping you with meetup.com, from setting up the group to covering organizer dues. Below is a detailed overview of how Celestia Labs can assist you.

    1. Meetup.com organizer dues
      • Celestia Labs is happy to cover organizer dues for meetup.com. To get started, send an email to meetups@celestia.org and let them help you with the process.
    2. Co-organizing existing groups
      • If you already have a meetup.com group but need Celestia Labs' assistance with organizing or covering dues, email meetups@celestia.org to add one of their employees as the Organizer.
    3. Setting up groups on Meetup.com
      • Celestia Labs will help you set up your meetup group, including logos, naming, custom URLs, group description, and other essential details. They provide a unique logo for Celestia Modular Meetups, which you can use for your group.
    4. User group naming
      • Celestia Labs recommends naming your group "Celestia Modular Meetup" to encompass various aspects of the Celestia community and create a consistent brand.
    5. Custom URL for the group
      • Meetup.com allows you to create a custom URL for your user group. Celestia Labs encourages consistent URLs across regions, making it easy for people to find your meetup group.
    6. Group description
      • Celestia Labs has a standard group description to ensure consistency across all meetups. However, if you'd like to customize it, let them know.
    7. New member intake questions
      • To improve the quality of your meetups, Celestia Labs suggests a set of intake questions for new members. The answers can help you better understand their needs and interests, allowing you to plan engaging meetups.
    8. Welcome message
      • Celestia Labs provides a welcome message for new members joining your group. If you'd like to customize this message, let them know.

    Onboarding questions for community members joining a Modular Meetup

    1. Q1: How did you hear about this Modular Meetup?
      • Why: This information helps us understand the most effective channels for recruiting new participants to the meetup.
    2. Q2: What do you hope to gain by participating in this meetup? (e.g., networking, learning about Celestia, learning about Modularity, finding a job, etc.)
      • Why: This information helps us cater to the needs of the user group members. If most attendees are looking for networking opportunities, we can schedule casual meetups alongside informative talks.
    3. Q3: Are you currently using or planning to use Celestia, Rollkit, Celestia’s Node API or any of the rollups deployed on Celestia? Tell us all about it. We will use your response to help us better understand what talks would be most beneficial to the group.
      • Why: Responses to this question help us determine the most relevant talks for the group members. If we discover that most participants are interested in a specific area, we can tailor the talks accordingly.
    4. Q4: We love Celestia and the modular ecosystem, but we also appreciate other Web3 technologies. What other topics would you like to hear about? (e.g., Infrastructure, Data Storage, DID, MEV)
      • Why: Knowing our group participants' interests in other technical areas helps us understand what related topics would be useful and valuable to the group, which in turn helps when recruiting speakers.
    5. Q5: Would you be interested in speaking at a future meetup? We welcome 2-minute lightning talks to 1-hour deep dives. Would you be interested in hosting a meetup? If you answer yes to this question, the group organizers will contact you to follow up.
      • Why: One of the challenges in hosting regular meetups is finding speakers. We hope this question will identify people eager to share their stories and expertise with the group, making the lives of organizers easier.
    - +

    Modular Meetup guide

    These are recommended steps you can follow that can help you organize a successful Modular Meetup. You aren’t required to follow the entire checklist but it is available to help aid you in your journey to organize a Modular Meetup.

    Before the Meetup

    1. Determine the meetup topic and objectives.
    2. Select a suitable date and time for the event.
    3. Secure a convenient and accessible venue that can accommodate the expected number of attendees.
    4. Finalize a schedule or agenda for the event, including speakers, presentations, and activities.
    5. Prepare and send out invitations to potential attendees using various channels (email, social media, community platforms, etc.).
    6. Create and share promotional materials (graphics, blog posts, etc.) to raise awareness about the meetup.
    7. Confirm speakers, including their availability, presentation topics, and technical requirements. If you are working from a Speaker List, please reach out to Nat for any support needed on coordination with speakers.
    8. Arrange any necessary equipment, such as microphones, projectors, and whiteboards.
    9. Plan and arrange refreshments, if applicable.
    10. Prepare and print any required materials, like agendas, name tags, and feedback forms.
    11. Coordinate with volunteers or team members to help manage the event.
    12. Set up a registration system or RSVP process to track attendance.
    13. Send out reminder messages to registered attendees prior to the event.
    14. Conduct a final review of the event logistics, including venue setup, equipment functionality, and volunteer roles.

    During the Meetup

    1. Set up the venue, including arranging seating, preparing equipment, and displaying any promotional materials.
    2. Designate a registration area and ensure that someone is available to greet and check-in attendees.
    3. Welcome the attendees and provide an overview of the event schedule.
    4. Introduce speakers and facilitate any presentations or discussions.
    5. Encourage networking and interaction among attendees during breaks or dedicated activities.
    6. Capture the event with photos or videos for future promotions and documentation.
    7. Collect feedback from attendees using forms, online surveys, or informal conversations if needed.

    After the Meetup

    1. Send follow-up messages to attendees, thanking them for their participation and soliciting additional feedback.
    2. Evaluate the success of the event by reviewing feedback and assessing key performance indicators (e.g., attendance, engagement, etc.).
    3. Analyze and document lessons learned, identifying areas for improvement in future meetups.
    4. Share event highlights, photos, and key takeaways with the community through social media, blog posts, or newsletters.
    5. Connect with speakers, attendees, and volunteers to maintain and strengthen relationships.
    6. Begin planning for the next meetup, applying insights gained from the previous event to enhance the experience for future attendees.

    Logistics and guidance

    These are provided guidelines for different components of kickstarting a Modular Meetup to help you get started on the logistics of organizing a meetup. A lot of those guidelines are thanks to the wonderful write ups in Ethereum Meetup Support Program and Elastic Community Organizer Guides.

    Venue

    Selecting the perfect venue for your Modular Meetup is essential in creating a welcoming atmosphere for the Celestia community.

    1. Startup Incubators
      • Often they would have spaces for meetups.
    2. Libraries
      • Libraries can normally have spaces for meetups at little to no costs
    3. Co-working spaces:
      • Co-working spaces might be able to offer necessary equipment like microphones, projectors, and whiteboards.
    4. Restaurants:
      • Restaurants might have private rooms for larger groups of people that you can book, depending on the restaurant.
    5. Universities and Blockchain Clubs:
      • Partnering with universities and their local university clubs can offer you a lot of spaces for meetups, as well as necessary equipments if needed for giving a talk.
    6. Other options:
      • If you're having difficulty finding a venue, don't hesitate to ask for help within the Celestia community. Your fellow organizers and attendees may have valuable suggestions or connections.

    An ideal venue should offer:

    • Sufficient seating for the audience
    • A projector and screen
    • A microphone (especially for meetups with 10+ attendees)
    • Optional: A whiteboard for speakers or workshops (not always necessary, but a nice addition)

    Consider recording the event, even with a smartphone, to share with the community later. If the speaker uses a microphone, their voice will be more audible in the video. We might be able to post those recordings of the meetup talks on a meetup youtube channel after.

    Remember to negotiate on costs and seek discounts, emphasizing that your meetup benefits the community.

    Collaborate with your venue provider to explore options like borrowing recording equipment, tripods, or even having them record the event for you. Some providers may offer these services for free or at a reduced cost.

    Catering and refreshments

    Providing refreshments or catering for your Modular Meetup enhances the overall experience and encourages networking among attendees.

    1. Determine your budget
      • Identify the amount you can allocate for food and drinks at your event which will help you determine how much you can bring in refreshments. You can also contact the Celestia Devrel team for ideas and support. Costs for refreshments and drinks can vary depending on your location, so be mindful to be flexible on your plans according to your specific location and budget.
    2. Offer a variety of refreshments
      • If you're ordering in, pizza and finger foods work well, but you can also have more budget-friendly options for food.
      • Offering drinks like beer, soda, or lemonade are great, but water also works. Keep in mind that not everyone drinks alcohol so it’s not a requirement. But having at least water and plastic cups works well.
    3. Plan ahead
      • Order refreshments 1 or 2 days in advance and schedule delivery to avoid last-minute stress during the event.

    By following these recommendations, you'll be able to provide enjoyable refreshments for your Celestia Modular Meetup attendees while fostering a friendly and engaging atmosphere.

    Audience

    Understanding your audience and estimating attendance are crucial for organizing successful Modular Meetups for Celestia.

    1. Research the local tech scene:
      • Investigate the types of meetups and events popular in your area. Attend other technology-focused events to get a sense of the audience size and interests. This information will help you tailor your meetup to attract a larger audience.
    2. Assess the availability of speakers:
      • Before organizing a meetup, ensure that you have access to a pool of knowledgeable speakers. If you anticipate difficulty in securing speakers, consider joining forces with an existing meetup group or speaking at other events before launching a new group. This approach will help spread the word about your planned Modular Meetup and gauge interest. Speakers are covered in the following section with a reference to Speaker List offered by the Modular Meetup program.
    3. Establish connections with other user groups:
      • Forge relationships with other tech-focused meetup groups to mutually promote each other's events, potentially increasing attendance.
    4. Set a regular routine for your meetup:
      • Communicate how often you plan to hold meetups, whether it's monthly or quarterly, to help attendees manage their expectations and maintain their interest.
    5. Organize casual meetups:
      • If there's a gap between more formal events, arrange casual meetups at pubs or cafes to keep people engaged and connect with potential speakers for future events.
    6. Estimate the number of attendees:
      • Consider factors such as the size of your city, the popularity of the topic, and the appeal of the event description when estimating attendance.

    Speakers

    Securing engaging and knowledgeable speakers is key to hosting an exceptional Celestia Modular Meetup.

    1. Define your event topic
      • Determine the theme of your event, focusing on areas such as DeFi, Gaming, NFTs, coding workshops, protocol changes, rollups, data availability, or other topics relevant to the Modular ecosystem. This will help you find speakers with expertise in the chosen subject.
    2. Utilize the Speaker List provided by the Modular Meetup program
      • As a meetup organizer, you have access to a curated list of talented speakers from Celestia Labs and the broader Modular ecosystem. This valuable resource can connect you with experts who can share their knowledge with your meetup attendees.
    3. Aim for multiple speakers
      • Ideally, invite 2-3 speakers to your event, allotting 20-40 minutes per talk. Schedule short breaks between presentations to maintain audience engagement.
    4. Organize the speaker lineup
      • Discuss the topics and slides with your speakers before the event to ensure a smooth flow. Arrange the talks in a logical order, saving the most impactful presentation for last.
    5. Invite local speakers
      • For your first meetup, consider presenting an introduction to the Celestia ecosystem or a specific area of interest. Encourage local experts or enthusiasts to speak at future meetups. This approach fosters community involvement and helps build a network of potential speakers.
    6. Seek speaker referrals
      • Ask your current speakers, attendees, or other meetup organizers for referrals. Personal connections often lead to discovering new speakers with valuable insights.
    7. Leverage your meetup discussion board
      • Post a call for speakers on your meetup discussion board to reach out to potential presenters within your community. Be clear about the event theme and requirements to attract relevant speakers.
    8. Offer incentives and appreciation
      • Reward speakers with tokens of gratitude, such as T-shirts, gifts, or public recognition, to show your appreciation for their contribution to the meetup. The Celestia Labs Devrel team can help with swag logistics if needed.

    Sponsors

    Finding sponsors for your meetup can be challenging, but securing financial support is crucial for covering costs related to venue and refreshments.

    1. Leverage Celestia Labs' support
      • Celestia Labs may offer co-sponsorship for your meetup. However, they also encourage organizers to find local co-sponsors to help cover costs and create a more sustainable event.
    2. Offer value to your sponsors:
      • Show potential sponsors how partnering with your event will benefit them. Include their logo on event banners, mention them in the event description, and give them a shoutout at the beginning of the event. If they desire, allow them to place a rollup banner at the venue.
    3. Reach out to your network
      • Ask friends and acquaintances if they know of coworking spaces, schools, universities, or companies interested in sponsorship. A personal connection can significantly increase the chances of securing support.
    4. Approach speakers for sponsorship
      • Request speakers or their affiliated projects to contribute towards the event's expenses, such as catering costs. This can be an effective way to obtain additional funding.
    5. Create a sponsorship deck
      • Develop a compelling sponsorship deck to pitch your event to tech companies in your city or potential online sponsors. This presentation should highlight the benefits of supporting your event and showcase past successful meetups.
    6. Research local companies
      • Investigate businesses in your area that may be interested in sponsoring your event. Tailor your pitch to align with their industry and demonstrate how the meetup can benefit their company.
    7. Engage sponsors during the event
      • Allow sponsors to briefly address the audience, participate in Q&A sessions, or mention their hiring needs. Remember to avoid sales pitches, as they can negatively impact the meetup experience.
    8. Thank your sponsors
      • Express gratitude to your sponsors at the beginning and end of the meetup. Acknowledging their support encourages continued collaboration and enhances the credibility of your event.

    Communications and marketing

    Effectively marketing and announcing your Modular Meetup is essential for attracting attendees and ensuring a successful event.

    1. Plan your announcement
      • Announce your meetup at least two weeks prior. This gives your audience ample time to prepare and increases the likelihood of their attendance.
    2. Utilize Celestia Labs' resources
      • Celestia Labs can help co-promote your meetup on social media and Discord. They can also add your event to their online calendar, email local contacts, and share the event via their Developer Relations Team on Twitter. Don't hesitate to reach out to them for assistance.
    3. Share on social media
      • Promote your event on Twitter and any other popular social media platforms in your area. Tag speakers, sponsors, and use relevant hashtags to increase visibility.
    4. Leverage local community groups
      • Post your event in local Telegram, Discord, or other community groups relevant to your city. These groups often have many members who may be interested in attending your event.
    5. Engage speakers and the venue
      • Maintain communication with speakers and the venue to ensure any changes can be announced in advance. Trust is critical, so avoid canceling planned meetups whenever possible.
    6. Send reminders via meetup.com (optional)
      • After announcing your event, send a warm invite to your meetup group members through meetup.com. Additionally, send a reminder email one day before the event to encourage attendance.
    7. Share with friends and family
      • Invite your friends, family, and acquaintances to the meetup, as they may help spread the word or know someone interested in the event.
    8. Utilize conference groups
      • If you've attended conferences, share your meetup in the associated Telegram or social media groups, as there may be members nearby who would be interested in attending.

    Recording

    Recording and live-streaming your Modular Meetup can greatly benefit those who cannot attend in person and expand the reach of your event.

    1. Plan for recording
      • Consider recording your meetup to create additional learning resources and share the knowledge with a broader audience.
    2. Consider live-streaming
      • Live-streaming your event on platforms like Twitch, YouTube, or Twitter allows remote participants to watch and engage in the meetup. This can also boost your event's reach and create a sense of inclusion for those who couldn't attend in person.
    3. Coordinate with Celestia Labs
      • Celestia Labs can potentially help cover recording costs and promote recorded meetups. Reach out to them at meetups@celestia.org to discuss available options and support. They can also assist with finding local contacts for recording if you don't have one already.
    4. Utilize available resources
      • If you have a small budget, consider allocating some funds for recording and live-streaming your event. Look for local professionals or affordable equipment rentals to ensure high-quality recordings.
    5. Share recordings on Celestia Labs' channels
      • Celestia Labs can help promote recorded meetups by sharing videos in their meetups playlist on YouTube and hosting them on their website. Ensure you coordinate with Celestia Labs to provide them with the recorded video.
    6. Promote recorded content
      • Share the recordings on your social media channels and meetup group after the event. This helps attendees revisit the content and allows those who couldn't attend to learn from the talks.

    Utilizing Meetup.com platform

    Celestia Labs is committed to supporting your meetup efforts by helping you with meetup.com, from setting up the group to covering organizer dues. Below is a detailed overview of how Celestia Labs can assist you.

    1. Meetup.com organizer dues
      • Celestia Labs is happy to cover organizer dues for meetup.com. To get started, send an email to meetups@celestia.org and let them help you with the process.
    2. Co-organizing existing groups
      • If you already have a meetup.com group but need Celestia Labs' assistance with organizing or covering dues, email meetups@celestia.org to add one of their employees as the Organizer.
    3. Setting up groups on Meetup.com
      • Celestia Labs will help you set up your meetup group, including logos, naming, custom URLs, group description, and other essential details. They provide a unique logo for Celestia Modular Meetups, which you can use for your group.
    4. User group naming
      • Celestia Labs recommends naming your group "Celestia Modular Meetup" to encompass various aspects of the Celestia community and create a consistent brand.
    5. Custom URL for the group
      • Meetup.com allows you to create a custom URL for your user group. Celestia Labs encourages consistent URLs across regions, making it easy for people to find your meetup group.
    6. Group description
      • Celestia Labs has a standard group description to ensure consistency across all meetups. However, if you'd like to customize it, let them know.
    7. New member intake questions
      • To improve the quality of your meetups, Celestia Labs suggests a set of intake questions for new members. The answers can help you better understand their needs and interests, allowing you to plan engaging meetups.
    8. Welcome message
      • Celestia Labs provides a welcome message for new members joining your group. If you'd like to customize this message, let them know.

    Onboarding questions for community members joining a Modular Meetup

    1. Q1: How did you hear about this Modular Meetup?
      • Why: This information helps us understand the most effective channels for recruiting new participants to the meetup.
    2. Q2: What do you hope to gain by participating in this meetup? (e.g., networking, learning about Celestia, learning about Modularity, finding a job, etc.)
      • Why: This information helps us cater to the needs of the user group members. If most attendees are looking for networking opportunities, we can schedule casual meetups alongside informative talks.
    3. Q3: Are you currently using or planning to use Celestia, Rollkit, Celestia’s Node API or any of the rollups deployed on Celestia? Tell us all about it. We will use your response to help us better understand what talks would be most beneficial to the group.
      • Why: Responses to this question help us determine the most relevant talks for the group members. If we discover that most participants are interested in a specific area, we can tailor the talks accordingly.
    4. Q4: We love Celestia and the modular ecosystem, but we also appreciate other Web3 technologies. What other topics would you like to hear about? (e.g., Infrastructure, Data Storage, DID, MEV)
      • Why: Knowing our group participants' interests in other technical areas helps us understand what related topics would be useful and valuable to the group, which in turn helps when recruiting speakers.
    5. Q5: Would you be interested in speaking at a future meetup? We welcome 2-minute lightning talks to 1-hour deep dives. Would you be interested in hosting a meetup? If you answer yes to this question, the group organizers will contact you to follow up.
      • Why: One of the challenges in hosting regular meetups is finding speakers. We hope this question will identify people eager to share their stories and expertise with the group, making the lives of organizers easier.
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/modular-meetup-intro.html b/pr-preview/pr-1358/community/modular-meetup-intro.html index 5e6c808939..341457e009 100644 --- a/pr-preview/pr-1358/community/modular-meetup-intro.html +++ b/pr-preview/pr-1358/community/modular-meetup-intro.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Celestia Modular Meetup program

    Modular Meetup Banner

    Welcome to the ultimate guide for Modular Meetup organizers! This collection of resources is designed for those enthusiastic about fostering grassroots Modular Meetups with support from Celestia around the world.

    Program description

    The Celestia Modular Meetup Program aims to empower meetup organizers, providing education and support, and encouraging collaboration within the Web3 ecosystem. This rapidly growing community has already achieved incredible success with the first Modular Meetup in Lisbon, and will grow from there.

    Join fellow enthusiasts, engage in enlightening discussions, and make the most of the insightful resources provided. These resources are designed to serve as a go-to playbook for meetup organizers, especially when starting your journey.

    Important info

    Celestia.org Community Code of Conduct

    The purpose of our Community Code of Conduct is to foster an inclusive, welcoming, and supportive environment for everyone participating in Celestia community events. We're all here to learn from each other, expand our skillsets, and enjoy a positive experience together.

    All meetup attendees, speakers, sponsors, and volunteers, including the event organizing team, are kindly asked to adhere to the following Code of Conduct. Organizers will respectfully enforce this code throughout the event. We genuinely appreciate the cooperation of all participants in maintaining a safe and empowering space for everyone.

    Signup form

    To become part of the program, please complete the registration form.

    Following the review and approval of your submission, you will receive an email confirmation and an invitation to participate in the upcoming Modular Meetup call. Furthermore, you will be granted access to the exclusive Discord channel labeled "#modular-meetup" on our Discord server. Please take note that joining our Discord is a prerequisite for channel access. It's essential to recognize that this program is tailored for dedicated organizers with a genuine interest in nurturing their local modular ecosystem community.

    Emails

    As a participant in the Celestia Modular Meetup Program, you can expect to receive the following emails:

    1. Welcome email with links to calendar events and Discord channel
    2. Monthly Catch-up call invites
    3. Recap emails with notes from calls

    Discord

    Your active participation is key to unlocking the full potential of this vibrant community. Our primary communication tool is Discord, providing an engaging platform to connect with fellow organizers:

    Materials

    As a meetup organizer, you'll gain access to the Celestia Modular Meetup Program's list of resources. This collection should become your trusted companion in organizing events. Drawing upon the wisdom of seasoned event organizers, this resource is available for you and your co-organizers to explore and learn.

    - +

    Celestia Modular Meetup program

    Modular Meetup Banner

    Welcome to the ultimate guide for Modular Meetup organizers! This collection of resources is designed for those enthusiastic about fostering grassroots Modular Meetups with support from Celestia around the world.

    Program description

    The Celestia Modular Meetup Program aims to empower meetup organizers, providing education and support, and encouraging collaboration within the Web3 ecosystem. This rapidly growing community has already achieved incredible success with the first Modular Meetup in Lisbon, and will grow from there.

    Join fellow enthusiasts, engage in enlightening discussions, and make the most of the insightful resources provided. These resources are designed to serve as a go-to playbook for meetup organizers, especially when starting your journey.

    Important info

    Celestia.org Community Code of Conduct

    The purpose of our Community Code of Conduct is to foster an inclusive, welcoming, and supportive environment for everyone participating in Celestia community events. We're all here to learn from each other, expand our skillsets, and enjoy a positive experience together.

    All meetup attendees, speakers, sponsors, and volunteers, including the event organizing team, are kindly asked to adhere to the following Code of Conduct. Organizers will respectfully enforce this code throughout the event. We genuinely appreciate the cooperation of all participants in maintaining a safe and empowering space for everyone.

    Signup form

    To become part of the program, please complete the registration form.

    Following the review and approval of your submission, you will receive an email confirmation and an invitation to participate in the upcoming Modular Meetup call. Furthermore, you will be granted access to the exclusive Discord channel labeled "#modular-meetup" on our Discord server. Please take note that joining our Discord is a prerequisite for channel access. It's essential to recognize that this program is tailored for dedicated organizers with a genuine interest in nurturing their local modular ecosystem community.

    Emails

    As a participant in the Celestia Modular Meetup Program, you can expect to receive the following emails:

    1. Welcome email with links to calendar events and Discord channel
    2. Monthly Catch-up call invites
    3. Recap emails with notes from calls

    Discord

    Your active participation is key to unlocking the full potential of this vibrant community. Our primary communication tool is Discord, providing an engaging platform to connect with fellow organizers:

    Materials

    As a meetup organizer, you'll gain access to the Celestia Modular Meetup Program's list of resources. This collection should become your trusted companion in organizing events. Drawing upon the wisdom of seasoned event organizers, this resource is available for you and your co-organizers to explore and learn.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/modular-meetup-toolkit.html b/pr-preview/pr-1358/community/modular-meetup-toolkit.html index eb71f9d027..2f68824dd2 100644 --- a/pr-preview/pr-1358/community/modular-meetup-toolkit.html +++ b/pr-preview/pr-1358/community/modular-meetup-toolkit.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Modular Meetup Toolkit

    Welcome to the Modular Meetups Toolkit! This kit is designed to help you run successful meetups for the Celestia community. As the first modular blockchain, Celestia offers a lot to discuss and explore. This kit includes useful resources and materials to help you plan and execute your meetups effectively.

    Celestia branding guidelines

    • Brand kit
      1. Includes logo files, color schemes, typography, icons and illustrations

    Sample “Introduction to Modularity” workshop presentation

    • Sample presentation - introduction to modularity
    • Summary: This is an overview presentation on Modular blockchains and dives deep into Celestia core technologies.
    • The sample presentation covers:
      1. What are modular blockchains?
      2. The benefits of modular over monolithic blockchains
      3. Introduction to Celestia: The first modular blockchain
      4. The concept of Data Availability Sampling
      5. Sovereign Rollups
      6. Q&A session

    Sample “Run a Celestia light node” workshop presentation

    • Sample presentation - run a light node
    • Summary: This is an overview presentation goes over running a Celestia light node. You can find existing video presentations for this here:
    • The sample presentation covers:
      1. What is a Celestia light node?
      2. The role of light nodes in the Celestia ecosystem
      3. Setting up a light node: hardware and software requirements
      4. Step-by-step guide on how to run a Celestia light node
      5. Troubleshooting common issues
      6. Best practices for maintaining a light node
      7. Q&A session

    Sample “Deploy a Sovereign Rollup” workshop presentation

    • Sample presentation - deploy a sovereign rollup
    • Summary: This is an overview presentation on deploying a sovereign rollup with Rollkit on Celestia. You can find existing video presentations for this here:
    • The sample presentation covers:
      1. What is a sovereign rollup?
      2. The role of sovereign rollups in the Celestia ecosystem
      3. Introduction to Rollkit
      4. Setting up a sovereign rollup: hardware and software requirements
      5. Q&A session

    Sample “Modular Meetup Introduction” workshop presentation

    Swag logistics

    With this Modular Meetups Organizer Kit, you’ll have everything you need to plan and execute engaging, informative, and successful meetups for the Celestia community. Happy organizing!

    - +

    Modular Meetup Toolkit

    Welcome to the Modular Meetups Toolkit! This kit is designed to help you run successful meetups for the Celestia community. As the first modular blockchain, Celestia offers a lot to discuss and explore. This kit includes useful resources and materials to help you plan and execute your meetups effectively.

    Celestia branding guidelines

    • Brand kit
      1. Includes logo files, color schemes, typography, icons and illustrations

    Sample “Introduction to Modularity” workshop presentation

    • Sample presentation - introduction to modularity
    • Summary: This is an overview presentation on Modular blockchains and dives deep into Celestia core technologies.
    • The sample presentation covers:
      1. What are modular blockchains?
      2. The benefits of modular over monolithic blockchains
      3. Introduction to Celestia: The first modular blockchain
      4. The concept of Data Availability Sampling
      5. Sovereign Rollups
      6. Q&A session

    Sample “Run a Celestia light node” workshop presentation

    • Sample presentation - run a light node
    • Summary: This is an overview presentation goes over running a Celestia light node. You can find existing video presentations for this here:
    • The sample presentation covers:
      1. What is a Celestia light node?
      2. The role of light nodes in the Celestia ecosystem
      3. Setting up a light node: hardware and software requirements
      4. Step-by-step guide on how to run a Celestia light node
      5. Troubleshooting common issues
      6. Best practices for maintaining a light node
      7. Q&A session

    Sample “Deploy a Sovereign Rollup” workshop presentation

    • Sample presentation - deploy a sovereign rollup
    • Summary: This is an overview presentation on deploying a sovereign rollup with Rollkit on Celestia. You can find existing video presentations for this here:
    • The sample presentation covers:
      1. What is a sovereign rollup?
      2. The role of sovereign rollups in the Celestia ecosystem
      3. Introduction to Rollkit
      4. Setting up a sovereign rollup: hardware and software requirements
      5. Q&A session

    Sample “Modular Meetup Introduction” workshop presentation

    Swag logistics

    With this Modular Meetups Organizer Kit, you’ll have everything you need to plan and execute engaging, informative, and successful meetups for the Celestia community. Happy organizing!

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/overview.html b/pr-preview/pr-1358/community/overview.html index 31a9dac5cd..9bb95948ed 100644 --- a/pr-preview/pr-1358/community/overview.html +++ b/pr-preview/pr-1358/community/overview.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Community overview

    This section will highlight all the different resources and activities for the Celestia community.

    Here you will find links to our community calendar, Code of Conduct and other community-related resources.

    - +

    Community overview

    This section will highlight all the different resources and activities for the Celestia community.

    Here you will find links to our community calendar, Code of Conduct and other community-related resources.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/community/speaker-list.html b/pr-preview/pr-1358/community/speaker-list.html index 7266d4d050..aa18e48689 100644 --- a/pr-preview/pr-1358/community/speaker-list.html +++ b/pr-preview/pr-1358/community/speaker-list.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Speaker list

    As a Modular Meetup organizer, we understand the importance of delivering engaging and informative content to your attendees. That's why we've created an exclusive Speaker List specifically tailored for organizers participating in the Modular Meetup Program. This resource gives you access to a curated selection of top-tier speakers who are passionate about Celestia and the modular ecosystem. Due to privacy, the list is not shared publicly but is accessible to participants of the Modular Meetup program when they create a meetup.

    The Speaker List features experts from Celestia Labs, as well as prominent figures from the broader Celestia and modular communities. Each individual is well-versed in various aspects of the modular ecosystem, ensuring that your meetup attendees gain valuable insights and deepen their understanding of modular blockchains.

    By joining the Modular Meetup Program, you can enjoy the benefits of our Speaker List and bring a touch of expertise to your events. The speakers can participate either in person or virtually, depending on location and timing.

    You can expect benefits from the Speaker List including high-quality presentations, interactive Q&A sessions, and knowledge-sharing opportunities facilitated by the best and brightest in the Celestia ecosystem. With our Speaker List, you'll be able to create memorable and impactful Modular Meetups that foster genuine connections and promote growth within the community.

    - +

    Speaker list

    As a Modular Meetup organizer, we understand the importance of delivering engaging and informative content to your attendees. That's why we've created an exclusive Speaker List specifically tailored for organizers participating in the Modular Meetup Program. This resource gives you access to a curated selection of top-tier speakers who are passionate about Celestia and the modular ecosystem. Due to privacy, the list is not shared publicly but is accessible to participants of the Modular Meetup program when they create a meetup.

    The Speaker List features experts from Celestia Labs, as well as prominent figures from the broader Celestia and modular communities. Each individual is well-versed in various aspects of the modular ecosystem, ensuring that your meetup attendees gain valuable insights and deepen their understanding of modular blockchains.

    By joining the Modular Meetup Program, you can enjoy the benefits of our Speaker List and bring a touch of expertise to your events. The speakers can participate either in person or virtually, depending on location and timing.

    You can expect benefits from the Speaker List including high-quality presentations, interactive Q&A sessions, and knowledge-sharing opportunities facilitated by the best and brightest in the Celestia ecosystem. With our Speaker List, you'll be able to create memorable and impactful Modular Meetups that foster genuine connections and promote growth within the community.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/arbitrum-dapp-deploy.html b/pr-preview/pr-1358/developers/arbitrum-dapp-deploy.html index 6391193295..d15000508a 100644 --- a/pr-preview/pr-1358/developers/arbitrum-dapp-deploy.html +++ b/pr-preview/pr-1358/developers/arbitrum-dapp-deploy.html @@ -7,11 +7,11 @@ - + - - + + @@ -58,8 +58,8 @@ cast send --private-key $PRIVATE_KEY $RECEIVER --value 1ether --rpc-url $ARB_RPC_URL
    export RECEIVER=<receiver ETH address>
     cast send --private-key $PRIVATE_KEY $RECEIVER --value 1ether --rpc-url $ARB_RPC_URL

    TIP

    If you are in a different terminal than the one you set the private key in, you may need to set it again.

Update the frontend

Next, you will need to update a few things before you can interact with the contract on the frontend:

  1. Change the contract address on gm-portal/frontend/src/App.tsx to your contract address
  2. Match the chain info on gm-portal/frontend/src/main.tsx with the chain config of your L2
  3. If you changed the contract, update the ABI in gm-portal/frontend/GmPortal.json from gm-portal/contracts/out/GmPortal.sol/GmPortal.json. This can be done with:
bash
cd $HOME
 cp dev/gm-portal/contracts/out/GmPortal.sol/GmPortal.json dev/gm-portal/frontend
cd $HOME
-cp dev/gm-portal/contracts/out/GmPortal.sol/GmPortal.json dev/gm-portal/frontend

Interact with the frontend

Now, login with your wallet that you funded, and post a GM on your GM portal!

gm-arb

- +cp dev/gm-portal/contracts/out/GmPortal.sol/GmPortal.json dev/gm-portal/frontend

Interact with the frontend

Now, login with your wallet that you funded, and post a GM on your GM portal!

gm-arb

+ \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/arbitrum-deploy.html b/pr-preview/pr-1358/developers/arbitrum-deploy.html index f29bae8a22..a814ebac6d 100644 --- a/pr-preview/pr-1358/developers/arbitrum-deploy.html +++ b/pr-preview/pr-1358/developers/arbitrum-deploy.html @@ -7,11 +7,11 @@ - + - - + + @@ -106,8 +106,8 @@ container_name: 'da-celestia' # platform: linux/x86_64

Now, you can install Nitro from source. After the make command completes, you can run the bash script that installs and runs the containers via docker-compose.

bash
make build-node-deps
 cd nitro-testnode && ./test-node.bash --init --dev
make build-node-deps
-cd nitro-testnode && ./test-node.bash --init --dev

Congratulations! You have an Arbitrum Orbit rollup running with Nitro on your machine.

Validating with WASM

If you want to run a validator that will validate all blocks in WASM, add the flag --validate to nitro-testnode when starting with:

bash
./test-node.bash --init --dev --validate
./test-node.bash --init --dev --validate

TIP

You may need significantly more RAM and CPU to validate all blocks with WASM.

Next steps

In the next page we will cover deploying your devnet to Mocha testnet.

- +cd nitro-testnode && ./test-node.bash --init --dev

Congratulations! You have an Arbitrum Orbit rollup running with Nitro on your machine.

Validating with WASM

If you want to run a validator that will validate all blocks in WASM, add the flag --validate to nitro-testnode when starting with:

bash
./test-node.bash --init --dev --validate
./test-node.bash --init --dev --validate

TIP

You may need significantly more RAM and CPU to validate all blocks with WASM.

Next steps

In the next page we will cover deploying your devnet to Mocha testnet.

+ \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/arbitrum-integration.html b/pr-preview/pr-1358/developers/arbitrum-integration.html index f0ce6def56..d011056bf4 100644 --- a/pr-preview/pr-1358/developers/arbitrum-integration.html +++ b/pr-preview/pr-1358/developers/arbitrum-integration.html @@ -7,11 +7,11 @@ - + - - + + @@ -58,8 +58,8 @@ TxCommitment [32]byte DataRoot [32]byte SideNodes [][32]byte -}

Ethereum fallback mechanism in Nitro

Another feature of this integration is the Ethereum fallback mechanism, which enables Ethereum L2s (or L3s) to “fall back” to using Ethereum calldata for data availability in the event of downtime on Celestia Mainnet Beta.

In the case of Celestia downtime or temporary unavailability, L2s can fallback to posting transactions as calldata on Ethereum or another DA layer for data availability instead of posting to Celestia. This mechanism ensures users can continue to transact securely and seamlessly, preventing disruptions and helping to ensure user funds do not get stuck in the L2's bridge on Ethereum. This feature is available for the Arbitrum Orbit integration.

By default in Arbitrum Nitro, the Ethereum fallback mechanism in the BatchPoster function is handling the process of storing data, with a fallback mechanism to store data onchain if the primary data availability storage fails.

The @celestiaorg/nitro integration uses the same fallback mechanism.

The fallback logic for Celestia DA is configurable, providing an alternative to the previous default fallback mechanism. Additionally, a method has been added to the Arbitrum node software. This method allows the sequencer to call VerifyAttestation to check if a data root has been posted on Blobstream or not, before it sends the sequencer message (data pointer) to the underlying chain.

Next steps

In the next page, learn how to deploy an Arbitrum rollup devnet using Celestia as DA.

- +}

Ethereum fallback mechanism in Nitro

Another feature of this integration is the Ethereum fallback mechanism, which enables Ethereum L2s (or L3s) to “fall back” to using Ethereum calldata for data availability in the event of downtime on Celestia Mainnet Beta.

In the case of Celestia downtime or temporary unavailability, L2s can fallback to posting transactions as calldata on Ethereum or another DA layer for data availability instead of posting to Celestia. This mechanism ensures users can continue to transact securely and seamlessly, preventing disruptions and helping to ensure user funds do not get stuck in the L2's bridge on Ethereum. This feature is available for the Arbitrum Orbit integration.

By default in Arbitrum Nitro, the Ethereum fallback mechanism in the BatchPoster function is handling the process of storing data, with a fallback mechanism to store data onchain if the primary data availability storage fails.

The @celestiaorg/nitro integration uses the same fallback mechanism.

The fallback logic for Celestia DA is configurable, providing an alternative to the previous default fallback mechanism. Additionally, a method has been added to the Arbitrum node software. This method allows the sequencer to call VerifyAttestation to check if a data root has been posted on Blobstream or not, before it sends the sequencer message (data pointer) to the underlying chain.

Next steps

In the next page, learn how to deploy an Arbitrum rollup devnet using Celestia as DA.

+ \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/arbitrum-mocha.html b/pr-preview/pr-1358/developers/arbitrum-mocha.html index aa4a6084cb..305f2b1f41 100644 --- a/pr-preview/pr-1358/developers/arbitrum-mocha.html +++ b/pr-preview/pr-1358/developers/arbitrum-mocha.html @@ -7,12 +7,12 @@ - + - + - + @@ -91,28 +91,16 @@ retries: 5 start_period: 30s

WARNING

It is not advised to run with user: root permissions in production.

  • In nitro-testnode/test-node.bash make the following changes:

    bash
    # Line 7
     NODE_PATH="/home/celestia/bridge/" 
    -NODE_PATH="/home/celestia/.celestia-light-mocha-4/" 
    -
    -# Line 287
    -# NOTE: depending on the version you're using, you may have a different
    -# container name to start. Change yours accordingly to `celestia-da`.
    -export CELESTIA_NODE_AUTH_TOKEN="$(docker exec nitro-testnode-da-1 celestia bridge auth admin --node.store  ${NODE_PATH})" 
    -export CELESTIA_NODE_AUTH_TOKEN="$(docker exec celestia-da celestia light auth admin --node.store  ${NODE_PATH})" 
    # Line 7
    +NODE_PATH="/home/celestia/.celestia-light-mocha-4/" 
    # Line 7
     NODE_PATH="/home/celestia/bridge/" 
    -NODE_PATH="/home/celestia/.celestia-light-mocha-4/" 
    -
    -# Line 287
    -# NOTE: depending on the version you're using, you may have a different
    -# container name to start. Change yours accordingly to `celestia-da`.
    -export CELESTIA_NODE_AUTH_TOKEN="$(docker exec nitro-testnode-da-1 celestia bridge auth admin --node.store  ${NODE_PATH})" 
    -export CELESTIA_NODE_AUTH_TOKEN="$(docker exec celestia-da celestia light auth admin --node.store  ${NODE_PATH})" 
  • Pick a namespace, <your-10bytenamespace> that is 10 bytes in hexadecimal. In nitro-testnode/scripts/config.ts make the following changes:

    bash
    "tendermint-rpc": "http://da:26657", 
    +NODE_PATH="/home/celestia/.celestia-light-mocha-4/" 
  • Pick a namespace, <your-10bytenamespace> that is 10 bytes in hexadecimal. In nitro-testnode/scripts/config.ts make the following changes:

    bash
    "tendermint-rpc": "http://da:26657", 
     "tendermint-rpc": "http://rpc-mocha.pops.one:26657", 
     "namespace-id": "000008e5f679bf7116cb", 
     "namespace-id": "<your-10bytenamespace>", 
    "tendermint-rpc": "http://da:26657", 
     "tendermint-rpc": "http://rpc-mocha.pops.one:26657", 
     "namespace-id": "000008e5f679bf7116cb", 
    -"namespace-id": "<your-10bytenamespace>", 
  • TODO ADD CHANGES FOR BLOBSTREAM

  • Run your Nitro rollup on Mocha

    1. Start your rollup:

      bash
      ./test-node.bash --init --dev
      ./test-node.bash --init --dev
    2. Send a transaction:

      bash
      ./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000
      ./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000
    3. Find the batch transaction on mocha in the namespace you used. In this demonstration, I used the nitrovroom namespace.

    Congratulations! Your Arbitrum Nitro rollup testnet is now posting to Mocha testnet for data availability. 🏎️

    - +"namespace-id": "<your-10bytenamespace>",
  • TODO ADD CHANGES FOR BLOBSTREAM

  • Run your Nitro rollup on Mocha

    1. Start your rollup:

      bash
      ./test-node.bash --init --dev
      ./test-node.bash --init --dev
    2. Send a transaction:

      bash
      ./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000
      ./test-node.bash script send-l2 --to address_0x1111222233334444555566667777888899990000
    3. Find the batch transaction on mocha in the namespace you used. In this demonstration, I used the nitrovroom namespace.

    Congratulations! Your Arbitrum Nitro rollup testnet is now posting to Mocha testnet for data availability. 🏎️

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/arbitrum-smart-contract.html b/pr-preview/pr-1358/developers/arbitrum-smart-contract.html index 92b1f71f30..b4aab6ea30 100644 --- a/pr-preview/pr-1358/developers/arbitrum-smart-contract.html +++ b/pr-preview/pr-1358/developers/arbitrum-smart-contract.html @@ -7,11 +7,11 @@ - + - - + + @@ -170,8 +170,8 @@ status 1 transactionHash 0x8f15d6004598f0662dd673a9898dceef77be8cc28408cecc284b28d7be32307d transactionIndex 0 -type 2

    Now, we can make a read call to view the state of the number variable, using the cast call command:

    bash
    cast call $CONTRACT_ADDRESS "number()" --rpc-url $ARB_RPC_URL
    cast call $CONTRACT_ADDRESS "number()" --rpc-url $ARB_RPC_URL

    The result will look similar:

    bash
    0x000000000000000000000000000000000000000000000000000000000000000a
    0x000000000000000000000000000000000000000000000000000000000000000a

    Convert the result from hexadecimal to a base 10 value with:

    bash
    echo $((0x000000000000000000000000000000000000000000000000000000000000000a))
    echo $((0x000000000000000000000000000000000000000000000000000000000000000a))

    Next steps

    Congratulations! You've learned how to deploy a smart contract to your Arbitrum rollup devnet.

    What will you build next? In our next tutorial, we will be going over how to deploy a dapp to your Arbitrum rollup.

    - +type 2

    Now, we can make a read call to view the state of the number variable, using the cast call command:

    bash
    cast call $CONTRACT_ADDRESS "number()" --rpc-url $ARB_RPC_URL
    cast call $CONTRACT_ADDRESS "number()" --rpc-url $ARB_RPC_URL

    The result will look similar:

    bash
    0x000000000000000000000000000000000000000000000000000000000000000a
    0x000000000000000000000000000000000000000000000000000000000000000a

    Convert the result from hexadecimal to a base 10 value with:

    bash
    echo $((0x000000000000000000000000000000000000000000000000000000000000000a))
    echo $((0x000000000000000000000000000000000000000000000000000000000000000a))

    Next steps

    Congratulations! You've learned how to deploy a smart contract to your Arbitrum rollup devnet.

    What will you build next? In our next tutorial, we will be going over how to deploy a dapp to your Arbitrum rollup.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/blobstream-contracts.html b/pr-preview/pr-1358/developers/blobstream-contracts.html index e792959db3..7fbf59ecfa 100644 --- a/pr-preview/pr-1358/developers/blobstream-contracts.html +++ b/pr-preview/pr-1358/developers/blobstream-contracts.html @@ -7,11 +7,11 @@ - + - - + + @@ -124,8 +124,8 @@ ) private pure returns (bool) { return true; } -}

    Data structures

    Each DataRootTuple is a tuple of block height and data root. It is analogous to a Celestia block header. DataRootTuples are relayed in batches, committed to as a DataRootTuples root (i.e. a Merkle root of DataRootTuples).

    The BinaryMerkleProof is an RFC-6962-compliant Merkle proof. Since DataRootTuples are Merkleized in a binary Merkle tree, verifying the inclusion of a DataRootTuple against a DataRootTuples root requires verifying a Merkle inclusion proof.

    Interface

    The IDAOracle (Data Availability Oracle Interface) interface allows L2 contracts on Ethereum to query the Blobstream contract for relayed DataRootTuples. The single interface method verifyAttestation verifies a Merkle inclusion proof that a DataRootTuple is included under a specific batch (indexed by batch nonce). In other words, analogously it verifies that a specific block header is included in the canonical Celestia chain.

    Querying the proof

    To prove that the data was published to Celestia, check out the proof queries documentation to understand how to query the proofs from Celestia consensus nodes and make them usable in the Blobstream verifier contract.

    Verifying data inclusion for fraud proofs

    A high-level overview of how a fraud-proof based L2 would interact with Blobstream can be found in the inclusion proofs documentation.

    The DAVerifier library is available at blobstream-contracts/lib/verifier/DAVerifier.sol, and provides functions to verify the inclusion of individual (or multiple) shares against a DataRootTuple. The library is stateless, and allows to pass an IDAOracle interface as a parameter to verify inclusion against it.

    In the DAVerifier library, we find functions that help with data inclusion verification and calculating the square size of a Celestia block. These functions work with the Blobstream smart contract, using different proofs to check and confirm the data's availability. Let's take a closer look at these functions:

    • verifySharesToDataRootTupleRoot: This function verifies that the shares, which were posted to Celestia, were committed to by the Blobstream smart contract. It checks that the data root was committed to by the Blobstream smart contract and that the shares were committed to by the rows roots.
    • verifyRowRootToDataRootTupleRoot: This function verifies that a row/column root, from a Celestia block, was committed to by the Blobstream smart contract. It checks that the data root was committed to by the Blobstream smart contract and that the row root commits to the data root.
    • verifyMultiRowRootsToDataRootTupleRoot: This function verifies that a set of rows/columns, from a Celestia block, were committed to by the Blobstream smart contract. It checks that the data root was committed to by the Blobstream smart contract and that the rows roots commit to the data root.
    • computeSquareSizeFromRowProof: This function computes the Celestia block square size from a row/column root to data root binary Merkle proof. It is the user's responsibility to verify that the proof is valid and was successfully committed to using the verifyRowRootToDataRootTupleRoot() method.
    • computeSquareSizeFromShareProof: This function computes the Celestia block square size from a shares to row/column root proof. It is the user's responsibility to verify that the proof is valid and that the shares were successfully committed to using the verifySharesToDataRootTupleRoot() method.

    For an overview of a demo rollup implementation, head to the next section.

    - +}

    Data structures

    Each DataRootTuple is a tuple of block height and data root. It is analogous to a Celestia block header. DataRootTuples are relayed in batches, committed to as a DataRootTuples root (i.e. a Merkle root of DataRootTuples).

    The BinaryMerkleProof is an RFC-6962-compliant Merkle proof. Since DataRootTuples are Merkleized in a binary Merkle tree, verifying the inclusion of a DataRootTuple against a DataRootTuples root requires verifying a Merkle inclusion proof.

    Interface

    The IDAOracle (Data Availability Oracle Interface) interface allows L2 contracts on Ethereum to query the Blobstream contract for relayed DataRootTuples. The single interface method verifyAttestation verifies a Merkle inclusion proof that a DataRootTuple is included under a specific batch (indexed by batch nonce). In other words, analogously it verifies that a specific block header is included in the canonical Celestia chain.

    Querying the proof

    To prove that the data was published to Celestia, check out the proof queries documentation to understand how to query the proofs from Celestia consensus nodes and make them usable in the Blobstream verifier contract.

    Verifying data inclusion for fraud proofs

    A high-level overview of how a fraud-proof based L2 would interact with Blobstream can be found in the inclusion proofs documentation.

    The DAVerifier library is available at blobstream-contracts/lib/verifier/DAVerifier.sol, and provides functions to verify the inclusion of individual (or multiple) shares against a DataRootTuple. The library is stateless, and allows to pass an IDAOracle interface as a parameter to verify inclusion against it.

    In the DAVerifier library, we find functions that help with data inclusion verification and calculating the square size of a Celestia block. These functions work with the Blobstream smart contract, using different proofs to check and confirm the data's availability. Let's take a closer look at these functions:

    • verifySharesToDataRootTupleRoot: This function verifies that the shares, which were posted to Celestia, were committed to by the Blobstream smart contract. It checks that the data root was committed to by the Blobstream smart contract and that the shares were committed to by the rows roots.
    • verifyRowRootToDataRootTupleRoot: This function verifies that a row/column root, from a Celestia block, was committed to by the Blobstream smart contract. It checks that the data root was committed to by the Blobstream smart contract and that the row root commits to the data root.
    • verifyMultiRowRootsToDataRootTupleRoot: This function verifies that a set of rows/columns, from a Celestia block, were committed to by the Blobstream smart contract. It checks that the data root was committed to by the Blobstream smart contract and that the rows roots commit to the data root.
    • computeSquareSizeFromRowProof: This function computes the Celestia block square size from a row/column root to data root binary Merkle proof. It is the user's responsibility to verify that the proof is valid and was successfully committed to using the verifyRowRootToDataRootTupleRoot() method.
    • computeSquareSizeFromShareProof: This function computes the Celestia block square size from a shares to row/column root proof. It is the user's responsibility to verify that the proof is valid and that the shares were successfully committed to using the verifySharesToDataRootTupleRoot() method.

    For an overview of a demo rollup implementation, head to the next section.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/blobstream-offchain.html b/pr-preview/pr-1358/developers/blobstream-offchain.html index 7218e13ae4..69b3307f28 100644 --- a/pr-preview/pr-1358/developers/blobstream-offchain.html +++ b/pr-preview/pr-1358/developers/blobstream-offchain.html @@ -7,11 +7,11 @@ - + - - + + @@ -334,8 +334,8 @@ Header: header, }, ) -}

    This outline of a Blobstream rollup isn't doing execution or state transitions induced by the transactions, however, that step would occur here. If fraud is detected, the fraud proof process will begin. The only difference between the fraud proof process of a normal optimistic rollup and a rollup that uses Blobstream for DA is that the full node would first prove the fraudulent transaction was committed to by the Sequencer using the Span in the header and before proceeding with the normal process.

    More documentation

    Proving inclusion via Blobstream

    Blobstream inclusion proof docs and the verifier helper contracts.

    Submitting block data to Celestia via light node

    As linked above, use the Celestia light node RPC to submit the data to Celestia.

    Posting headers to Ethereum

    How headers are posted to Ethereum is entirely dependent upon how the rollup light client contracts work. For examples of interacting with the Ethereum blockchain programmatically, please see the go-ethereum book or one of the many other resources for submitting transactions or writing contracts.

    - +}

    This outline of a Blobstream rollup isn't doing execution or state transitions induced by the transactions, however, that step would occur here. If fraud is detected, the fraud proof process will begin. The only difference between the fraud proof process of a normal optimistic rollup and a rollup that uses Blobstream for DA is that the full node would first prove the fraudulent transaction was committed to by the Sequencer using the Span in the header and before proceeding with the normal process.

    More documentation

    Proving inclusion via Blobstream

    Blobstream inclusion proof docs and the verifier helper contracts.

    Submitting block data to Celestia via light node

    As linked above, use the Celestia light node RPC to submit the data to Celestia.

    Posting headers to Ethereum

    How headers are posted to Ethereum is entirely dependent upon how the rollup light client contracts work. For examples of interacting with the Ethereum blockchain programmatically, please see the go-ethereum book or one of the many other resources for submitting transactions or writing contracts.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/blobstream-proof-queries.html b/pr-preview/pr-1358/developers/blobstream-proof-queries.html index 059ac10b8d..ffa584237a 100644 --- a/pr-preview/pr-1358/developers/blobstream-proof-queries.html +++ b/pr-preview/pr-1358/developers/blobstream-proof-queries.html @@ -7,11 +7,11 @@ - + - - + + @@ -372,8 +372,8 @@ uint256 height; // Data root. bytes32 dataRoot; -}

    which comprises a dataRoot, i.e. the block containing the Rollup data data root, and the height which is the height of that block.

    • proof: the BinaryMerkleProof of the data root tuple to the data root tuple root. Constructing it is similar to constructing the row roots to data root proof in the rowProofs section.

    An example can be found in the RollupInclusionProofs.t.sol test.

    If the dataRoot or the tupleRootNonce is unknown during the verification:

    • dataRoot: can be queried using the /block?height=15 query (15 in this example endpoint), and taking the data_hash field from the response.
    • tupleRootNonce: can be retried using a gRPC query to the app to the /qgb/v1/data_commitment/range/height endpoint. An example can be found in the verify command.

    High-level diagrams

    The two diagrams below summarize how a single share is committed to in Blobstream. The share is highlighted in green. R0, R1, etc represent the respective row and column roots, the blue and pink gradients are erasure encoded data. More details on the square layout can be found in the data square layout and data structures portion of the specs.

    The Celestia square

    Square

    The commitment scheme

    Blobstream Commitment Diagram

    Conclusion

    After creating all the proofs, and verifying them:

    1. Verify inclusion proof of the transaction to Celestia data root
    2. Prove that the data root tuple is committed to by the Blobstream smart contract

    We can be sure that the data was published to Celestia.

    NOTE

    The above proof constructions are implemented in Solidity, and may require different approaches in other programming languages.

    - +}

    which comprises a dataRoot, i.e. the block containing the Rollup data data root, and the height which is the height of that block.

    • proof: the BinaryMerkleProof of the data root tuple to the data root tuple root. Constructing it is similar to constructing the row roots to data root proof in the rowProofs section.

    An example can be found in the RollupInclusionProofs.t.sol test.

    If the dataRoot or the tupleRootNonce is unknown during the verification:

    • dataRoot: can be queried using the /block?height=15 query (15 in this example endpoint), and taking the data_hash field from the response.
    • tupleRootNonce: can be retried using a gRPC query to the app to the /qgb/v1/data_commitment/range/height endpoint. An example can be found in the verify command.

    High-level diagrams

    The two diagrams below summarize how a single share is committed to in Blobstream. The share is highlighted in green. R0, R1, etc represent the respective row and column roots, the blue and pink gradients are erasure encoded data. More details on the square layout can be found in the data square layout and data structures portion of the specs.

    The Celestia square

    Square

    The commitment scheme

    Blobstream Commitment Diagram

    Conclusion

    After creating all the proofs, and verifying them:

    1. Verify inclusion proof of the transaction to Celestia data root
    2. Prove that the data root tuple is committed to by the Blobstream smart contract

    We can be sure that the data was published to Celestia.

    NOTE

    The above proof constructions are implemented in Solidity, and may require different approaches in other programming languages.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/blobstream.html b/pr-preview/pr-1358/developers/blobstream.html index f5f55b298b..7ab30a9a62 100644 --- a/pr-preview/pr-1358/developers/blobstream.html +++ b/pr-preview/pr-1358/developers/blobstream.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Integrate with Blobstream

    Blobstream logo

    Blobstream is the first data availability solution for Ethereum that securely scales with the number of users. Formerly known as the Quantum Gravity Bridge (QGB), Blobstream relays commitments to Celestia's data root to an onchain light client on Ethereum, for integration by developers into L2 contracts. This enables Ethereum developers to build high-throughput L2s using Celestia's optimised DA layer, the first with Data Availability Sampling (DAS).

    The following docs go over how developers can integrate Blobstream. There are also docs on how to run a Blobstream orchestrator as a Celestia validator which won't be covered in the following sections aimed at developers.

    Overview

    Blobstream, consists of two components: an orchestrator and a relayer.

    In the following diagram, we show how a layer 2 (L2) would post data to Celestia and then verify that it was published in the target EVM chain.

    Blobstream-Architecture

    Data will first be attested to by the Celestia validator set, i.e. signing commitments committing to the data. Then, these signatures will be relayed to the target EVM chain (in this case, Ethereum). Finally, the L2, or any party, will be able to verify that the data was published to Celestia directly on the EVM chain on the Blobstream smart contract. You can reference the Blobstream smart contract.

    The orchestrator is part of the validator setup and works as follows:

    • celestia-app creates an attestation on the state machine level that needs to be signed
    • The orchestrator queries the attestation, signs it, then submits the signature to the Blobstream P2P network

    The relayer submits the attestations' signatures from the Blobstream P2P network to the target EVM chain.

    NOTE

    If the contract is still not deployed, then it needs to be deployed before it is used by the relayer. See the deployment documentation for more details.

    How Blobstream works

    Blobstream allows Celestia block header data roots to be relayed in one direction, from Celestia to an EVM chain. It does not support bridging assets such as fungible or non-fungible tokens directly, and cannot send messages from the EVM chain back to Celestia.

    It works by relying on a set of signers to attest to some event on Celestia: the Celestia validator set. The Blobstream contract keeps track of the Celestia validator set by updating its view of the validator set with updateValidatorSet(). More than 2/3 of the voting power of the current view of the validator set must sign off on new relayed events, submitted with submitDataRootTupleRoot(). Each event is a batch of DataRootTuples, with each tuple representing a single data root (i.e. block header). Relayed tuples are in the same order as Celestia block headers.

    Blobstream attestation flow

    Events and messages relayed

    Validator sets: The relayer informs the Blobstream contract who are the current validators and their power. This results in an execution of the updateValidatorSet function.

    Batches: The relayer informs the Blobstream contract of new data root tuple roots. This results in an execution of the submitDataRootTupleRoot function.

    How to integrate

    Integrating your L2 with Blobstream requires two components: your onchain smart contract logic, and your offchain client logic. The next three sections cover these topics:

    Deployed contracts

    You can interact with the Blobstream contracts today on testnet. The Blobstream Solidity smart contracts are currently deployed on the following Ethereum testnets:

    ContractEVM networkContract addressAttested data
    BlobstreamSepolia0x3a5cbB6EF4756DA0b3f6DAE7aB6430fD8c46d247Mocha testnet
    BlobstreamArbitrum Sepolia0x040769edbca5218e616c8eb16e4faea49ced5e33Mocha testnet
    Blobstream XGoerli0x67ea962864cdad3f2202118dc6f65ff510f7bb4dMocha testnet

    Blobstream vs. data availability committees (DACs)

    Decentralization and security

    Blobstream is built on Celestia, which uses a CometBFT-based proof-of-stake system. An incorrect data availability attestation in this system will ultimately be penalized (currently not implemented), ensuring validators act in good faith. Thus, Blobstream shares the same security assumptions as Celestia. In contrast, data availability committees (DACs), are typically centralized or semi-centralized, relying on a specific set of entities or individuals to vouch for data availability.

    Mechanism of verification

    Blobstream uses data availability attestations, which are Merkle roots of the batched L2 data, to confirm that the necessary data is present on Celestia. The L2 contract on Ethereum can check directly with Blobstream if the data is published on Celestia. Similarly, a DAC would rely on attestations or confirmations from its permissioned members.

    Flexibility and scalability

    Blobstream is designed to offer high-throughput data availability for Ethereum L2s, aiming to strike a balance between scalability and security. It operates independently of Ethereum's gas costs, as Celestia's resource pricing is more byte-focused rather than computation-centric. On the other hand, the scalability and flexibility of a DAC would depend on its specific design and implementation.

    In summary, both Blobstream and DACs aim to ensure offchain data availability, but Blobstream offers a more decentralized, secure, and scalable solution compared to the potential centralized nature of DACs.

    - +

    Integrate with Blobstream

    Blobstream logo

    Blobstream is the first data availability solution for Ethereum that securely scales with the number of users. Formerly known as the Quantum Gravity Bridge (QGB), Blobstream relays commitments to Celestia's data root to an onchain light client on Ethereum, for integration by developers into L2 contracts. This enables Ethereum developers to build high-throughput L2s using Celestia's optimised DA layer, the first with Data Availability Sampling (DAS).

    The following docs go over how developers can integrate Blobstream. There are also docs on how to run a Blobstream orchestrator as a Celestia validator which won't be covered in the following sections aimed at developers.

    Overview

    Blobstream, consists of two components: an orchestrator and a relayer.

    In the following diagram, we show how a layer 2 (L2) would post data to Celestia and then verify that it was published in the target EVM chain.

    Blobstream-Architecture

    Data will first be attested to by the Celestia validator set, i.e. signing commitments committing to the data. Then, these signatures will be relayed to the target EVM chain (in this case, Ethereum). Finally, the L2, or any party, will be able to verify that the data was published to Celestia directly on the EVM chain on the Blobstream smart contract. You can reference the Blobstream smart contract.

    The orchestrator is part of the validator setup and works as follows:

    • celestia-app creates an attestation on the state machine level that needs to be signed
    • The orchestrator queries the attestation, signs it, then submits the signature to the Blobstream P2P network

    The relayer submits the attestations' signatures from the Blobstream P2P network to the target EVM chain.

    NOTE

    If the contract is still not deployed, then it needs to be deployed before it is used by the relayer. See the deployment documentation for more details.

    How Blobstream works

    Blobstream allows Celestia block header data roots to be relayed in one direction, from Celestia to an EVM chain. It does not support bridging assets such as fungible or non-fungible tokens directly, and cannot send messages from the EVM chain back to Celestia.

    It works by relying on a set of signers to attest to some event on Celestia: the Celestia validator set. The Blobstream contract keeps track of the Celestia validator set by updating its view of the validator set with updateValidatorSet(). More than 2/3 of the voting power of the current view of the validator set must sign off on new relayed events, submitted with submitDataRootTupleRoot(). Each event is a batch of DataRootTuples, with each tuple representing a single data root (i.e. block header). Relayed tuples are in the same order as Celestia block headers.

    Blobstream attestation flow

    Events and messages relayed

    Validator sets: The relayer informs the Blobstream contract who are the current validators and their power. This results in an execution of the updateValidatorSet function.

    Batches: The relayer informs the Blobstream contract of new data root tuple roots. This results in an execution of the submitDataRootTupleRoot function.

    How to integrate

    Integrating your L2 with Blobstream requires two components: your onchain smart contract logic, and your offchain client logic. The next three sections cover these topics:

    Deployed contracts

    You can interact with the Blobstream contracts today on testnet. The Blobstream Solidity smart contracts are currently deployed on the following Ethereum testnets:

    ContractEVM networkContract addressAttested data
    BlobstreamSepolia0x3a5cbB6EF4756DA0b3f6DAE7aB6430fD8c46d247Mocha testnet
    BlobstreamArbitrum Sepolia0x040769edbca5218e616c8eb16e4faea49ced5e33Mocha testnet
    Blobstream XGoerli0x67ea962864cdad3f2202118dc6f65ff510f7bb4dMocha testnet

    Blobstream vs. data availability committees (DACs)

    Decentralization and security

    Blobstream is built on Celestia, which uses a CometBFT-based proof-of-stake system. An incorrect data availability attestation in this system will ultimately be penalized (currently not implemented), ensuring validators act in good faith. Thus, Blobstream shares the same security assumptions as Celestia. In contrast, data availability committees (DACs), are typically centralized or semi-centralized, relying on a specific set of entities or individuals to vouch for data availability.

    Mechanism of verification

    Blobstream uses data availability attestations, which are Merkle roots of the batched L2 data, to confirm that the necessary data is present on Celestia. The L2 contract on Ethereum can check directly with Blobstream if the data is published on Celestia. Similarly, a DAC would rely on attestations or confirmations from its permissioned members.

    Flexibility and scalability

    Blobstream is designed to offer high-throughput data availability for Ethereum L2s, aiming to strike a balance between scalability and security. It operates independently of Ethereum's gas costs, as Celestia's resource pricing is more byte-focused rather than computation-centric. On the other hand, the scalability and flexibility of a DAC would depend on its specific design and implementation.

    In summary, both Blobstream and DACs aim to ensure offchain data availability, but Blobstream offers a more decentralized, secure, and scalable solution compared to the potential centralized nature of DACs.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/bubs-testnet.html b/pr-preview/pr-1358/developers/bubs-testnet.html index c2afbf5b9d..fddef35105 100644 --- a/pr-preview/pr-1358/developers/bubs-testnet.html +++ b/pr-preview/pr-1358/developers/bubs-testnet.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Bubs testnet

    Bubs testnet

    Bubs Testnet is a fresh offering from Caldera with support from Celestia Labs, built with OP Stack and Celestia, and is dedicated to providing developers with an EVM-compatible execution layer to deploy their EVM applications on.

    Built with the OP Stack and Celestia

    The Bubs Testnet is a testnet rollup, a modified version of optimism-bedrock that uses Celestia as a data availability (DA) layer. This integration can be found in the @celestiaorg/optimism repository. The testnet is hosted by Caldera, who makes it easy to launch rollups with no code required.

    In this setup, data handling is accomplished in two ways. Firstly, data is written to the DA layer, in this case, Celestia (on the Arabica devnet). Then, the data commitment is written to the op-batcher. When reading, the op-node retrieves the data back from the DA layer by first reading the data commitment from the op-batcher, then reading the data from the DA layer using the data commitment. Hence, while previously op-node was reading from calldata on Ethereum, it now reads data from Celestia.

    The tools involved in the data handling process include op-batcher, which batches up rollup blocks and posts them to Ethereum, op-geth that handles execution, and op-proposer responsible for state commitment submission.

    By using Celestia as a DA layer, existing L2s can switch from posting their data as calldata on Ethereum to posting to Celestia. The commitment to the block is posted on Celestia, which is purpose-built for data availability. This is more scalable than the traditional method of posting this data as calldata on monolithic chains.

    Building on Bubs

    Bubs Testnet provides a robust environment for developers to test their Ethereum Virtual Machine (EVM) applications. It offers an EVM-compatible execution layer, making it an ideal platform for developers looking to build and test applications in a setting that closely mirrors an OP Stack rollup on Celestia.

    Learn more at bubstestnet.com.

    RPC URLs

    Remote Procedure Call (RPC) URLs are endpoints that allow developers to interact with the blockchain. They are essential for sending transactions, querying blockchain data, and performing other interactions with the blockchain.

    For the Bubs Testnet, you can connect to the following RPC URLs:

    HTTPS

    • https://bubs.calderachain.xyz/http

    WSS

    • wss://bubs.calderachain.xyz/ws

    This URL serves as the entry point to the Bubs Testnet. You can use it in your applications to connect to the testnet and interact with the smart contracts you deploy there.

    Remember, Bubs Testnet is a testing environment!

    Faucet

    To visit the Bubs testnet faucet, go to https://bubstestnet.com.

    Explorer

    To visit the explorer, go to https://explorer.bubstestnet.com/.

    Next steps

    Now that you have a better understanding of the Bubs Testnet and its integration of OP Stack and Celestia, you can start exploring its capabilities:

    - +

    Bubs testnet

    Bubs testnet

    Bubs Testnet is a fresh offering from Caldera with support from Celestia Labs, built with OP Stack and Celestia, and is dedicated to providing developers with an EVM-compatible execution layer to deploy their EVM applications on.

    Built with the OP Stack and Celestia

    The Bubs Testnet is a testnet rollup, a modified version of optimism-bedrock that uses Celestia as a data availability (DA) layer. This integration can be found in the @celestiaorg/optimism repository. The testnet is hosted by Caldera, who makes it easy to launch rollups with no code required.

    In this setup, data handling is accomplished in two ways. Firstly, data is written to the DA layer, in this case, Celestia (on the Arabica devnet). Then, the data commitment is written to the op-batcher. When reading, the op-node retrieves the data back from the DA layer by first reading the data commitment from the op-batcher, then reading the data from the DA layer using the data commitment. Hence, while previously op-node was reading from calldata on Ethereum, it now reads data from Celestia.

    The tools involved in the data handling process include op-batcher, which batches up rollup blocks and posts them to Ethereum, op-geth that handles execution, and op-proposer responsible for state commitment submission.

    By using Celestia as a DA layer, existing L2s can switch from posting their data as calldata on Ethereum to posting to Celestia. The commitment to the block is posted on Celestia, which is purpose-built for data availability. This is more scalable than the traditional method of posting this data as calldata on monolithic chains.

    Building on Bubs

    Bubs Testnet provides a robust environment for developers to test their Ethereum Virtual Machine (EVM) applications. It offers an EVM-compatible execution layer, making it an ideal platform for developers looking to build and test applications in a setting that closely mirrors an OP Stack rollup on Celestia.

    Learn more at bubstestnet.com.

    RPC URLs

    Remote Procedure Call (RPC) URLs are endpoints that allow developers to interact with the blockchain. They are essential for sending transactions, querying blockchain data, and performing other interactions with the blockchain.

    For the Bubs Testnet, you can connect to the following RPC URLs:

    HTTPS

    • https://bubs.calderachain.xyz/http

    WSS

    • wss://bubs.calderachain.xyz/ws

    This URL serves as the entry point to the Bubs Testnet. You can use it in your applications to connect to the testnet and interact with the smart contracts you deploy there.

    Remember, Bubs Testnet is a testing environment!

    Faucet

    To visit the Bubs testnet faucet, go to https://bubstestnet.com.

    Explorer

    To visit the explorer, go to https://explorer.bubstestnet.com/.

    Next steps

    Now that you have a better understanding of the Bubs Testnet and its integration of OP Stack and Celestia, you can start exploring its capabilities:

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/build-modular.html b/pr-preview/pr-1358/developers/build-modular.html index e283d390e1..a80c4a4cf5 100644 --- a/pr-preview/pr-1358/developers/build-modular.html +++ b/pr-preview/pr-1358/developers/build-modular.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Build modular

    “I’m a developer, and I want to know what the benefits of modular blockchains are for me!”

    You’ve come to the right place. This page will give you the rundown on modular blockchains and their benefits for developers like you.

    If you already know all this, skip to the end to get straight into building.

    What is a modular blockchain?

    With blockchains there are more or less four core functions that they do.

    • Execution: transaction execution and state update.
    • Settlement: finality and dispute resolution.
    • Consensus: agreement on transaction ordering.
    • Data availability: prove data was published to the network.

    Modular blockchains specialize in one or two of these functions rather than doing all of them like a monolithic blockchain. You probably know about layer 1s and layer 2s. That’s the general idea.

    A typical example of a modular blockchain you might’ve heard of is a rollup. Rollups host smart contracts and execute transactions, much like any monolithic chain. But, the data of those transactions get sent to a layer 1 blockchain to carry out the remaining functions.

    If you want to brush up on your understanding of modular blockchains, head over to learn modular.

    Ease of deploying a chain

    One of the goals of modular blockchains is to make it as easy to deploy a blockchain as a smart contract. There are a few unique ways that modular blockchains can significantly reduce the cost of deploying a new blockchain.

    1. No validator set is required. Rollups can deploy without sourcing their own set of validators or sequencers.
    2. Inherit security from the start. Rollups don’t need to build all their security from scratch.
    3. Any part of the stack can be delegated. Development time can be reduced by outsourcing functions of the rollup to external providers.

    All in all, builders will be able to outsource as much of the stack as they need. Deploying a new blockchain will be as simple as clicking a few options to initialize a production-ready rollup.

    Scaling

    Of course, a much higher scale is necessary if we want to support many more users. And modular blockchains use some new innovative technologies that can help us get there.

    • Data availability sampling enables modular blockchains like Celestia to scale data availability with the number of light nodes - that means more capacity for rollups.
    • Fraud and validity proofs make rollups vastly more efficient to verify. Nodes only need to verify a small proof of transaction validity (validity proof) or assume transactions are valid by default (fraud proof). This means rollups don’t require every node in the network to re-execute every transaction.

    image

    • Decoupling execution from consensus lets developers define the VM that best fits the scaling needs of their application.
    • Separating applications across multiple rollups isolates congestion. If an application congests the execution capacity of one rollup, all other rollups remain unaffected in their execution capacity.

    All these scaling properties combined make new types of applications and features possible, like onchain gaming, dynamic metadata, and ephemeral rollups, to name a few.

    Customizability

    By design, modular blockchains don’t lock in any feature set. They promote experimentation and customization.

    Remember how decoupling execution from consensus enables VM customizability? Well, rollups are the execution component. Applications can run on their own rollup and adjust the VM to maximize their application's performance. Developers have that flexibility because Celestia's execution logic doesn't restrict rollups.

    Basically, rollups can be customized to integrate any new or existing VM stack.

    With existing rollup frameworks, developers can run rollup testnets using the EVM or Cosmos SDK. In the future, one can imagine a variety of VMs that rollup frameworks support, providing developers with more out-of-the-box options for their applications.

    Some customizations that could be made to a rollup's VM include custom precompiles, changing transaction processing from sequential to parallel, or adding support for private smart contracts.

    All of this only scratches the surface.

    Building on Celestia

    So, you’re ready to start experimenting and building on Celestia? Here are a few options that are currently available for developers.

    Smart contracts

    Bubs testnet is a dedicated EVM-compatible rollup that developers can use to test and deploy smart contract applications.

    Sovereign rollups

    Developers can build applications on a sovereign rollup testnet on Celestia. Rollkit and Sovereign SDK provide frameworks for deploying sovereign rollup testnets on Celestia.

    Rollups

    Developers can also build rollup testnets for their applications using Dymension’s Rollapps or Optimism’s OP Stack.

    - +

    Build modular

    “I’m a developer, and I want to know what the benefits of modular blockchains are for me!”

    You’ve come to the right place. This page will give you the rundown on modular blockchains and their benefits for developers like you.

    If you already know all this, skip to the end to get straight into building.

    What is a modular blockchain?

    With blockchains there are more or less four core functions that they do.

    • Execution: transaction execution and state update.
    • Settlement: finality and dispute resolution.
    • Consensus: agreement on transaction ordering.
    • Data availability: prove data was published to the network.

    Modular blockchains specialize in one or two of these functions rather than doing all of them like a monolithic blockchain. You probably know about layer 1s and layer 2s. That’s the general idea.

    A typical example of a modular blockchain you might’ve heard of is a rollup. Rollups host smart contracts and execute transactions, much like any monolithic chain. But, the data of those transactions get sent to a layer 1 blockchain to carry out the remaining functions.

    If you want to brush up on your understanding of modular blockchains, head over to learn modular.

    Ease of deploying a chain

    One of the goals of modular blockchains is to make it as easy to deploy a blockchain as a smart contract. There are a few unique ways that modular blockchains can significantly reduce the cost of deploying a new blockchain.

    1. No validator set is required. Rollups can deploy without sourcing their own set of validators or sequencers.
    2. Inherit security from the start. Rollups don’t need to build all their security from scratch.
    3. Any part of the stack can be delegated. Development time can be reduced by outsourcing functions of the rollup to external providers.

    All in all, builders will be able to outsource as much of the stack as they need. Deploying a new blockchain will be as simple as clicking a few options to initialize a production-ready rollup.

    Scaling

    Of course, a much higher scale is necessary if we want to support many more users. And modular blockchains use some new innovative technologies that can help us get there.

    • Data availability sampling enables modular blockchains like Celestia to scale data availability with the number of light nodes - that means more capacity for rollups.
    • Fraud and validity proofs make rollups vastly more efficient to verify. Nodes only need to verify a small proof of transaction validity (validity proof) or assume transactions are valid by default (fraud proof). This means rollups don’t require every node in the network to re-execute every transaction.

    image

    • Decoupling execution from consensus lets developers define the VM that best fits the scaling needs of their application.
    • Separating applications across multiple rollups isolates congestion. If an application congests the execution capacity of one rollup, all other rollups remain unaffected in their execution capacity.

    All these scaling properties combined make new types of applications and features possible, like onchain gaming, dynamic metadata, and ephemeral rollups, to name a few.

    Customizability

    By design, modular blockchains don’t lock in any feature set. They promote experimentation and customization.

    Remember how decoupling execution from consensus enables VM customizability? Well, rollups are the execution component. Applications can run on their own rollup and adjust the VM to maximize their application's performance. Developers have that flexibility because Celestia's execution logic doesn't restrict rollups.

    Basically, rollups can be customized to integrate any new or existing VM stack.

    With existing rollup frameworks, developers can run rollup testnets using the EVM or Cosmos SDK. In the future, one can imagine a variety of VMs that rollup frameworks support, providing developers with more out-of-the-box options for their applications.

    Some customizations that could be made to a rollup's VM include custom precompiles, changing transaction processing from sequential to parallel, or adding support for private smart contracts.

    All of this only scratches the surface.

    Building on Celestia

    So, you’re ready to start experimenting and building on Celestia? Here are a few options that are currently available for developers.

    Smart contracts

    Bubs testnet is a dedicated EVM-compatible rollup that developers can use to test and deploy smart contract applications.

    Sovereign rollups

    Developers can build applications on a sovereign rollup testnet on Celestia. Rollkit and Sovereign SDK provide frameworks for deploying sovereign rollup testnets on Celestia.

    Rollups

    Developers can also build rollup testnets for their applications using Dymension’s Rollapps or Optimism’s OP Stack.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/celestia-app-vesting.html b/pr-preview/pr-1358/developers/celestia-app-vesting.html index ee8495241e..e7c4826241 100644 --- a/pr-preview/pr-1358/developers/celestia-app-vesting.html +++ b/pr-preview/pr-1358/developers/celestia-app-vesting.html @@ -7,11 +7,11 @@ - + - - + + @@ -252,8 +252,8 @@ # <host>:<port> to Tendermint RPC interface for this chain node = "tcp://rpc-mocha.pops.one:443" # Transaction broadcasting mode (sync|async|block) -broadcast-mode = "sync"

    Notes

    Not all vesting accounts can be created with a message, some need to be set at genesis. You can learn more in the Cosmos Network documentation.

    Conclusion

    Congratulations! You've learned how to create a local devnet, create a vesting account on it, and how to make a vesting account on the Mocha testnet!

    - +broadcast-mode = "sync"

    Notes

    Not all vesting accounts can be created with a message, some need to be set at genesis. You can learn more in the Cosmos Network documentation.

    Conclusion

    Congratulations! You've learned how to create a local devnet, create a vesting account on it, and how to make a vesting account on the Mocha testnet!

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/celestia-app-wallet.html b/pr-preview/pr-1358/developers/celestia-app-wallet.html index 06bb6cf287..fbaa033495 100644 --- a/pr-preview/pr-1358/developers/celestia-app-wallet.html +++ b/pr-preview/pr-1358/developers/celestia-app-wallet.html @@ -7,11 +7,11 @@ - + - - + + @@ -40,8 +40,8 @@

    Create a wallet with celestia-app

    For this guide, we will go over how you can generate a Celestia wallet using celestia-app.

    Prerequisites

    Note, you do not need to install celestia-node for this tutorial.

    Create a wallet

    First, create an application CLI configuration file:

    sh
    celestia-appd config keyring-backend test
    celestia-appd config keyring-backend test

    You can pick whatever wallet name you want. For our example we used "validator" as the wallet name:

    sh
    celestia-appd keys add validator --interactive
    celestia-appd keys add validator --interactive

    Save the mnemonic output as this is the only way to recover your validator wallet in case you lose it!

    To check all your wallets you can run:

    sh
    celestia-appd keys list
    celestia-appd keys list

    Fund a wallet

    For the public celestia address, you can fund the previously created wallet via Discord by sending this message to either the #mocha-faucet or #arabica-faucet channel:

    text
    $request celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    $request celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Wait to see if you get a confirmation that the tokens have been successfully sent. To check if tokens have arrived successfully to the destination wallet run the command below replacing the public address with your own:

    sh
    celestia-appd start
     celestia-appd query bank balances celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    celestia-appd start
    -celestia-appd query bank balances celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    TIP

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    - +celestia-appd query bank balances celestia1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    TIP

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/celestia-node-key.html b/pr-preview/pr-1358/developers/celestia-node-key.html index a8e3813b69..d60cfa1e8b 100644 --- a/pr-preview/pr-1358/developers/celestia-node-key.html +++ b/pr-preview/pr-1358/developers/celestia-node-key.html @@ -7,12 +7,12 @@ - + - + - + @@ -45,19 +45,19 @@ make cel-key
    # dumps binary in current working directory, accessible via `./cel-key`
     make cel-key

    or

    sh
    # installs binary in GOBIN path, accessible via `cel-key`
     make install-key
    # installs binary in GOBIN path, accessible via `cel-key`
    -make install-key

    For the purpose of this guide, we will use the make cel-key command.

    Steps for generating node keys

    To generate a key for a Celestia node, select the tab for your node type:

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    bash
    ./cel-key add <key-name> --keyring-backend test --node.type bridge \
    +make install-key

    For the purpose of this guide, we will use the make cel-key command.

    Steps for generating node keys

    To generate a key for a Celestia node, select the tab for your node type:

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    bash
    ./cel-key add <key-name> --keyring-backend test --node.type bridge \
       --p2p.network <network>
    ./cel-key add <key-name> --keyring-backend test --node.type bridge \
       --p2p.network <network>
    bash
    ./cel-key add <key-name> --keyring-backend test --node.type full \
       --p2p.network <network>
    ./cel-key add <key-name> --keyring-backend test --node.type full \
       --p2p.network <network>
    bash
    ./cel-key add <key-name> --keyring-backend test --node.type light \
       --p2p.network <network>
    ./cel-key add <key-name> --keyring-backend test --node.type light \
    -  --p2p.network <network>

    This will load the key <key-name> into the directory of the node.

    Further flags you can use to customize your key are the following:

    • --node.store: Specifies a different directory you can use to save your node data and configurations. Expects a path to a directory.
    • --p2p.network: Specifies which network you want the key for. Values are arabica and mocha. Please note the default network will be mocha.

    Keep in mind that your celestia-node will only pick up keys that are inside the node.store directory under /keys so you should make sure to point cel-key utility to the correct directory via the node.store or p2p.network flags if you have specified a custom directory or network other than Mocha.

    Also keep in mind that if you do not specify a network with --p2p.network, the default one will always be mocha.

    Steps for exporting node keys

    You can export a private key from the local keyring in encrypted and ASCII-armored format.

    bash
    ./cel-key export <key-name> --keyring-backend test --node.type bridge \
    +  --p2p.network <network>

    This will load the key <key-name> into the directory of the node.

    Further flags you can use to customize your key are the following:

    • --node.store: Specifies a different directory you can use to save your node data and configurations. Expects a path to a directory.
    • --p2p.network: Specifies which network you want the key for. Values are arabica and mocha. Please note the default network will be mocha.

    Keep in mind that your celestia-node will only pick up keys that are inside the node.store directory under /keys so you should make sure to point cel-key utility to the correct directory via the node.store or p2p.network flags if you have specified a custom directory or network other than Mocha.

    Also keep in mind that if you do not specify a network with --p2p.network, the default one will always be mocha.

    Steps for exporting node keys

    You can export a private key from the local keyring in encrypted and ASCII-armored format.

    bash
    ./cel-key export <key-name> --keyring-backend test --node.type bridge \
       --p2p.network <network>
    ./cel-key export <key-name> --keyring-backend test --node.type bridge \
       --p2p.network <network>
    bash
    ./cel-key export <key-name> --keyring-backend test --node.type full \
       --p2p.network <network>
    ./cel-key export <key-name> --keyring-backend test --node.type full \
       --p2p.network <network>
    bash
    ./cel-key export <key-name> --keyring-backend test --node.type light \
       --p2p.network <network>
    ./cel-key export <key-name> --keyring-backend test --node.type light \
    -  --p2p.network <network>

    Steps for importing node keys

    To import from a mnemonic, use the following command, then enter your bip39 mnemonic:

    bash
    ./cel-key add <key-name> --recover --keyring-backend test \
    +  --p2p.network <network>

    Steps for importing node keys

    To import from a mnemonic, use the following command, then enter your bip39 mnemonic:

    bash
    ./cel-key add <key-name> --recover --keyring-backend test \
       --node.type bridge --p2p.network <network>
    ./cel-key add <key-name> --recover --keyring-backend test \
       --node.type bridge --p2p.network <network>
    bash
    ./cel-key add <key-name> --recover --keyring-backend test \
       --node.type full --p2p.network <network>
    ./cel-key add <key-name> --recover --keyring-backend test \
    @@ -101,8 +101,8 @@
     - address: celestia1wkhyhr7ngf0ayqlpnsnxg4d72hfs5453dvunm9
       name: my_celes_key
       pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"A1/NsoY0RGL7Hqt4VWLg441GQKJsZ2fBUnZXipgns8oV"}'
    -  type: local
    - + type: local + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/cosmostation.html b/pr-preview/pr-1358/developers/cosmostation.html index d830439c8f..c5e04f3b93 100644 --- a/pr-preview/pr-1358/developers/cosmostation.html +++ b/pr-preview/pr-1358/developers/cosmostation.html @@ -7,12 +7,12 @@ - + - + - + @@ -39,8 +39,8 @@

    Cosmostation integration with Celestia

    This guide will go over how you can add Celestia network parameters to Cosmostation wallet.

    The example in this guide is for mocha-4 testnet, and the same workflow can be used for any Celestia network.

    Install Cosmostation

    Cosmostation is a popular Cosmos-based wallet that allows anyone to connect to Cosmos chains from their browser or phone.

    You can learn more and download Cosmostation on the Cosmostation site.

    Alternatively, you can download and install the Chrome extension directly.

    Add Celestia network parameters

    Click the hamburger menu icon in the top corner of Cosmostation wallet. Scroll down and click "Add Custom Chain"

    You can then add the following parameters:

    • Custom Chain name: Mocha testnet
    • Rest URL: https://api-mocha.pops.one
    • New RPC URL: https://rpc-mocha.pops.one
    • Currency symbol: TIA
    • Address prefix: celestia
    • Demon: utia
    • Symbol image URL (optional): https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/celestiatestnet/images/celestia.svg
    • Explorer URL (optional): https://testnet.mintscan.io/celestia-testnet
    • Coin Type: 118
    • Decimals: 6
    • Gas rate Tiny: 0.1
    • Gas rate Low: 0.25
    • Gas rate Average: 0.5

    Now, click Add a custom chain and you will be able to view your Celestia account balance and transactions in Cosmostation wallet.

    Switch chains to "Mocha testnet" and you'll see that you're connected to Celestia's Mocha testnet!

    - +

    Cosmostation integration with Celestia

    This guide will go over how you can add Celestia network parameters to Cosmostation wallet.

    The example in this guide is for mocha-4 testnet, and the same workflow can be used for any Celestia network.

    Install Cosmostation

    Cosmostation is a popular Cosmos-based wallet that allows anyone to connect to Cosmos chains from their browser or phone.

    You can learn more and download Cosmostation on the Cosmostation site.

    Alternatively, you can download and install the Chrome extension directly.

    Add Celestia network parameters

    Click the hamburger menu icon in the top corner of Cosmostation wallet. Scroll down and click "Add Custom Chain"

    You can then add the following parameters:

    • Custom Chain name: Mocha testnet
    • Rest URL: https://api-mocha.pops.one
    • New RPC URL: https://rpc-mocha.pops.one
    • Currency symbol: TIA
    • Address prefix: celestia
    • Demon: utia
    • Symbol image URL (optional): https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/celestiatestnet/images/celestia.svg
    • Explorer URL (optional): https://testnet.mintscan.io/celestia-testnet
    • Coin Type: 118
    • Decimals: 6
    • Gas rate Tiny: 0.1
    • Gas rate Low: 0.25
    • Gas rate Average: 0.5

    Now, click Add a custom chain and you will be able to view your Celestia account balance and transactions in Cosmostation wallet.

    Switch chains to "Mocha testnet" and you'll see that you're connected to Celestia's Mocha testnet!

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/deploy-on-bubs.html b/pr-preview/pr-1358/developers/deploy-on-bubs.html index a549d822e6..1e91319aaa 100644 --- a/pr-preview/pr-1358/developers/deploy-on-bubs.html +++ b/pr-preview/pr-1358/developers/deploy-on-bubs.html @@ -7,11 +7,11 @@ - + - - + + @@ -174,8 +174,8 @@ status 1 transactionHash 0x8f15d6004598f0662dd673a9898dceef77be8cc28408cecc284b28d7be32307d transactionIndex 0 -type 2

    Now, we can make a read call to view the state of the number variable, using the cast call command:

    bash
    cast call $CONTRACT_ADDRESS "number()" --rpc-url $BUBS_RPC_URL
    cast call $CONTRACT_ADDRESS "number()" --rpc-url $BUBS_RPC_URL

    The result will look similar:

    bash
    0x000000000000000000000000000000000000000000000000000000000000000a
    0x000000000000000000000000000000000000000000000000000000000000000a

    Convert the result from hexadecimal to a base 10 value with:

    bash
    echo $((0x000000000000000000000000000000000000000000000000000000000000000a))
    echo $((0x000000000000000000000000000000000000000000000000000000000000000a))

    Next steps

    Congratulations! You've learned how to deploy a smart contract to Bubs testnet.

    What will you build next? Now, you're ready to check out the GM Portal tutorial.

    - +type 2

    Now, we can make a read call to view the state of the number variable, using the cast call command:

    bash
    cast call $CONTRACT_ADDRESS "number()" --rpc-url $BUBS_RPC_URL
    cast call $CONTRACT_ADDRESS "number()" --rpc-url $BUBS_RPC_URL

    The result will look similar:

    bash
    0x000000000000000000000000000000000000000000000000000000000000000a
    0x000000000000000000000000000000000000000000000000000000000000000a

    Convert the result from hexadecimal to a base 10 value with:

    bash
    echo $((0x000000000000000000000000000000000000000000000000000000000000000a))
    echo $((0x000000000000000000000000000000000000000000000000000000000000000a))

    Next steps

    Congratulations! You've learned how to deploy a smart contract to Bubs testnet.

    What will you build next? Now, you're ready to check out the GM Portal tutorial.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/ethereum-fallback.html b/pr-preview/pr-1358/developers/ethereum-fallback.html index 2e1ba4098b..8a846ea938 100644 --- a/pr-preview/pr-1358/developers/ethereum-fallback.html +++ b/pr-preview/pr-1358/developers/ethereum-fallback.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Ethereum fallback

    Ethereum fallback is a fallback mechanism that enables Ethereum L2s (or L3s) to “fall back” to using Ethereum calldata for data availability in the event of downtime on Celestia Mainnet Beta. This feature is currently supported by Celestia integrations with:

    In the case of Celestia downtime or temporary unavailability, L2s can fallback to posting transactions as calldata on Ethereum or another DA layer for data availability instead of posting to Celestia. This mechanism ensures users can continue to transact securely and seamlessly, preventing disruptions and helping to ensure user funds do not get stuck in the L2's bridge on Ethereum.

    Ethereum fallback is triggered whenever the sequencer has an error sending the PayForBlobs transaction on Celestia. Fallback can be triggered due to a congested mempool or nonce error and can be simulated with an error such as low balance or incorrect sequence. Fallback can also be triggered in the event Blobstream stops relaying attestations.

    Ethereum fallback

    - +

    Ethereum fallback

    Ethereum fallback is a fallback mechanism that enables Ethereum L2s (or L3s) to “fall back” to using Ethereum calldata for data availability in the event of downtime on Celestia Mainnet Beta. This feature is currently supported by Celestia integrations with:

    In the case of Celestia downtime or temporary unavailability, L2s can fallback to posting transactions as calldata on Ethereum or another DA layer for data availability instead of posting to Celestia. This mechanism ensures users can continue to transact securely and seamlessly, preventing disruptions and helping to ensure user funds do not get stuck in the L2's bridge on Ethereum.

    Ethereum fallback is triggered whenever the sequencer has an error sending the PayForBlobs transaction on Celestia. Fallback can be triggered due to a congested mempool or nonce error and can be simulated with an error such as low balance or incorrect sequence. Fallback can also be triggered in the event Blobstream stops relaying attestations.

    Ethereum fallback

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/full-stack-modular-development-guide.html b/pr-preview/pr-1358/developers/full-stack-modular-development-guide.html index 7436e1c04d..b0cc4cf546 100644 --- a/pr-preview/pr-1358/developers/full-stack-modular-development-guide.html +++ b/pr-preview/pr-1358/developers/full-stack-modular-development-guide.html @@ -7,11 +7,11 @@ - + - - + + @@ -930,8 +930,8 @@ && echo $PRIVATE_KEY | pbcopy
    PRIVATE_KEY=$(ethermintd keys unsafe-export-eth-key mykey --keyring-backend test)
     && echo $PRIVATE_KEY | pbcopy

    Now, import the private key to MetaMask and switch to that account.

    Next, let’s run it on your Ethermint rollup.

    To do so, first update the contractAddress variable with the contract address deployed to Ethermint:

    jsx
    /* src/App.jsx */
     const contractAddress = "your-ethermint-contract-address";
    /* src/App.jsx */
    -const contractAddress = "your-ethermint-contract-address";

    Next, run the React application:

    bash
    npm run dev
    npm run dev

    When you run the app, you should now be connected to and using the Ethermint rollup.

    If you imported the address that started the chain, you'll see quite a large balance.

    Now give it a spin 🌀

    Now that you have your dapp running, go ahead and test out a new post on your Ethermint sovereign rollup. If you enjoyed this tutorial, be sure to share your example in our Discord!

    - +const contractAddress = "your-ethermint-contract-address";

    Next, run the React application:

    bash
    npm run dev
    npm run dev

    When you run the app, you should now be connected to and using the Ethermint rollup.

    If you imported the address that started the chain, you'll see quite a large balance.

    Now give it a spin 🌀

    Now that you have your dapp running, go ahead and test out a new post on your Ethermint sovereign rollup. If you enjoyed this tutorial, be sure to share your example in our Discord!

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/gm-portal-bubs.html b/pr-preview/pr-1358/developers/gm-portal-bubs.html index 02a13748b9..06e6dd92a3 100644 --- a/pr-preview/pr-1358/developers/gm-portal-bubs.html +++ b/pr-preview/pr-1358/developers/gm-portal-bubs.html @@ -7,11 +7,11 @@ - + - - + + @@ -58,8 +58,8 @@ cast send --private-key $PRIVATE_KEY $RECEIVER --value 1ether --rpc-url $BUBS_RPC_URL
    export RECEIVER=<receiver ETH address>
     cast send --private-key $PRIVATE_KEY $RECEIVER --value 1ether --rpc-url $BUBS_RPC_URL

    If you are in a different terminal than the one you set the private key in, you may need to set it again.

    Update the frontend

    Next, you will need to update a few things before you can interact with the contract on the frontend:

    1. Change the contract address on gm-portal/frontend/src/App.tsx to your contract address
    2. Match the chain info on gm-portal/frontend/src/main.tsx with the chain config of your L2
    3. If you changed the contract, update the ABI in gm-portal/frontend/GmPortal.json from gm-portal/contracts/out/GmPortal.sol/GmPortal.json. This can be done with:
    bash
    cd $HOME
     cp dev/gm-portal/contracts/out/GmPortal.sol/GmPortal.json dev/gm-portal/frontend
    cd $HOME
    -cp dev/gm-portal/contracts/out/GmPortal.sol/GmPortal.json dev/gm-portal/frontend

    Interact with the frontend

    Now, login with your wallet that you funded, and post a GM on your GM portal!

    gm-bubs

    Next steps

    There are many possibilities of what could be built with this stack. These projects would be good to build on this stack:

    • onchain gaming
    • decentralized social media
    • an NFT ticketing rollup
    • Optimism on CelOPstia
    • OP Craft on Celestia
    - +cp dev/gm-portal/contracts/out/GmPortal.sol/GmPortal.json dev/gm-portal/frontend

    Interact with the frontend

    Now, login with your wallet that you funded, and post a GM on your GM portal!

    gm-bubs

    Next steps

    There are many possibilities of what could be built with this stack. These projects would be good to build on this stack:

    • onchain gaming
    • decentralized social media
    • an NFT ticketing rollup
    • Optimism on CelOPstia
    • OP Craft on Celestia
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/how-to-stake-tia.html b/pr-preview/pr-1358/developers/how-to-stake-tia.html index 27c14b1cbb..c9d74b7a63 100644 --- a/pr-preview/pr-1358/developers/how-to-stake-tia.html +++ b/pr-preview/pr-1358/developers/how-to-stake-tia.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    How to stake TIA

    Celestia is a proof-of-stake blockchain based on the Cosmos SDK.

    Staking TIA as a delegator allows you to secure the Celestia network. This means that you can stake the native token TIA and vote on governance proposals.

    In this tutorial, you will learn how to stake TIA tokens via Keplr and Leap wallets.

    Select your preferred wallet

    Keplr
    Leap

    Stake TIA with Keplr wallet

    1️⃣ Open your Keplr browser extension

    Navigate to Staked and select Stake with Keplr Dashboard.

    This will open the Keplr dashboard in a new browser page.

    Keplr1

    2️⃣ Select Celestia network and search for a validator

    In the Keplr dashboard, select the Celestia network and pick a validator of your choice.

    Keplr1

    3️⃣ Stake your TIA tokens

    On the following screen enter amount of TIA tokens and select Stake.

    A Keplr popup will appear, requesting your approval for the transaction. Select Approve.

    Keplr1

    4️⃣ Confirm and manage your TIA

    After the transaction is confirmed, you will see the following overview dashboard where you can claim rewards, unstake, redelegate, or stake additional tokens.

    Keplr1

    Stake TIA with Leap wallet

    1️⃣ Open your Leap browser extension

    In top right select Celestia network and navigate to Stake.

    Similarly to previous step, select the +Stake button.

    Keplr1

    2️⃣ Select a validator and stake TIA

    On the following screen choose a validator of your choice, enter the desired amount, and click Review.

    Following that, review the transaction details and select Stake, then wait for the transaction to finalize.

    Keplr1

    3️⃣ Confirm and manage your TIA

    After the transaction is confirmed, you will see the following overview dashboard where you can claim rewards, unstake, redelegate, or stake additional tokens.

    Keplr1

    - +

    How to stake TIA

    Celestia is a proof-of-stake blockchain based on the Cosmos SDK.

    Staking TIA as a delegator allows you to secure the Celestia network. This means that you can stake the native token TIA and vote on governance proposals.

    In this tutorial, you will learn how to stake TIA tokens via Keplr and Leap wallets.

    Select your preferred wallet

    Keplr
    Leap

    Stake TIA with Keplr wallet

    1️⃣ Open your Keplr browser extension

    Navigate to Staked and select Stake with Keplr Dashboard.

    This will open the Keplr dashboard in a new browser page.

    Keplr1

    2️⃣ Select Celestia network and search for a validator

    In the Keplr dashboard, select the Celestia network and pick a validator of your choice.

    Keplr1

    3️⃣ Stake your TIA tokens

    On the following screen enter amount of TIA tokens and select Stake.

    A Keplr popup will appear, requesting your approval for the transaction. Select Approve.

    Keplr1

    4️⃣ Confirm and manage your TIA

    After the transaction is confirmed, you will see the following overview dashboard where you can claim rewards, unstake, redelegate, or stake additional tokens.

    Keplr1

    Stake TIA with Leap wallet

    1️⃣ Open your Leap browser extension

    In top right select Celestia network and navigate to Stake.

    Similarly to previous step, select the +Stake button.

    Keplr1

    2️⃣ Select a validator and stake TIA

    On the following screen choose a validator of your choice, enter the desired amount, and click Review.

    Following that, review the transaction details and select Stake, then wait for the transaction to finalize.

    Keplr1

    3️⃣ Confirm and manage your TIA

    After the transaction is confirmed, you will see the following overview dashboard where you can claim rewards, unstake, redelegate, or stake additional tokens.

    Keplr1

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/ibc-relayer.html b/pr-preview/pr-1358/developers/ibc-relayer.html index d1277f2e5e..07c3186a3e 100644 --- a/pr-preview/pr-1358/developers/ibc-relayer.html +++ b/pr-preview/pr-1358/developers/ibc-relayer.html @@ -7,11 +7,11 @@ - + - - + + @@ -492,8 +492,8 @@ policy = 'allow' list = [ ['transfer', 'channel-3108'], # mocha-4 -]

    Start the relayer

    Start the relayer via hermes start

    Transfer

    The Celestia state machine is built with the IBC transfer module, allowing for the native Celestia token to be transferred to any other IBC enabled chain. Transfer can be initialized through the celestia-appd CLI. Information can be found via the help label as follows:

    bash
    celestia-appd tx ibc-transfer transfer --help
    celestia-appd tx ibc-transfer transfer --help

    Token filter

    The transfer module uses a token filter middleware which serves to prevent non-native Celestia tokens from being on Celestia. If a user is to try to send a token from another chain across, it will be simply rejected and the token returned back to the user.

    - +]

    Start the relayer

    Start the relayer via hermes start

    Transfer

    The Celestia state machine is built with the IBC transfer module, allowing for the native Celestia token to be transferred to any other IBC enabled chain. Transfer can be initialized through the celestia-appd CLI. Information can be found via the help label as follows:

    bash
    celestia-appd tx ibc-transfer transfer --help
    celestia-appd tx ibc-transfer transfer --help

    Token filter

    The transfer module uses a token filter middleware which serves to prevent non-native Celestia tokens from being on Celestia. If a user is to try to send a token from another chain across, it will be simply rejected and the token returned back to the user.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/integrate-celestia.html b/pr-preview/pr-1358/developers/integrate-celestia.html index 1f6e2fcbb3..0655045520 100644 --- a/pr-preview/pr-1358/developers/integrate-celestia.html +++ b/pr-preview/pr-1358/developers/integrate-celestia.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Integrate Celestia for service providers

    This document is for third-party service providers, such as custodians and explorers, integrating the Celestia network.

    Getting started

    When getting started Celestia, we recommend checking out these resources first:

    Celestia service provider notes

    Celestia is a fairly standard Cosmos-SDK based chain. We use the latest version of Tendermint and the Cosmos-SDK, with only minor modifications to each. This means that we are:

    • Using the default Cosmos-SDK modules: auth, bank, distribution, staking, slashing, mint, crisis, ibchost, genutil, evidence, ibctransfer, params, gov (limited in some TBD capacities), upgrade, vesting, feegrant, capability, and payment.
    • Use the standard digital keys schemes provided by the Cosmos-SDK and Tendermint, those being secp256k1 for user transactions, and tm-ed25519 for signing and verifying consensus messages.

    While exactly which modules used is subject to change, Celestia aims to be as minimal as possible.

    Custody and key management

    Celestia supports many already existing key management systems, as we rely on the Cosmos-SDK and Tendermint libraries for signing and verifying transactions. Learn more in the Cosmos-SDK documentation

    RPC and querying

    In celestia-app, only the standard RPC endpoints for Tendermint and the Cosmos-SDK are exposed. We do not currently add or subtract any core functionality, but this could change in the future. The same goes for querying data from the chain.

    In celestia-node, the Data Availability node client, there is a JSON-RPC API that allows you to interact directly with Celestia's Data Availability layer. Learn how to use the API in this tutorial.

    Compatibility

    Linux, particularly Ubuntu 20.04 LTS, is the most well tested. Potentially compatible with other OSs, but they are currently untested. Some of the cryptography libraries used for erasure data are not guaranteed to work on other platforms.

    Syncing

    Since we utilize Tendermint and the Cosmos-SDK, syncing the chain can be performed by any method that is supported by those libraries. This includes fast-sync, state sync, and quick sync.

    Notable exceptions relative to other blockchains

    Relative to other Tendermint based chains, Celestia will have significantly longer blocktimes of around 15* seconds. The reason behind this block time is to optimize the bandwidth used by light clients that are sampling the chain, and is not because we have modified Tendermint consensus in any meaningful way. Validators will likely download/upload relatively large blocks. It should be noted that while these blocks are large, very little typical blockchain state execution is actually occurring on Celestia. Meaning that the bandwidth requirements will likely be larger than that of a typical Cosmos-SDK based blockchain full node, the computing requirements should be similar in magnitude.

    *Subject to Change

    - +

    Integrate Celestia for service providers

    This document is for third-party service providers, such as custodians and explorers, integrating the Celestia network.

    Getting started

    When getting started Celestia, we recommend checking out these resources first:

    Celestia service provider notes

    Celestia is a fairly standard Cosmos-SDK based chain. We use the latest version of Tendermint and the Cosmos-SDK, with only minor modifications to each. This means that we are:

    • Using the default Cosmos-SDK modules: auth, bank, distribution, staking, slashing, mint, crisis, ibchost, genutil, evidence, ibctransfer, params, gov (limited in some TBD capacities), upgrade, vesting, feegrant, capability, and payment.
    • Use the standard digital keys schemes provided by the Cosmos-SDK and Tendermint, those being secp256k1 for user transactions, and tm-ed25519 for signing and verifying consensus messages.

    While exactly which modules used is subject to change, Celestia aims to be as minimal as possible.

    Custody and key management

    Celestia supports many already existing key management systems, as we rely on the Cosmos-SDK and Tendermint libraries for signing and verifying transactions. Learn more in the Cosmos-SDK documentation

    RPC and querying

    In celestia-app, only the standard RPC endpoints for Tendermint and the Cosmos-SDK are exposed. We do not currently add or subtract any core functionality, but this could change in the future. The same goes for querying data from the chain.

    In celestia-node, the Data Availability node client, there is a JSON-RPC API that allows you to interact directly with Celestia's Data Availability layer. Learn how to use the API in this tutorial.

    Compatibility

    Linux, particularly Ubuntu 20.04 LTS, is the most well tested. Potentially compatible with other OSs, but they are currently untested. Some of the cryptography libraries used for erasure data are not guaranteed to work on other platforms.

    Syncing

    Since we utilize Tendermint and the Cosmos-SDK, syncing the chain can be performed by any method that is supported by those libraries. This includes fast-sync, state sync, and quick sync.

    Notable exceptions relative to other blockchains

    Relative to other Tendermint based chains, Celestia will have significantly longer blocktimes of around 15* seconds. The reason behind this block time is to optimize the bandwidth used by light clients that are sampling the chain, and is not because we have modified Tendermint consensus in any meaningful way. Validators will likely download/upload relatively large blocks. It should be noted that while these blocks are large, very little typical blockchain state execution is actually occurring on Celestia. Meaning that the bandwidth requirements will likely be larger than that of a typical Cosmos-SDK based blockchain full node, the computing requirements should be similar in magnitude.

    *Subject to Change

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/intro-to-op-stack.html b/pr-preview/pr-1358/developers/intro-to-op-stack.html index edd3d65614..a769cd43b3 100644 --- a/pr-preview/pr-1358/developers/intro-to-op-stack.html +++ b/pr-preview/pr-1358/developers/intro-to-op-stack.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Introduction to OP Stack integration

    Optimism is a low-cost and lightning-fast Ethereum L2 blockchain, built with the OP Stack.

    Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

    About the integration

    Discover how to integrate existing blockchain frameworks like the OP Stack with Celestia in this category.

    TIP

    Tested on a machine with 8GB RAM, 160 GB SSD, Ubuntu 22.10, and a 4 core AMD CPU.

    This is a beta integration and we are working on resolving open issues.

    Optimism uses Ethereum as a data availability (DA) layer. Currently, settlement and DA for Optimism are on Ethereum, both onchain. op-batcher batches up rollup blocks and posts to Ethereum.

    Table of contents of the category

    Celestia and OP Stack repository

    Find the repository for this integration at https://github.com/celestiaorg/optimism.

    What are Optimism and the OP Stack?

    Optimism, an Ethereum L2 blockchain, is powered by the OP Stack, which is also the foundation for the Optimism Collective committed to the impact=profit principle. This rewards individuals for their positive contributions to the collective.

    Optimism addresses crypto ecosystem coordination failures, like funding public goods and infrastructure. The OP Stack fosters collaboration and prevents redundancy by creating a shared, open-source system for developing new L2 blockchains within the proposed Superchain ecosystem.

    As Optimism evolves, the OP Stack will adapt to include components from blockchain infrastructure to governance systems. This software suite aims to simplify L2 blockchain creation and support the Optimism ecosystem's growth and development.

    Learn more about Optimism.

    What is Celestia?

    Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

    Celestia is a minimal blockchain that only orders and publishes transactions and does not execute them. By decoupling the consensus and application execution layers, Celestia modularizes the blockchain technology stack and unlocks new possibilities for decentralized application builders. Learn more at Celestia.org.

    OP Stack and Celestia

    This category will guide you through how to start your own devnet with a modified version of optimism-bedrock that uses Celestia as a DA layer.

    The handling of data is accomplished in two ways. First, data is written to the data availability (DA) layer i.e. in this case Celestia, then the data commitment is written to the op-batcher. When reading op-node simply reads the data back from the DA layer by reading the data commitment from the op-batcher first, then reading the data from the DA layer using the data commitment. Hence, while previously op-node was reading from calldata on Ethereum, but now it reads data from Celestia.

    There are a few tools involved in the data handling process. op-batcher batches up rollup blocks and posts them to Ethereum. op-geth handles execution, while op-proposer is responsible for state commitment submission.

    By using Celestia as a DA layer, existing L2s can switch from posting their data as calldata on Ethereum, to posting to Celestia. The commitment to the block is posted on Celestia, which is purpose-built for data availability. This is a more scalable than the traditional method of posting this data as calldata on monolithic chains.

    If you'd like to go modular, bedrock has made it easy to swap this out!

    Next steps

    Now that you understand the integration, you can start learning about the Bubs testnet, built with OP Stack and Celestia! This testnet is a great way to explore the possibilities of this integration and test your applications in a live environment.

    - +

    Introduction to OP Stack integration

    Optimism is a low-cost and lightning-fast Ethereum L2 blockchain, built with the OP Stack.

    Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

    About the integration

    Discover how to integrate existing blockchain frameworks like the OP Stack with Celestia in this category.

    TIP

    Tested on a machine with 8GB RAM, 160 GB SSD, Ubuntu 22.10, and a 4 core AMD CPU.

    This is a beta integration and we are working on resolving open issues.

    Optimism uses Ethereum as a data availability (DA) layer. Currently, settlement and DA for Optimism are on Ethereum, both onchain. op-batcher batches up rollup blocks and posts to Ethereum.

    Table of contents of the category

    Celestia and OP Stack repository

    Find the repository for this integration at https://github.com/celestiaorg/optimism.

    What are Optimism and the OP Stack?

    Optimism, an Ethereum L2 blockchain, is powered by the OP Stack, which is also the foundation for the Optimism Collective committed to the impact=profit principle. This rewards individuals for their positive contributions to the collective.

    Optimism addresses crypto ecosystem coordination failures, like funding public goods and infrastructure. The OP Stack fosters collaboration and prevents redundancy by creating a shared, open-source system for developing new L2 blockchains within the proposed Superchain ecosystem.

    As Optimism evolves, the OP Stack will adapt to include components from blockchain infrastructure to governance systems. This software suite aims to simplify L2 blockchain creation and support the Optimism ecosystem's growth and development.

    Learn more about Optimism.

    What is Celestia?

    Celestia is a modular consensus and data network, built to enable anyone to easily deploy their own blockchain with minimal overhead.

    Celestia is a minimal blockchain that only orders and publishes transactions and does not execute them. By decoupling the consensus and application execution layers, Celestia modularizes the blockchain technology stack and unlocks new possibilities for decentralized application builders. Learn more at Celestia.org.

    OP Stack and Celestia

    This category will guide you through how to start your own devnet with a modified version of optimism-bedrock that uses Celestia as a DA layer.

    The handling of data is accomplished in two ways. First, data is written to the data availability (DA) layer i.e. in this case Celestia, then the data commitment is written to the op-batcher. When reading op-node simply reads the data back from the DA layer by reading the data commitment from the op-batcher first, then reading the data from the DA layer using the data commitment. Hence, while previously op-node was reading from calldata on Ethereum, but now it reads data from Celestia.

    There are a few tools involved in the data handling process. op-batcher batches up rollup blocks and posts them to Ethereum. op-geth handles execution, while op-proposer is responsible for state commitment submission.

    By using Celestia as a DA layer, existing L2s can switch from posting their data as calldata on Ethereum, to posting to Celestia. The commitment to the block is posted on Celestia, which is purpose-built for data availability. This is a more scalable than the traditional method of posting this data as calldata on monolithic chains.

    If you'd like to go modular, bedrock has made it easy to swap this out!

    Next steps

    Now that you understand the integration, you can start learning about the Bubs testnet, built with OP Stack and Celestia! This testnet is a great way to explore the possibilities of this integration and test your applications in a live environment.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/keplr.html b/pr-preview/pr-1358/developers/keplr.html index eeb3247c17..d3ac0cc0ec 100644 --- a/pr-preview/pr-1358/developers/keplr.html +++ b/pr-preview/pr-1358/developers/keplr.html @@ -7,12 +7,12 @@ - + - + - + @@ -185,7 +185,7 @@ </button> </div> ); -}

    This example is just for using Celestia configs.

    We still need to pass the Celestia network params for it and we will for both testnets in the following section.

    You can also test out the Connect button to add those params to your Keplr wallet. NOTE: You must have Keplr installed first.

    Try it out yourself:

    Behind the scenes, here are the parameters we are passing to the AddNetworkKeplr function:

    js
    import '@site/src/components/AddNetworkKeplr'
    +}

    This example is just for using Celestia configs.

    We still need to pass the Celestia network params for it and we will for both testnets in the following section.

    You can also test out the Connect button to add those params to your Keplr wallet. NOTE: You must have Keplr installed first.

    Try it out yourself:

    Behind the scenes, here are the parameters we are passing to the AddNetworkKeplr function:

    js
    import '@site/src/components/AddNetworkKeplr'
     
     export const MAINNET_PARAMS = {`{
       chainId: 'celestia',
    @@ -239,8 +239,8 @@
       rest: 'https://api.consensus.celestia-arabica-10.com/'
     }`}
     
    -{<AddNetworkKeplr params={ARABICA_PARAMS}/>}
    - +{<AddNetworkKeplr params={ARABICA_PARAMS}/>} + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/leap.html b/pr-preview/pr-1358/developers/leap.html index a53b3c5ca0..3c7dac7e9f 100644 --- a/pr-preview/pr-1358/developers/leap.html +++ b/pr-preview/pr-1358/developers/leap.html @@ -7,12 +7,12 @@ - + - + - + @@ -39,8 +39,8 @@

    Leap integration with Celestia

    This guide will go over how you can add Celestia network parameters to Leap wallet.

    The example in this guide is for the Mocha testnet (mocha-4.), and the same workflow can be used for any Celestia network.

    Install Leap

    Leap is a popular Cosmos-based wallet that allows anyone to connect to Cosmos chains from their browser or phone.

    Learn more and download Leap.

    Pick the browser or mobile device that you are using and follow the instructions to install Leap.

    Add Mocha Testnet

    Click the Cosmos logo in the top corner of Leap wallet and search for and select "Mocha Testnet".

    You'll see that you're connected to Mocha testnet. You can now see your balance, send, and receive transactions.

    Adding a custom chain to Leap

    If you want to add a custom chain to Leap, you can do so by:

    1. Clicking the Cosmos logo in the top corner of Leap wallet
    2. Scrolling down and clicking "Add new chain"

    You can then add the following parameters:

    • Chain Id: arabica-11
    • Chain Name: Arabica devnet
    • New RPC URL: https://consensus-full.celestia-arabica-10.com
    • New REST URL: https://api.consensus.celestia-arabica-10.com
    • Address Prefix: celestia
    • Native Denom: utia
    • Coin Type: 118
    • Decimals: 6
    • Block explorer URL (optional): https://explorer.celestia-arabica-10.com

    Now, click Add chain and you will be able to view your Arabica account balance and transactions in Leap wallet.

    You'll see that you're connected to Arabica Devnet.

    - +

    Leap integration with Celestia

    This guide will go over how you can add Celestia network parameters to Leap wallet.

    The example in this guide is for the Mocha testnet (mocha-4.), and the same workflow can be used for any Celestia network.

    Install Leap

    Leap is a popular Cosmos-based wallet that allows anyone to connect to Cosmos chains from their browser or phone.

    Learn more and download Leap.

    Pick the browser or mobile device that you are using and follow the instructions to install Leap.

    Add Mocha Testnet

    Click the Cosmos logo in the top corner of Leap wallet and search for and select "Mocha Testnet".

    You'll see that you're connected to Mocha testnet. You can now see your balance, send, and receive transactions.

    Adding a custom chain to Leap

    If you want to add a custom chain to Leap, you can do so by:

    1. Clicking the Cosmos logo in the top corner of Leap wallet
    2. Scrolling down and clicking "Add new chain"

    You can then add the following parameters:

    • Chain Id: arabica-11
    • Chain Name: Arabica devnet
    • New RPC URL: https://consensus-full.celestia-arabica-10.com
    • New REST URL: https://api.consensus.celestia-arabica-10.com
    • Address Prefix: celestia
    • Native Denom: utia
    • Coin Type: 118
    • Decimals: 6
    • Block explorer URL (optional): https://explorer.celestia-arabica-10.com

    Now, click Add chain and you will be able to view your Arabica account balance and transactions in Leap wallet.

    You'll see that you're connected to Arabica Devnet.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/nitrogen.html b/pr-preview/pr-1358/developers/nitrogen.html index bf31a0225e..1e54948912 100644 --- a/pr-preview/pr-1358/developers/nitrogen.html +++ b/pr-preview/pr-1358/developers/nitrogen.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Nitrogen testnet

    nitrogen-testnet

    Nitrogen is the first testnet and L3 made with Celestia's Arbitrum Nitro integration hosted by AltLayer.

    Learn more in Altlayer's documentation.

    Getting Started with Nitrogen

    Find chain information, RPCs, contract addresses, bridging information, blob poster address, and more on AltLayer's Nitrogen testnet page

    (https://rollup-info.altlayer.io/public/nitrogen).

    Nitrogen tokens

    The easiest way to obtain Nitrogen tokens is to visit the faucet and select "Nitrogen Testnet (Arbitrum Orbit + Celestia".

    You can also find a guide with more details in Altlayer's documentation.

    Optional: Bridging tokens

    Alternatively, you can use the Arbitrum bridge to bridge from:

    1. Arbitrum Sepolia (L2) to Nitrogen (L3)
    2. Sepolia (L1) to Arbitrum Sepolia (L2) to Nitrogen (L3)

    Details for how to use the bridge to Nitrogen can also be found on the Nitrogen page.

    - +

    Nitrogen testnet

    nitrogen-testnet

    Nitrogen is the first testnet and L3 made with Celestia's Arbitrum Nitro integration hosted by AltLayer.

    Learn more in Altlayer's documentation.

    Getting Started with Nitrogen

    Find chain information, RPCs, contract addresses, bridging information, blob poster address, and more on AltLayer's Nitrogen testnet page

    (https://rollup-info.altlayer.io/public/nitrogen).

    Nitrogen tokens

    The easiest way to obtain Nitrogen tokens is to visit the faucet and select "Nitrogen Testnet (Arbitrum Orbit + Celestia".

    You can also find a guide with more details in Altlayer's documentation.

    Optional: Bridging tokens

    Alternatively, you can use the Arbitrum bridge to bridge from:

    1. Arbitrum Sepolia (L2) to Nitrogen (L3)
    2. Sepolia (L1) to Arbitrum Sepolia (L2) to Nitrogen (L3)

    Details for how to use the bridge to Nitrogen can also be found on the Nitrogen page.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/node-api.html b/pr-preview/pr-1358/developers/node-api.html index 73aedc012c..9e42cf0ac1 100644 --- a/pr-preview/pr-1358/developers/node-api.html +++ b/pr-preview/pr-1358/developers/node-api.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Node API

    The celestia-node API is made for interacting with celestia-node. There are two ways in which a user and developer can interact with the API, the RPC API and the Gateway API. View the API's documentation.

    RPC API

    The RPC API primarily focuses on developers and projects building on top of Celestia, who are willing to run their own DA nodes. The RPC API provides a richer set of features and a superior user experience. Unlike the Gateway API, the RPC API allows access to the internal wallet and keyring of the DA node, as well as other sensitive and administrative capabilities.

    Library

    The node can be used as a Golang library and designed for programmatic API access.

    RPC

    The RPC API is also exposed to OpenRPC(JSON-RPC 2.0) for users wanting to run their DA node as a separate DA service. It provides the same set of features as the library with an additional authentication system with different permissions levels to protect the wallet and signing + providing RPC-level DOS protection.

    RPC API tutorial

    The node tutorial, which uses the RPC CLI, is the recommended way to get started interacting with your Celestia node.

    Gateway API

    WARNING

    The gateway endpoints have been deprecated and will be removed in the future. If you would like to use them anyway, you can find more details on GitHub.

    The gateway API is a REST API which is meant to be deployed by infra providers to enable the public read-only gateway to the DA network for external users who don't want or can't run light nodes (like browsers currently) over HTTP. It has no wallet or signing functionality.

    Gateway API tutorial

    Check out the Prompt scavenger gateway API tutorial for more details.

    - +

    Node API

    The celestia-node API is made for interacting with celestia-node. There are two ways in which a user and developer can interact with the API, the RPC API and the Gateway API. View the API's documentation.

    RPC API

    The RPC API primarily focuses on developers and projects building on top of Celestia, who are willing to run their own DA nodes. The RPC API provides a richer set of features and a superior user experience. Unlike the Gateway API, the RPC API allows access to the internal wallet and keyring of the DA node, as well as other sensitive and administrative capabilities.

    Library

    The node can be used as a Golang library and designed for programmatic API access.

    RPC

    The RPC API is also exposed to OpenRPC(JSON-RPC 2.0) for users wanting to run their DA node as a separate DA service. It provides the same set of features as the library with an additional authentication system with different permissions levels to protect the wallet and signing + providing RPC-level DOS protection.

    RPC API tutorial

    The node tutorial, which uses the RPC CLI, is the recommended way to get started interacting with your Celestia node.

    Gateway API

    WARNING

    The gateway endpoints have been deprecated and will be removed in the future. If you would like to use them anyway, you can find more details on GitHub.

    The gateway API is a REST API which is meant to be deployed by infra providers to enable the public read-only gateway to the DA network for external users who don't want or can't run light nodes (like browsers currently) over HTTP. It has no wallet or signing functionality.

    Gateway API tutorial

    Check out the Prompt scavenger gateway API tutorial for more details.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/node-tutorial.html b/pr-preview/pr-1358/developers/node-tutorial.html index 348dd34d8b..10bce4421b 100644 --- a/pr-preview/pr-1358/developers/node-tutorial.html +++ b/pr-preview/pr-1358/developers/node-tutorial.html @@ -7,15 +7,15 @@ - + - + - + @@ -42,7 +42,7 @@

    Celestia-node RPC CLI tutorial

    In this tutorial, we will cover how to use the celestia-node RPC API to submit and retrieve data (blobs) from the data availability layer by their namespace.

    Table of contents

    Introduction

    Blobs

    Data is posted to Celestia's DA layer by using MsgPayForBlobs transactions to the core network. Read more about MsgPayForBlobs.

    Namespaces

    Celestia partitions the block data into multiple namespaces, one for every application. This allows applications to only download their data, and not the data of other applications. Read more about Namespaced Merkle trees (NMTs).

    TIP

    If you already have a running and funded node, you can skip to the RPC CLI guide section.

    WARNING

    The gateway endpoints have been deprecated and will be removed in the future. If you would like to use them anyway, you can find more details on GitHub.

    Hardware requirements

    The following minimum hardware requirements are recommended for running a light node:

    • Memory: 500 MB RAM (minimum)
    • CPU: Single Core
    • Disk: 50 GB SSD Storage
    • Bandwidth: 56 Kbps for Download/56 Kbps for Upload

    Setting up dependencies

    This portion of the tutorial will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.

    In your terminal, set up dependencies needed to install and build celestia-node.

    1. If you are on Ubuntu, first update and upgrade your OS:

      bash
      sudo apt update && sudo apt upgrade -y
      sudo apt update && sudo apt upgrade -y
      bash
      sudo yum update
      sudo yum update
    2. Install essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the node:

      bash
      sudo apt install curl tar wget clang pkg-config libssl-dev jq \
      +

    Celestia-node RPC CLI tutorial

    In this tutorial, we will cover how to use the celestia-node RPC API to submit and retrieve data (blobs) from the data availability layer by their namespace.

    Table of contents

    Introduction

    Blobs

    Data is posted to Celestia's DA layer by using MsgPayForBlobs transactions to the core network. Read more about MsgPayForBlobs.

    Namespaces

    Celestia partitions the block data into multiple namespaces, one for every application. This allows applications to only download their data, and not the data of other applications. Read more about Namespaced Merkle trees (NMTs).

    TIP

    If you already have a running and funded node, you can skip to the RPC CLI guide section.

    WARNING

    The gateway endpoints have been deprecated and will be removed in the future. If you would like to use them anyway, you can find more details on GitHub.

    Hardware requirements

    The following minimum hardware requirements are recommended for running a light node:

    • Memory: 500 MB RAM (minimum)
    • CPU: Single Core
    • Disk: 50 GB SSD Storage
    • Bandwidth: 56 Kbps for Download/56 Kbps for Upload

    Setting up dependencies

    This portion of the tutorial will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.

    In your terminal, set up dependencies needed to install and build celestia-node.

    1. If you are on Ubuntu, first update and upgrade your OS:

      bash
      sudo apt update && sudo apt upgrade -y
      sudo apt update && sudo apt upgrade -y
      bash
      sudo yum update
      sudo yum update
    2. Install essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the node:

      bash
      sudo apt install curl tar wget clang pkg-config libssl-dev jq \
       build-essential git make ncdu -y
      sudo apt install curl tar wget clang pkg-config libssl-dev jq \
       build-essential git make ncdu -y
      bash
      sudo yum install curl tar wget clang pkg-config libssl-dev jq \
       build-essential git make ncdu -y
      sudo yum install curl tar wget clang pkg-config libssl-dev jq \
      @@ -56,7 +56,7 @@
       /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
       
       # then install wget & jq
      -brew install wget && brew install jq

    Install Golang

    celestia-node is written in Golang so we must install Golang to build and run our node.

    1. Set the version for your desired network:

      bash
      ver="1.21.1"
      ver="1.21.1"
      bash
      ver="1.21.1"
      ver="1.21.1"
      bash
      ver="1.21.1"
      ver="1.21.1"
    2. Download and install Golang:

      bash
      cd $HOME
      +brew install wget && brew install jq

    Install Golang

    celestia-node is written in Golang so we must install Golang to build and run our node.

    1. Set the version for your desired network:

      bash
      ver="1.21.1"
      ver="1.21.1"
      bash
      ver="1.21.1"
      ver="1.21.1"
      bash
      ver="1.21.1"
      ver="1.21.1"
    2. Download and install Golang:

      bash
      cd $HOME
       wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
       sudo rm -rf /usr/local/go
       sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
      @@ -88,7 +88,7 @@
       wget "https://golang.org/dl/go$ver.darwin-amd64.tar.gz"
       sudo rm -rf /usr/local/go
       sudo tar -C /usr/local -xzf "go$ver.darwin-amd64.tar.gz"
      -rm "go$ver.darwin-amd64.tar.gz"
    3. Add your /usr/local/go/bin directory to your $PATH if you have not already:

      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
      +rm "go$ver.darwin-amd64.tar.gz"
    4. Add your /usr/local/go/bin directory to your $PATH if you have not already:

      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
       source $HOME/.bash_profile
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
       source $HOME/.bash_profile
      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.zshrc
       source $HOME/.zshrc
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.zshrc
      @@ -98,11 +98,11 @@
       cd celestia-node/
      cd $HOME
       rm -rf celestia-node
       git clone https://github.com/celestiaorg/celestia-node.git
      -cd celestia-node/
    5. Check out to the desired version, based on the network you will use:

      bash
      git checkout tags/v0.12.3
      git checkout tags/v0.12.3
      bash
      git checkout tags/v0.12.3
      git checkout tags/v0.12.3
      bash
      git checkout tags/v0.12.3
      git checkout tags/v0.12.3
    6. Build the celestia binary:

      a. Standard build

      bash
      make build
      make build

      b. Experimental build

      OPTIONAL

      If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.

      bash
      make build-jemalloc
      make build-jemalloc

      This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.

      Note: this requires Go version v1.23+.

    7. Install the binary:

      bash
      make install
      make install
      bash
      make go-install
      make go-install
    8. Build the cel-key utility:

      bash
      make cel-key
      make cel-key
    9. Verify that the binary is working and check the version:

      bash
      celestia version
      celestia version

    The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.

    Instantiate a Celestia light node

    Now, let's instantiate a Celestia Light node:

    TIP

    RPC endpoints are exposed in all celestia-node types such as light, bridge and full nodes.

    bash
    celestia light init
    celestia light init
    bash
    celestia light init --p2p.network mocha
    celestia light init --p2p.network mocha
    bash
    celestia light init --p2p.network arabica
    celestia light init --p2p.network arabica

    Instantiating (or initializing) the node means setting up a node store on your machine. This is where the data and your keys will be stored.

    Connect to a public core endpoint

    Let's now run the Celestia Light node with a gRPC connection to an example public core endpoint.

    Note: You are also encouraged to find a community-run API endpoint and there are several in the Discord. This one is used for demonstration purposes. Check out the Mocha testnet page, or Arabica devnet page.

    bash
    celestia light start --core.ip <URI>
    celestia light start --core.ip <URI>
    bash
    celestia light start --core.ip <URI> --p2p.network mocha
    celestia light start --core.ip <URI> --p2p.network mocha
    bash
    celestia light start --core.ip <URI> --p2p.network arabica
    celestia light start --core.ip <URI> --p2p.network arabica

    TIP

    The --core.ip gRPC port defaults to 9090, so if you do not specify it in the command line, it will default to that port. You can add the port after the IP address or use the --core.grpc.port flag to specify another port if you prefer.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    For example, your command along with an RPC endpoint might look like this:

    bash
    celestia light start --core.ip consensus.lunaroasis.net
    celestia light start --core.ip consensus.lunaroasis.net
    bash
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
    bash
    celestia light start --core.ip consensus-full.celestia-arabica-10.com \
    +cd celestia-node/
  • Check out to the desired version, based on the network you will use:

    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
  • Build the celestia binary:

    a. Standard build

    bash
    make build
    make build

    b. Experimental build

    OPTIONAL

    If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.

    bash
    make build-jemalloc
    make build-jemalloc

    This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.

    Note: this requires Go version v1.23+.

  • Install the binary:

    bash
    make install
    make install
    bash
    make go-install
    make go-install
  • Build the cel-key utility:

    bash
    make cel-key
    make cel-key
  • Verify that the binary is working and check the version:

    bash
    celestia version
    celestia version
  • The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.

    Instantiate a Celestia light node

    Now, let's instantiate a Celestia Light node:

    TIP

    RPC endpoints are exposed in all celestia-node types such as light, bridge and full nodes.

    bash
    celestia light init
    celestia light init
    bash
    celestia light init --p2p.network mocha
    celestia light init --p2p.network mocha
    bash
    celestia light init --p2p.network arabica
    celestia light init --p2p.network arabica

    Instantiating (or initializing) the node means setting up a node store on your machine. This is where the data and your keys will be stored.

    Connect to a public core endpoint

    Let's now run the Celestia Light node with a gRPC connection to an example public core endpoint.

    Note: You are also encouraged to find a community-run API endpoint and there are several in the Discord. This one is used for demonstration purposes. Check out the Mocha testnet page, or Arabica devnet page.

    bash
    celestia light start --core.ip <URI>
    celestia light start --core.ip <URI>
    bash
    celestia light start --core.ip <URI> --p2p.network mocha
    celestia light start --core.ip <URI> --p2p.network mocha
    bash
    celestia light start --core.ip <URI> --p2p.network arabica
    celestia light start --core.ip <URI> --p2p.network arabica

    TIP

    The --core.ip gRPC port defaults to 9090, so if you do not specify it in the command line, it will default to that port. You can add the port after the IP address or use the --core.grpc.port flag to specify another port if you prefer.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    For example, your command along with an RPC endpoint might look like this:

    bash
    celestia light start --core.ip consensus.lunaroasis.net
    celestia light start --core.ip consensus.lunaroasis.net
    bash
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
    bash
    celestia light start --core.ip consensus-full.celestia-arabica-10.com \
       --p2p.network arabica
    celestia light start --core.ip consensus-full.celestia-arabica-10.com \
       --p2p.network arabica

    Keys and wallets

    You can create your key for your node by running the following command from the celestia-node directory:

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    bash
    ./cel-key add <key-name> --keyring-backend test --node.type light \
       --p2p.network <network>
    ./cel-key add <key-name> --keyring-backend test --node.type light \
    -  --p2p.network <network>

    You can start your light node with the key created by running the following command:

    bash
    celestia light start --core.ip <URI> --keyring.accname <key-name>
    celestia light start --core.ip <URI> --keyring.accname <key-name>
    bash
    celestia light start --core.ip <URI> --keyring.accname <key-name> \
    +  --p2p.network <network>

    You can start your light node with the key created by running the following command:

    bash
    celestia light start --core.ip <URI> --keyring.accname <key-name>
    celestia light start --core.ip <URI> --keyring.accname <key-name>
    bash
    celestia light start --core.ip <URI> --keyring.accname <key-name> \
       --p2p.network mocha
    celestia light start --core.ip <URI> --keyring.accname <key-name> \
       --p2p.network mocha
    bash
    celestia light start --core.ip <URI> --keyring.accname <key-name> \
       --p2p.network arabica
    celestia light start --core.ip <URI> --keyring.accname <key-name> \
    @@ -492,8 +492,8 @@
       "$(celestia header get-by-height 252614 --node.store $NODE_STORE | jq '.result.dah' -r)" \
       0x42690c204d39600fddd3 --node.store $NODE_STORE
    celestia share get-by-namespace \
       "$(celestia header get-by-height 252614 --node.store $NODE_STORE | jq '.result.dah' -r)" \
    -  0x42690c204d39600fddd3 --node.store $NODE_STORE

    Additional resources

    Post an SVG as a PFB

    If you'd like to create your own SVG, post it to Celestia, and retrieve it, you can check out the Base64 SVG Tutorial.

    Golang guide

    If you're interested in interacting with the node's API in Go (client.go), you can use the da-rpc-client-tutorial repo.

    Troubleshooting

    If you encounter an error like:

    sh
    "rpc error: code = NotFound desc = account celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86 not found"
    "rpc error: code = NotFound desc = account celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86 not found"

    It is possible that the account you are trying to submit a PayForBlobs from doesn't have testnet tokens yet. Ensure the testnet faucet has funded your account with tokens and then try again.

    - + 0x42690c204d39600fddd3 --node.store $NODE_STORE

    Additional resources

    Post an SVG as a PFB

    If you'd like to create your own SVG, post it to Celestia, and retrieve it, you can check out the Base64 SVG Tutorial.

    Golang guide

    If you're interested in interacting with the node's API in Go (client.go), you can use the da-rpc-client-tutorial repo.

    Troubleshooting

    If you encounter an error like:

    sh
    "rpc error: code = NotFound desc = account celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86 not found"
    "rpc error: code = NotFound desc = account celestia1krkle0n547u0znz3unnln8paft2dq4z3rznv86 not found"

    It is possible that the account you are trying to submit a PayForBlobs from doesn't have testnet tokens yet. Ensure the testnet faucet has funded your account with tokens and then try again.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/optimism-devnet.html b/pr-preview/pr-1358/developers/optimism-devnet.html index 75ebc117bf..1d73f70d2d 100644 --- a/pr-preview/pr-1358/developers/optimism-devnet.html +++ b/pr-preview/pr-1358/developers/optimism-devnet.html @@ -7,11 +7,11 @@ - + - - + + @@ -42,7 +42,7 @@ git clone https://github.com/celestiaorg/optimism cd optimism
    cd $HOME
     git clone https://github.com/celestiaorg/optimism
    -cd optimism

    Check out to the version for either the stable version or upstream version:

    bash
    git checkout tags/v1.0.0-OP_op-node/v1.4.0-CN_v0.12.1
    +cd optimism

    Check out to the version for either the stable version or upstream version:

    bash
    git checkout tags/v1.0.0-OP_op-node/v1.4.0-CN_v0.12.1
     git submodule update --init --recursive
    git checkout tags/v1.0.0-OP_op-node/v1.4.0-CN_v0.12.1
     git submodule update --init --recursive
    bash
    git checkout celestia-develop
     git submodule update --init --recursive
    git checkout celestia-develop
    @@ -168,8 +168,8 @@
         log log.Logger
     ) ([]eth.Data, error) {
         // ...
    -}

    These two functions work together to ensure that the Ethereum fallback mechanism operates correctly, allowing the rollup to continue functioning even during periods of downtime on Celestia.

    Testing the fallback

    Testing out the Ethereum fallback mechanism can be done with the go-da tool. Triggering a simultaneous blob transaction will cause the op-batcher blob transaction to fail, with an incorrect account sequence error, which triggers a fallback to Ethereum.

    To trigger the transaction, send this command from the same go/proto/da directory:

    bash
    grpcurl -proto da.proto -plaintext -d '{"blobs": [{"value": "SGVsbG8gd28ybGQh"}]}' 127.0.0.1:26650 da.DAService.Submit
    grpcurl -proto da.proto -plaintext -d '{"blobs": [{"value": "SGVsbG8gd28ybGQh"}]}' 127.0.0.1:26650 da.DAService.Submit

    Alternatively, you can shut off the local-celestia-devnet and see that the OP Stack devnet logs show that the rollup has fallen back to the L1, in this case Ethereum, for posting data.

    Span batches

    Span batches can be enabled by setting OP_BATCHER_BATCH_TYPE: 1 in your docker-compose.yml file.

    Note that this requires the Delta activation time to be configured. For your devnet, you should set "l2GenesisDeltaTimeOffset": "0x0", in devnetL1-template.json. This will enable span batches and can be tested by grepping docker compose logs -f | grep batch_type which should include batch_type=SpanBatch and batch_type=1.

    - +}

    These two functions work together to ensure that the Ethereum fallback mechanism operates correctly, allowing the rollup to continue functioning even during periods of downtime on Celestia.

    Testing the fallback

    Testing out the Ethereum fallback mechanism can be done with the go-da tool. Triggering a simultaneous blob transaction will cause the op-batcher blob transaction to fail, with an incorrect account sequence error, which triggers a fallback to Ethereum.

    To trigger the transaction, send this command from the same go/proto/da directory:

    bash
    grpcurl -proto da.proto -plaintext -d '{"blobs": [{"value": "SGVsbG8gd28ybGQh"}]}' 127.0.0.1:26650 da.DAService.Submit
    grpcurl -proto da.proto -plaintext -d '{"blobs": [{"value": "SGVsbG8gd28ybGQh"}]}' 127.0.0.1:26650 da.DAService.Submit

    Alternatively, you can shut off the local-celestia-devnet and see that the OP Stack devnet logs show that the rollup has fallen back to the L1, in this case Ethereum, for posting data.

    Span batches

    Span batches can be enabled by setting OP_BATCHER_BATCH_TYPE: 1 in your docker-compose.yml file.

    Note that this requires the Delta activation time to be configured. For your devnet, you should set "l2GenesisDeltaTimeOffset": "0x0", in devnetL1-template.json. This will enable span batches and can be tested by grepping docker compose logs -f | grep batch_type which should include batch_type=SpanBatch and batch_type=1.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/optimism.html b/pr-preview/pr-1358/developers/optimism.html index 379626868f..af01e91648 100644 --- a/pr-preview/pr-1358/developers/optimism.html +++ b/pr-preview/pr-1358/developers/optimism.html @@ -7,12 +7,12 @@ - + - + - + @@ -39,7 +39,7 @@

    Deploy an OP Stack devnet to Celestia

    In order to deploy a devnet to Celestia, you will need to have a modified version of optimism-bedrock. Refer to the steps to install dependencies and the modified version of OP Stack for your environment setup.

    Pick your deployment type

    Using Celestia and OP stack, you have the option to either run a light node of your own or a local-celestia-devnet, both of which will give you a local devnet to test things out with.

    Using a local devnet

    If you'd like to use the local-celestia-devnet, you're in luck! This is the default for the OP Stack + Celestia repository. Head to the previous page to get started.

    Using a light node

    This is a beta integration and we are working on resolving open issues.

    In order to allow your light node to post and retrieve data without errors, you will need to change UseShareExchange to false in:

    bash
    $HOME/.celestia-light/config.toml
    $HOME/.celestia-light/config.toml
    bash
    $HOME/.celestia-light-mocha-4/config.toml
    $HOME/.celestia-light-mocha-4/config.toml
    bash
    $HOME/.celestia-light-arabica-11/config.toml
    $HOME/.celestia-light-arabica-11/config.toml

    If you choose to use your own node store, the light node must be fully synced and funded for you to be able to submit and retrieve PayForBlobs to a Celestia network.

    If it is not synced, you will run into errors similar to this.

    Visit the Arabica or Mocha pages to to visit their faucets.

    In order to mount existing data, you must have a node store that is in this directory:

    bash
    $HOME/.celestia-light
    $HOME/.celestia-light
    bash
    $HOME/.celestia-light-mocha-4
    $HOME/.celestia-light-mocha-4
    bash
    $HOME/.celestia-light-arabica-11
    $HOME/.celestia-light-arabica-11

    This is the default location of the node store when you initialize and run a new Celestia node.

    By default, the node will run with the account named my_celes_key.

    If you have your own setup you'd like to try, you can always edit optimism/ops-bedrock/docker-compose.yml to work with your setup.

    Using a RaaS provider

    If you'd like to use a Rollups as a Service (RaaS) provider, you can do so by going to the RaaS category in the menu.

    Build the devnet

    Build TypeScript definitions for TS dependencies:

    bash
    cd $HOME
    +

    Deploy an OP Stack devnet to Celestia

    In order to deploy a devnet to Celestia, you will need to have a modified version of optimism-bedrock. Refer to the steps to install dependencies and the modified version of OP Stack for your environment setup.

    Pick your deployment type

    Using Celestia and OP stack, you have the option to either run a light node of your own or a local-celestia-devnet, both of which will give you a local devnet to test things out with.

    Using a local devnet

    If you'd like to use the local-celestia-devnet, you're in luck! This is the default for the OP Stack + Celestia repository. Head to the previous page to get started.

    Using a light node

    This is a beta integration and we are working on resolving open issues.

    In order to allow your light node to post and retrieve data without errors, you will need to change UseShareExchange to false in:

    bash
    $HOME/.celestia-light/config.toml
    $HOME/.celestia-light/config.toml
    bash
    $HOME/.celestia-light-mocha-4/config.toml
    $HOME/.celestia-light-mocha-4/config.toml
    bash
    $HOME/.celestia-light-arabica-11/config.toml
    $HOME/.celestia-light-arabica-11/config.toml

    If you choose to use your own node store, the light node must be fully synced and funded for you to be able to submit and retrieve PayForBlobs to a Celestia network.

    If it is not synced, you will run into errors similar to this.

    Visit the Arabica or Mocha pages to to visit their faucets.

    In order to mount existing data, you must have a node store that is in this directory:

    bash
    $HOME/.celestia-light
    $HOME/.celestia-light
    bash
    $HOME/.celestia-light-mocha-4
    $HOME/.celestia-light-mocha-4
    bash
    $HOME/.celestia-light-arabica-11
    $HOME/.celestia-light-arabica-11

    This is the default location of the node store when you initialize and run a new Celestia node.

    By default, the node will run with the account named my_celes_key.

    If you have your own setup you'd like to try, you can always edit optimism/ops-bedrock/docker-compose.yml to work with your setup.

    Using a RaaS provider

    If you'd like to use a Rollups as a Service (RaaS) provider, you can do so by going to the RaaS category in the menu.

    Build the devnet

    Build TypeScript definitions for TS dependencies:

    bash
    cd $HOME
     cd optimism
     make
    cd $HOME
     cd optimism
    @@ -93,8 +93,8 @@
         interval: 10s
         timeout: 5s
         retries: 5
    -    start_period: 30s

    Now start the devnet:

    bash
    make devnet-up
    make devnet-up

    View the logs of the devnet

    If you'd like to view the logs of the devnet, run the following command from the root of the Optimism directory:

    bash
    make devnet-logs
    make devnet-logs

    Stop the devnet

    To safely stop the devnet, run the following command:

    bash
    make devnet-down
    make devnet-down

    Clean the devnet

    To remove all data from the devnet, run the following command:

    bash
    make devnet-clean
    make devnet-clean

    Deploying to an L1 (or L2)

    If you'd like to deploy to an EVM L1 or L2, reference the OP stack deployment guide.

    - + start_period: 30s

    Now start the devnet:

    bash
    make devnet-up
    make devnet-up

    View the logs of the devnet

    If you'd like to view the logs of the devnet, run the following command from the root of the Optimism directory:

    bash
    make devnet-logs
    make devnet-logs

    Stop the devnet

    To safely stop the devnet, run the following command:

    bash
    make devnet-down
    make devnet-down

    Clean the devnet

    To remove all data from the devnet, run the following command:

    bash
    make devnet-clean
    make devnet-clean

    Deploying to an L1 (or L2)

    If you'd like to deploy to an EVM L1 or L2, reference the OP stack deployment guide.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/prompt-scavenger.html b/pr-preview/pr-1358/developers/prompt-scavenger.html index 4f8ee7e994..b437da8fe8 100644 --- a/pr-preview/pr-1358/developers/prompt-scavenger.html +++ b/pr-preview/pr-1358/developers/prompt-scavenger.html @@ -7,11 +7,11 @@ - + - - + + @@ -312,8 +312,8 @@ gpt3(promptString) // Close the client when you are finished client.Close() -}

    And now you have the final version of the game!

    Run the golang script with the following command:

    sh
    go run main.go
    go run main.go

    After some time, it’ll post the output of the prompt you submitted to OpenAI that you pulled from Celestia’s blockchain.

    Next steps

    With this tutorial, you were able to construct a PFB transaction, submit it to Celestia, get it back from Celestia and decode its contents, then for added bonus, submit the message to GPT-3.5.

    For the next steps, we will be releasing quests to this tutorial where users will need to complete challenges that help familiarize them with the Celestia Data Availability layer.

    - +}

    And now you have the final version of the game!

    Run the golang script with the following command:

    sh
    go run main.go
    go run main.go

    After some time, it’ll post the output of the prompt you submitted to OpenAI that you pulled from Celestia’s blockchain.

    Next steps

    With this tutorial, you were able to construct a PFB transaction, submit it to Celestia, get it back from Celestia and decode its contents, then for added bonus, submit the message to GPT-3.5.

    For the next steps, we will be releasing quests to this tutorial where users will need to complete challenges that help familiarize them with the Celestia Data Availability layer.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/retrievability.html b/pr-preview/pr-1358/developers/retrievability.html index c376fc8848..3f5524120d 100644 --- a/pr-preview/pr-1358/developers/retrievability.html +++ b/pr-preview/pr-1358/developers/retrievability.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Data retrievability and pruning

    The purpose of data availability layers such as Celestia is to ensure that block data is provably published to the Internet, so that applications and rollups can know what the state of their chain is, and store that data. Once the data is published, data availability layers do not inherently guarantee that historical data will be permanently stored and remain retrievable.

    In this document, we discuss the state of data retrievability and pruning in Celestia, as well as some tips for rollup developers in order to ensure that syncing new rollup nodes is possible.

    Data retrievability and pruning in celestia-node

    Celestia-node's main branch does not currently support pruning, and therefore all bridge and full storage nodes currently store and serve all historical data by default, and act as archival nodes.

    However, support for pruned nodes exists in an experimental feature branch that is expected to land in main soon after mainnet. The data recency window, during which pruned nodes will store data blobs, is currently proposed to be 30 days.

    Data blobs older than the recency window will be pruned by pruned nodes, but will continue to be stored by archival nodes that do not prune data. Light nodes will be able to query historic blob data in namespaces from archival nodes, as long as archival nodes exist on the public network.

    When a data recency window is established, light nodes will only perform data availability sampling for blocks within the data recency window.

    Suggested practices for rollups

    Rollups may need to access historic data in order to allow new rollup nodes to reconstruct the latest state by replaying historic blocks. Once data has been published on Celestia and guaranteed to have been made available, rollups and applications are responsible for storing their historical data.

    While it is possible to continue to do this by using the GetAll API method in celestia-node on historic blocks as long as archival nodes exist on the public Celestia network, rollup developers should not rely on this as the only method to access historical data, as archival nodes serving requests for historical data for free is not guaranteed. Below are some other suggested methods to access historical data.

    • Use professional archival node or data providers. It is expected that professional infrastructure providers will provide paid access to archival nodes, where historical data can be retrieved, for example using the GetAll API method. This provides better guarantees than solely relying on free archival nodes on the public Celestia network.
    • Share snapshots of rollup nodes. Rollups could share snapshots of their data directories which can be downloaded manually by users bootstrapping new nodes. These snapshots could contain the latest state of the rollup, and/or all the historical blocks.
    • Add peer-to-peer support for historical block sync. A less manual version of sharing snapshots, where rollup nodes could implement built-in support for block sync, where rollup nodes download historical block data from each other over a peer-to-peer network.
      • Namespace pinning. In the future, celestia-node is expected to allow nodes to choose to "pin" data from selected namespaces that they wish to store and make available for other nodes. This will allow rollup nodes to be responsible for storing their data, without needing to implement their own peer-to-peer historical block sync mechanism.
    - +

    Data retrievability and pruning

    The purpose of data availability layers such as Celestia is to ensure that block data is provably published to the Internet, so that applications and rollups can know what the state of their chain is, and store that data. Once the data is published, data availability layers do not inherently guarantee that historical data will be permanently stored and remain retrievable.

    In this document, we discuss the state of data retrievability and pruning in Celestia, as well as some tips for rollup developers in order to ensure that syncing new rollup nodes is possible.

    Data retrievability and pruning in celestia-node

    Celestia-node's main branch does not currently support pruning, and therefore all bridge and full storage nodes currently store and serve all historical data by default, and act as archival nodes.

    However, support for pruned nodes exists in an experimental feature branch that is expected to land in main soon after mainnet. The data recency window, during which pruned nodes will store data blobs, is currently proposed to be 30 days.

    Data blobs older than the recency window will be pruned by pruned nodes, but will continue to be stored by archival nodes that do not prune data. Light nodes will be able to query historic blob data in namespaces from archival nodes, as long as archival nodes exist on the public network.

    When a data recency window is established, light nodes will only perform data availability sampling for blocks within the data recency window.

    Suggested practices for rollups

    Rollups may need to access historic data in order to allow new rollup nodes to reconstruct the latest state by replaying historic blocks. Once data has been published on Celestia and guaranteed to have been made available, rollups and applications are responsible for storing their historical data.

    While it is possible to continue to do this by using the GetAll API method in celestia-node on historic blocks as long as archival nodes exist on the public Celestia network, rollup developers should not rely on this as the only method to access historical data, as archival nodes serving requests for historical data for free is not guaranteed. Below are some other suggested methods to access historical data.

    • Use professional archival node or data providers. It is expected that professional infrastructure providers will provide paid access to archival nodes, where historical data can be retrieved, for example using the GetAll API method. This provides better guarantees than solely relying on free archival nodes on the public Celestia network.
    • Share snapshots of rollup nodes. Rollups could share snapshots of their data directories which can be downloaded manually by users bootstrapping new nodes. These snapshots could contain the latest state of the rollup, and/or all the historical blocks.
    • Add peer-to-peer support for historical block sync. A less manual version of sharing snapshots, where rollup nodes could implement built-in support for block sync, where rollup nodes download historical block data from each other over a peer-to-peer network.
      • Namespace pinning. In the future, celestia-node is expected to allow nodes to choose to "pin" data from selected namespaces that they wish to store and make available for other nodes. This will allow rollup nodes to be responsible for storing their data, without needing to implement their own peer-to-peer historical block sync mechanism.
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/rollkit.html b/pr-preview/pr-1358/developers/rollkit.html index 651cd20dfa..82a06b2efd 100644 --- a/pr-preview/pr-1358/developers/rollkit.html +++ b/pr-preview/pr-1358/developers/rollkit.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Rollkit

    Validator nodes allow you to participate in consensus in the Celestia network.

    rollkit

    Rollkit is an ABCI (Application Blockchain Interface) implementation for sovereign rollups to deploy on top of Celestia.

    It is built by replacing Tendermint, the Cosmos-SDK consensus layer, with a drop-in replacement that communicates directly with Celestia's Data Availability layer.

    It spins up a sovereign rollup, which collects transactions into blocks and posts them onto Celestia for consensus and data availability.

    The goal of Rollkit is to enable anyone to design and deploy a sovereign rollup on Celestia in minutes.

    Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

    Tutorials

    The following tutorials will help you get started building Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit. We call those chains Sovereign Rollups.

    You can get started with the following tutorials:

    - +

    Rollkit

    Validator nodes allow you to participate in consensus in the Celestia network.

    rollkit

    Rollkit is an ABCI (Application Blockchain Interface) implementation for sovereign rollups to deploy on top of Celestia.

    It is built by replacing Tendermint, the Cosmos-SDK consensus layer, with a drop-in replacement that communicates directly with Celestia's Data Availability layer.

    It spins up a sovereign rollup, which collects transactions into blocks and posts them onto Celestia for consensus and data availability.

    The goal of Rollkit is to enable anyone to design and deploy a sovereign rollup on Celestia in minutes.

    Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

    Tutorials

    The following tutorials will help you get started building Cosmos-SDK applications that connect to Celestia's Data Availability Layer via Rollkit. We call those chains Sovereign Rollups.

    You can get started with the following tutorials:

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/rollup-overview.html b/pr-preview/pr-1358/developers/rollup-overview.html index dedaec791d..445cbbefeb 100644 --- a/pr-preview/pr-1358/developers/rollup-overview.html +++ b/pr-preview/pr-1358/developers/rollup-overview.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Deploy a rollup

    This section provides various guides and tutorials that cover different options for deploying rollups on Celestia.

    What is a rollup?

    A rollup is a type of blockchain that offloads some work to a layer 1, like Celestia. Rollups host applications and process user transactions. Once those transactions get processed, they are then published to layer 1. It’s layer 1s job to order those transactions and check that they are available, at minimum.

    Over time, two primary designs emerged for rollups: optimistic and zk rollups.

    Section contents

    - +

    Deploy a rollup

    This section provides various guides and tutorials that cover different options for deploying rollups on Celestia.

    What is a rollup?

    A rollup is a type of blockchain that offloads some work to a layer 1, like Celestia. Rollups host applications and process user transactions. Once those transactions get processed, they are then published to layer 1. It’s layer 1s job to order those transactions and check that they are available, at minimum.

    Over time, two primary designs emerged for rollups: optimistic and zk rollups.

    Section contents

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/staking.html b/pr-preview/pr-1358/developers/staking.html index 88d1949aed..a5539ec96a 100644 --- a/pr-preview/pr-1358/developers/staking.html +++ b/pr-preview/pr-1358/developers/staking.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Staking on Celestia

    Engage with the Celestia network at a deeper level through staking. An essential mechanism to a proof-of-stake network, users can secure the network by delegating to a validator and receive a share of its staking rewards.

    Mainnet Beta

    Currently, the following staking interfaces exist for the Mainnet Beta.

    Just connect your wallet to get started!

    Mocha testnet

    Currently, the following staking interfaces exist for the Mocha testnet.

    Just connect your wallet to get started!

    - +

    Staking on Celestia

    Engage with the Celestia network at a deeper level through staking. An essential mechanism to a proof-of-stake network, users can secure the network by delegating to a validator and receive a share of its staking rewards.

    Mainnet Beta

    Currently, the following staking interfaces exist for the Mainnet Beta.

    Just connect your wallet to get started!

    Mocha testnet

    Currently, the following staking interfaces exist for the Mocha testnet.

    Just connect your wallet to get started!

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/developers/submit-data.html b/pr-preview/pr-1358/developers/submit-data.html index 530d96c9cb..76200c4588 100644 --- a/pr-preview/pr-1358/developers/submit-data.html +++ b/pr-preview/pr-1358/developers/submit-data.html @@ -7,11 +7,11 @@ - + - - + + @@ -246,8 +246,8 @@ } return err -}

    RPC to a celestia-node

    Using the JSON RPC API, submit data using the following methods:

    Learn more in the celestia-node API docs.

    - +}

    RPC to a celestia-node

    Using the JSON RPC API, submit data using the following methods:

    Learn more in the celestia-node API docs.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/hashmap.json b/pr-preview/pr-1358/hashmap.json index 8f1543da43..16c0763b6d 100644 --- a/pr-preview/pr-1358/hashmap.json +++ b/pr-preview/pr-1358/hashmap.json @@ -1 +1 @@ -{"developers_ethereum-fallback.md":"a9f9c2d1","readme.md":"ddbe6c67","community_cohort-one-content.md":"ab451cc5","community_calendar.md":"3366a606","community_modular-fellows.md":"f8968cd3","developers_retrievability.md":"7cc5190a","developers_rollkit.md":"154e744f","developers_rollup-overview.md":"d3da84f0","developers_staking.md":"90e3f65f","developers_arbitrum-mocha.md":"d37f1721","community_overview.md":"7f8230c7","developers_submit-data.md":"a3c74a56","learn_staking-governance-supply.md":"73331605","learn_how-celestia-works_monolithic-vs-modular.md":"8958e4cb","nodes_arabica-9.md":"91bed5f9","learn_how-celestia-works_data-availability-faq.md":"a114803b","nodes_arabica-devnet.md":"a40d5f6e","nodes_blobstream-binary.md":"684dce82","developers_node-api.md":"105c42f2","developers_arbitrum-integration.md":"fb46832c","developers_integrate-celestia.md":"6fca88e4","developers_arbitrum-deploy.md":"ce1fe08e","nodes_blobstream-orchestrator.md":"053c6d78","developers_ibc-relayer.md":"b8476175","developers_arbitrum-smart-contract.md":"4b9c4b79","nodes_transaction-resubmission.md":"112ed17e","learn_how-celestia-works_overview.md":"56b57e18","nodes_blobstream-relayer.md":"9cf9a917","learn_how-celestia-works_data-availability-layer.md":"7afe0f99","nodes_celestia-app-multisig.md":"46de9731","nodes_celestia-app.md":"fe8b37cb","nodes_bridge-node.md":"945479e3","nodes_celestia-app-metrics.md":"0835b1be","learn_paying-for-blobspace.md":"96090a9e","developers_leap.md":"8c1fdb1a","nodes_blobstream-bootstrapper.md":"3494c04b","nodes_celestia-app-commands.md":"acd01a13","developers_blobstream-proof-queries.md":"8f56c893","learn_how-celestia-works_transaction-lifecycle.md":"305b3ba8","community_speaker-list.md":"b218cd47","nodes_celestia-app-upgrade-monitor.md":"66e886da","developers_arbitrum-dapp-deploy.md":"f18c1216","developers_full-stack-modular-development-guide.md":"ac0c6d02","developers_celestia-app-vesting.md":"b8ddb0f0","community_modular-meetup-toolkit.md":"86a564ad","developers_optimism-devnet.md":"093b572a","developers_nitrogen.md":"da575949","nodes_decide-node.md":"28304b44","nodes_full-storage-node.md":"23f1735f","nodes_environment.md":"29ebdfd7","nodes_hardfork-process.md":"0d0962f7","nodes_instantiate-testnet.md":"e1404647","nodes_docker-images.md":"14cb58a7","nodes_mainnet.md":"b5e0ec34","nodes_light-node.md":"e1daa9b0","nodes_participate.md":"7099968a","nodes_mocha-testnet.md":"4bdc3c2e","nodes_overview.md":"7420380e","nodes_quick-start.md":"cf19cb81","nodes_systemd.md":"2a8f5b64","developers_celestia-node-key.md":"aed961c9","community_coc.md":"2ee9f246","developers_deploy-on-bubs.md":"c815f33d","developers_prompt-scavenger.md":"f59a1a8b","developers_how-to-stake-tia.md":"9c5268c0","developers_celestia-app-wallet.md":"fb60b2b9","index.md":"e7138ccc","developers_cosmostation.md":"a9bf8ade","nodes_celestia-node-custom-networks.md":"56582c14","developers_gm-portal-bubs.md":"96030ee3","learn_tia.md":"1511c563","developers_intro-to-op-stack.md":"edf5d840","nodes_blobstream-deploy.md":"d1e53185","developers_keplr.md":"73b344d8","developers_blobstream-contracts.md":"17a910f4","nodes_celestia-node-metrics.md":"7c3ba2cf","community_modular-meetup-guide.md":"9d50b746","community_modular-meetup-intro.md":"0a65dcb2","developers_blobstream-offchain.md":"4ecb5c94","developers_blobstream.md":"d1230ea5","developers_optimism.md":"24d065a6","community_itn-tos.md":"7b9132bb","developers_bubs-testnet.md":"5c2a062d","nodes_celestia-node-troubleshooting.md":"fdb3edd1","nodes_config-toml.md":"1c2fb136","nodes_blobstream-keys.md":"48da8f2c","developers_node-tutorial.md":"e1712ce5","developers_build-modular.md":"4d8f6fa4","nodes_celestia-node.md":"afa4dc19","nodes_consensus-node.md":"a920e4f0"} +{"developers_arbitrum-dapp-deploy.md":"24fb99a5","community_cohort-one-content.md":"3e986d06","readme.md":"e799d281","developers_leap.md":"9a160a89","developers_arbitrum-mocha.md":"af0f93fd","community_modular-meetup-intro.md":"de857e63","community_calendar.md":"723a1b30","developers_arbitrum-smart-contract.md":"60cea1ec","learn_staking-governance-supply.md":"96bf0c6c","learn_paying-for-blobspace.md":"75d7f3dd","developers_integrate-celestia.md":"01a2bf80","community_itn-tos.md":"9a6c75b0","developers_arbitrum-deploy.md":"dd94baab","community_modular-meetup-toolkit.md":"02daca06","developers_bubs-testnet.md":"2bb39560","nodes_celestia-app-metrics.md":"28214465","developers_cosmostation.md":"c4d22c75","nodes_blobstream-orchestrator.md":"d3216791","developers_intro-to-op-stack.md":"064dc6c5","learn_how-celestia-works_overview.md":"f5b328f4","developers_celestia-app-wallet.md":"3ebd02ee","community_modular-meetup-guide.md":"9f0c82ae","nodes_config-toml.md":"9d9340c9","developers_build-modular.md":"eaad659b","developers_celestia-app-vesting.md":"d378eb7e","developers_blobstream-offchain.md":"3eaf5acf","developers_optimism.md":"8ba9c7cf","learn_how-celestia-works_monolithic-vs-modular.md":"355e2909","nodes_mocha-testnet.md":"bd2f0390","community_overview.md":"eec32cc5","nodes_light-node.md":"b067d9c8","nodes_mainnet.md":"47e4ca41","community_speaker-list.md":"63b5b766","developers_retrievability.md":"67cf7f40","nodes_decide-node.md":"6443394a","nodes_systemd.md":"4890eb0c","nodes_docker-images.md":"db62ba23","nodes_full-storage-node.md":"48d8403d","nodes_environment.md":"dc077089","nodes_overview.md":"66a45f27","nodes_participate.md":"3043cbf7","nodes_quick-start.md":"ba85612b","nodes_hardfork-process.md":"68176593","developers_celestia-node-key.md":"759edb88","nodes_consensus-node.md":"711684a9","learn_how-celestia-works_data-availability-layer.md":"901019ed","developers_keplr.md":"a1a4c9b0","developers_full-stack-modular-development-guide.md":"90a43f3b","nodes_celestia-node.md":"b10f9ec5","community_modular-fellows.md":"43e72762","nodes_instantiate-testnet.md":"c33fb906","nodes_celestia-app-multisig.md":"942d7a74","nodes_blobstream-relayer.md":"ed24ac43","nodes_celestia-node-metrics.md":"4c2e1903","nodes_celestia-node-troubleshooting.md":"41ca74ba","developers_blobstream-proof-queries.md":"f5b6175e","nodes_blobstream-deploy.md":"a82e447c","developers_arbitrum-integration.md":"5263b4a9","nodes_transaction-resubmission.md":"7b10acd2","developers_rollkit.md":"9ccbca72","nodes_celestia-app-upgrade-monitor.md":"d7be78de","developers_optimism-devnet.md":"88270525","nodes_celestia-app.md":"b8fe0c79","nodes_celestia-node-custom-networks.md":"a3f7cf13","nodes_celestia-app-commands.md":"7218e4ec","community_coc.md":"80a4bdb0","developers_blobstream-contracts.md":"0e0e8c4a","developers_ethereum-fallback.md":"742feedc","developers_gm-portal-bubs.md":"0ce379d0","developers_how-to-stake-tia.md":"70cfa743","developers_nitrogen.md":"da18e584","developers_node-api.md":"cc40ec20","developers_rollup-overview.md":"5f98a2b0","developers_staking.md":"9a66730d","index.md":"c0956aec","learn_how-celestia-works_data-availability-faq.md":"066561d0","nodes_arabica-9.md":"4364bd1a","learn_tia.md":"13ceca34","nodes_arabica-devnet.md":"8f1c6f7b","developers_submit-data.md":"f2ca1523","nodes_blobstream-bootstrapper.md":"435c61fe","nodes_blobstream-binary.md":"ae3c7e1f","developers_blobstream.md":"59e73c8f","learn_how-celestia-works_transaction-lifecycle.md":"53956a18","developers_prompt-scavenger.md":"9b7a7d56","nodes_bridge-node.md":"b7def6ff","developers_node-tutorial.md":"034451d3","developers_deploy-on-bubs.md":"98e400d5","developers_ibc-relayer.md":"4288a15e","nodes_blobstream-keys.md":"30287788"} diff --git a/pr-preview/pr-1358/index.html b/pr-preview/pr-1358/index.html index aa615647bb..eeaa3b07a2 100644 --- a/pr-preview/pr-1358/index.html +++ b/pr-preview/pr-1358/index.html @@ -7,11 +7,11 @@ - + - - + + @@ -39,7 +39,7 @@ - + \ No newline at end of file diff --git a/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq.html b/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq.html index 53230429eb..f672bbda8a 100644 --- a/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq.html +++ b/pr-preview/pr-1358/learn/how-celestia-works/data-availability-faq.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Data availability FAQ

    What is data availability?

    Data availability answers the question, has this data been published? Specifically, a node will verify data availability when it receives a new block that is getting added to the chain. The node will attempt to download all the transaction data for the new block to verify availability. If the node can download all the transaction data, then it successfully verified data availability, proving that the block data was actually published to the network.

    Modular VS Monolithic

    As you’ll see, modular blockchains like Celestia employ other primitives that allow nodes to verify data availability more efficiently. Data availability is critical to the security of any blockchain because it ensures that anyone can inspect the ledger of transactions and verify it. Data availability becomes particularly problematic when scaling blockchains. As the blocks get bigger, it becomes impractical for normal users to download all the data, and therefore users can no longer verify the chain.

    What is the data availability problem?

    The problem with data availability occurs when the transaction data for a newly proposed block cannot be downloaded and verified. This type of attack by a block producer is called a data withholding attack, which sees the block producer withhold transaction data of a new block.

    Since transaction data is withheld, nodes cannot update to the latest state. Such an attack can have numerous consequences, from halting a chain to gaining the ability to steal funds. The severity of the consequences will depend on the type of blockchain (L1 or L2) and whether data availability is kept onchain or offchain. The data availability problem commonly arises around L2 scaling solutions like rollups and validiums.

    How do nodes verify data availability in Celestia?

    In most blockchains, nodes that verify data availability do so by downloading all transaction data for a block. If they are able to download all the data, they have verified its availability. In Celestia, light nodes have access to a new mechanism to verify data availability without needing to download all the data for a block. This new primitive for verifying data availability is called data availability sampling.

    What is data availability sampling?

    Data availability sampling is a mechanism for light nodes to verify data availability without having to download all data for a block. Data availability sampling (DAS) works by having light nodes conduct multiple rounds of random sampling for small portions of block data. As a light node completes more rounds of sampling for block data, it increases its confidence that data is available. Once the light node successfully reaches a predetermined confidence level (e.g. 99%) it will consider the block data as available.

    Want a simpler explanation? Check out this thread on how data availability sampling is like flipping a coin.

    What are some of the security assumptions that Celestia makes for data availability sampling?

    Celestia assumes that there is a minimum number of light nodes that are conducting data availability sampling for a given block size. This assumption is necessary so that a full node can reconstruct an entire block from the portions of data light nodes sampled and stored. The amount of light nodes that are needed will depend on the block size - for bigger blocks more light nodes are assumed to be running.

    A second notable assumption that is made by light nodes is that they are connected to at least one honest full node. This ensures that they can receive fraud proofs for incorrectly erasure coded blocks. If a light node is not connected to an honest full node, such as during an eclipse attack, it can’t verify that the block is improperly constructed.

    Why is block reconstruction necessary for security?

    In Celestia, blocks need to be erasure coded so that there is redundant data to aid the data availability sampling process. However, nodes tasked with erasure coding the data could do so incorrectly. Since Celestia uses fraud proofs to verify that erasure coding is incorrect, the full block data is needed to generate a bad encoding fraud proof.

    There could be a situation where validators only provide data to light nodes and not full nodes. If the full nodes don’t have the ability to reconstruct the full block from the portions of data stored by light nodes, they wouldn’t be able to generate a bad encoding fraud proof.

    What is data storage?

    Data storage is concerned with the ability to store and access past transaction data.

    Modular VS Monolithic

    Data storage and retrieval is needed for multiple purposes, such as:

    • Reading the information of a previous transaction
    • Syncing a node
    • Indexing and serving transaction data
    • Retrieving NFT information

    What is the problem around data storage?

    The issue with data storage is whether past transaction data can be stored and successfully retrieved at a later time. The inability to retrieve historical transaction data can cause problems, such as users being unable to access information about their past transactions or nodes that cannot sync from genesis. Luckily, the assumptions around storing and accessing past data are weak. Only a single copy of a blockchain’s history needs to be accessible for users to gain access to historical transaction data. In other words, data storage security is a 1 of N honesty assumption.

    What is the difference between data availability and data storage?

    Data availability is about verifying that transaction data for a new block is public and available. In contrast, data storage involves storing and accessing past transaction data from old blocks.

    Where does blockchain state fit into this?

    Up until now it’s been all about transaction data, but blockchain state is a related topic. The state is different from transaction data. Specifically, the state is like a current snapshot of the network, which includes information about account balances, smart contract balances, and validator set info. Problems that arise from the size of the state are different in nature than those around data availability and retrievability.

    Why doesn’t Celestia incentivize storage of historical data?

    Most blockchains don’t incentivize storage of data because it shouldn’t be the responsibility of a blockchain to guarantee past data will be retrievable forever. In addition, the data storage problem only requires a single party to store and provide the data for users, which is not a strong problem. As such, Celestia’s purpose is to provide a secure and scalable way to verify the availability of data. Once data has been verified as available, the job of storing and retrieving historical data is left up to other entities that require the data. Luckily, there are natural incentives for outside parties to store and serve historical data to users.

    Who may store historical data if there is no reward?

    There are multiple types of actors that may be likely to store historical data. Some of those include:

    • Block explorers that provide access to past transaction data.
    • Indexers that provide API queries for past data.
    • Applications or rollups that require historical data for certain processes.
    • Users that want to guarantee that they will have access to their transaction history.

    What are some things blockchains can do to provide stronger assurances of data retrievability?

    • Reward nodes based on the amount of transaction data they store and requests for data they serve (this is the case with some data storage blockchains, like Filecoin).
    • Publish transaction data onto a data storage blockchain that incentivizes storing and serving requests for historical data.
    - +

    Data availability FAQ

    What is data availability?

    Data availability answers the question, has this data been published? Specifically, a node will verify data availability when it receives a new block that is getting added to the chain. The node will attempt to download all the transaction data for the new block to verify availability. If the node can download all the transaction data, then it successfully verified data availability, proving that the block data was actually published to the network.

    Modular VS Monolithic

    As you’ll see, modular blockchains like Celestia employ other primitives that allow nodes to verify data availability more efficiently. Data availability is critical to the security of any blockchain because it ensures that anyone can inspect the ledger of transactions and verify it. Data availability becomes particularly problematic when scaling blockchains. As the blocks get bigger, it becomes impractical for normal users to download all the data, and therefore users can no longer verify the chain.

    What is the data availability problem?

    The problem with data availability occurs when the transaction data for a newly proposed block cannot be downloaded and verified. This type of attack by a block producer is called a data withholding attack, which sees the block producer withhold transaction data of a new block.

    Since transaction data is withheld, nodes cannot update to the latest state. Such an attack can have numerous consequences, from halting a chain to gaining the ability to steal funds. The severity of the consequences will depend on the type of blockchain (L1 or L2) and whether data availability is kept onchain or offchain. The data availability problem commonly arises around L2 scaling solutions like rollups and validiums.

    How do nodes verify data availability in Celestia?

    In most blockchains, nodes that verify data availability do so by downloading all transaction data for a block. If they are able to download all the data, they have verified its availability. In Celestia, light nodes have access to a new mechanism to verify data availability without needing to download all the data for a block. This new primitive for verifying data availability is called data availability sampling.

    What is data availability sampling?

    Data availability sampling is a mechanism for light nodes to verify data availability without having to download all data for a block. Data availability sampling (DAS) works by having light nodes conduct multiple rounds of random sampling for small portions of block data. As a light node completes more rounds of sampling for block data, it increases its confidence that data is available. Once the light node successfully reaches a predetermined confidence level (e.g. 99%) it will consider the block data as available.

    Want a simpler explanation? Check out this thread on how data availability sampling is like flipping a coin.

    What are some of the security assumptions that Celestia makes for data availability sampling?

    Celestia assumes that there is a minimum number of light nodes that are conducting data availability sampling for a given block size. This assumption is necessary so that a full node can reconstruct an entire block from the portions of data light nodes sampled and stored. The amount of light nodes that are needed will depend on the block size - for bigger blocks more light nodes are assumed to be running.

    A second notable assumption that is made by light nodes is that they are connected to at least one honest full node. This ensures that they can receive fraud proofs for incorrectly erasure coded blocks. If a light node is not connected to an honest full node, such as during an eclipse attack, it can’t verify that the block is improperly constructed.

    Why is block reconstruction necessary for security?

    In Celestia, blocks need to be erasure coded so that there is redundant data to aid the data availability sampling process. However, nodes tasked with erasure coding the data could do so incorrectly. Since Celestia uses fraud proofs to verify that erasure coding is incorrect, the full block data is needed to generate a bad encoding fraud proof.

    There could be a situation where validators only provide data to light nodes and not full nodes. If the full nodes don’t have the ability to reconstruct the full block from the portions of data stored by light nodes, they wouldn’t be able to generate a bad encoding fraud proof.

    What is data storage?

    Data storage is concerned with the ability to store and access past transaction data.

    Modular VS Monolithic

    Data storage and retrieval is needed for multiple purposes, such as:

    • Reading the information of a previous transaction
    • Syncing a node
    • Indexing and serving transaction data
    • Retrieving NFT information

    What is the problem around data storage?

    The issue with data storage is whether past transaction data can be stored and successfully retrieved at a later time. The inability to retrieve historical transaction data can cause problems, such as users being unable to access information about their past transactions or nodes that cannot sync from genesis. Luckily, the assumptions around storing and accessing past data are weak. Only a single copy of a blockchain’s history needs to be accessible for users to gain access to historical transaction data. In other words, data storage security is a 1 of N honesty assumption.

    What is the difference between data availability and data storage?

    Data availability is about verifying that transaction data for a new block is public and available. In contrast, data storage involves storing and accessing past transaction data from old blocks.

    Where does blockchain state fit into this?

    Up until now it’s been all about transaction data, but blockchain state is a related topic. The state is different from transaction data. Specifically, the state is like a current snapshot of the network, which includes information about account balances, smart contract balances, and validator set info. Problems that arise from the size of the state are different in nature than those around data availability and retrievability.

    Why doesn’t Celestia incentivize storage of historical data?

    Most blockchains don’t incentivize storage of data because it shouldn’t be the responsibility of a blockchain to guarantee past data will be retrievable forever. In addition, the data storage problem only requires a single party to store and provide the data for users, which is not a strong problem. As such, Celestia’s purpose is to provide a secure and scalable way to verify the availability of data. Once data has been verified as available, the job of storing and retrieving historical data is left up to other entities that require the data. Luckily, there are natural incentives for outside parties to store and serve historical data to users.

    Who may store historical data if there is no reward?

    There are multiple types of actors that may be likely to store historical data. Some of those include:

    • Block explorers that provide access to past transaction data.
    • Indexers that provide API queries for past data.
    • Applications or rollups that require historical data for certain processes.
    • Users that want to guarantee that they will have access to their transaction history.

    What are some things blockchains can do to provide stronger assurances of data retrievability?

    • Reward nodes based on the amount of transaction data they store and requests for data they serve (this is the case with some data storage blockchains, like Filecoin).
    • Publish transaction data onto a data storage blockchain that incentivizes storing and serving requests for historical data.
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer.html b/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer.html index b53f69e92b..7b66e2339d 100644 --- a/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer.html +++ b/pr-preview/pr-1358/learn/how-celestia-works/data-availability-layer.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Celestia's data availability layer

    Celestia is a data availability (DA) layer that provides a scalable solution to the data availability problem. Due to the permissionless nature of the blockchain networks, a DA layer must provide a mechanism for the execution and settlement layers to check in a trust-minimized way whether transaction data is indeed available.

    Two key features of Celestia's DA layer are data availability sampling (DAS) and Namespaced Merkle trees (NMTs). Both features are novel blockchain scaling solutions: DAS enables light nodes to verify data availability without needing to download an entire block; NMTs enable execution and settlement layers on Celestia to download transactions that are only relevant to them.

    Data availability sampling (DAS)

    In general, light nodes download only block headers that contain commitments (i.e., Merkle roots) of the block data (i.e., the list of transactions).

    To make DAS possible, Celestia uses a 2-dimensional Reed-Solomon encoding scheme to encode the block data: every block data is split into k×k chunks, arranged in a k×k matrix, and extended with parity data into a 2k×2k extended matrix by applying multiple times Reed-Solomon encoding.

    Then, 4k separate Merkle roots are computed for the rows and columns of the extended matrix; the Merkle root of these Merkle roots is used as the block data commitment in the block header.

    2D Reed-Soloman (RS) Encoding

    To verify that the data is available, Celestia light nodes are sampling the 2k×2k data chunks.

    Every light node randomly chooses a set of unique coordinates in the extended matrix and queries full nodes for the data chunks and the corresponding Merkle proofs at those coordinates. If light nodes receive a valid response for each sampling query, then there is a high probability guarantee that the whole block's data is available.

    Additionally, every received data chunk with a correct Merkle proof is gossiped to the network. As a result, as long as the Celestia light nodes are sampling together enough data chunks (i.e., at least k×k unique chunks), the full block can be recovered by honest full nodes.

    For more details on DAS, take a look at the original paper.

    Scalability

    DAS enables Celestia to scale the DA layer. DAS can be performed by resource-limited light nodes since each light node only samples a small portion of the block data. The more light nodes there are in the network, the more data they can collectively download and store.

    This means that increasing the number of light nodes performing DAS allows for larger blocks (i.e., with more transactions), while still keeping DAS feasible for resource-limited light nodes. However, in order to validate block headers, Celestia light nodes need to download the 4k intermediate Merkle roots.

    For a block data size of n2 bytes, this means that every light node must download O(n) bytes. Therefore, any improvement in the bandwidth capacity of Celestia light nodes has a quadratic effect on the throughput of Celestia's DA layer.

    Fraud proofs of incorrectly extended data

    The requirement of downloading the 4k intermediate Merkle roots is a consequence of using a 2-dimensional Reed-Solomon encoding scheme. Alternatively, DAS could be designed with a standard (i.e., 1-dimensional) Reed-Solomon encoding, where the original data is split into k chunks and extended with k additional chunks of parity data. Since the block data commitment is the Merkle root of the 2k resulting data chunks, light nodes no longer need to download O(n) bytes to validate block headers.

    The downside of the standard Reed-Solomon encoding is dealing with malicious block producers that generate the extended data incorrectly.

    This is possible as Celestia does not require a majority of the consensus (i.e., block producers) to be honest to guarantee data availability. Thus, if the extended data is invalid, the original data might not be recoverable, even if the light nodes are sampling sufficient unique chunks (i.e., at least k for a standard encoding and k×k for a 2-dimensional encoding).

    As a solution, Fraud Proofs of Incorrectly Generated Extended Data enable light nodes to reject blocks with invalid extended data. Such proofs require reconstructing the encoding and verifying the mismatch. With standard Reed-Solomon encoding, this entails downloading the original data, i.e., n2 bytes. Contrastingly, with 2-dimensional Reed-Solomon encoding, only O(n) bytes are required as it is sufficient to verify only one row or one column of the extended matrix.

    Namespaced Merkle trees (NMTs)

    Celestia partitions the block data into multiple namespaces, one for every application (e.g., rollup) using the DA layer. As a result, every application needs to download only its own data and can ignore the data of other applications.

    For this to work, the DA layer must be able to prove that the provided data is complete, i.e., all the data for a given namespace is returned. To this end, Celestia is using Namespaced Merkle trees (NMTs).

    An NMT is a Merkle tree with the leafs ordered by the namespace identifiers and the hash function modified so that every node in the tree includes the range of namespaces of all its descendants. The following figure shows an example of an NMT with height three (i.e., eight data chunks). The data is partitioned into three namespaces.

    Namespaced Merkle Tree

    When an application requests the data for namespace 2, the DA layer must provide the data chunks D3, D4, D5, and D6 and the nodes N2, N8 and N7 as proof (note that the application already has the root N14 from the block header).

    As a result, the application is able to check that the provided data is part of the block data. Furthermore, the application can verify that all the data for namespace 2 was provided. If the DA layer provides for example only the data chunks D4 and D5, it must also provide nodes N12 and N11 as proofs. However, the application can identify that the data is incomplete by checking the namespace range of the two nodes, i.e., both N12 and N11 have descendants part of namespace 2.

    For more details on NMTs, refer to the original paper.

    Building a PoS blockchain for DA

    Providing data availability

    The Celestia DA layer consists of a PoS blockchain. Celestia is dubbing this blockchain as the celestia-app, an application that provides transactions to facilitate the DA layer and is built using Cosmos SDK. The following figure shows the main components of celestia-app.

    Main components of celestia-app

    celestia-app is built on top of celestia-core, a modified version of the Tendermint consensus algorithm. Among the more important changes to vanilla Tendermint, celestia-core:

    • Enables the erasure coding of block data (using the 2-dimensional Reed-Solomon encoding scheme).
    • Replaces the regular Merkle tree used by Tendermint to store block data with a Namespaced Merkle tree that enables the above layers (i.e., execution and settlement) to only download the needed data (for more details, see the section below describing use cases).

    For more details on the changes to Tendermint, take a look at the ADRs. Notice that celestia-core nodes are still using the Tendermint p2p network.

    Similarly to Tendermint, celestia-core is connected to the application layer (i.e., the state machine) by ABCI++, a major evolution of ABCI (Application Blockchain Interface).

    The celestia-app state machine is necessary to execute the PoS logic and to enable the governance of the DA layer.

    However, the celestia-app is data-agnostic -- the state machine neither validates nor stores the data that is made available by the celestia-app.

    - +

    Celestia's data availability layer

    Celestia is a data availability (DA) layer that provides a scalable solution to the data availability problem. Due to the permissionless nature of the blockchain networks, a DA layer must provide a mechanism for the execution and settlement layers to check in a trust-minimized way whether transaction data is indeed available.

    Two key features of Celestia's DA layer are data availability sampling (DAS) and Namespaced Merkle trees (NMTs). Both features are novel blockchain scaling solutions: DAS enables light nodes to verify data availability without needing to download an entire block; NMTs enable execution and settlement layers on Celestia to download transactions that are only relevant to them.

    Data availability sampling (DAS)

    In general, light nodes download only block headers that contain commitments (i.e., Merkle roots) of the block data (i.e., the list of transactions).

    To make DAS possible, Celestia uses a 2-dimensional Reed-Solomon encoding scheme to encode the block data: every block data is split into k×k chunks, arranged in a k×k matrix, and extended with parity data into a 2k×2k extended matrix by applying multiple times Reed-Solomon encoding.

    Then, 4k separate Merkle roots are computed for the rows and columns of the extended matrix; the Merkle root of these Merkle roots is used as the block data commitment in the block header.

    2D Reed-Soloman (RS) Encoding

    To verify that the data is available, Celestia light nodes are sampling the 2k×2k data chunks.

    Every light node randomly chooses a set of unique coordinates in the extended matrix and queries full nodes for the data chunks and the corresponding Merkle proofs at those coordinates. If light nodes receive a valid response for each sampling query, then there is a high probability guarantee that the whole block's data is available.

    Additionally, every received data chunk with a correct Merkle proof is gossiped to the network. As a result, as long as the Celestia light nodes are sampling together enough data chunks (i.e., at least k×k unique chunks), the full block can be recovered by honest full nodes.

    For more details on DAS, take a look at the original paper.

    Scalability

    DAS enables Celestia to scale the DA layer. DAS can be performed by resource-limited light nodes since each light node only samples a small portion of the block data. The more light nodes there are in the network, the more data they can collectively download and store.

    This means that increasing the number of light nodes performing DAS allows for larger blocks (i.e., with more transactions), while still keeping DAS feasible for resource-limited light nodes. However, in order to validate block headers, Celestia light nodes need to download the 4k intermediate Merkle roots.

    For a block data size of n2 bytes, this means that every light node must download O(n) bytes. Therefore, any improvement in the bandwidth capacity of Celestia light nodes has a quadratic effect on the throughput of Celestia's DA layer.

    Fraud proofs of incorrectly extended data

    The requirement of downloading the 4k intermediate Merkle roots is a consequence of using a 2-dimensional Reed-Solomon encoding scheme. Alternatively, DAS could be designed with a standard (i.e., 1-dimensional) Reed-Solomon encoding, where the original data is split into k chunks and extended with k additional chunks of parity data. Since the block data commitment is the Merkle root of the 2k resulting data chunks, light nodes no longer need to download O(n) bytes to validate block headers.

    The downside of the standard Reed-Solomon encoding is dealing with malicious block producers that generate the extended data incorrectly.

    This is possible as Celestia does not require a majority of the consensus (i.e., block producers) to be honest to guarantee data availability. Thus, if the extended data is invalid, the original data might not be recoverable, even if the light nodes are sampling sufficient unique chunks (i.e., at least k for a standard encoding and k×k for a 2-dimensional encoding).

    As a solution, Fraud Proofs of Incorrectly Generated Extended Data enable light nodes to reject blocks with invalid extended data. Such proofs require reconstructing the encoding and verifying the mismatch. With standard Reed-Solomon encoding, this entails downloading the original data, i.e., n2 bytes. Contrastingly, with 2-dimensional Reed-Solomon encoding, only O(n) bytes are required as it is sufficient to verify only one row or one column of the extended matrix.

    Namespaced Merkle trees (NMTs)

    Celestia partitions the block data into multiple namespaces, one for every application (e.g., rollup) using the DA layer. As a result, every application needs to download only its own data and can ignore the data of other applications.

    For this to work, the DA layer must be able to prove that the provided data is complete, i.e., all the data for a given namespace is returned. To this end, Celestia is using Namespaced Merkle trees (NMTs).

    An NMT is a Merkle tree with the leafs ordered by the namespace identifiers and the hash function modified so that every node in the tree includes the range of namespaces of all its descendants. The following figure shows an example of an NMT with height three (i.e., eight data chunks). The data is partitioned into three namespaces.

    Namespaced Merkle Tree

    When an application requests the data for namespace 2, the DA layer must provide the data chunks D3, D4, D5, and D6 and the nodes N2, N8 and N7 as proof (note that the application already has the root N14 from the block header).

    As a result, the application is able to check that the provided data is part of the block data. Furthermore, the application can verify that all the data for namespace 2 was provided. If the DA layer provides for example only the data chunks D4 and D5, it must also provide nodes N12 and N11 as proofs. However, the application can identify that the data is incomplete by checking the namespace range of the two nodes, i.e., both N12 and N11 have descendants part of namespace 2.

    For more details on NMTs, refer to the original paper.

    Building a PoS blockchain for DA

    Providing data availability

    The Celestia DA layer consists of a PoS blockchain. Celestia is dubbing this blockchain as the celestia-app, an application that provides transactions to facilitate the DA layer and is built using Cosmos SDK. The following figure shows the main components of celestia-app.

    Main components of celestia-app

    celestia-app is built on top of celestia-core, a modified version of the Tendermint consensus algorithm. Among the more important changes to vanilla Tendermint, celestia-core:

    • Enables the erasure coding of block data (using the 2-dimensional Reed-Solomon encoding scheme).
    • Replaces the regular Merkle tree used by Tendermint to store block data with a Namespaced Merkle tree that enables the above layers (i.e., execution and settlement) to only download the needed data (for more details, see the section below describing use cases).

    For more details on the changes to Tendermint, take a look at the ADRs. Notice that celestia-core nodes are still using the Tendermint p2p network.

    Similarly to Tendermint, celestia-core is connected to the application layer (i.e., the state machine) by ABCI++, a major evolution of ABCI (Application Blockchain Interface).

    The celestia-app state machine is necessary to execute the PoS logic and to enable the governance of the DA layer.

    However, the celestia-app is data-agnostic -- the state machine neither validates nor stores the data that is made available by the celestia-app.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/learn/how-celestia-works/monolithic-vs-modular.html b/pr-preview/pr-1358/learn/how-celestia-works/monolithic-vs-modular.html index 9866372103..eee5598307 100644 --- a/pr-preview/pr-1358/learn/how-celestia-works/monolithic-vs-modular.html +++ b/pr-preview/pr-1358/learn/how-celestia-works/monolithic-vs-modular.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Monolithic vs. modular blockchains

    Blockchains instantiate replicated state machines: the nodes in a permissionless distributed network apply an ordered sequence of deterministic transactions to an initial state resulting in a common final state.

    In other words, this means that nodes in a network all follow the same set of rules (i.e., an ordered sequence of transactions) to go from a starting point (i.e., an initial state) to an ending point (i.e., a common final state). This process ensures that all nodes in the network agree on the final state of the blockchain, even though they operate independently.

    This means blockchains require the following four functions:

    • Execution entails executing transactions that update the state correctly. Thus, execution must ensure that only valid transactions are executed, i.e., transactions that result in valid state machine transitions.
    • Settlement entails an environment for execution layers to verify proofs, resolve fraud disputes, and bridge between other execution layers.
    • Consensus entails agreeing on the order of the transactions.
    • Data Availability (DA) entails making the transaction data available. Note that execution, settlement, and consensus require DA.

    Traditional blockchains, i.e. monolithic blockchains, implement all four functions together in a single base consensus layer. The problem with monolithic blockchains is that the consensus layer must perform a lot of different tasks and it cannot be optimized for only one of these functions. As a result, the monolithic paradigm limits the throughput of the system.

    Modular VS Monolithic

    As a solution, modular blockchains decouple these functions among multiple specialized layers as part of a modular stack. Due to the flexibility that specialization provides, there are many possibilities in which that stack can be arranged. For example, one such arrangement is the separation of the four functions into three specialized layers.

    The base layer consists of DA and consensus and thus, is referred to as the Consensus and DA layer (or for brevity, the DA layer), while both settlement and execution are moved on top in their own layers. As a result, every layer can be specialized to optimally perform only its function and thus, increase the throughput of the system. Furthermore, this modular paradigm enables multiple execution layers, i.e., rollups, to use the same settlement and DA layers.

    - +

    Monolithic vs. modular blockchains

    Blockchains instantiate replicated state machines: the nodes in a permissionless distributed network apply an ordered sequence of deterministic transactions to an initial state resulting in a common final state.

    In other words, this means that nodes in a network all follow the same set of rules (i.e., an ordered sequence of transactions) to go from a starting point (i.e., an initial state) to an ending point (i.e., a common final state). This process ensures that all nodes in the network agree on the final state of the blockchain, even though they operate independently.

    This means blockchains require the following four functions:

    • Execution entails executing transactions that update the state correctly. Thus, execution must ensure that only valid transactions are executed, i.e., transactions that result in valid state machine transitions.
    • Settlement entails an environment for execution layers to verify proofs, resolve fraud disputes, and bridge between other execution layers.
    • Consensus entails agreeing on the order of the transactions.
    • Data Availability (DA) entails making the transaction data available. Note that execution, settlement, and consensus require DA.

    Traditional blockchains, i.e. monolithic blockchains, implement all four functions together in a single base consensus layer. The problem with monolithic blockchains is that the consensus layer must perform a lot of different tasks and it cannot be optimized for only one of these functions. As a result, the monolithic paradigm limits the throughput of the system.

    Modular VS Monolithic

    As a solution, modular blockchains decouple these functions among multiple specialized layers as part of a modular stack. Due to the flexibility that specialization provides, there are many possibilities in which that stack can be arranged. For example, one such arrangement is the separation of the four functions into three specialized layers.

    The base layer consists of DA and consensus and thus, is referred to as the Consensus and DA layer (or for brevity, the DA layer), while both settlement and execution are moved on top in their own layers. As a result, every layer can be specialized to optimally perform only its function and thus, increase the throughput of the system. Furthermore, this modular paradigm enables multiple execution layers, i.e., rollups, to use the same settlement and DA layers.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/learn/how-celestia-works/overview.html b/pr-preview/pr-1358/learn/how-celestia-works/overview.html index 39a06bb0e7..e46fed7ac9 100644 --- a/pr-preview/pr-1358/learn/how-celestia-works/overview.html +++ b/pr-preview/pr-1358/learn/how-celestia-works/overview.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Introduction

    Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.

    Celestia enables the next generation of scalable blockchain architectures - modular blockchains. Celestia scales by decoupling execution from consensus and introducing a new primitive, data availability sampling.

    The former entails that Celestia is only responsible for ordering transactions and guaranteeing their data availability; this is similar to reducing consensus to atomic broadcast.

    The latter provides an efficient solution to the data availability problem by only requiring resource-limited light nodes to sample a small number of random chunks from each block to verify data availability.

    Interestingly, more light nodes that participate in sampling increases the amount of data that the network can safely handle, enabling the block size to increase without equally increasing the cost to verify the chain.

    - +

    Introduction

    Celestia is a modular data availability network that securely scales with the number of users, making it easy for anyone to launch their own blockchain.

    Celestia enables the next generation of scalable blockchain architectures - modular blockchains. Celestia scales by decoupling execution from consensus and introducing a new primitive, data availability sampling.

    The former entails that Celestia is only responsible for ordering transactions and guaranteeing their data availability; this is similar to reducing consensus to atomic broadcast.

    The latter provides an efficient solution to the data availability problem by only requiring resource-limited light nodes to sample a small number of random chunks from each block to verify data availability.

    Interestingly, more light nodes that participate in sampling increases the amount of data that the network can safely handle, enabling the block size to increase without equally increasing the cost to verify the chain.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/learn/how-celestia-works/transaction-lifecycle.html b/pr-preview/pr-1358/learn/how-celestia-works/transaction-lifecycle.html index eca8a89995..057d307452 100644 --- a/pr-preview/pr-1358/learn/how-celestia-works/transaction-lifecycle.html +++ b/pr-preview/pr-1358/learn/how-celestia-works/transaction-lifecycle.html @@ -7,12 +7,12 @@ - + - + - + @@ -39,8 +39,8 @@

    The lifecycle of a celestia-app transaction

    Users request the celestia-app to make data available by sending PayForBlobs transactions. Every such transaction consists of the identity of the sender, the data to be made available, also referred to as the message, the data size, the namespace, and a signature. Every block producer batches multiple PayForBlobs transactions into a block.

    Before proposing the block though, the producer passes it to the state machine via ABCI++, where each PayForBlobs transaction is split into a namespaced message (denoted by Msg in the figure below), i.e., the data together with the namespace ID, and an executable transaction (denoted by e-Tx in the figure below) that does not contain the data, but only a commitment that can be used at a later time to prove that the data was indeed made available.

    Thus, the block data consists of data partitioned into namespaces and executable transactions. Note that only these transactions are executed by the Celestia state machine once the block is committed.

    Lifecycle of a celestia-app Transaction

    Next, the block producer adds to the block header a commitment of the block data. As described in the "Celestia's data availability layer" page, the commitment is the Merkle root of the 4k intermediate Merkle roots (i.e., one for each row and column of the extended matrix). To compute this commitment, the block producer performs the following operations:

    • It splits the executable transactions and the namespaced data into shares. Every share consists of some bytes prefixed by a namespace. To this end, the executable transactions are associated with a reserved namespace.
    • It arranges these shares into a square matrix (row-wise). Note that the shares are padded to the next power of two. The outcome square of size k×k is referred to as the original data.
    • It extends the original data to a 2k×2k square matrix using the 2-dimensional Reed-Solomon encoding scheme described above. The extended shares (i.e., containing erasure data) are associated with another reserved namespace.
    • It computes a commitment for every row and column of the extended matrix using the NMTs described above.

    Thus, the commitment of the block data is the root of a Merkle tree with the leaves the roots of a forest of Namespaced Merkle subtrees, one for every row and column of the extended matrix.

    Checking data availability

    DA network

    To enhance connectivity, the celestia-node augments the celestia-app with a separate libp2p network, i.e., the so-called DA network, that serves DAS requests.

    Light nodes connect to a celestia-node in the DA network, listen to extended block headers (i.e., the block headers together with the relevant DA metadata, such as the 4k intermediate Merkle roots), and perform DAS on the received headers (i.e., ask for random data chunks).

    Note that although it is recommended, performing DAS is optional -- light nodes could just trust that the data corresponding to the commitments in the block headers was indeed made available by the Celestia DA layer. In addition, light nodes can also submit transactions to the celestia-app, i.e., PayForBlobs transactions.

    While performing DAS for a block header, every light node queries Celestia Nodes for a number of random data chunks from the extended matrix and the corresponding Merkle proofs. If all the queries are successful, then the light node accepts the block header as valid (from a DA perspective).

    If at least one of the queries fails (i.e., either the data chunk is not received or the Merkle proof is invalid), then the light node rejects the block header and tries again later. The retrial is necessary to deal with false negatives, i.e., block headers being rejected although the block data is available. This may happen due to network congestion for example.

    Alternatively, light nodes may accept a block header although the data is not available, i.e., a false positive. This is possible since the soundness property (i.e., if an honest light node accepts a block as available, then at least one honest full node will eventually have the entire block data) is probabilistically guaranteed (for more details, take a look at the original paper).

    By fine tuning Celestia's parameters (e.g., the number of data chunks sampled by each light node) the likelihood of false positives can be sufficiently reduced such that block producers have no incentive to withhold the block data.

    - +

    The lifecycle of a celestia-app transaction

    Users request the celestia-app to make data available by sending PayForBlobs transactions. Every such transaction consists of the identity of the sender, the data to be made available, also referred to as the message, the data size, the namespace, and a signature. Every block producer batches multiple PayForBlobs transactions into a block.

    Before proposing the block though, the producer passes it to the state machine via ABCI++, where each PayForBlobs transaction is split into a namespaced message (denoted by Msg in the figure below), i.e., the data together with the namespace ID, and an executable transaction (denoted by e-Tx in the figure below) that does not contain the data, but only a commitment that can be used at a later time to prove that the data was indeed made available.

    Thus, the block data consists of data partitioned into namespaces and executable transactions. Note that only these transactions are executed by the Celestia state machine once the block is committed.

    Lifecycle of a celestia-app Transaction

    Next, the block producer adds to the block header a commitment of the block data. As described in the "Celestia's data availability layer" page, the commitment is the Merkle root of the 4k intermediate Merkle roots (i.e., one for each row and column of the extended matrix). To compute this commitment, the block producer performs the following operations:

    • It splits the executable transactions and the namespaced data into shares. Every share consists of some bytes prefixed by a namespace. To this end, the executable transactions are associated with a reserved namespace.
    • It arranges these shares into a square matrix (row-wise). Note that the shares are padded to the next power of two. The outcome square of size k×k is referred to as the original data.
    • It extends the original data to a 2k×2k square matrix using the 2-dimensional Reed-Solomon encoding scheme described above. The extended shares (i.e., containing erasure data) are associated with another reserved namespace.
    • It computes a commitment for every row and column of the extended matrix using the NMTs described above.

    Thus, the commitment of the block data is the root of a Merkle tree with the leaves the roots of a forest of Namespaced Merkle subtrees, one for every row and column of the extended matrix.

    Checking data availability

    DA network

    To enhance connectivity, the celestia-node augments the celestia-app with a separate libp2p network, i.e., the so-called DA network, that serves DAS requests.

    Light nodes connect to a celestia-node in the DA network, listen to extended block headers (i.e., the block headers together with the relevant DA metadata, such as the 4k intermediate Merkle roots), and perform DAS on the received headers (i.e., ask for random data chunks).

    Note that although it is recommended, performing DAS is optional -- light nodes could just trust that the data corresponding to the commitments in the block headers was indeed made available by the Celestia DA layer. In addition, light nodes can also submit transactions to the celestia-app, i.e., PayForBlobs transactions.

    While performing DAS for a block header, every light node queries Celestia Nodes for a number of random data chunks from the extended matrix and the corresponding Merkle proofs. If all the queries are successful, then the light node accepts the block header as valid (from a DA perspective).

    If at least one of the queries fails (i.e., either the data chunk is not received or the Merkle proof is invalid), then the light node rejects the block header and tries again later. The retrial is necessary to deal with false negatives, i.e., block headers being rejected although the block data is available. This may happen due to network congestion for example.

    Alternatively, light nodes may accept a block header although the data is not available, i.e., a false positive. This is possible since the soundness property (i.e., if an honest light node accepts a block as available, then at least one honest full node will eventually have the entire block data) is probabilistically guaranteed (for more details, take a look at the original paper).

    By fine tuning Celestia's parameters (e.g., the number of data chunks sampled by each light node) the likelihood of false positives can be sufficiently reduced such that block producers have no incentive to withhold the block data.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/learn/paying-for-blobspace.html b/pr-preview/pr-1358/learn/paying-for-blobspace.html index c2a90f55b7..3e85aa52a5 100644 --- a/pr-preview/pr-1358/learn/paying-for-blobspace.html +++ b/pr-preview/pr-1358/learn/paying-for-blobspace.html @@ -7,12 +7,12 @@ - + - + - + @@ -39,8 +39,8 @@

    Paying for blobspace

    PayForBlobs transactions

    To publish data on Celestia, developers can submit PayForBlobs transactions. A PayForBlobs transaction consists of the identity of the sender, the data to be made available, the data size, the namespace, and a signature.

    Each PayForBlobs transaction is split into two parts: the blob or blobs which include the data to be made available along with the namespace, and the executable payment transaction which includes a commitment to the data.

    Both the blobs and executable payment transactions are put into the block within the appropriate namespace. The block data is extended using erasure coding and then Merkelized into a data root commitment included in the block header.

    Lifecycle of a celestia-app Transaction

    See the detailed life cycle of a Celestia transaction.

    Learn how to submit data to Celestia’s data availability layer.

    Fee market overview

    Celestia uses a standard gas-price prioritised mempool. This means that transactions with higher fees will be prioritised by validators. Fees are comprised of a flat fee per transaction and then a variable fee based on the size of each blob in the transaction.

    Understand how fees are calculated on Celestia in the overview on submitting PFB transactions.

    - +

    Paying for blobspace

    PayForBlobs transactions

    To publish data on Celestia, developers can submit PayForBlobs transactions. A PayForBlobs transaction consists of the identity of the sender, the data to be made available, the data size, the namespace, and a signature.

    Each PayForBlobs transaction is split into two parts: the blob or blobs which include the data to be made available along with the namespace, and the executable payment transaction which includes a commitment to the data.

    Both the blobs and executable payment transactions are put into the block within the appropriate namespace. The block data is extended using erasure coding and then Merkelized into a data root commitment included in the block header.

    Lifecycle of a celestia-app Transaction

    See the detailed life cycle of a Celestia transaction.

    Learn how to submit data to Celestia’s data availability layer.

    Fee market overview

    Celestia uses a standard gas-price prioritised mempool. This means that transactions with higher fees will be prioritised by validators. Fees are comprised of a flat fee per transaction and then a variable fee based on the size of each blob in the transaction.

    Understand how fees are calculated on Celestia in the overview on submitting PFB transactions.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/learn/staking-governance-supply.html b/pr-preview/pr-1358/learn/staking-governance-supply.html index b41dc32278..ce37356d8b 100644 --- a/pr-preview/pr-1358/learn/staking-governance-supply.html +++ b/pr-preview/pr-1358/learn/staking-governance-supply.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Staking, governance, & supply

    Proof-of-stake on Celestia

    Celestia is a proof-of-stake blockchain based on CometBFT and the Cosmos SDK. Celestia supports in-protocol delegation and will start with an initial validator set of 100.

    Staking TIA as a validator or delegator enables you to earn staking rewards from the network. Validators charge a fee to delegators which gives them a percentage of staking rewards.

    Learn how proof of stake works on Cosmos SDK chains like Celestia.

    Consensus mechanismProof-of-stake
    Blockchain frameworkCosmos SDK
    Validator set size100
    Delegation supportYes

    Learn how to stake on your own at the community dashboards.

    Inflation

    TIA inflation starts at 8% annually and decreases by 10% every year until it reaches the long term issuance rate of 1.5%. Exact annual inflation rates can be found in the diagram below.

    inflation diagram

    The annual provisions for inflation are calculated based on the total supply of TIA at the beginning of each year. To calculate how many TIA to issue per block, Celestia uses the block timestamp rather than the block height since the time between blocks can vary and cause actual issuance to be higher than the target.

    For an in-depth understanding, refer to ADR019.

    Decentralised governance

    Network parameters

    TIA holders (not just stakers) can propose and vote on governance proposals to change a subset of network parameters. To learn more, see a complete list of both the changeable and non-changeable parameters and their values. Additionally, learn how to submit and vote on governance proposals.

    Community pool

    Starting at genesis, Celestia’s community pool receives 2% of all Celestia block rewards. TIA stakers may vote to fund ecosystem initiatives as in many other Cosmos SDK chains.

    Learn how to submit a governance proposal to spend community pool funds .

    TIA allocation at genesis

    Celestia will have a total supply of 1,000,000,000 TIA at genesis, split across five categories described in the chart and table below.

    allocation diagram

    CategoryDescription%
    Public AllocationGenesis Drop and Incentivized Testnet: 7.4%
    Future initiatives: 12.6%
    20%
    R&D & EcosystemTokens allocated to the Celestia Foundation and core devs for research, development, and ecosystem initiatives including:
    - Protocol maintenance and development
    - Programs for rollup developers, infrastructure, and node operators
    26.8%
    Early Backers: Series A&BEarly supporters of Celestia19.7%
    Early Backers: SeedEarly supporters of Celestia15.9%
    Initial Core ContributorsMembers of Celestia Labs, the first core contributor to Celestia17.6%

    Unlocks

    Celestia’s 1 billion TIA supply at genesis will be subject to several different unlock schedules. All tokens, locked or unlocked, may be staked, but staking rewards are unlocked upon receipt and will add to the circulating supply.

    Circulating supply is defined as the amount of TIA tokens in general circulation without onchain transfer restrictions.

    Available supply is defined as the amount of TIA tokens that are either part of the circulating supply or are unlocked but subject to some form of governance to determine when the tokens are allocated. This includes the unlocked portion of the R&D & Ecosystem tokens and the tokens set aside for future initiatives.

    The definitions for circulating and available supply were adapted from Optimism’s definitions.

    supply diagram

    Unlock schedule by category is described in the table below.

    CategoryUnlock Schedule
    Public AllocationFully unlocked at launch.
    R&D & Ecosystem25% unlocked at launch.
    Remaining 75% unlocks continuously from year 1 to year 4.
    Initial Core Contributors33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 3.
    Early Backers: Seed33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 2.
    Early Backers: Series A&B33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 2.
    - +

    Staking, governance, & supply

    Proof-of-stake on Celestia

    Celestia is a proof-of-stake blockchain based on CometBFT and the Cosmos SDK. Celestia supports in-protocol delegation and will start with an initial validator set of 100.

    Staking TIA as a validator or delegator enables you to earn staking rewards from the network. Validators charge a fee to delegators which gives them a percentage of staking rewards.

    Learn how proof of stake works on Cosmos SDK chains like Celestia.

    Consensus mechanismProof-of-stake
    Blockchain frameworkCosmos SDK
    Validator set size100
    Delegation supportYes

    Learn how to stake on your own at the community dashboards.

    Inflation

    TIA inflation starts at 8% annually and decreases by 10% every year until it reaches the long term issuance rate of 1.5%. Exact annual inflation rates can be found in the diagram below.

    inflation diagram

    The annual provisions for inflation are calculated based on the total supply of TIA at the beginning of each year. To calculate how many TIA to issue per block, Celestia uses the block timestamp rather than the block height since the time between blocks can vary and cause actual issuance to be higher than the target.

    For an in-depth understanding, refer to ADR019.

    Decentralised governance

    Network parameters

    TIA holders (not just stakers) can propose and vote on governance proposals to change a subset of network parameters. To learn more, see a complete list of both the changeable and non-changeable parameters and their values. Additionally, learn how to submit and vote on governance proposals.

    Community pool

    Starting at genesis, Celestia’s community pool receives 2% of all Celestia block rewards. TIA stakers may vote to fund ecosystem initiatives as in many other Cosmos SDK chains.

    Learn how to submit a governance proposal to spend community pool funds .

    TIA allocation at genesis

    Celestia will have a total supply of 1,000,000,000 TIA at genesis, split across five categories described in the chart and table below.

    allocation diagram

    CategoryDescription%
    Public AllocationGenesis Drop and Incentivized Testnet: 7.4%
    Future initiatives: 12.6%
    20%
    R&D & EcosystemTokens allocated to the Celestia Foundation and core devs for research, development, and ecosystem initiatives including:
    - Protocol maintenance and development
    - Programs for rollup developers, infrastructure, and node operators
    26.8%
    Early Backers: Series A&BEarly supporters of Celestia19.7%
    Early Backers: SeedEarly supporters of Celestia15.9%
    Initial Core ContributorsMembers of Celestia Labs, the first core contributor to Celestia17.6%

    Unlocks

    Celestia’s 1 billion TIA supply at genesis will be subject to several different unlock schedules. All tokens, locked or unlocked, may be staked, but staking rewards are unlocked upon receipt and will add to the circulating supply.

    Circulating supply is defined as the amount of TIA tokens in general circulation without onchain transfer restrictions.

    Available supply is defined as the amount of TIA tokens that are either part of the circulating supply or are unlocked but subject to some form of governance to determine when the tokens are allocated. This includes the unlocked portion of the R&D & Ecosystem tokens and the tokens set aside for future initiatives.

    The definitions for circulating and available supply were adapted from Optimism’s definitions.

    supply diagram

    Unlock schedule by category is described in the table below.

    CategoryUnlock Schedule
    Public AllocationFully unlocked at launch.
    R&D & Ecosystem25% unlocked at launch.
    Remaining 75% unlocks continuously from year 1 to year 4.
    Initial Core Contributors33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 3.
    Early Backers: Seed33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 2.
    Early Backers: Series A&B33% unlocked at year 1.
    Remaining 67% unlocks continuously from year 1 to year 2.
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/learn/tia.html b/pr-preview/pr-1358/learn/tia.html index c0de7cf11a..2516501289 100644 --- a/pr-preview/pr-1358/learn/tia.html +++ b/pr-preview/pr-1358/learn/tia.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Overview of TIA

    TIA at a glance

    PropertyDetails
    AbbreviationTIA
    Total supply at genesis1,000,000,000 TIA
    Inflation schedule8% in the first year, decreasing 10% per year until reaching an inflation floor of 1.5% annually
    Decimals6
    Conversion1 uTIA=TIA×106

    Role of TIA

    Paying for blobspace

    Celestia’s native asset, TIA, is an essential part of how developers build on the first modular blockchain network. To use Celestia for data availability, rollup developers submit PayForBlobs transactions on the network for a fee, denominated in TIA.

    Bootstrapping new rollups

    A core part of the Celestia vision is that deploying a blockchain should be as easy as deploying a smart contract. In the modular era, developers no longer need to issue a token to launch their own blockchain.

    Similarly to ETH on Ethereum-based rollups, developers may opt to bootstrap their chain quickly by using TIA as a gas token and currency, in addition to paying for data availability. In this mode, developers can focus on creating their application or execution layer, instead of issuing a token right away.

    Proof-of-stake

    As a permissionless network built with Cosmos SDK, Celestia uses proof-of-stake to secure its own consensus. Like in other Cosmos networks, any user can help secure the network by delegating their TIA to a Celestia validator for a portion of their validator’s staking rewards.

    Learn how proof-of-stake works in Cosmos.

    Decentralised governance

    TIA staking also allows the community to play a critical role in decentralised governance over key parts of Celestia, such as voting on network parameters through governance proposals, and governing the community pool, which receives 2% of block rewards.

    Learn more about Celestia’s decentralised governance model.

    Denominations

    TIA: display token

    TIA is the DisplayDenom that you will typically see in wallets and user interfaces.

    utia: staking denomination

    utia is the BondDenom and stands for "micro TIA", with 1 TIA = 1,000,000 utia. This is the native staking denomination.

    In staking operations or transactions, if no denomination is specified, utia is assumed.

    microtia: staking denomination alias

    microtia is the BondDenomAlias, an alias for utia.

    - +

    Overview of TIA

    TIA at a glance

    PropertyDetails
    AbbreviationTIA
    Total supply at genesis1,000,000,000 TIA
    Inflation schedule8% in the first year, decreasing 10% per year until reaching an inflation floor of 1.5% annually
    Decimals6
    Conversion1 uTIA=TIA×106

    Role of TIA

    Paying for blobspace

    Celestia’s native asset, TIA, is an essential part of how developers build on the first modular blockchain network. To use Celestia for data availability, rollup developers submit PayForBlobs transactions on the network for a fee, denominated in TIA.

    Bootstrapping new rollups

    A core part of the Celestia vision is that deploying a blockchain should be as easy as deploying a smart contract. In the modular era, developers no longer need to issue a token to launch their own blockchain.

    Similarly to ETH on Ethereum-based rollups, developers may opt to bootstrap their chain quickly by using TIA as a gas token and currency, in addition to paying for data availability. In this mode, developers can focus on creating their application or execution layer, instead of issuing a token right away.

    Proof-of-stake

    As a permissionless network built with Cosmos SDK, Celestia uses proof-of-stake to secure its own consensus. Like in other Cosmos networks, any user can help secure the network by delegating their TIA to a Celestia validator for a portion of their validator’s staking rewards.

    Learn how proof-of-stake works in Cosmos.

    Decentralised governance

    TIA staking also allows the community to play a critical role in decentralised governance over key parts of Celestia, such as voting on network parameters through governance proposals, and governing the community pool, which receives 2% of block rewards.

    Learn more about Celestia’s decentralised governance model.

    Denominations

    TIA: display token

    TIA is the DisplayDenom that you will typically see in wallets and user interfaces.

    utia: staking denomination

    utia is the BondDenom and stands for "micro TIA", with 1 TIA = 1,000,000 utia. This is the native staking denomination.

    In staking operations or transactions, if no denomination is specified, utia is assumed.

    microtia: staking denomination alias

    microtia is the BondDenomAlias, an alias for utia.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/arabica-9.html b/pr-preview/pr-1358/nodes/arabica-9.html index 5c65b4ffe0..d5009e8dfc 100644 --- a/pr-preview/pr-1358/nodes/arabica-9.html +++ b/pr-preview/pr-1358/nodes/arabica-9.html @@ -7,12 +7,12 @@ - + - + - + @@ -39,8 +39,8 @@

    Arabica-9 devnet

    arabica-devnet

    WARNING

    This page is maintained for developers still using the arabica-9 devnet.

    Refer to the Arabica devnet page for the latest updates on the Arabica devnet.

    Software version numbers

    Integrations

    This guide contains the relevant sections for how to connect to arabica-9, depending on the type of node you are running.

    Your best approach to participating is to first determine which node you would like to run. Each node's guide will link to the relevant networks in order to show you how to connect to them.

    You have a list of options on the type of nodes you can run in order to participate in arabica-9:

    Data Availability:

    Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Arabica in order to refer to the correct instructions on this page on how to connect to arabica-9.

    RPC endpoints

    The RPC endpoint is to allow users to interact with Celestia's nodes by querying the node's state and broadcasting transactions on the Celestia network. The default port is 26657.

    Below is a list of RPC endpoints you can use to connect to arabica-9 Devnet:

    Bridge, full, and light nodes

    • consensus-validator-arabica-9.celestia-arabica.com
    • validator.consensus-arabica-9.celestia-arabica.com
    • consensus-full-arabica-9.celestia-arabica.com

    Full and light nodes ONLY

    These RPC endpoints do not allow you to download full blocks from them. We advise that if you are running a bridge node, that you also run a local full consensus node in order to download full blocks from it.

    • rpc-arabica-9.consensus.celestia-arabica.com
    • rpc-2-arabica-9.consensus.celestia-arabica.com

    API endpoints

    The API endpoint is to allow users to interact with the REST API in Cosmos SDK which is implemented using gRPC-gateway, which exposes gRPC endpoints as REST endpoints. This allows for communication with the node using REST calls, which can be useful if the client does not support gRPC or HTTP2. The default port is 1317.

    gRPC endpoints

    The gRPC endpoint is to allow users to interact with a Celestia Node using gRPC, a modern open-source and high-performance RPC framework. The default port is 9090. In the Cosmos SDK, gRPC is used to define state queries and broadcast transactions.

    • grpc-arabica-9.consensus.celestia-arabica.com:443
    • grpc-2-arabica-9.consensus.celestia-arabica.com:443
    • validator.consensus-arabica-9.celestia-arabica.com:9090
    • consensus-validator-arabica-9.celestia-arabica.com:9090

    Arabica devnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    Web

    The web faucet is available at https://faucet-arabica-9.celestia-arabica.com/.

    Explorers

    There is an explorer you can use for Arabica:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    - +

    Arabica-9 devnet

    arabica-devnet

    WARNING

    This page is maintained for developers still using the arabica-9 devnet.

    Refer to the Arabica devnet page for the latest updates on the Arabica devnet.

    Software version numbers

    Integrations

    This guide contains the relevant sections for how to connect to arabica-9, depending on the type of node you are running.

    Your best approach to participating is to first determine which node you would like to run. Each node's guide will link to the relevant networks in order to show you how to connect to them.

    You have a list of options on the type of nodes you can run in order to participate in arabica-9:

    Data Availability:

    Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Arabica in order to refer to the correct instructions on this page on how to connect to arabica-9.

    RPC endpoints

    The RPC endpoint is to allow users to interact with Celestia's nodes by querying the node's state and broadcasting transactions on the Celestia network. The default port is 26657.

    Below is a list of RPC endpoints you can use to connect to arabica-9 Devnet:

    Bridge, full, and light nodes

    • consensus-validator-arabica-9.celestia-arabica.com
    • validator.consensus-arabica-9.celestia-arabica.com
    • consensus-full-arabica-9.celestia-arabica.com

    Full and light nodes ONLY

    These RPC endpoints do not allow you to download full blocks from them. We advise that if you are running a bridge node, that you also run a local full consensus node in order to download full blocks from it.

    • rpc-arabica-9.consensus.celestia-arabica.com
    • rpc-2-arabica-9.consensus.celestia-arabica.com

    API endpoints

    The API endpoint is to allow users to interact with the REST API in Cosmos SDK which is implemented using gRPC-gateway, which exposes gRPC endpoints as REST endpoints. This allows for communication with the node using REST calls, which can be useful if the client does not support gRPC or HTTP2. The default port is 1317.

    gRPC endpoints

    The gRPC endpoint is to allow users to interact with a Celestia Node using gRPC, a modern open-source and high-performance RPC framework. The default port is 9090. In the Cosmos SDK, gRPC is used to define state queries and broadcast transactions.

    • grpc-arabica-9.consensus.celestia-arabica.com:443
    • grpc-2-arabica-9.consensus.celestia-arabica.com:443
    • validator.consensus-arabica-9.celestia-arabica.com:9090
    • consensus-validator-arabica-9.celestia-arabica.com:9090

    Arabica devnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    Web

    The web faucet is available at https://faucet-arabica-9.celestia-arabica.com/.

    Explorers

    There is an explorer you can use for Arabica:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/arabica-devnet.html b/pr-preview/pr-1358/nodes/arabica-devnet.html index 59ee851181..ffdf59b290 100644 --- a/pr-preview/pr-1358/nodes/arabica-devnet.html +++ b/pr-preview/pr-1358/nodes/arabica-devnet.html @@ -7,15 +7,15 @@ - + - + - + @@ -46,8 +46,8 @@ –core.grpc.port <port> \
    celestia <da_type> start –core.ip <url> –core.rpc.port <port> \
         –core.grpc.port <port> \

    RPCs for DA nodes to initialise or start your celestia-node to Arabica devnet with can be found in the table in the "Direct endpoints with open ports" section above.

    As an example, this command will work to start a light node with state access, using default ports:

    bash
    celestia light start --p2p.netowrk arabica \
       --core.ip validator-1.celestia-arabica-11.com
    celestia light start --p2p.netowrk arabica \
    -  --core.ip validator-1.celestia-arabica-11.com

    Bridge node runners

    Not all of the RPC endpoints do not guarantee the full block history. Find an archive endpoint on the community dashboard or run your own consensus full node with no pruning for your bridge node.

    Arabica devnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    Discord

    You can request from Arabica devnet Faucet on the #arabica-faucet channel on Celestia's Discord server with the following command:

    text
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

    NOTE

    Faucet has a limit of 10 tokens per week per address/Discord ID.

    Web

    The web faucet is available at https://faucet.celestia-arabica-11.com/.

    Explorers

    There are multiple explorers you can use for Arabica:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    - + --core.ip validator-1.celestia-arabica-11.com

    Bridge node runners

    Not all of the RPC endpoints do not guarantee the full block history. Find an archive endpoint on the community dashboard or run your own consensus full node with no pruning for your bridge node.

    Arabica devnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    Discord

    You can request from Arabica devnet Faucet on the #arabica-faucet channel on Celestia's Discord server with the following command:

    text
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

    NOTE

    Faucet has a limit of 10 tokens per week per address/Discord ID.

    Web

    The web faucet is available at https://faucet.celestia-arabica-11.com/.

    Explorers

    There are multiple explorers you can use for Arabica:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/blobstream-binary.html b/pr-preview/pr-1358/nodes/blobstream-binary.html index 17194240b4..43d0b26094 100644 --- a/pr-preview/pr-1358/nodes/blobstream-binary.html +++ b/pr-preview/pr-1358/nodes/blobstream-binary.html @@ -7,12 +7,12 @@ - + - + - + @@ -45,8 +45,8 @@ cd orchestrator-relayer git checkout v1.0.1

    These commands check you out to: v1.0.1 of @celestiaorg/orchestrator-relayer

  • Install the Blobstream CLI

    sh
    make install
    make install
  • Usage

    sh
    # Print help
     blobstream --help
    # Print help
    -blobstream --help

    Next steps

    1. If you are a Celestia validator, all you need to do is run the orchestrator. Check out the Blobstream orchestrator page for more details.
    2. Learn about key management
    3. Optional: If you want to post commitments on an EVM chain, you will need to deploy a new Blobstream contract and run a relayer, or run a relayer for an already deployed Blobstream contract. Check out the Blobstream relayer page for relayer docs and the Blobstream deployment page for how to deploy a new Blobstream contract.
    4. Optional: Learn how to run a Blobstream bootstrapper node

    TIP

    The Blobstream P2P network is a separate network than the consensus or the data availability one. Thus, you will need its specific bootstrappers to be able to connect to it.

    The smart contract implementation is in blobstream-contracts.

    The state machine implementation is in x/blobstream.

    Blobstream ADRs are in the docs.

    Blobstream design explained in this blog post on layer 2s.

    - +blobstream --help

    Next steps

    1. If you are a Celestia validator, all you need to do is run the orchestrator. Check out the Blobstream orchestrator page for more details.
    2. Learn about key management
    3. Optional: If you want to post commitments on an EVM chain, you will need to deploy a new Blobstream contract and run a relayer, or run a relayer for an already deployed Blobstream contract. Check out the Blobstream relayer page for relayer docs and the Blobstream deployment page for how to deploy a new Blobstream contract.
    4. Optional: Learn how to run a Blobstream bootstrapper node

    TIP

    The Blobstream P2P network is a separate network than the consensus or the data availability one. Thus, you will need its specific bootstrappers to be able to connect to it.

    The smart contract implementation is in blobstream-contracts.

    The state machine implementation is in x/blobstream.

    Blobstream ADRs are in the docs.

    Blobstream design explained in this blog post on layer 2s.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/blobstream-bootstrapper.html b/pr-preview/pr-1358/nodes/blobstream-bootstrapper.html index 29ec28462a..8f6c8b56d3 100644 --- a/pr-preview/pr-1358/nodes/blobstream-bootstrapper.html +++ b/pr-preview/pr-1358/nodes/blobstream-bootstrapper.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Blobstream bootstrapper

    To bootstrap the Blobstream P2P network, we use the bootstrapper Blobstream node type to accept connections from freshly created orchestrators/relayers and share its peer table with them.

    How to run

    Install the Blobstream binary

    Make sure to have the Blobstream binary installed. Check the Blobstream binary page for more details.

    Init the store

    Before starting the bootstrapper, we will need to init the store:

    sh
    blobstream bootstrapper init
    blobstream bootstrapper init

    By default, the store will be created in ~/.bootstrapper. However, if you want to specify a custom location, you can use the --home flag. Or, you can use the following environment variable:

    VariableExplanationDefault valueRequired
    BOOTSTRAPPER_HOMEHome directory for the bootstrapper~/.bootstrapperOptional

    Add keys

    The P2P private key is optional, and a new one will be generated automatically on the start if none is provided.

    The p2p sub-command will help you set up this key if you want to use a specific one:

    sh
    blobstream bootstrapper p2p  --help
    blobstream bootstrapper p2p  --help

    Open the P2P port

    In order for the bootstrapper node to work, you will need to expose the P2P port, which is by default 30000.

    Start the bootstrapper

    Now that we have the store initialized, we can start the bootstrapper:

    shell
    blobstream bootstrapper start
    blobstream bootstrapper start

    Systemd service

    An example of a systemd service that can be used for bootstrappers can be found in the orchestrator documentation.

    - +

    Blobstream bootstrapper

    To bootstrap the Blobstream P2P network, we use the bootstrapper Blobstream node type to accept connections from freshly created orchestrators/relayers and share its peer table with them.

    How to run

    Install the Blobstream binary

    Make sure to have the Blobstream binary installed. Check the Blobstream binary page for more details.

    Init the store

    Before starting the bootstrapper, we will need to init the store:

    sh
    blobstream bootstrapper init
    blobstream bootstrapper init

    By default, the store will be created in ~/.bootstrapper. However, if you want to specify a custom location, you can use the --home flag. Or, you can use the following environment variable:

    VariableExplanationDefault valueRequired
    BOOTSTRAPPER_HOMEHome directory for the bootstrapper~/.bootstrapperOptional

    Add keys

    The P2P private key is optional, and a new one will be generated automatically on the start if none is provided.

    The p2p sub-command will help you set up this key if you want to use a specific one:

    sh
    blobstream bootstrapper p2p  --help
    blobstream bootstrapper p2p  --help

    Open the P2P port

    In order for the bootstrapper node to work, you will need to expose the P2P port, which is by default 30000.

    Start the bootstrapper

    Now that we have the store initialized, we can start the bootstrapper:

    shell
    blobstream bootstrapper start
    blobstream bootstrapper start

    Systemd service

    An example of a systemd service that can be used for bootstrappers can be found in the orchestrator documentation.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/blobstream-deploy.html b/pr-preview/pr-1358/nodes/blobstream-deploy.html index 60a0fe2ec6..af6c1b1465 100644 --- a/pr-preview/pr-1358/nodes/blobstream-deploy.html +++ b/pr-preview/pr-1358/nodes/blobstream-deploy.html @@ -7,11 +7,11 @@ - + - - + + @@ -66,8 +66,8 @@ --core.grpc localhost:9090 \ --core.rpc localhost:26657 \ --starting-nonce latest \ - --evm.rpc http://localhost:8545

    The --starting-nonce can have the following values:

    • latest: to deploy the Blobstream contract starting from the latest validator set.
    • earliest: to deploy the Blobstream contract starting from genesis.
    • nonce: you can provide a custom nonce on where you want Blobstream to start. If the provided nonce is not a Valset attestation, then the valset before it will be used to deploy the Blobstream smart contract.

    And, now you will see the Blobstream smart contract address in the logs along with the transaction hash.

    - + --evm.rpc http://localhost:8545

    The --starting-nonce can have the following values:

    • latest: to deploy the Blobstream contract starting from the latest validator set.
    • earliest: to deploy the Blobstream contract starting from genesis.
    • nonce: you can provide a custom nonce on where you want Blobstream to start. If the provided nonce is not a Valset attestation, then the valset before it will be used to deploy the Blobstream smart contract.

    And, now you will see the Blobstream smart contract address in the logs along with the transaction hash.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/blobstream-keys.html b/pr-preview/pr-1358/nodes/blobstream-keys.html index b1cdcaaca3..89e0fa3296 100644 --- a/pr-preview/pr-1358/nodes/blobstream-keys.html +++ b/pr-preview/pr-1358/nodes/blobstream-keys.html @@ -7,11 +7,11 @@ - + - - + + @@ -326,8 +326,8 @@ list existing p2p addresses Usage: - blobstream orchestrator keys p2p list [flags] - + blobstream orchestrator keys p2p list [flags] + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/blobstream-orchestrator.html b/pr-preview/pr-1358/nodes/blobstream-orchestrator.html index d8e632da89..9ce9c02316 100644 --- a/pr-preview/pr-1358/nodes/blobstream-orchestrator.html +++ b/pr-preview/pr-1358/nodes/blobstream-orchestrator.html @@ -7,11 +7,11 @@ - + - - + + @@ -168,8 +168,8 @@ TTYPath=/dev/tty0 [Install] -WantedBy=multi-user.target
    • Start the orchestrator service using:
    shell
    sudo systemctl start orchestrator
    sudo systemctl start orchestrator
    • Follow the logs to see if everything is running correctly:
    shell
    sudo journalctl -f -u orchestrator
    sudo journalctl -f -u orchestrator

    And you should see the orchestrator signing.

    Issue: Journald not outputting the logs

    Sometimes, journald wouldn't load the logs from the specified service. An easy fix would be to restart it:

    shell
    sudo systemctl restart systemd-journald
    sudo systemctl restart systemd-journald

    Then, you should be able to follow the logs as expected.

    - +WantedBy=multi-user.target
    • Start the orchestrator service using:
    shell
    sudo systemctl start orchestrator
    sudo systemctl start orchestrator
    • Follow the logs to see if everything is running correctly:
    shell
    sudo journalctl -f -u orchestrator
    sudo journalctl -f -u orchestrator

    And you should see the orchestrator signing.

    Issue: Journald not outputting the logs

    Sometimes, journald wouldn't load the logs from the specified service. An easy fix would be to restart it:

    shell
    sudo systemctl restart systemd-journald
    sudo systemctl restart systemd-journald

    Then, you should be able to follow the logs as expected.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/blobstream-relayer.html b/pr-preview/pr-1358/nodes/blobstream-relayer.html index 9e31d85f38..e56476f710 100644 --- a/pr-preview/pr-1358/nodes/blobstream-relayer.html +++ b/pr-preview/pr-1358/nodes/blobstream-relayer.html @@ -7,11 +7,11 @@ - + - - + + @@ -52,8 +52,8 @@ Runs the Blobstream relayer to submit attestations to the target EVM chain Usage: - blobstream relayer start <flags> [flags]

    Also, you can set the necessary configuration in the relayers's TOML config file. You can find the orchestrator's TOML config file in the relayer's home directory under config/config.toml.

    NOTE: The CLI flags take precedence over the config files for the same parameters.

    To start the relayer using the default home directory, run the following:

    sh
    /bin/blobstream relayer start --evm.account=0x35a1F8CE94187E4b043f4D57548EF2348Ed556c8
    /bin/blobstream relayer start --evm.account=0x35a1F8CE94187E4b043f4D57548EF2348Ed556c8

    NOTE: The above command assumes that the necessary configuration is specified in the <relayer_home>/config/config.toml file.

    Then, you will be prompted to enter your EVM key passphrase for the EVM address passed using the --evm.account flag, so that the relayer can use it to send transactions to the target Blobstream smart contract. Make sure that it's funded.

    - + blobstream relayer start <flags> [flags]

    Also, you can set the necessary configuration in the relayers's TOML config file. You can find the orchestrator's TOML config file in the relayer's home directory under config/config.toml.

    NOTE: The CLI flags take precedence over the config files for the same parameters.

    To start the relayer using the default home directory, run the following:

    sh
    /bin/blobstream relayer start --evm.account=0x35a1F8CE94187E4b043f4D57548EF2348Ed556c8
    /bin/blobstream relayer start --evm.account=0x35a1F8CE94187E4b043f4D57548EF2348Ed556c8

    NOTE: The above command assumes that the necessary configuration is specified in the <relayer_home>/config/config.toml file.

    Then, you will be prompted to enter your EVM key passphrase for the EVM address passed using the --evm.account flag, so that the relayer can use it to send transactions to the target Blobstream smart contract. Make sure that it's funded.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/bridge-node.html b/pr-preview/pr-1358/nodes/bridge-node.html index 97af290202..f54eae4ec5 100644 --- a/pr-preview/pr-1358/nodes/bridge-node.html +++ b/pr-preview/pr-1358/nodes/bridge-node.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,14 +38,14 @@

    Setting up a Celestia bridge node

    This tutorial will go over the steps to setting up your Celestia bridge node.

    Bridge nodes connect the data availability layer and the consensus layer.

    Overview of bridge nodes

    A Celestia bridge node has the following properties:

    1. Import and process “raw” headers & blocks from a trusted core process (meaning a trusted RPC connection to a celestia-core node) in the Consensus network. Bridge nodes can run this core process internally (embedded) or simply connect to a remote endpoint. Bridge nodes also have the option of being an active validator in the consensus network.
    2. Validate and erasure code the “raw” blocks
    3. Supply block shares with data availability headers to light nodes in the DA network.

    bridge-node-diagram

    From an implementation perspective, Bridge nodes run two separate processes:

    1. celestia-app with celestia-core (see repo)

      • celestia-app is the state machine where the application and the proof-of-stake logic is run. celestia-app is built on Cosmos SDK and also encompasses celestia-core.
      • celestia-core is the state interaction, consensus and block production layer. celestia-core is built on Tendermint Core, modified to store data roots of erasure coded blocks among other changes (see ADRs).
    2. celestia-node (see repo)

      • celestia-node augments the above with a separate libp2p network that serves data availability sampling requests. The team sometimes refers to this as the “halo” network.

    Hardware requirements

    The following hardware minimum requirements are recommended for running the bridge node:

    • Memory: 4 GB RAM (minimum)
    • CPU: 6 cores
    • Disk: 10 TB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    Setting up your bridge node

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Setup the dependencies

    Follow the tutorial for installing the dependencies.

    Deploy the Celestia bridge node

    Install Celestia Node

    Install the celestia-node binary, which will be used to run the bridge node.

    Follow the tutorial for installing celestia-node.

    Initialize the bridge node

    Run the following:

    sh
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>

    The --core.ip gRPC port defaults to 9090, so if you do not specify it in the command line, it will default to that port. You can add the port after the IP address or use the --core.grpc.port flag to specify another port if you prefer.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    Here is an example of initializing the bridge node:

    sh
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>
    sh
    celestia bridge init --core.ip <URI> --p2p.network mocha
    celestia bridge init --core.ip <URI> --p2p.network mocha
    sh
    celestia bridge init --core.ip <URI> --p2p.network arabica
    celestia bridge init --core.ip <URI> --p2p.network arabica

    Run the bridge node

    Start the bridge node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    sh
    celestia bridge start --core.ip <URI>
    celestia bridge start --core.ip <URI>

    Here is an example of starting the bridge node on Mocha:

    sh
    celestia bridge start --core.ip rpc-mocha.pops.one:26657
    celestia bridge start --core.ip rpc-mocha.pops.one:26657

    And on Arabica:

    sh
    celestia bridge start --core.ip consensus-validator.celestia-arabica-10.com \
    +

    Setting up a Celestia bridge node

    This tutorial will go over the steps to setting up your Celestia bridge node.

    Bridge nodes connect the data availability layer and the consensus layer.

    Overview of bridge nodes

    A Celestia bridge node has the following properties:

    1. Import and process “raw” headers & blocks from a trusted core process (meaning a trusted RPC connection to a celestia-core node) in the Consensus network. Bridge nodes can run this core process internally (embedded) or simply connect to a remote endpoint. Bridge nodes also have the option of being an active validator in the consensus network.
    2. Validate and erasure code the “raw” blocks
    3. Supply block shares with data availability headers to light nodes in the DA network.

    bridge-node-diagram

    From an implementation perspective, Bridge nodes run two separate processes:

    1. celestia-app with celestia-core (see repo)

      • celestia-app is the state machine where the application and the proof-of-stake logic is run. celestia-app is built on Cosmos SDK and also encompasses celestia-core.
      • celestia-core is the state interaction, consensus and block production layer. celestia-core is built on Tendermint Core, modified to store data roots of erasure coded blocks among other changes (see ADRs).
    2. celestia-node (see repo)

      • celestia-node augments the above with a separate libp2p network that serves data availability sampling requests. The team sometimes refers to this as the “halo” network.

    Hardware requirements

    The following hardware minimum requirements are recommended for running the bridge node:

    • Memory: 4 GB RAM (minimum)
    • CPU: 6 cores
    • Disk: 10 TB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    Setting up your bridge node

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Setup the dependencies

    Follow the tutorial for installing the dependencies.

    Deploy the Celestia bridge node

    Install Celestia Node

    Install the celestia-node binary, which will be used to run the bridge node.

    Follow the tutorial for installing celestia-node.

    Initialize the bridge node

    Run the following:

    sh
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>

    The --core.ip gRPC port defaults to 9090, so if you do not specify it in the command line, it will default to that port. You can add the port after the IP address or use the --core.grpc.port flag to specify another port if you prefer.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    Here is an example of initializing the bridge node:

    sh
    celestia bridge init --core.ip <URI>
    celestia bridge init --core.ip <URI>
    sh
    celestia bridge init --core.ip <URI> --p2p.network mocha
    celestia bridge init --core.ip <URI> --p2p.network mocha
    sh
    celestia bridge init --core.ip <URI> --p2p.network arabica
    celestia bridge init --core.ip <URI> --p2p.network arabica

    Run the bridge node

    Start the bridge node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    sh
    celestia bridge start --core.ip <URI>
    celestia bridge start --core.ip <URI>

    Here is an example of starting the bridge node on Mocha:

    sh
    celestia bridge start --core.ip rpc-mocha.pops.one:26657
    celestia bridge start --core.ip rpc-mocha.pops.one:26657

    And on Arabica:

    sh
    celestia bridge start --core.ip consensus-validator.celestia-arabica-10.com \
       --p2p.network arabica
    celestia bridge start --core.ip consensus-validator.celestia-arabica-10.com \
    -  --p2p.network arabica

    You can create your key for your node by following the cel-key instructions.

    Once you start the bridge node, a wallet key will be generated for you. You will need to fund that address with Testnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

    sh
    ./cel-key list --node.type bridge --keyring-backend test --p2p.network <network>
    ./cel-key list --node.type bridge --keyring-backend test --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    You can get testnet tokens from:

    NOTE

    If you are running a bridge node for your validator it is highly recommended to request Mocha testnet tokens as this is the testnet used to test out validator operations.

    Optional: run the bridge node with a custom key

    In order to run a bridge node using a custom key:

    1. The custom key must exist inside the celestia bridge node directory at the correct path (default: ~/.celestia-bridge/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key>
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key>
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \
    +  --p2p.network arabica

    You can create your key for your node by following the cel-key instructions.

    Once you start the bridge node, a wallet key will be generated for you. You will need to fund that address with Testnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

    sh
    ./cel-key list --node.type bridge --keyring-backend test --p2p.network <network>
    ./cel-key list --node.type bridge --keyring-backend test --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    You can get testnet tokens from:

    NOTE

    If you are running a bridge node for your validator it is highly recommended to request Mocha testnet tokens as this is the testnet used to test out validator operations.

    Optional: run the bridge node with a custom key

    In order to run a bridge node using a custom key:

    1. The custom key must exist inside the celestia bridge node directory at the correct path (default: ~/.celestia-bridge/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key>
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key>
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \
       --p2p.network mocha
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \
       --p2p.network mocha
    sh
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \
       --p2p.network arabica
    celestia bridge start --core.ip <URI> --keyring.accname <name-of-custom-key> \
    -  --p2p.network arabica

    Optional: start the bridge node with SystemD

    Follow the tutorial on setting up the bridge node as a background process with SystemD.

    You have successfully set up a bridge node that is syncing with the network.

    - + --p2p.network arabica

    Optional: start the bridge node with SystemD

    Follow the tutorial on setting up the bridge node as a background process with SystemD.

    You have successfully set up a bridge node that is syncing with the network.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-app-commands.html b/pr-preview/pr-1358/nodes/celestia-app-commands.html index cd02a51e38..44b1b567af 100644 --- a/pr-preview/pr-1358/nodes/celestia-app-commands.html +++ b/pr-preview/pr-1358/nodes/celestia-app-commands.html @@ -7,11 +7,11 @@ - + - - + + @@ -250,8 +250,8 @@ --commission-max-rate=0.2 \ --commission-max-change-rate=0.01 \ --min-self-delegation=1 \ - --evm-address=$EVM_ADDRESS \

    You can then share your gentx JSON file on the networks repo in the respective network directory you are participating in.

    - + --evm-address=$EVM_ADDRESS \

    You can then share your gentx JSON file on the networks repo in the respective network directory you are participating in.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-app-metrics.html b/pr-preview/pr-1358/nodes/celestia-app-metrics.html index cf1d643c1e..1cd29f4da5 100644 --- a/pr-preview/pr-1358/nodes/celestia-app-metrics.html +++ b/pr-preview/pr-1358/nodes/celestia-app-metrics.html @@ -7,11 +7,11 @@ - + - - + + @@ -120,8 +120,8 @@ static_configs: # Point to the same endpoint that Celestia is publishing on - - targets: ["localhost:26660"]

    Note, that Prometheus by default runs its server on :9090. If you are running this on the same machine as your consensus node, it will collide with gRPC which runs on the same port. To avoid this, either switch off gRPC (if it's not needed), change the gRPC port in app.toml, or run Prometheus on a different port e.g. --web.listen-address="0.0.0.0:8000"

    To run the prometheus server:

    bash
    prometheus --config.file="$HOME/.celestia-app/config/prometheus.yml"
    prometheus --config.file="$HOME/.celestia-app/config/prometheus.yml"

    A prometheus server can scrape metrics from multiple nodes at once; a good way of bringing together information from many machines to one place.

    To visualize the information, you can use Grafana: either with their cloud option or run the open source code yourself.

    Once setup, run:

    bash
    grafana server
    grafana server

    which will begin a server on localhost:3000. If you open the url on your browser you will see the Grafana login page. Use admin for both the user and password to log in.

    You will need to link the prometheus server as a data source. To do that go to "Configuration" in the sidebar and then "Data Sources". Add a new data source specifying the URL of the Prometheus instance (default at localhost:9090). Click "Save & test" to confirm.

    Lastly, you will need to setup a dashboard. You can choose to do this yourself, handpicking the metrics that are important or you can simply export an existing design. Fortunately the cosmos ecosystem has conjured a "Cosmos Dashboard". On the sidebar, click "Dashboards" and then "import". Enter the following dashboard ID: 11036 and then link it to the "Prometheus" data source you just set up. Finally click the "Import" button and the "Cosmos Dashboard" should appear.

    Node exporter

    Celestia's metrics include a plethora of application specific trackers but it's also important to keep an eye on system level metrics such as memory usage and disk space. This can be best achieved by running Node Exporter. Follow the guide in the link to get set up, adding the port number to the prometheus.yml file.

    Alerts

    The final cherry on the cake is to integrate your monitoring system with a mechanism for producing alerts to warn you if your node has crashed or is no longer able to stay at the head of the chain.

    Since we're already using Grafana, we can install the Grafana OnCall plugin. OnCall allows you to setup integrations. It could be a webhook or a direct integration into Telegram or Slack. You can find more information on Grafana's Docs Page.

    - + - targets: ["localhost:26660"]

    Note, that Prometheus by default runs its server on :9090. If you are running this on the same machine as your consensus node, it will collide with gRPC which runs on the same port. To avoid this, either switch off gRPC (if it's not needed), change the gRPC port in app.toml, or run Prometheus on a different port e.g. --web.listen-address="0.0.0.0:8000"

    To run the prometheus server:

    bash
    prometheus --config.file="$HOME/.celestia-app/config/prometheus.yml"
    prometheus --config.file="$HOME/.celestia-app/config/prometheus.yml"

    A prometheus server can scrape metrics from multiple nodes at once; a good way of bringing together information from many machines to one place.

    To visualize the information, you can use Grafana: either with their cloud option or run the open source code yourself.

    Once setup, run:

    bash
    grafana server
    grafana server

    which will begin a server on localhost:3000. If you open the url on your browser you will see the Grafana login page. Use admin for both the user and password to log in.

    You will need to link the prometheus server as a data source. To do that go to "Configuration" in the sidebar and then "Data Sources". Add a new data source specifying the URL of the Prometheus instance (default at localhost:9090). Click "Save & test" to confirm.

    Lastly, you will need to setup a dashboard. You can choose to do this yourself, handpicking the metrics that are important or you can simply export an existing design. Fortunately the cosmos ecosystem has conjured a "Cosmos Dashboard". On the sidebar, click "Dashboards" and then "import". Enter the following dashboard ID: 11036 and then link it to the "Prometheus" data source you just set up. Finally click the "Import" button and the "Cosmos Dashboard" should appear.

    Node exporter

    Celestia's metrics include a plethora of application specific trackers but it's also important to keep an eye on system level metrics such as memory usage and disk space. This can be best achieved by running Node Exporter. Follow the guide in the link to get set up, adding the port number to the prometheus.yml file.

    Alerts

    The final cherry on the cake is to integrate your monitoring system with a mechanism for producing alerts to warn you if your node has crashed or is no longer able to stay at the head of the chain.

    Since we're already using Grafana, we can install the Grafana OnCall plugin. OnCall allows you to setup integrations. It could be a webhook or a direct integration into Telegram or Slack. You can find more information on Grafana's Docs Page.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-app-multisig.html b/pr-preview/pr-1358/nodes/celestia-app-multisig.html index 8f658531db..f69e5c0fa7 100644 --- a/pr-preview/pr-1358/nodes/celestia-app-multisig.html +++ b/pr-preview/pr-1358/nodes/celestia-app-multisig.html @@ -7,11 +7,11 @@ - + - - + + @@ -140,8 +140,8 @@ celestia-appd tx multisign unsignedTx.json multisig \ test1sig.json test2sig.json \ --output-document signedTx.json \ - --chain-id $CHAIN_ID

    Resources

    - + --chain-id $CHAIN_ID

    Resources

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-app-upgrade-monitor.html b/pr-preview/pr-1358/nodes/celestia-app-upgrade-monitor.html index 976f1f9a1c..8167acad5b 100644 --- a/pr-preview/pr-1358/nodes/celestia-app-upgrade-monitor.html +++ b/pr-preview/pr-1358/nodes/celestia-app-upgrade-monitor.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Upgrade Monitor

    Upgrade monitor is a binary that monitors that status of upgrades on a Celestia network. See the README for instructions on how to install and use the binary.

    - +

    Upgrade Monitor

    Upgrade monitor is a binary that monitors that status of upgrades on a Celestia network. See the README for instructions on how to install and use the binary.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-app.html b/pr-preview/pr-1358/nodes/celestia-app.html index b7f91f3216..b2a45a12ec 100644 --- a/pr-preview/pr-1358/nodes/celestia-app.html +++ b/pr-preview/pr-1358/nodes/celestia-app.html @@ -7,14 +7,14 @@ - + - + - + @@ -47,8 +47,8 @@ cd celestia-app
    cd $HOME
     rm -rf celestia-app
     git clone https://github.com/celestiaorg/celestia-app.git
    -cd celestia-app
  • Check out to the desired version, based on the network you will use:

    bash
    git checkout tags/v1.6.0 -b v1.6.0
    git checkout tags/v1.6.0 -b v1.6.0
    bash
    git checkout tags/v1.6.0 -b v1.6.0
    git checkout tags/v1.6.0 -b v1.6.0
    bash
    git checkout tags/v1.6.0 -b v1.6.0
    git checkout tags/v1.6.0 -b v1.6.0
  • Build and install the celestia-appd binary:

    bash
    make install
    make install
  • To check if the binary was successfully installed you can run the binary using the --help flag:

    sh
    celestia-appd --help
    celestia-appd --help
  • You will see an output with the menu for celestia-appd. Learn more on the helpful CLI commands page

    Installing a pre-built binary

    Installing a pre-built binary is the fastest way to get started with your Celestia consensus node. Releases after celestia-app v1.3.0 should have these binaries available.

    The steps below will download a binary file named celestia-appd. Depending on the setup that you choose during installation, the celestia-appd binary will be available at either:

    • $HOME/celestia-temp/celestia-appd
    • /usr/local/bin/celestia-appd

    Pre-built binaries are available for:

    • Operating systems: Darwin (Apple), Linux
    • Architectures: x86_64 (amd64), arm64

    To install the latest pre-built binary you can run this command in your terminal:

    bash
    bash -c "$(curl -sL https://docs.celestia.org/celestia-app.sh)"
    bash -c "$(curl -sL https://docs.celestia.org/celestia-app.sh)"

    Follow the instructions in the terminal output to choose your installation preferences.

    You will see an output with the menu for celestia-appd. Learn more on the helpful CLI commands page

    View the script to learn more about what it is doing.

    Ports

    When interacting with a consensus node, you may need to open ports on your machine to allow communication between nodes, such as bridge nodes. It is essential that specific ports are accessible. Make sure that your firewall allows connections to the correct ports.

    If you run a node on a cloud server, make sure that the ports are open on the server's firewall. If you run a node at home, make sure that your router allows connections to the correct ports.

    For example, validator ports 9090 and 26657 need to be accessible by the bridge, and port 2121 is required for P2P connections for all node types.

    The following ports are used by Celestia app nodes:

    PortProtocolAddressDescriptionEnabled by default on nodeFlag
    2121TCP/UDPlocalhostP2PtrueN/A
    9090HTTP0.0.0.0gRPCtrue--grpc.address string
    26657TCPlocalhostRPCfalse (only open to localhost)--rpc.laddr string
    - +cd celestia-app
  • Check out to the desired version, based on the network you will use:

    bash
    git checkout tags/v1.6.0 -b v1.6.0
    git checkout tags/v1.6.0 -b v1.6.0
    bash
    git checkout tags/v1.6.0 -b v1.6.0
    git checkout tags/v1.6.0 -b v1.6.0
    bash
    git checkout tags/v1.6.0 -b v1.6.0
    git checkout tags/v1.6.0 -b v1.6.0
  • Build and install the celestia-appd binary:

    bash
    make install
    make install
  • To check if the binary was successfully installed you can run the binary using the --help flag:

    sh
    celestia-appd --help
    celestia-appd --help
  • You will see an output with the menu for celestia-appd. Learn more on the helpful CLI commands page

    Installing a pre-built binary

    Installing a pre-built binary is the fastest way to get started with your Celestia consensus node. Releases after celestia-app v1.3.0 should have these binaries available.

    The steps below will download a binary file named celestia-appd. Depending on the setup that you choose during installation, the celestia-appd binary will be available at either:

    • $HOME/celestia-temp/celestia-appd
    • /usr/local/bin/celestia-appd

    Pre-built binaries are available for:

    • Operating systems: Darwin (Apple), Linux
    • Architectures: x86_64 (amd64), arm64

    To install the latest pre-built binary you can run this command in your terminal:

    bash
    bash -c "$(curl -sL https://docs.celestia.org/celestia-app.sh)"
    bash -c "$(curl -sL https://docs.celestia.org/celestia-app.sh)"

    Follow the instructions in the terminal output to choose your installation preferences.

    You will see an output with the menu for celestia-appd. Learn more on the helpful CLI commands page

    View the script to learn more about what it is doing.

    Ports

    When interacting with a consensus node, you may need to open ports on your machine to allow communication between nodes, such as bridge nodes. It is essential that specific ports are accessible. Make sure that your firewall allows connections to the correct ports.

    If you run a node on a cloud server, make sure that the ports are open on the server's firewall. If you run a node at home, make sure that your router allows connections to the correct ports.

    For example, validator ports 9090 and 26657 need to be accessible by the bridge, and port 2121 is required for P2P connections for all node types.

    The following ports are used by Celestia app nodes:

    PortProtocolAddressDescriptionEnabled by default on nodeFlag
    2121TCP/UDPlocalhostP2PtrueN/A
    9090HTTP0.0.0.0gRPCtrue--grpc.address string
    26657TCPlocalhostRPCfalse (only open to localhost)--rpc.laddr string
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-node-custom-networks.html b/pr-preview/pr-1358/nodes/celestia-node-custom-networks.html index 8bdf8c8a3b..ea625985e7 100644 --- a/pr-preview/pr-1358/nodes/celestia-node-custom-networks.html +++ b/pr-preview/pr-1358/nodes/celestia-node-custom-networks.html @@ -7,11 +7,11 @@ - + - - + + @@ -50,8 +50,8 @@ export CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"
    export BRIDGE="/ip4/151.115.14.33/tcp/2121/p2p/12D3KooWKEeRtzVMPUdxYsZo2edqps6mS67n6LT5mPdULSkPSxBQ"
     export GENESIS_HASH=580B3DFF8A7C716968161D91116A1E171F486298D582874E93714E489C9E6E88
     export NETWORK=custom
    -export CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"

    Then, start your node with:

    bash
    celestia <node-type> start [flags...]
    celestia <node-type> start [flags...]
    - +export CELESTIA_CUSTOM="${NETWORK}:${GENESIS_HASH}:${BRIDGE}"

    Then, start your node with:

    bash
    celestia <node-type> start [flags...]
    celestia <node-type> start [flags...]
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-node-metrics.html b/pr-preview/pr-1358/nodes/celestia-node-metrics.html index 8c495d7b12..61262e1229 100644 --- a/pr-preview/pr-1358/nodes/celestia-node-metrics.html +++ b/pr-preview/pr-1358/nodes/celestia-node-metrics.html @@ -7,11 +7,11 @@ - + - - + + @@ -62,8 +62,8 @@ # To disable TLS connection celestia <node-type> start --metrics.tls=false --metrics \ --metrics.endpoint <URI> \ - --p2p.network <network> --core.ip <URI>

    Metrics endpoint design considerations

    At the moment, the architecture of celestia-node metrics works as specified in the following ADR #010.

    Essentially, the design considerations here will necessitate running an OpenTelemetry (OTEL) collector that connects to Celestia light node.

    For an overview of OTEL, check out the guide.

    The ADR and the OTEL docs will help you run your collector on the metrics endpoint. This will then allow you to process the data in the collector on a Prometheus server which can then be viewed on a Grafana dashboard.

    In the future, we do want to open-source some developer toolings around this infrastructure to allow for node operators to be able to monitor their data availability nodes.

    - + --p2p.network <network> --core.ip <URI>

    Metrics endpoint design considerations

    At the moment, the architecture of celestia-node metrics works as specified in the following ADR #010.

    Essentially, the design considerations here will necessitate running an OpenTelemetry (OTEL) collector that connects to Celestia light node.

    For an overview of OTEL, check out the guide.

    The ADR and the OTEL docs will help you run your collector on the metrics endpoint. This will then allow you to process the data in the collector on a Prometheus server which can then be viewed on a Grafana dashboard.

    In the future, we do want to open-source some developer toolings around this infrastructure to allow for node operators to be able to monitor their data availability nodes.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-node-troubleshooting.html b/pr-preview/pr-1358/nodes/celestia-node-troubleshooting.html index 87075ae609..ba6792b71e 100644 --- a/pr-preview/pr-1358/nodes/celestia-node-troubleshooting.html +++ b/pr-preview/pr-1358/nodes/celestia-node-troubleshooting.html @@ -7,12 +7,12 @@ - + - + - + @@ -63,8 +63,8 @@ rm -rf ~/.celestia-bridge-private # celestia <node-type> init --p2p.network <network> -celestia bridge init --p2p.network private - +celestia bridge init --p2p.network private + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/celestia-node.html b/pr-preview/pr-1358/nodes/celestia-node.html index 6875219dcc..4aefef7bb6 100644 --- a/pr-preview/pr-1358/nodes/celestia-node.html +++ b/pr-preview/pr-1358/nodes/celestia-node.html @@ -7,14 +7,14 @@ - + - + - + @@ -47,8 +47,8 @@ cd celestia-node/
    cd $HOME
     rm -rf celestia-node
     git clone https://github.com/celestiaorg/celestia-node.git
    -cd celestia-node/
  • Check out to the desired version, based on the network you will use:

    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
  • Build the celestia binary:

    a. Standard build

    bash
    make build
    make build

    b. Experimental build

    OPTIONAL

    If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.

    bash
    make build-jemalloc
    make build-jemalloc

    This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.

    Note: this requires Go version v1.23+.

  • Install the binary:

    bash
    make install
    make install
    bash
    make go-install
    make go-install
  • Build the cel-key utility:

    bash
    make cel-key
    make cel-key
  • Verify that the binary is working and check the version:

    bash
    celestia version
    celestia version
  • The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.

    Next steps

    First, we recommend reading the overview of our node types, if you haven't yet.

    Now that you've installed Celestia Node, it's time to pick your node type and run your node!

    If you're planning to run a light node, we recommend the node RPC CLI tutorial.

    Upgrading your binary

    To upgrade your binary, you can install the latest version from the instructions above and restart your node. If you run into any issues, Refer to the troubleshooting section.

    - +cd celestia-node/
  • Check out to the desired version, based on the network you will use:

    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
    bash
    git checkout tags/v0.12.3
    git checkout tags/v0.12.3
  • Build the celestia binary:

    a. Standard build

    bash
    make build
    make build

    b. Experimental build

    OPTIONAL

    If you're a node operator comfortable with experimental features and seeking optimal performance with minimal RAM usage, this option is recommended for you.

    bash
    make build-jemalloc
    make build-jemalloc

    This build option enables CGO, and downloads and installs jemalloc. Learn more about the build command.

    Note: this requires Go version v1.23+.

  • Install the binary:

    bash
    make install
    make install
    bash
    make go-install
    make go-install
  • Build the cel-key utility:

    bash
    make cel-key
    make cel-key
  • Verify that the binary is working and check the version:

    bash
    celestia version
    celestia version
  • The output will show the semantic version of celestia-node, commit hash, build date, system version, and Golang version.

    Next steps

    First, we recommend reading the overview of our node types, if you haven't yet.

    Now that you've installed Celestia Node, it's time to pick your node type and run your node!

    If you're planning to run a light node, we recommend the node RPC CLI tutorial.

    Upgrading your binary

    To upgrade your binary, you can install the latest version from the instructions above and restart your node. If you run into any issues, Refer to the troubleshooting section.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/config-toml.html b/pr-preview/pr-1358/nodes/config-toml.html index 0b40808392..b34acb19ec 100644 --- a/pr-preview/pr-1358/nodes/config-toml.html +++ b/pr-preview/pr-1358/nodes/config-toml.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    config.toml guide

    Pre-requisites

    Please, make sure that you have installed and initialized celestia-node

    Understanding config.toml

    After initialization, for any type of node, you will find a config.toml in the following path (default location):

    • $HOME/.celestia-bridge/config.toml for bridge node
    • $HOME/.celestia-light/config.toml for light node
    • $HOME/.celestia-full/config.toml for a full DA node

    Let's break down some of the most used sections.

    Core

    This section is needed for the Celestia bridge node. By default, Remote = false. Still for devnet, we are going to use the remote core option and this can also be set by the command line flag --core.remote.

    P2P

    Bootstrap

    Bootstrappers help new nodes to find peers faster in the network. By default, the Bootstrapper = false and the BootstrapPeers is empty. If you want your node to be a bootstrapper, then activate Bootstrapper = true. BootstrapPeers are already provided by default during initialisation. If you want to add your own manually, you need to provide the multiaddresses of the peers.

    Mutual peers

    The purpose of this config is to set up a bidirectional communication. This is usually the case for Celestia bridge nodes. In addition, you need to change the field PeerExchange from false to true.

    Services

    TrustedHash and TrustedPeer

    TrustedHash is needed to properly initialize a Celestia bridge node with an already-running Remote celestia-core node. Celestia light node will take a genesis hash as the trusted one, if no hash is manually provided during initialization phase.

    TrustedPeers is the array of bridge nodes' peers that Celestia light node trusts. By default, bootstrap peers becomes trusted peers for Celestia light nodes if a user is not setting the trusted peer params in config file.

    Any Celestia bridge node can be a trusted peer for the light one. However, the light node by design can not be a trusted peer for another light node.

    - +

    config.toml guide

    Pre-requisites

    Please, make sure that you have installed and initialized celestia-node

    Understanding config.toml

    After initialization, for any type of node, you will find a config.toml in the following path (default location):

    • $HOME/.celestia-bridge/config.toml for bridge node
    • $HOME/.celestia-light/config.toml for light node
    • $HOME/.celestia-full/config.toml for a full DA node

    Let's break down some of the most used sections.

    Core

    This section is needed for the Celestia bridge node. By default, Remote = false. Still for devnet, we are going to use the remote core option and this can also be set by the command line flag --core.remote.

    P2P

    Bootstrap

    Bootstrappers help new nodes to find peers faster in the network. By default, the Bootstrapper = false and the BootstrapPeers is empty. If you want your node to be a bootstrapper, then activate Bootstrapper = true. BootstrapPeers are already provided by default during initialisation. If you want to add your own manually, you need to provide the multiaddresses of the peers.

    Mutual peers

    The purpose of this config is to set up a bidirectional communication. This is usually the case for Celestia bridge nodes. In addition, you need to change the field PeerExchange from false to true.

    Services

    TrustedHash and TrustedPeer

    TrustedHash is needed to properly initialize a Celestia bridge node with an already-running Remote celestia-core node. Celestia light node will take a genesis hash as the trusted one, if no hash is manually provided during initialization phase.

    TrustedPeers is the array of bridge nodes' peers that Celestia light node trusts. By default, bootstrap peers becomes trusted peers for Celestia light nodes if a user is not setting the trusted peer params in config file.

    Any Celestia bridge node can be a trusted peer for the light one. However, the light node by design can not be a trusted peer for another light node.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/consensus-node.html b/pr-preview/pr-1358/nodes/consensus-node.html index 8797db6bc3..c127e5bf2d 100644 --- a/pr-preview/pr-1358/nodes/consensus-node.html +++ b/pr-preview/pr-1358/nodes/consensus-node.html @@ -7,12 +7,12 @@ - + - + - + @@ -43,13 +43,13 @@ rm -rf networks git clone https://github.com/celestiaorg/networks.git
    cd $HOME
     rm -rf networks
    -git clone https://github.com/celestiaorg/networks.git

    To initialize the network pick a "node-name" that describes your node. Keep in mind that this might change if a new testnet is deployed.

    bash
    celestia-appd init "node-name" --chain-id celestia
    celestia-appd init "node-name" --chain-id celestia
    bash
    celestia-appd init "node-name" --chain-id mocha-4
    celestia-appd init "node-name" --chain-id mocha-4
    bash
    celestia-appd init "node-name" --chain-id arabica-11
    celestia-appd init "node-name" --chain-id arabica-11

    Copy the genesis.json file:

    bash
    cp $HOME/networks/celestia/genesis.json \
    +git clone https://github.com/celestiaorg/networks.git

    To initialize the network pick a "node-name" that describes your node. Keep in mind that this might change if a new testnet is deployed.

    bash
    celestia-appd init "node-name" --chain-id celestia
    celestia-appd init "node-name" --chain-id celestia
    bash
    celestia-appd init "node-name" --chain-id mocha-4
    celestia-appd init "node-name" --chain-id mocha-4
    bash
    celestia-appd init "node-name" --chain-id arabica-11
    celestia-appd init "node-name" --chain-id arabica-11

    Copy the genesis.json file:

    bash
    cp $HOME/networks/celestia/genesis.json \
         $HOME/.celestia-app/config
    cp $HOME/networks/celestia/genesis.json \
         $HOME/.celestia-app/config
    bash
    cp $HOME/networks/mocha-4/genesis.json \
         $HOME/.celestia-app/config
    cp $HOME/networks/mocha-4/genesis.json \
         $HOME/.celestia-app/config
    bash
    cp $HOME/networks/arabica-11/genesis.json \
         $HOME/.celestia-app/config
    cp $HOME/networks/arabica-11/genesis.json \
    -    $HOME/.celestia-app/config

    Set seeds in the $HOME/.celestia-app/config/config.toml file:

    bash
    SEEDS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/celestia/seeds.txt | head -c -1 | tr '\n' ',')
    +    $HOME/.celestia-app/config

    Set seeds in the $HOME/.celestia-app/config/config.toml file:

    bash
    SEEDS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/celestia/seeds.txt | head -c -1 | tr '\n' ',')
     echo $SEEDS
     sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" $HOME/.celestia-app/config/config.toml
    SEEDS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/celestia/seeds.txt | head -c -1 | tr '\n' ',')
     echo $SEEDS
    @@ -63,7 +63,7 @@
     seeds = ""
    # For Arabica, you can set seeds manually in the
     # `$HOME/.celestia-app/config/config.toml` file:
     # Comma separated list of seed nodes to connect to
    -seeds = ""

    Optionally, you can set persistent peers in your config.toml file. You can get the persistent peers from the networks repository with the following commands:

    Setting persistent peers is advised only if you are running a sentry node.

    bash
    PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/celestia/peers.txt | head -c -1 | tr '\n' ',')
    +seeds = ""

    Optionally, you can set persistent peers in your config.toml file. You can get the persistent peers from the networks repository with the following commands:

    Setting persistent peers is advised only if you are running a sentry node.

    bash
    PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/celestia/peers.txt | head -c -1 | tr '\n' ',')
     echo $PERSISTENT_PEERS
     sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PERSISTENT_PEERS\"/" $HOME/.celestia-app/config/config.toml
    PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/celestia/peers.txt | head -c -1 | tr '\n' ',')
     echo $PERSISTENT_PEERS
    @@ -81,7 +81,7 @@
     trust_height = 0
     trust_hash = ""
    rpc_servers = ""
     trust_height = 0
    -trust_hash = ""

    to their respective fields. At least two different rpc endpoints should be provided. The more, the greater the chance of detecting any fraudulent behavior.

    Once setup, you should be ready to start the node as normal. In the logs, you should see: Discovering snapshots. This may take a few minutes before snapshots are found depending on the network topology.

    Quick sync

    Quick sync effectively downloads the entire data directory from a third-party provider meaning the node has all the application and blockchain state as the node it was copied from.

    Run the following command to quick-sync from a snapshot:

    bash
    cd $HOME
    +trust_hash = ""

    to their respective fields. At least two different rpc endpoints should be provided. The more, the greater the chance of detecting any fraudulent behavior.

    Once setup, you should be ready to start the node as normal. In the logs, you should see: Discovering snapshots. This may take a few minutes before snapshots are found depending on the network topology.

    Quick sync

    Quick sync effectively downloads the entire data directory from a third-party provider meaning the node has all the application and blockchain state as the node it was copied from.

    Run the following command to quick-sync from a snapshot:

    bash
    cd $HOME
     rm -rf ~/.celestia-app/data
     mkdir -p ~/.celestia-app/data
     SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \
    @@ -221,8 +221,8 @@
     sed -i.bak -e "s/^external-address = ""/external-address = "$EXTERNAL-ADDRESS:26656"/" \
         $HOME/.celestia-app/config/config.toml
    EXTERNAL-ADDRESS=$(wget -qO- eth0.me)
     sed -i.bak -e "s/^external-address = ""/external-address = "$EXTERNAL-ADDRESS:26656"/" \
    -    $HOME/.celestia-app/config/config.toml

    Restart the node

    After making these changes, restart celestia-appd to load the new configurations.

    Optional: Transaction indexer configuration options

    This section guides you on how to configure your config.toml file in celestia-app to select which transactions to index. Depending on the application's configuration, a node operator may decide which transactions to index.

    The available options are:

    1. null: This option disables indexing. If you don't need to query transactions, you can choose this option to save space.
    2. kv (default): This is the simplest indexer, backed by key-value storage (defaults to levelDB; see DBBackend). When kv is chosen, tx.height and tx.hash will always be indexed. This option is suitable for basic queries on transactions.
    3. psql: This indexer is backed by PostgreSQL. When psql is chosen, tx.height and tx.hash will always be indexed. This option is suitable for complex queries on transactions.

    An example to set the value to kv in config.toml is:

    toml
    indexer = "kv"
    indexer = "kv"

    Remember to restart celestia-appd after making changes to the configuration to load the new settings.

    Optional: Discard ABCI responses configuration

    This section will guide you on how to configure your config.toml file in celestia-app to manage the storage of ABCI responses. ABCI responses are the results of executing transactions and are used for /block_results RPC queries and to reindex events in the command-line tool.

    The discard_abci_responses option allows you to control whether these responses are persisted in the state store:

    • false (default): ABCI responses are stored in the state store. This ensures that ABCI responses are available for /block_results RPC queries and for reindexing events. However, it can consume a significant amount of disk space.
    • true: ABCI responses are not stored in the state store. This can save a considerable amount of disk space, but /block_results RPC queries and event reindexing will not be available.

    An example to set the value to false in config.toml is:

    toml
    discard_abci_responses = false
    discard_abci_responses = false

    Remember to restart celestia-appd after making changes to the configuration to load the new settings.

    - + $HOME/.celestia-app/config/config.toml

    Restart the node

    After making these changes, restart celestia-appd to load the new configurations.

    Optional: Transaction indexer configuration options

    This section guides you on how to configure your config.toml file in celestia-app to select which transactions to index. Depending on the application's configuration, a node operator may decide which transactions to index.

    The available options are:

    1. null: This option disables indexing. If you don't need to query transactions, you can choose this option to save space.
    2. kv (default): This is the simplest indexer, backed by key-value storage (defaults to levelDB; see DBBackend). When kv is chosen, tx.height and tx.hash will always be indexed. This option is suitable for basic queries on transactions.
    3. psql: This indexer is backed by PostgreSQL. When psql is chosen, tx.height and tx.hash will always be indexed. This option is suitable for complex queries on transactions.

    An example to set the value to kv in config.toml is:

    toml
    indexer = "kv"
    indexer = "kv"

    Remember to restart celestia-appd after making changes to the configuration to load the new settings.

    Optional: Discard ABCI responses configuration

    This section will guide you on how to configure your config.toml file in celestia-app to manage the storage of ABCI responses. ABCI responses are the results of executing transactions and are used for /block_results RPC queries and to reindex events in the command-line tool.

    The discard_abci_responses option allows you to control whether these responses are persisted in the state store:

    • false (default): ABCI responses are stored in the state store. This ensures that ABCI responses are available for /block_results RPC queries and for reindexing events. However, it can consume a significant amount of disk space.
    • true: ABCI responses are not stored in the state store. This can save a considerable amount of disk space, but /block_results RPC queries and event reindexing will not be available.

    An example to set the value to false in config.toml is:

    toml
    discard_abci_responses = false
    discard_abci_responses = false

    Remember to restart celestia-appd after making changes to the configuration to load the new settings.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/decide-node.html b/pr-preview/pr-1358/nodes/decide-node.html index e41cce212c..380ee5ace4 100644 --- a/pr-preview/pr-1358/nodes/decide-node.html +++ b/pr-preview/pr-1358/nodes/decide-node.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Deciding which node to run

    Now that you have installed the basic dependencies, you can start exploring which nodes to run!

    Beginner

    It is highly recommended if you are a beginner to get started with running a Data-Availability light node.

    In order to get started, you can proceed to the light node section.

    You can also play around with the Data Availability API in this tutorial for posting and retrieving data with a light node.

    Advanced

    If you are looking to run a consensus node, please follow the tutorial for running a consensus node.

    Note that running a validator means you must also run a bridge node, which is covered in this section.

    - +

    Deciding which node to run

    Now that you have installed the basic dependencies, you can start exploring which nodes to run!

    Beginner

    It is highly recommended if you are a beginner to get started with running a Data-Availability light node.

    In order to get started, you can proceed to the light node section.

    You can also play around with the Data Availability API in this tutorial for posting and retrieving data with a light node.

    Advanced

    If you are looking to run a consensus node, please follow the tutorial for running a consensus node.

    Note that running a validator means you must also run a bridge node, which is covered in this section.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/docker-images.html b/pr-preview/pr-1358/nodes/docker-images.html index 718bac718e..6176266b03 100644 --- a/pr-preview/pr-1358/nodes/docker-images.html +++ b/pr-preview/pr-1358/nodes/docker-images.html @@ -7,14 +7,14 @@ - + - + - + @@ -41,7 +41,7 @@

    🐳 Docker setup

    This page has instructions to run celestia-node using Docker. If you are looking for instructions to run celestia-node using a binary, please refer to the celestia-node page.

    Using Docker is the easiest way to run celestia-node for most users. Docker is a containerization platform that allows you to run celestia-node in an isolated environment.

    This means that you can run celestia-node on your machine without having to worry about installing and configuring all of the dependencies required to run the node.

    If you would like to learn more about key management in Docker, visit the Docker and cel-key section.

    The easiest way to install Docker is to use the Docker Desktop installer or Ubuntu. You can follow the instructions for your operating system.

    Prerequisites

    Quick start

    1. Set the network you would like to run your node on:

      bash
      export NETWORK=celestia
      export NETWORK=celestia
      bash
      export NETWORK=mocha
      export NETWORK=mocha
      bash
      export NETWORK=arabica
      export NETWORK=arabica
    2. Set the node type

      bash
      export NODE_TYPE=light
      export NODE_TYPE=light
      bash
      export NODE_TYPE=bridge
      export NODE_TYPE=bridge
      bash
      export NODE_TYPE=full
      export NODE_TYPE=full
    3. Set an RPC endpoint for either Mainnet Beta, Mocha, or Arabica using the bare URL (without http or https):

      bash
      export RPC_URL=this-is-an-rpc-url.com
      export RPC_URL=this-is-an-rpc-url.com
    4. Run the image from the command line:

      bash
      docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
      +

    🐳 Docker setup

    This page has instructions to run celestia-node using Docker. If you are looking for instructions to run celestia-node using a binary, please refer to the celestia-node page.

    Using Docker is the easiest way to run celestia-node for most users. Docker is a containerization platform that allows you to run celestia-node in an isolated environment.

    This means that you can run celestia-node on your machine without having to worry about installing and configuring all of the dependencies required to run the node.

    If you would like to learn more about key management in Docker, visit the Docker and cel-key section.

    The easiest way to install Docker is to use the Docker Desktop installer or Ubuntu. You can follow the instructions for your operating system.

    Prerequisites

    Quick start

    1. Set the network you would like to run your node on:

      bash
      export NETWORK=celestia
      export NETWORK=celestia
      bash
      export NETWORK=mocha
      export NETWORK=mocha
      bash
      export NETWORK=arabica
      export NETWORK=arabica
    2. Set the node type

      bash
      export NODE_TYPE=light
      export NODE_TYPE=light
      bash
      export NODE_TYPE=bridge
      export NODE_TYPE=bridge
      bash
      export NODE_TYPE=full
      export NODE_TYPE=full
    3. Set an RPC endpoint for either Mainnet Beta, Mocha, or Arabica using the bare URL (without http or https):

      bash
      export RPC_URL=this-is-an-rpc-url.com
      export RPC_URL=this-is-an-rpc-url.com
    4. Run the image from the command line:

      bash
      docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
           ghcr.io/celestiaorg/celestia-node:v0.12.3 \
           celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK
      docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
           ghcr.io/celestiaorg/celestia-node:v0.12.3 \
      @@ -55,11 +55,11 @@
           ghcr.io/celestiaorg/celestia-node:v0.12.3 \
           celestia $NODE_TYPE start --core.ip $RPC_URL --p2p.network $NETWORK

    Congratulations! You now have a celestia-node running!

    If you would like to run the node with custom flags, you can refer to the celestia-node tutorial page. Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Light node setup with persistent storage

    If you delete a container that you started above, all data will be lost. To avoid this, you can mount a volume to the container. This will allow you to persist data even after the container is deleted.

    First, you will need to create a directory on your host machine. This directory will be used to store the data for the container. Create a directory on your host machine and give it a name. For example, you can name it my-node-store:

    bash
    cd $HOME
     mkdir my-node-store
    cd $HOME
    -mkdir my-node-store

    Now, you can mount this directory to the container. Before mounting a volume, you may need to set permissions for the user on the host machine by running:

    bash
    sudo chown 10001:10001 $HOME/my-node-store
    sudo chown 10001:10001 $HOME/my-node-store
    bash
    # you're good to go 😎
    # you're good to go 😎

    Initialize the node store and key

    In order to mount a volume to the container, you need to specify the path to the volume. When you run your container, you can specify the path to the volume using the --volume (or -v for short) flag. In this command, we'll create our key and initialize the node store, using the variables we set in the quick start section:

    bash
    # --volume == -v [local path]:[container path]
    +mkdir my-node-store

    Now, you can mount this directory to the container. Before mounting a volume, you may need to set permissions for the user on the host machine by running:

    bash
    sudo chown 10001:10001 $HOME/my-node-store
    sudo chown 10001:10001 $HOME/my-node-store
    bash
    # you're good to go 😎
    # you're good to go 😎

    Initialize the node store and key

    In order to mount a volume to the container, you need to specify the path to the volume. When you run your container, you can specify the path to the volume using the --volume (or -v for short) flag. In this command, we'll create our key and initialize the node store, using the variables we set in the quick start section:

    bash
    # --volume == -v [local path]:[container path]
     docker run [args...] -v $HOME/my-node-store:/home/celestia \
         celestia $NODE_TYPE init [args...]
    # --volume == -v [local path]:[container path]
     docker run [args...] -v $HOME/my-node-store:/home/celestia \
    -    celestia $NODE_TYPE init [args...]

    An example init command will look similar to below:

    bash
    docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
    +    celestia $NODE_TYPE init [args...]

    An example init command will look similar to below:

    bash
    docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
         -v $HOME/my-node-store:/home/celestia \
         ghcr.io/celestiaorg/celestia-node:v0.12.3 \
         celestia light init --p2p.network $NETWORK
    docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
    @@ -81,7 +81,7 @@
     docker run [...args] -v $HOME/my-node-store:/home/celestia \
         celestia <node-type> start [...args]
    # --volume == -v [local path]:[container path]
     docker run [...args] -v $HOME/my-node-store:/home/celestia \
    -    celestia <node-type> start [...args]

    A full start command will look similar to below.

    bash
    docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
    +    celestia <node-type> start [...args]

    A full start command will look similar to below.

    bash
    docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
         -v $HOME/my-node-store:/home/celestia \
         ghcr.io/celestiaorg/celestia-node:v0.12.3 \
         celestia light start --core.ip $RPC_URL
    docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
    @@ -99,8 +99,8 @@
         celestia light start --core.ip $RPC_URL
    docker run -e NODE_TYPE=$NODE_TYPE -e P2P_NETWORK=$NETWORK \
         -v $HOME/my-node-store:/home/celestia \
         ghcr.io/celestiaorg/celestia-node:v0.12.3 \
    -    celestia light start --core.ip $RPC_URL

    Congratulations! You now have a node running with persistent storage.

    Video walkthrough

    2.5 minute version

    Troubleshooting

    For security purposes Celestia expects to interact with the your node's keys in a read-only manner. This is enforced using linux style permissions on the filesystem. Windows NTFS does not support these types of permissions. As a result the recommended path for Windows users to mount a persisted volume is to do so within WSL. You can find instructions for installing WSL.

    - + celestia light start --core.ip $RPC_URL

    Congratulations! You now have a node running with persistent storage.

    Video walkthrough

    2.5 minute version

    Troubleshooting

    For security purposes Celestia expects to interact with the your node's keys in a read-only manner. This is enforced using linux style permissions on the filesystem. Windows NTFS does not support these types of permissions. As a result the recommended path for Windows users to mount a persisted volume is to do so within WSL. You can find instructions for installing WSL.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/environment.html b/pr-preview/pr-1358/nodes/environment.html index 2376aa1b11..8028376453 100644 --- a/pr-preview/pr-1358/nodes/environment.html +++ b/pr-preview/pr-1358/nodes/environment.html @@ -7,12 +7,12 @@ - + - + - + @@ -39,7 +39,7 @@

    Development environment

    This page will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.

    Install dependencies

    1. If you are on Ubuntu, first update and upgrade your OS:

      bash
      sudo apt update && sudo apt upgrade -y
      sudo apt update && sudo apt upgrade -y
      bash
      sudo yum update
      sudo yum update
    2. Install essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the node:

      bash
      sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential \
      +

    Development environment

    This page will go over setting up your development environment to run Celestia software. This environment can be used for development, building binaries, and running nodes.

    Install dependencies

    1. If you are on Ubuntu, first update and upgrade your OS:

      bash
      sudo apt update && sudo apt upgrade -y
      sudo apt update && sudo apt upgrade -y
      bash
      sudo yum update
      sudo yum update
    2. Install essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the node:

      bash
      sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential \
       git make ncdu -y
      sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential \
       git make ncdu -y
      bash
      sudo yum install curl tar wget clang pkg-config libssl-dev jq build-essential \
       git make ncdu -y
      sudo yum install curl tar wget clang pkg-config libssl-dev jq build-essential \
      @@ -53,7 +53,7 @@
       /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
       
       # then install wget & jq
      -brew install wget && brew install jq

    Install Golang

    celestia-node is written in Golang so we must install Golang to build and run our node.

    1. Set the version for your desired network:

      bash
      ver="1.21.1"
      ver="1.21.1"
      bash
      ver="1.21.1"
      ver="1.21.1"
      bash
      ver="1.21.1"
      ver="1.21.1"
    2. Download and install Golang:

      bash
      cd $HOME
      +brew install wget && brew install jq

    Install Golang

    celestia-node is written in Golang so we must install Golang to build and run our node.

    1. Set the version for your desired network:

      bash
      ver="1.21.1"
      ver="1.21.1"
      bash
      ver="1.21.1"
      ver="1.21.1"
      bash
      ver="1.21.1"
      ver="1.21.1"
    2. Download and install Golang:

      bash
      cd $HOME
       wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
       sudo rm -rf /usr/local/go
       sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
      @@ -85,12 +85,12 @@
       wget "https://golang.org/dl/go$ver.darwin-amd64.tar.gz"
       sudo rm -rf /usr/local/go
       sudo tar -C /usr/local -xzf "go$ver.darwin-amd64.tar.gz"
      -rm "go$ver.darwin-amd64.tar.gz"
    3. Add your /usr/local/go/bin directory to your $PATH if you have not already:

      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
      +rm "go$ver.darwin-amd64.tar.gz"
    4. Add your /usr/local/go/bin directory to your $PATH if you have not already:

      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
       source $HOME/.bash_profile
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
       source $HOME/.bash_profile
      bash
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.zshrc
       source $HOME/.zshrc
      echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.zshrc
      -source $HOME/.zshrc
    5. To verify that the correct version of Go was installed correctly run:

      bash
      go version
      go version

    The output will show the version installed.

    - +source $HOME/.zshrc
  • To verify that the correct version of Go was installed correctly run:

    bash
    go version
    go version
  • The output will show the version installed.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/full-storage-node.html b/pr-preview/pr-1358/nodes/full-storage-node.html index 0b29e6938a..9f5b8fe17e 100644 --- a/pr-preview/pr-1358/nodes/full-storage-node.html +++ b/pr-preview/pr-1358/nodes/full-storage-node.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,7 +38,7 @@

    Setting up a Celestia full storage Node

    This tutorial will guide you through setting up a Celestia full storage node, which is a celestia-node that doesn't connect to celestia-app (hence not a full consensus node), but stores all the data.

    Overview of full storage nodes

    Full storage nodes are Celestia nodes that store all the data. Full storage nodes send block shares, headers, and fraud proofs to light nodes. The light nodes gossip headers, fraud proofs, and sometimes block shares, between one another.

    Full storage node

    Hardware requirements

    The following hardware minimum requirements are recommended for running the full storage node:

    • Memory: 4 GB RAM (minimum)
    • CPU: 6 cores
    • Disk: 10 TB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    Setting up your full storage node

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Setup the dependencies

    You can follow the tutorial for setting up your dependencies

    Install celestia-node

    You can follow the tutorial for installing celestia-node

    Run the full storage node

    Initialize the full storage node

    Run the following command:

    sh
    celestia full init
    celestia full init
    sh
    celestia full init --p2p.network mocha
    celestia full init --p2p.network mocha
    sh
    celestia full init --p2p.network arabica
    celestia full init --p2p.network arabica

    Start the full storage node

    Start the full storage node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    In order for access to the ability to get/submit state-related information, such as the ability to submit PayForBlob transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    sh
    celestia full start --core.ip <URI>
    celestia full start --core.ip <URI>

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    You can create your key for your node by following the cel-key instructions

    Once you start the full storage node, a wallet key will be generated for you. You will need to fund that address with testnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

    sh
    ./cel-key list --node.type full --keyring-backend test --p2p.network <network>
    ./cel-key list --node.type full --keyring-backend test --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    You can get testnet tokens from:

    NOTE

    If you are running a full-storage node for your sovereign rollup, it is highly recommended to request Arabica devnet tokens as Arabica has the latest changes that can be used to test for developing your sovereign rollup. You can still use Mocha testnet as well, it is just mostly used for validator operations.

    Optional: run the full storage node with a custom key

    In order to run a full storage node using a custom key:

    1. The custom key must exist inside the celestia full storage node directory at the correct path (default: ~/.celestia-full/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia full start --core.ip <URI> \
    +

    Setting up a Celestia full storage Node

    This tutorial will guide you through setting up a Celestia full storage node, which is a celestia-node that doesn't connect to celestia-app (hence not a full consensus node), but stores all the data.

    Overview of full storage nodes

    Full storage nodes are Celestia nodes that store all the data. Full storage nodes send block shares, headers, and fraud proofs to light nodes. The light nodes gossip headers, fraud proofs, and sometimes block shares, between one another.

    Full storage node

    Hardware requirements

    The following hardware minimum requirements are recommended for running the full storage node:

    • Memory: 4 GB RAM (minimum)
    • CPU: 6 cores
    • Disk: 10 TB SSD Storage
    • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

    Setting up your full storage node

    The following tutorial is done on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Setup the dependencies

    You can follow the tutorial for setting up your dependencies

    Install celestia-node

    You can follow the tutorial for installing celestia-node

    Run the full storage node

    Initialize the full storage node

    Run the following command:

    sh
    celestia full init
    celestia full init
    sh
    celestia full init --p2p.network mocha
    celestia full init --p2p.network mocha
    sh
    celestia full init --p2p.network arabica
    celestia full init --p2p.network arabica

    Start the full storage node

    Start the full storage node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    In order for access to the ability to get/submit state-related information, such as the ability to submit PayForBlob transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    sh
    celestia full start --core.ip <URI>
    celestia full start --core.ip <URI>

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    You can create your key for your node by following the cel-key instructions

    Once you start the full storage node, a wallet key will be generated for you. You will need to fund that address with testnet tokens to pay for PayForBlob transactions. You can find the address by running the following command:

    sh
    ./cel-key list --node.type full --keyring-backend test --p2p.network <network>
    ./cel-key list --node.type full --keyring-backend test --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    You can get testnet tokens from:

    NOTE

    If you are running a full-storage node for your sovereign rollup, it is highly recommended to request Arabica devnet tokens as Arabica has the latest changes that can be used to test for developing your sovereign rollup. You can still use Mocha testnet as well, it is just mostly used for validator operations.

    Optional: run the full storage node with a custom key

    In order to run a full storage node using a custom key:

    1. The custom key must exist inside the celestia full storage node directory at the correct path (default: ~/.celestia-full/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia full start --core.ip <URI> \
       --keyring.accname <name-of-custom-key> \
    celestia full start --core.ip <URI> \
       --keyring.accname <name-of-custom-key> \
    sh
    celestia full start --core.ip <URI> \
       --keyring.accname <name-of-custom-key> \
    @@ -48,8 +48,8 @@
       --keyring.accname <name-of-custom-key> \
       --p2p.network arabica
    celestia full start --core.ip <URI> \
       --keyring.accname <name-of-custom-key> \
    -  --p2p.network arabica

    Optional: start the full storage node with SystemD

    If you would like to run the full storage node as a background process, follow the SystemD tutorial.

    With that, you are now running a Celestia full storage node.

    Stop the full storage node

    In order to gracefully stop the full storage node, use Control + C in the terminal window where the node is running. Be sure to only do this once as the shutdown will not be instantaneous.

    - + --p2p.network arabica

    Optional: start the full storage node with SystemD

    If you would like to run the full storage node as a background process, follow the SystemD tutorial.

    With that, you are now running a Celestia full storage node.

    Stop the full storage node

    In order to gracefully stop the full storage node, use Control + C in the terminal window where the node is running. Be sure to only do this once as the shutdown will not be instantaneous.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/hardfork-process.html b/pr-preview/pr-1358/nodes/hardfork-process.html index 24f9fd4e3f..14f13ff22b 100644 --- a/pr-preview/pr-1358/nodes/hardfork-process.html +++ b/pr-preview/pr-1358/nodes/hardfork-process.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Celestia hardfork process

    Blockchain networks often times need to upgrade with new features which require coordination work among the validators prior to activating the upgrades.

    This process is called a hardfork or a network upgrade. In those events, the Celestia Labs team will be coordinating with the validators on what they need to do in order to be ready for an upcoming hardfork.

    Hardforks are not backward-compatible with older versions of the network software which is why it is important that validators upgrade their software to continue validating on the network after the network upgrades.

    General process

    The general process can be broken down into several components:

    • Hardfork specifications and features (defined by description of features and code implementation of those features).
    • Binary used to add those features (a new binary release with those features will be provided by Celestia team in order for validators to upgrade their nodes to the new binary).
    • A block number for when the network upgrades (even if validators upgrade their binary to be hardfork ready, the network upgrade does not happen right away, but some short time in the future at a specific block number).
    • Testing of the features (happens on testnets first prior to activating on mainnet in order to ensure the network can upgrade securely).

    The two testnets were hardforks are deployed on are:

    Mocha hardfork

    Celestia is planning the Mocha Hardfork upgrade on the Mamaki Testnet. This hardfork is unique as it will reset the Mamaki network to block 0 while maintaining the existing state and also will rename Mamaki to Mocha.

    The new chain-id will be mocha.

    You can find the release logs for consensus nodes on the celestia-app releases page.

    The most exciting feature included is setting the stage for Blobstream on Mocha.

    Validators will need to generate 2 new keys in order to be Blobstream-ready. Note that for the Mocha Hardfork, Blobstream will not launch yet so you can swap those keys after for new ones if needed. The keys needed are:

    • 1 EVM key
    • 1 Celestia key

    So, in order for this to happen, validators will need to maintain two new keys in order to have a successful upgrade.

    Those two keys will need to be added to 2 new flags on celestia-app:

    • --evm-address: This flag should contain a 0x EVM address.
    - +

    Celestia hardfork process

    Blockchain networks often times need to upgrade with new features which require coordination work among the validators prior to activating the upgrades.

    This process is called a hardfork or a network upgrade. In those events, the Celestia Labs team will be coordinating with the validators on what they need to do in order to be ready for an upcoming hardfork.

    Hardforks are not backward-compatible with older versions of the network software which is why it is important that validators upgrade their software to continue validating on the network after the network upgrades.

    General process

    The general process can be broken down into several components:

    • Hardfork specifications and features (defined by description of features and code implementation of those features).
    • Binary used to add those features (a new binary release with those features will be provided by Celestia team in order for validators to upgrade their nodes to the new binary).
    • A block number for when the network upgrades (even if validators upgrade their binary to be hardfork ready, the network upgrade does not happen right away, but some short time in the future at a specific block number).
    • Testing of the features (happens on testnets first prior to activating on mainnet in order to ensure the network can upgrade securely).

    The two testnets were hardforks are deployed on are:

    Mocha hardfork

    Celestia is planning the Mocha Hardfork upgrade on the Mamaki Testnet. This hardfork is unique as it will reset the Mamaki network to block 0 while maintaining the existing state and also will rename Mamaki to Mocha.

    The new chain-id will be mocha.

    You can find the release logs for consensus nodes on the celestia-app releases page.

    The most exciting feature included is setting the stage for Blobstream on Mocha.

    Validators will need to generate 2 new keys in order to be Blobstream-ready. Note that for the Mocha Hardfork, Blobstream will not launch yet so you can swap those keys after for new ones if needed. The keys needed are:

    • 1 EVM key
    • 1 Celestia key

    So, in order for this to happen, validators will need to maintain two new keys in order to have a successful upgrade.

    Those two keys will need to be added to 2 new flags on celestia-app:

    • --evm-address: This flag should contain a 0x EVM address.
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/instantiate-testnet.html b/pr-preview/pr-1358/nodes/instantiate-testnet.html index e70d556930..8f510fe712 100644 --- a/pr-preview/pr-1358/nodes/instantiate-testnet.html +++ b/pr-preview/pr-1358/nodes/instantiate-testnet.html @@ -7,11 +7,11 @@ - + - - + + @@ -58,8 +58,8 @@ NODE_ID=$(celestia-appd tendermint show-node-id) PORT_NUMBER=26656

    Note that the default port is 26656

    Now you can run the following command to output your validator node address:

    sh
    PEER="$NODE_ID@$IP_ADDRESS:$PORT_NUMBER"
     echo $PEER
    PEER="$NODE_ID@$IP_ADDRESS:$PORT_NUMBER"
    -echo $PEER

    The output is your validator node address which you can share with other validators so they can peer with you.

    Instantiate the network

    You can start your node by running the following command:

    sh
    celestia-appd start
    celestia-appd start

    TIP

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Now you have a new Celestia testnet to play around with!

    - +echo $PEER

    The output is your validator node address which you can share with other validators so they can peer with you.

    Instantiate the network

    You can start your node by running the following command:

    sh
    celestia-appd start
    celestia-appd start

    TIP

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    Now you have a new Celestia testnet to play around with!

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/light-node.html b/pr-preview/pr-1358/nodes/light-node.html index dbd3989a4f..03c189c59f 100644 --- a/pr-preview/pr-1358/nodes/light-node.html +++ b/pr-preview/pr-1358/nodes/light-node.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,11 +38,11 @@

    Setting up a Celestia light node

    This tutorial will guide you through setting up a Celestia light node, which will allow you to perform data availability sampling (DAS) on Celestia's data availability (DA) network.

    Overview of light nodes

    Light nodes ensure data availability. This is the most common way to interact with Celestia networks.

    light-node

    Light nodes have the following behavior:

    1. They listen for ExtendedHeaders, i.e. wrapped “raw” headers, that notify Celestia nodes of new block headers and relevant DA metadata.
    2. They perform DAS on the received headers

    Hardware requirements

    The following minimum hardware requirements are recommended for running a light node:

    • Memory: 500 MB RAM (minimum)
    • CPU: Single Core
    • Disk: 50 GB SSD Storage
    • Bandwidth: 56 Kbps for Download/56 Kbps for Upload

    Setting up your light node

    This tutorial was performed on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Set up dependencies on the setting up environment page.

    Install celestia-node

    Install the celestia binary by building and installing celestia-node.

    Initialize the light node

    Run the following command:

    sh
    celestia light init
    celestia light init
    sh
    celestia light init --p2p.network mocha
    celestia light init --p2p.network mocha
    sh
    celestia light init --p2p.network arabica
    celestia light init --p2p.network arabica

    The output in your terminal will show the location of your node store and config. It will also show confirmation that the node store has been initialized.

    Start the light node

    Start the light node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    In order for access to the ability to get and submit state-related information, such as the ability to submit PayForBlobs transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    To start the light node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    sh
    celestia light start --core.ip <URI> --p2p.network <network>
    celestia light start --core.ip <URI> --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    For example, your command might look something like this for Mocha:

    sh
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha

    Or for Arabica:

    sh
    celestia light start --core.ip consensus-validator.celestia-arabica-10.com \
    +

    Setting up a Celestia light node

    This tutorial will guide you through setting up a Celestia light node, which will allow you to perform data availability sampling (DAS) on Celestia's data availability (DA) network.

    Overview of light nodes

    Light nodes ensure data availability. This is the most common way to interact with Celestia networks.

    light-node

    Light nodes have the following behavior:

    1. They listen for ExtendedHeaders, i.e. wrapped “raw” headers, that notify Celestia nodes of new block headers and relevant DA metadata.
    2. They perform DAS on the received headers

    Hardware requirements

    The following minimum hardware requirements are recommended for running a light node:

    • Memory: 500 MB RAM (minimum)
    • CPU: Single Core
    • Disk: 50 GB SSD Storage
    • Bandwidth: 56 Kbps for Download/56 Kbps for Upload

    Setting up your light node

    This tutorial was performed on an Ubuntu Linux 20.04 (LTS) x64 instance machine.

    Set up dependencies on the setting up environment page.

    Install celestia-node

    Install the celestia binary by building and installing celestia-node.

    Initialize the light node

    Run the following command:

    sh
    celestia light init
    celestia light init
    sh
    celestia light init --p2p.network mocha
    celestia light init --p2p.network mocha
    sh
    celestia light init --p2p.network arabica
    celestia light init --p2p.network arabica

    The output in your terminal will show the location of your node store and config. It will also show confirmation that the node store has been initialized.

    Start the light node

    Start the light node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    In order for access to the ability to get and submit state-related information, such as the ability to submit PayForBlobs transactions, or query for the node's account balance, a gRPC endpoint of a validator (core) node must be passed as directed below.

    Refer to the ports section of the celestia-node troubleshooting page for information on which ports are required to be open on your machine.

    To start the light node with a connection to a validator node's gRPC endpoint (which is usually exposed on port 9090):

    sh
    celestia light start --core.ip <URI> --p2p.network <network>
    celestia light start --core.ip <URI> --p2p.network <network>

    TIP

    You do not need to declare a network for Mainnet Beta. Refer to the chain ID section on the troubleshooting page for more information

    Using an RPC of your own, or one from the list on the Mocha testnet page or list on the Arabica devnet page, start your node.

    For example, your command might look something like this for Mocha:

    sh
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha
    celestia light start --core.ip rpc-mocha.pops.one --p2p.network mocha

    Or for Arabica:

    sh
    celestia light start --core.ip consensus-validator.celestia-arabica-10.com \
         --p2p.network arabica
    celestia light start --core.ip consensus-validator.celestia-arabica-10.com \
         --p2p.network arabica

    Keys and wallets

    You can create your key for your node by running the following command with the cel-key utility in the celestia-node directory:

    sh
    ./cel-key add <key-name> --keyring-backend test \
         --node.type light --p2p.network <network>
    ./cel-key add <key-name> --keyring-backend test \
    -    --node.type light --p2p.network <network>

    You can start your light node with the key created above by running the following command:

    sh
    celestia light start --keyring.accname my_celes_key \
    +    --node.type light --p2p.network <network>

    You can start your light node with the key created above by running the following command:

    sh
    celestia light start --keyring.accname my_celes_key \
         --core.ip consensus.lunaroasis.net
    celestia light start --keyring.accname my_celes_key \
         --core.ip consensus.lunaroasis.net
    sh
    celestia light start --keyring.accname my_celes_key \
         --core.ip rpc-mocha.pops.one --p2p.network mocha
    celestia light start --keyring.accname my_celes_key \
    @@ -52,7 +52,7 @@
         --core.ip consensus-validator.celestia-arabica-10.com \
         --p2p.network arabica

    Once you start the light node, a wallet key will be generated for you. You will need to fund that address with testnet tokens to pay for PayForBlob transactions.

    You can find the address using the RPC CLI or by running the following command in the celestia-node directory:

    sh
    ./cel-key list --node.type light --keyring-backend test \
         --p2p.network <network>
    ./cel-key list --node.type light --keyring-backend test \
    -    --p2p.network <network>

    Testnet tokens

    You have two networks to get testnet tokens from:

    You can request funds to your wallet address using the following command in Discord:

    console
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is the celestia1****** address generated when you created the wallet.

    Optional: run the light node with a custom key

    In order to run a light node using a custom key:

    1. The custom key must exist inside the celestia light node directory at the correct path (default: ~/.celestia-light/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia light start --core.ip <URI> \
    +    --p2p.network <network>

    Testnet tokens

    You have two networks to get testnet tokens from:

    You can request funds to your wallet address using the following command in Discord:

    console
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is the celestia1****** address generated when you created the wallet.

    Optional: run the light node with a custom key

    In order to run a light node using a custom key:

    1. The custom key must exist inside the celestia light node directory at the correct path (default: ~/.celestia-light/keys/keyring-test)
    2. The name of the custom key must be passed upon start, like so:
    sh
    celestia light start --core.ip <URI> \
         --keyring.accname <name-of-custom-key> \
    celestia light start --core.ip <URI> \
         --keyring.accname <name-of-custom-key> \
    sh
    celestia light start --core.ip <URI> \
         --keyring.accname <name-of-custom-key> \
    @@ -62,8 +62,8 @@
         --keyring.accname <name-of-custom-key> \
         --p2p.network mocha
    celestia light start --core.ip <URI> \
         --keyring.accname <name-of-custom-key> \
    -    --p2p.network mocha

    Optional: start light node with SystemD

    Follow the tutorial on setting up the light node as a background process with SystemD.

    Data availability sampling

    With your light node running, you can check out this tutorial on submitting PayForBlob transactions.

    - + --p2p.network mocha

    Optional: start light node with SystemD

    Follow the tutorial on setting up the light node as a background process with SystemD.

    Data availability sampling

    With your light node running, you can check out this tutorial on submitting PayForBlob transactions.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/mainnet.html b/pr-preview/pr-1358/nodes/mainnet.html index 815276690d..a662326936 100644 --- a/pr-preview/pr-1358/nodes/mainnet.html +++ b/pr-preview/pr-1358/nodes/mainnet.html @@ -7,14 +7,14 @@ - + - + - + @@ -43,8 +43,8 @@

    Mainnet Beta

    Mainnet Beta

    Welcome to the guide for Celestia’s Mainnet Beta, the production network that marks the pinnacle of Celestia’s evolution since its inception in 2019. This network is where all components of the Celestia ecosystem come to life in a real-world environment.

    Mainnet Beta is the culmination of rigorous community testing, upgrades, and feedback. It serves as the platform for deploying mainnet rollups and applications.

    Network stability and upgrades

    Mainnet Beta is a stable network, but will still receive updates and improvements. Any changes or upgrades will be coordinated with node operators and the broader Celestia community to ensure seamless integration and minimal service interruptions.

    As we step into unexplored territories with groundbreaking technologies like data availability sampling, it's crucial to remember that Mainnet Beta remains experimental at this stage. While the network is live and functional, users may encounter occasional instability or reduced performance.

    Software version numbers

    Network parameters

    Full network parameters, such as max bytes, can be found in the celestia-app specifications.

    CIP-13 has been drafted to create a living document for these parameters as a part of the CIP process.

    Maximum bytes

    There is a hard limit on the total blob size in a transaction, which is determined by the effective maximum square size. Given that the current governance maximum square size is 64, the total blob size in a transaction must be slightly less than ~2 MiB, or 1,973,786 bytes to be exact.

    The following provides an approximation of the maximum block size:

    • The maximum square size is 64x64, which gives us 4096 shares.
    • One share is reserved for the PFB transaction, leaving us with 4095 shares.
    • The first sparse share has 478 bytes available, and the remaining sparse shares have 482 bytes each.

    This can be calculated as follows:

    Total Bytes=(1×478bytes)+(4094×482bytes)=1,973,786bytes

    Please note that there isn't a precise upper bound on the maximum total blob size. It depends on several factors:

    • The maximum square size, which is determined by a governance parameter and a versioned constant.
    • The maximum bytes in a block, which is determined by a governance parameter and a hard-coded constant in CometBFT.
    • The amount of shares occupied by the PFB transaction share.

    These factors can cause the maximum total blob size that can be included in one block to vary.

    Integrations

    This guide contains the relevant sections for how to connect to Mainnet Beta, depending on the type of node you are running. Your best approach to participating is to first determine which node you would like to run. Each node’s guide will link to the relevant network in order to show you how to connect to them. Learn about the different endpoint types in the Cosmos SDK documentation.

    Here is a list of options of the type of nodes you can run in order to participate in Mainnet Beta:

    Consensus nodes

    Consensus RPC endpoints

    • public-celestia-rpc.numia.xyz
    • celestia-rpc.mesa.newmetric.xyz
    • rpc.lunaroasis.net
    • rpc.celestia.nodestake.top
    • celestia-rpc.brightlystake.com
    • celestia-rpc.spidey.services
    • rpc-celestia.contributiondao.com
    • celestia.rpc.stakin-nodes.com
    • celestia.cumulo.org.es
    • rpc-celestia.mzonder.com
    • rpc-celestia-01.stakeflow.io
    • rpc-celestia.alphab.ai
    • rpc-celestia-full.avril14th.org
    • celestia-rpc.easy2stake.com

    API endpoints

    • public-celestia-lcd.numia.xyz
    • celestia-rest.mesa.newmetric.xyz
    • api.celestia.pops.one
    • api.lunaroasis.net
    • api.celestia.nodestake.top
    • celestia-rpc.brightlystake.com/api
    • celestia-api.spidey.services
    • api-celestia.contributiondao.com
    • celestia.rest.stakin-nodes.com
    • celestia.api.cumulo.org.es
    • api-celestia.mzonder.com
    • api-celestia-01.stakeflow.io
    • api-celestia.alphab.ai
    • api-celestia-full.avril14th.org
    • celestia-lcd.easy2stake.com

    gRPC endpoints

    • public-celestia-grpc.numia.xyz
    • celestia-grpc.mesa.newmetric.xyz
    • grpc.celestia.pops.one
    • grpc.lunaroasis.net:443
    • grpc.celestia.nodestake.top
    • celestia-rpc.brightlystake.com:9090
    • celestia-grpc.spidey.services
    • grpc-celestia.contributiondao.com
    • celestia.grpc.stakin-nodes.com:443
    • celestia.grpc.cumulo.org.es:443
    • grpc-celestia.mzonder.com:443
    • grpc-celestia-01.stakeflow.io:15002
    • rpc-celestia.alphab.ai:9090
    • grpc-celestia-full.avril14th.org

    Data availability nodes

    DA RPC endpoints

    These RPC endpoints for DA nodes are to provide state access for querying the chain’s state and broadcasting transactions (balances, blobs, etc.) to the Celestia network. For users, they will need to provide a –core.ip string from a consensus node’s URL or IP that populates 2 ports for 2 types (RPC and gRPC, at ports 26657 and 9090, respectively) to their respective DA node.

    TIP

    bash
    celestia <da_type> start –core.ip <url> –core.rpc.port <port> \
         –core.grpc.port <port>
    celestia <da_type> start –core.ip <url> –core.rpc.port <port> \
    -    –core.grpc.port <port>

    Bridge nodes

    Not all of the RPC endpoints do not guarantee the full block history. Find an archive endpoint on the community dashboard or run your own consensus full node with no pruning for your bridge node.

    RPCs for DA nodes to initialise or start your celestia-node to Mainnet Beta with:

    • public-celestia-consensus.numia.xyz
      • gRPC: port 9090
      • RPC: port 26657
    • celestia-consensus.mesa.newmetric.xyz
      • gRPC: port 9090
      • RPC: port 26657
    • rpc.celestia.pops.one
      • gRPC: port 9090
      • RPC: port 26657
    • consensus.lunaroasis.net
      • gRPC: port 9090
      • RPC: port 26657
    • rpc-celestia.alphab.ai
      • gRPC: port 9090
      • RPC: port 26657

    DA full and light nodes might have troubles connecting to the networks, so you can checkout this Grafana dashboard to see health/uptime status of DA bootstrappers (now celestia network only).

    You can find the status of these endpoints.

    Explorers

    There are multiple explorers you can use for Mainnet Beta:

    Analytics

    The following websites provide analytics for Celestia:

    Network upgrades

    Join the Community Telegram announcement channel for network upgrades.

    - + –core.grpc.port <port>

    Bridge nodes

    Not all of the RPC endpoints do not guarantee the full block history. Find an archive endpoint on the community dashboard or run your own consensus full node with no pruning for your bridge node.

    RPCs for DA nodes to initialise or start your celestia-node to Mainnet Beta with:

    • public-celestia-consensus.numia.xyz
      • gRPC: port 9090
      • RPC: port 26657
    • celestia-consensus.mesa.newmetric.xyz
      • gRPC: port 9090
      • RPC: port 26657
    • rpc.celestia.pops.one
      • gRPC: port 9090
      • RPC: port 26657
    • consensus.lunaroasis.net
      • gRPC: port 9090
      • RPC: port 26657
    • rpc-celestia.alphab.ai
      • gRPC: port 9090
      • RPC: port 26657

    DA full and light nodes might have troubles connecting to the networks, so you can checkout this Grafana dashboard to see health/uptime status of DA bootstrappers (now celestia network only).

    You can find the status of these endpoints.

    Explorers

    There are multiple explorers you can use for Mainnet Beta:

    Analytics

    The following websites provide analytics for Celestia:

    Network upgrades

    Join the Community Telegram announcement channel for network upgrades.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/mocha-testnet.html b/pr-preview/pr-1358/nodes/mocha-testnet.html index 8978ef74f5..f72d69cbcf 100644 --- a/pr-preview/pr-1358/nodes/mocha-testnet.html +++ b/pr-preview/pr-1358/nodes/mocha-testnet.html @@ -7,14 +7,14 @@ - + - + - + @@ -41,8 +41,8 @@

    Mocha testnet

    mocha-testnet

    This guide contains the relevant sections for how to connect to Mocha, depending on the type of node you are running. Mocha testnet is designed to help validators test out their infrastructure and node software. Developers are encouraged to deploy their sovereign rollups on Mocha, but we also recommend Arabica devnet for that as it is designed for development purposes.

    Mocha is a milestone in Celestia, allowing everyone to test out core functionalities on the network. Read the announcement. Your best approach to participating is to first determine which node you would like to run. Each node's guide will link to the relevant networks in order to show you how to connect to them.

    You have a list of options on the type of nodes you can run in order to participate in Mocha:

    Consensus:

    Data Availability:

    Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Mocha in order to refer to the correct instructions on this page on how to connect to Mocha.

    Software version numbers

    RPC endpoints

    The RPC endpoint is to allow users to interact with Celestia's nodes by querying the node's state and broadcasting transactions on the Celestia network. The default port is 26657.

    Below is a list of RPC endpoints you can use to connect to Mocha testnet:

    Bridge, full, and light nodes

    • full.consensus.mocha-4.celestia-mocha.com
    • consensus-full-mocha-4.celestia-mocha.com
    • rpc-mocha.pops.one
    • celestia-rpc.f5nodes.com
    • celestia-testnet.brightlystake.com
    • rpc-celestia-mocha.architectnodes.com
    • rpc-celestia-mocha.testnet-pride.com
    • rpc-celestia-testnet-01.stakeflow.io
    • mocha.celestia.rpc.cumulo.me
    • rpc-mocha-4.spidey.services

    Full and light nodes ONLY

    These RPC endpoints do not allow you to download full blocks from them. We advise that if you are running a bridge node, that you also run a local full consensus node in order to download full blocks from it.

    • rpc.celestia-mocha.com
    • rpc-2.celestia-mocha.com

    API endpoints

    The API endpoint is to allow users to interact with the REST API in Cosmos SDK which is implemented using gRPC-gateway, which exposes gRPC endpoints as REST endpoints. This allows for communication with the node using REST calls, which can be useful if the client does not support gRPC or HTTP2. The default port is 1317.

    gRPC endpoints

    The gRPC endpoint is to allow users to interact with a Celestia Node using gRPC, a modern open-source and high-performance RPC framework. The default port is 9090. In the Cosmos SDK, gRPC is used to define state queries and broadcast transactions.

    • https://grpc-mocha.pops.one
    • grpc.celestia-mocha.com:443
    • grpc-2.celestia-mocha.com:443
    • full.consensus.mocha-4.celestia-mocha.com:9090
    • consensus-full-mocha-4.celestia-mocha.com:9090
    • celestia-grpc.f5nodes.com
    • celestia-testnet.brightlystake.com:9390
    • grpc-celestia-mocha.architectnodes.com:1443
    • grpc-celestia-mocha.testnet-pride.com:9099
    • grpc-celestia-testnet-01.stakeflow.io:16002
    • mocha.grpc.cumulo.me:443
    • grpc-mocha-4.spidey.services

    Bridge and full node endpoints

    The endpoints below are for bridge and full nodes only. They can be used to find bootstrapper peers in the p2p network.

    Bridge node 1:

    • da-bridge-mocha-4.celestia-mocha.com
    • bridge-mocha-4.da.celestia-mocha.com

    Bridge node 2:

    • da-bridge-mocha-4-2.celestia-mocha.com
    • bridge-mocha-4-2.da.celestia-mocha.com

    Full node 1:

    • da-full-1-mocha-4.celestia-mocha.com
    • full-1-mocha-4.da.celestia-mocha.com

    Full node 2:

    • da-full-2-mocha-4.celestia-mocha.com
    • full-2-mocha-4.da.celestia-mocha.com

    Mocha testnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    You can request from Mocha testnet Faucet on the #mocha-faucet channel on Celestia's Discord server with the following command:

    text
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

    NOTE

    Faucet has a limit of 10 tokens per week per address/Discord ID.

    Explorers

    There are several explorers you can use for Mocha:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    - +

    Mocha testnet

    mocha-testnet

    This guide contains the relevant sections for how to connect to Mocha, depending on the type of node you are running. Mocha testnet is designed to help validators test out their infrastructure and node software. Developers are encouraged to deploy their sovereign rollups on Mocha, but we also recommend Arabica devnet for that as it is designed for development purposes.

    Mocha is a milestone in Celestia, allowing everyone to test out core functionalities on the network. Read the announcement. Your best approach to participating is to first determine which node you would like to run. Each node's guide will link to the relevant networks in order to show you how to connect to them.

    You have a list of options on the type of nodes you can run in order to participate in Mocha:

    Consensus:

    Data Availability:

    Select the type of node you would like to run and follow the instructions on each respective page. Whenever you are asked to select the type of network you want to connect to in those guides, select Mocha in order to refer to the correct instructions on this page on how to connect to Mocha.

    Software version numbers

    RPC endpoints

    The RPC endpoint is to allow users to interact with Celestia's nodes by querying the node's state and broadcasting transactions on the Celestia network. The default port is 26657.

    Below is a list of RPC endpoints you can use to connect to Mocha testnet:

    Bridge, full, and light nodes

    • full.consensus.mocha-4.celestia-mocha.com
    • consensus-full-mocha-4.celestia-mocha.com
    • rpc-mocha.pops.one
    • celestia-rpc.f5nodes.com
    • celestia-testnet.brightlystake.com
    • rpc-celestia-mocha.architectnodes.com
    • rpc-celestia-mocha.testnet-pride.com
    • rpc-celestia-testnet-01.stakeflow.io
    • mocha.celestia.rpc.cumulo.me
    • rpc-mocha-4.spidey.services

    Full and light nodes ONLY

    These RPC endpoints do not allow you to download full blocks from them. We advise that if you are running a bridge node, that you also run a local full consensus node in order to download full blocks from it.

    • rpc.celestia-mocha.com
    • rpc-2.celestia-mocha.com

    API endpoints

    The API endpoint is to allow users to interact with the REST API in Cosmos SDK which is implemented using gRPC-gateway, which exposes gRPC endpoints as REST endpoints. This allows for communication with the node using REST calls, which can be useful if the client does not support gRPC or HTTP2. The default port is 1317.

    gRPC endpoints

    The gRPC endpoint is to allow users to interact with a Celestia Node using gRPC, a modern open-source and high-performance RPC framework. The default port is 9090. In the Cosmos SDK, gRPC is used to define state queries and broadcast transactions.

    • https://grpc-mocha.pops.one
    • grpc.celestia-mocha.com:443
    • grpc-2.celestia-mocha.com:443
    • full.consensus.mocha-4.celestia-mocha.com:9090
    • consensus-full-mocha-4.celestia-mocha.com:9090
    • celestia-grpc.f5nodes.com
    • celestia-testnet.brightlystake.com:9390
    • grpc-celestia-mocha.architectnodes.com:1443
    • grpc-celestia-mocha.testnet-pride.com:9099
    • grpc-celestia-testnet-01.stakeflow.io:16002
    • mocha.grpc.cumulo.me:443
    • grpc-mocha-4.spidey.services

    Bridge and full node endpoints

    The endpoints below are for bridge and full nodes only. They can be used to find bootstrapper peers in the p2p network.

    Bridge node 1:

    • da-bridge-mocha-4.celestia-mocha.com
    • bridge-mocha-4.da.celestia-mocha.com

    Bridge node 2:

    • da-bridge-mocha-4-2.celestia-mocha.com
    • bridge-mocha-4-2.da.celestia-mocha.com

    Full node 1:

    • da-full-1-mocha-4.celestia-mocha.com
    • full-1-mocha-4.da.celestia-mocha.com

    Full node 2:

    • da-full-2-mocha-4.celestia-mocha.com
    • full-2-mocha-4.da.celestia-mocha.com

    Mocha testnet faucet

    WARNING

    USING THIS FAUCET DOES NOT ENTITLE YOU TO ANY AIRDROP OR OTHER DISTRIBUTION OF MAINNET CELESTIA TOKENS. THERE ARE NO PUBLIC SALES OF ANY MAINNET CELESTIA TOKENS.

    You can request from Mocha testnet Faucet on the #mocha-faucet channel on Celestia's Discord server with the following command:

    text
    $request <CELESTIA-ADDRESS>
    $request <CELESTIA-ADDRESS>

    Where <CELESTIA-ADDRESS> is a celestia1****** generated address.

    NOTE

    Faucet has a limit of 10 tokens per week per address/Discord ID.

    Explorers

    There are several explorers you can use for Mocha:

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/overview.html b/pr-preview/pr-1358/nodes/overview.html index cfdd22e40d..58cae815b9 100644 --- a/pr-preview/pr-1358/nodes/overview.html +++ b/pr-preview/pr-1358/nodes/overview.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Overview to running nodes on Celestia

    There are many ways you can participate in the Celestia networks.

    Celestia node operators can run several options on the network.

    Consensus:

    • Validator node: This type of node participates in consensus by producing and voting on blocks.
    • Full consensus node: A celestia-app Full node to sync blockchain history.

    Data Availability:

    • Bridge node: This node bridges blocks between the Data-Availability network and the Consensus network.
    • Full storage node: This node stores all the data but does not connect to Consensus.
    • Light node: Light clients conduct data availability sampling on the Data Availability network.

    You can learn more about how to setup each different node by going through each tutorial guide.

    Banner

    Please provide any feedback on the tutorials and guides. If you notice a bug or issue, feel free to make a pull request or write up a Github issue!

    - +

    Overview to running nodes on Celestia

    There are many ways you can participate in the Celestia networks.

    Celestia node operators can run several options on the network.

    Consensus:

    • Validator node: This type of node participates in consensus by producing and voting on blocks.
    • Full consensus node: A celestia-app Full node to sync blockchain history.

    Data Availability:

    • Bridge node: This node bridges blocks between the Data-Availability network and the Consensus network.
    • Full storage node: This node stores all the data but does not connect to Consensus.
    • Light node: Light clients conduct data availability sampling on the Data Availability network.

    You can learn more about how to setup each different node by going through each tutorial guide.

    Banner

    Please provide any feedback on the tutorials and guides. If you notice a bug or issue, feel free to make a pull request or write up a Github issue!

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/participate.html b/pr-preview/pr-1358/nodes/participate.html index a42ea4c3d8..d48d09145d 100644 --- a/pr-preview/pr-1358/nodes/participate.html +++ b/pr-preview/pr-1358/nodes/participate.html @@ -7,10 +7,10 @@ - + - + @@ -18,7 +18,7 @@ - + @@ -45,8 +45,8 @@

    Participate in the Celestia networks

    Mainnet Beta

    Celestia’s Mainnet Beta is the production network for deploying mainnet rollups and applications. This marks the culmination of years of development and community testing. While the network is stable and continues to receive updates, it remains experimental and users may experience occasional instability or reduced performance.

    Testnets

    Celestia currently has two existing testnets that you can participate in:

    • Arabica devnet: A devnet focused on developers who want to deploy sovereign rollups on the latest changes from Celestia's codebase. Arabica will be updated frequently and might be unstable at times given new updates. Validators won't be able to validate on Arabica as it is not designed for validators to participate.
      • Compatible software versions
        SoftwareVersion
        celestia-nodev0.12.3
        celestia-appv1.6.0
    • Mocha testnet: A testnet focused on enabling validators to test out their infrastructure by running nodes connected to the network. Developers can also deploy sovereign rollups on Mocha, it just will always be behind Arabica as Mocha upgrades are slower given they need to be done via hardforks in coordination with the validator community on Mocha.

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    - +

    Participate in the Celestia networks

    Mainnet Beta

    Celestia’s Mainnet Beta is the production network for deploying mainnet rollups and applications. This marks the culmination of years of development and community testing. While the network is stable and continues to receive updates, it remains experimental and users may experience occasional instability or reduced performance.

    Testnets

    Celestia currently has two existing testnets that you can participate in:

    • Arabica devnet: A devnet focused on developers who want to deploy sovereign rollups on the latest changes from Celestia's codebase. Arabica will be updated frequently and might be unstable at times given new updates. Validators won't be able to validate on Arabica as it is not designed for validators to participate.
      • Compatible software versions
        SoftwareVersion
        celestia-nodev0.12.3
        celestia-appv1.6.0
    • Mocha testnet: A testnet focused on enabling validators to test out their infrastructure by running nodes connected to the network. Developers can also deploy sovereign rollups on Mocha, it just will always be behind Arabica as Mocha upgrades are slower given they need to be done via hardforks in coordination with the validator community on Mocha.

    Network upgrades

    Join our Telegram announcement channel for network upgrades.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/quick-start.html b/pr-preview/pr-1358/nodes/quick-start.html index 68b80edd82..91e4f35e6c 100644 --- a/pr-preview/pr-1358/nodes/quick-start.html +++ b/pr-preview/pr-1358/nodes/quick-start.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Quick start guide

    In this section, we show you how to get started with installing the needed libraries and packages in Celestia to help you run a node on Celestia.

    Celestia Node

    Install celestia-node allows you to get started with running a light node and do data availability sampling.

    Light nodes are the best nodes to test out initially if you are new to participating in Celestia.

    celestia-node client also allows you to run other types of data availability (DA) nodes like bridge and full DA storage nodes, which will be covered in later sections.

    Celestia App

    Install celestia-app allows you to get started running a consensus node.

    celestia-app is the software that allows you to run validator nodes and also provide RPC endpoints.

    celestia-app covers the consensus layer, while celestia-node covers the DA layer.

    Getting started

    As covered in the previous section, Celestia offers two different test networks, Arabica devnet and Mocha testnet.

    If you are planning to run a light node, it is recommended to use Arabica, which you will find options to connecting to in the later sections.

    If you plan on running a validator, your only option is to run your node on Mocha.

    In this quick start guide, we will go over installing both of the software clients: celestia-node and celestia-app.

    NOTE

    If you just want to run a light node, you don't need to install celestia-app and can skip that part.

    Proceed to the next section in order to get started.

    - +

    Quick start guide

    In this section, we show you how to get started with installing the needed libraries and packages in Celestia to help you run a node on Celestia.

    Celestia Node

    Install celestia-node allows you to get started with running a light node and do data availability sampling.

    Light nodes are the best nodes to test out initially if you are new to participating in Celestia.

    celestia-node client also allows you to run other types of data availability (DA) nodes like bridge and full DA storage nodes, which will be covered in later sections.

    Celestia App

    Install celestia-app allows you to get started running a consensus node.

    celestia-app is the software that allows you to run validator nodes and also provide RPC endpoints.

    celestia-app covers the consensus layer, while celestia-node covers the DA layer.

    Getting started

    As covered in the previous section, Celestia offers two different test networks, Arabica devnet and Mocha testnet.

    If you are planning to run a light node, it is recommended to use Arabica, which you will find options to connecting to in the later sections.

    If you plan on running a validator, your only option is to run your node on Mocha.

    In this quick start guide, we will go over installing both of the software clients: celestia-node and celestia-app.

    NOTE

    If you just want to run a light node, you don't need to install celestia-app and can skip that part.

    Proceed to the next section in order to get started.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/systemd.html b/pr-preview/pr-1358/nodes/systemd.html index 42701bb7d4..b2ddac592c 100644 --- a/pr-preview/pr-1358/nodes/systemd.html +++ b/pr-preview/pr-1358/nodes/systemd.html @@ -7,11 +7,11 @@ - + - - + + @@ -164,8 +164,8 @@ WantedBy=multi-user.target EOF

    If the file was created successfully you will be able to see its content:

    sh
    cat /etc/systemd/system/celestia-lightd.service
    cat /etc/systemd/system/celestia-lightd.service

    Enable and start celestia-lightd daemon:

    sh
    sudo systemctl enable celestia-lightd
     sudo systemctl start celestia-lightd
    sudo systemctl enable celestia-lightd
    -sudo systemctl start celestia-lightd

    Check if daemon has been started correctly:

    sh
    sudo systemctl status celestia-lightd
    sudo systemctl status celestia-lightd

    Check daemon logs in real time:

    sh
    sudo journalctl -u celestia-lightd.service -f
    sudo journalctl -u celestia-lightd.service -f

    Now, the Celestia light node will start syncing headers. After sync is finished, light node will do Data Availability Sampling (DAS) from the bridge node.

    - +sudo systemctl start celestia-lightd

    Check if daemon has been started correctly:

    sh
    sudo systemctl status celestia-lightd
    sudo systemctl status celestia-lightd

    Check daemon logs in real time:

    sh
    sudo journalctl -u celestia-lightd.service -f
    sudo journalctl -u celestia-lightd.service -f

    Now, the Celestia light node will start syncing headers. After sync is finished, light node will do Data Availability Sampling (DAS) from the bridge node.

    + \ No newline at end of file diff --git a/pr-preview/pr-1358/nodes/transaction-resubmission.html b/pr-preview/pr-1358/nodes/transaction-resubmission.html index 98d953f8f5..ab87cbb00e 100644 --- a/pr-preview/pr-1358/nodes/transaction-resubmission.html +++ b/pr-preview/pr-1358/nodes/transaction-resubmission.html @@ -7,11 +7,11 @@ - + - - + + @@ -38,8 +38,8 @@

    Transaction resubmission

    In cases where transactions are not included within a 75-second window, resubmission is necessary. This is especially important during network congestion, as transactions with relatively low fees may not be processed even after the network clears up.

    Regardless of whether they originate from celestia-app or celestia-node, transactions will not be re-gossiped, except in the presence of a new peer.

    Monitoring and resubmission

    Monitor the status of your transactions. If a transaction is not included within a 75-second window, it should be resubmitted. This can be done manually or through automated processes.

    Changes introduced in celestiaorg/celestia-core#1089 may affect transaction gossiping and inclusion speed.

    Notes

    • All transactions, regardless of their origin, are subject to being sorted and pruned based on fees.
    • It is the user or developer's responsibility to monitor and possibly resubumit transactions if they are not included in a 75-second window.
    - +

    Transaction resubmission

    In cases where transactions are not included within a 75-second window, resubmission is necessary. This is especially important during network congestion, as transactions with relatively low fees may not be processed even after the network clears up.

    Regardless of whether they originate from celestia-app or celestia-node, transactions will not be re-gossiped, except in the presence of a new peer.

    Monitoring and resubmission

    Monitor the status of your transactions. If a transaction is not included within a 75-second window, it should be resubmitted. This can be done manually or through automated processes.

    Changes introduced in celestiaorg/celestia-core#1089 may affect transaction gossiping and inclusion speed.

    Notes

    • All transactions, regardless of their origin, are subject to being sorted and pruned based on fees.
    • It is the user or developer's responsibility to monitor and possibly resubumit transactions if they are not included in a 75-second window.
    + \ No newline at end of file diff --git a/pr-preview/pr-1358/sitemap.xml b/pr-preview/pr-1358/sitemap.xml index 410e5f9028..d426079eae 100644 --- a/pr-preview/pr-1358/sitemap.xml +++ b/pr-preview/pr-1358/sitemap.xml @@ -1 +1 @@ -https://docs.celestia.org/README2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/calendar2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/coc2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/cohort-one-content2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/itn-tos2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/modular-fellows2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/modular-meetup-guide2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/modular-meetup-intro2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/modular-meetup-toolkit2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/overview2024-01-11T21:52:46.000Zhttps://docs.celestia.org/community/speaker-list2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/arbitrum-dapp-deploy2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/arbitrum-deploy2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/arbitrum-integration2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/arbitrum-mocha2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/arbitrum-smart-contract2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/blobstream-contracts2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/blobstream-offchain2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/blobstream-proof-queries2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/blobstream2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/bubs-testnet2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/build-modular2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/celestia-app-vesting2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/celestia-app-wallet2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/celestia-node-key2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/cosmostation2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/deploy-on-bubs2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/ethereum-fallback2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/full-stack-modular-development-guide2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/gm-portal-bubs2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/how-to-stake-tia2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/ibc-relayer2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/integrate-celestia2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/intro-to-op-stack2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/keplr2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/leap2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/nitrogen2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/node-api2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/node-tutorial2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/optimism-devnet2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/optimism2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/prompt-scavenger2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/retrievability2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/rollkit2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/rollup-overview2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/staking2024-01-11T21:52:46.000Zhttps://docs.celestia.org/developers/submit-data2024-01-11T21:52:46.000Zhttps://docs.celestia.org/2024-01-11T21:52:46.000Zhttps://docs.celestia.org/learn/how-celestia-works/data-availability-faq2024-01-11T21:52:46.000Zhttps://docs.celestia.org/learn/how-celestia-works/data-availability-layer2024-01-11T21:52:46.000Zhttps://docs.celestia.org/learn/how-celestia-works/monolithic-vs-modular2024-01-11T21:52:46.000Zhttps://docs.celestia.org/learn/how-celestia-works/overview2024-01-11T21:52:46.000Zhttps://docs.celestia.org/learn/how-celestia-works/transaction-lifecycle2024-01-11T21:52:46.000Zhttps://docs.celestia.org/learn/paying-for-blobspace2024-01-11T21:52:46.000Zhttps://docs.celestia.org/learn/staking-governance-supply2024-01-11T21:52:46.000Zhttps://docs.celestia.org/learn/tia2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/arabica-92024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/arabica-devnet2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/blobstream-binary2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/blobstream-bootstrapper2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/blobstream-deploy2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/blobstream-keys2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/blobstream-orchestrator2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/blobstream-relayer2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/bridge-node2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-app-commands2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-app-metrics2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-app-multisig2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-app-upgrade-monitor2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-app2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-node-custom-networks2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-node-metrics2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-node-troubleshooting2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/celestia-node2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/config-toml2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/consensus-node2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/decide-node2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/docker-images2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/environment2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/full-storage-node2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/hardfork-process2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/instantiate-testnet2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/light-node2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/mainnet2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/mocha-testnet2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/overview2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/participate2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/quick-start2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/systemd2024-01-11T21:52:46.000Zhttps://docs.celestia.org/nodes/transaction-resubmission2024-01-11T21:52:46.000Z \ No newline at end of file +https://docs.celestia.org/README2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/calendar2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/coc2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/cohort-one-content2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/itn-tos2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/modular-fellows2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/modular-meetup-guide2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/modular-meetup-intro2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/modular-meetup-toolkit2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/overview2024-01-11T21:56:29.000Zhttps://docs.celestia.org/community/speaker-list2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/arbitrum-dapp-deploy2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/arbitrum-deploy2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/arbitrum-integration2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/arbitrum-mocha2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/arbitrum-smart-contract2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/blobstream-contracts2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/blobstream-offchain2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/blobstream-proof-queries2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/blobstream2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/bubs-testnet2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/build-modular2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/celestia-app-vesting2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/celestia-app-wallet2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/celestia-node-key2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/cosmostation2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/deploy-on-bubs2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/ethereum-fallback2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/full-stack-modular-development-guide2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/gm-portal-bubs2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/how-to-stake-tia2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/ibc-relayer2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/integrate-celestia2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/intro-to-op-stack2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/keplr2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/leap2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/nitrogen2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/node-api2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/node-tutorial2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/optimism-devnet2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/optimism2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/prompt-scavenger2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/retrievability2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/rollkit2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/rollup-overview2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/staking2024-01-11T21:56:29.000Zhttps://docs.celestia.org/developers/submit-data2024-01-11T21:56:29.000Zhttps://docs.celestia.org/2024-01-11T21:56:29.000Zhttps://docs.celestia.org/learn/how-celestia-works/data-availability-faq2024-01-11T21:56:29.000Zhttps://docs.celestia.org/learn/how-celestia-works/data-availability-layer2024-01-11T21:56:29.000Zhttps://docs.celestia.org/learn/how-celestia-works/monolithic-vs-modular2024-01-11T21:56:29.000Zhttps://docs.celestia.org/learn/how-celestia-works/overview2024-01-11T21:56:29.000Zhttps://docs.celestia.org/learn/how-celestia-works/transaction-lifecycle2024-01-11T21:56:29.000Zhttps://docs.celestia.org/learn/paying-for-blobspace2024-01-11T21:56:29.000Zhttps://docs.celestia.org/learn/staking-governance-supply2024-01-11T21:56:29.000Zhttps://docs.celestia.org/learn/tia2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/arabica-92024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/arabica-devnet2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/blobstream-binary2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/blobstream-bootstrapper2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/blobstream-deploy2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/blobstream-keys2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/blobstream-orchestrator2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/blobstream-relayer2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/bridge-node2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-app-commands2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-app-metrics2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-app-multisig2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-app-upgrade-monitor2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-app2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-node-custom-networks2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-node-metrics2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-node-troubleshooting2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/celestia-node2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/config-toml2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/consensus-node2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/decide-node2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/docker-images2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/environment2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/full-storage-node2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/hardfork-process2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/instantiate-testnet2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/light-node2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/mainnet2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/mocha-testnet2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/overview2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/participate2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/quick-start2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/systemd2024-01-11T21:56:29.000Zhttps://docs.celestia.org/nodes/transaction-resubmission2024-01-11T21:56:29.000Z \ No newline at end of file