Skip to content

Instantly share code, notes, and snippets.

@anomit
Last active January 30, 2026 14:48
Show Gist options
  • Select an option

  • Save anomit/fea965fb65f972a0fb63200c04d59eae to your computer and use it in GitHub Desktop.

Select an option

Save anomit/fea965fb65f972a0fb63200c04d59eae to your computer and use it in GitHub Desktop.

DSV Mainnet Alpha Testing Instructions: Snapshotter Lite Node

⚠️ This guide requires the snapshotter CLI to be installed and configured. Please refer to the Snapshotter CLI documentation for complete installation and usage instructions.

⚠️ 😤 If you are impatient and want to get started quickly, please refer to the Appendix: CLI cheatsheet for the impatient section.

Navigate to DSV specific feature branch

git clone https://github.com/powerloom/snapshotter-lite-multi-setup.git
cd snapshotter-lite-multi-setup
git checkout feat/bds-dsv-devnet-rollout

Verify DSV Mainnet Alpha Data Market is available

powerloom-snapshotter-cli list
# or from the shell mode:
powerloom-snapshotter> list
# or with uv:
uv run powerloom-snapshotter-cli list

You should see the following output with the DSV Mainnet Alpha Data Market available as BDS_MAINNET_ALPHA_UNISWAPV3.

🌐 Available Powerloom Chains
└── MAINNET (Chain ID: 7869, RPC: https://rpc-v2.powerloom.network)
    ├── BDS_MAINNET_ALPHA_UNISWAPV3 - Source: ETH-MAINNET
    │   ├── Market Contract: 0x4198Bf81B55EE4Af6f9Ddc176F8021960813f641
    │   ├── Market Protocol State: 0xa1100CB00Acd3cA83a7C8F4DAA42701D1Eaf4A6c
    │   ├── Sequencer: /dns/soon-to-be-deprecated/tcp/9100/p2p/peer-id
    │   ├── Compute: https://github.com/powerloom/snapshotter-computes.git (feat/bds_lite) Commit: a036c43
    │   └── Config: https://github.com/powerloom/snapshotter-configs.git (feat/bds_lite) Commit: 8b8296b
    └── UNISWAPV2 - Source: ETH-MAINNET
        ├── Market Contract: 0x21cb57C1f2352ad215a463DD867b838749CD3b8f
        ├── Market Protocol State: 0x000AA7d3a6a2556496f363B59e56D9aA1881548F
        ├── Sequencer: /dns/mainnet-proto-snapshot-listener.aws2.powerloom.io/tcp/9100/p2p/QmTK9e9QNEotPkjWAdZT5bbYKV7PEJVu7iXzdVn3VZDEk9
        ├── Compute: https://github.com/powerloom/snapshotter-computes.git (eth_uniswapv2_lite_v2) Commit: ebb5bbf
        └── Config: https://github.com/powerloom/snapshotter-configs.git (eth_uniswapv2-lite_v2) Commit: cc740e4

Configure for DSV Mainnet Alpha Data Market

🏷️ TIP: You can use the powerloom-snapshotter-cli configure command to configure the snapshotter lite node(s) for the DSV Mainnet Alpha Data Market.

powerloom-snapshotter-cli configure --env mainnet --market BDS_MAINNET_ALPHA_UNISWAPV3
# or from the shell mode:
powerloom-snapshotter> configure --env mainnet --market BDS_MAINNET_ALPHA_UNISWAPV3
# or with uv:
uv run powerloom-snapshotter-cli configure --env mainnet --market BDS_MAINNET_ALPHA_UNISWAPV3
👉 Enter slot NFT holder wallet address (0x...) (): <slot NFT holder wallet address>
👉 Enter SNAPSHOTTER signer address (0x...) (): <SNAPSHOTTER signer address>
👉 Enter signer private key (): <signer private key>
👉 Enter RPC URL for ETH-MAINNET (): <ETH-MAINNET RPC URL>
👉 Enter Telegram chat ID (optional) (): <Telegram chat ID can be left blank>
👉 Enter local collector P2P port (for gossipsub mesh communication) (8001): <local collector P2P port. Can be left blank, default is 8001>
✅ Created /root/.powerloom-snapshotter-cli/profiles/bds-mainnet-alpha-uniswapv3/.env.mainnet.bds_mainnet_alpha_uniswapv3.eth_mainnet with following values:
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Environment File Contents ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
< Your environment file contents >

Deploy the snapshotter lite node(s)

uv run powerloom-snapshotter-cli deploy --env mainnet --market BDS_MAINNET_ALPHA_UNISWAPV3 

🐳 Docker daemon is running.
🚀 Deploying to environment: MAINNET...
✓ Found profile config for market BDS_MAINNET_ALPHA_UNISWAPV3: /home/ubuntu/.powerloom-snapshotter-cli/profiles/default/.env.mainnet.bds_mainnet_alpha_uniswapv3.eth_mainnet
ℹ️ No specific slots provided. Fetching all slots owned by 0xabcdefghijklmnopqrstuvwxyz0123456789 on mainnet...
Found N slots for wallet 0xabcdefghijklmnopqrstuvwxyz0123456789 on mainnet: [ . . . ]
ℹ️ Found slots for wallet 0xabcdefghijklmnopqrstuvwxyz0123456789: [ . . . ]

# choose to deploy select or all slots

☑️ Do you want to deploy all of these fetched slots? (y/n) [y]: n
🫸 ▶︎ Enter the start slot ID from the list above to deploy: N1
🫸 ▶︎ Enter the end slot ID from the list above to deploy (or same as start for single): N2
🎰 Targeting slots for deployment: [N1, N2]
🚀 BDS DSV market detected - using branch: feat/bds_lite_dsv_rollout
🚀 Deploying snapshotter nodes for market: BDS_MAINNET_ALPHA_UNISWAPV3...

🛠️ Preparing base snapshotter-lite-v2 clone at /home/ubuntu/snapshotter-lite-multi-setup/.tmp_snapshotter_base_clone...
  ↪️ Running Git command: /usr/bin/git clone --branch feat/bds_lite_dsv_rollout https://github.com/PowerLoom/snapshotter-lite-v2.git . in 
/home/ubuntu/snapshotter-lite-multi-setup/.tmp_snapshotter_base_clone
    ✅ Cloning base snapshotter-lite-v2 repository from {snapshotter_lite_repo_url} (branch: feat/bds_lite_dsv_rollout) successful.
  ✅ Base snapshotter-lite-v2 cloned successfully from branch: feat/bds_lite_dsv_rollout.
📦 Processing market BDS_MAINNET_ALPHA_UNISWAPV3 on MAINNET...
✓ Found profile config for market BDS_MAINNET_ALPHA_UNISWAPV3: /home/ubuntu/.powerloom-snapshotter-cli/profiles/default/.env.mainnet.bds_mainnet_alpha_uniswapv3.eth_mainnet
🔑 Using Signer: 0xSignerAddress for market BDS_MAINNET_ALPHA_UNISWAPV3
   🔩 Deploying slot N1 for market BDS_MAINNET_ALPHA_UNISWAPV3 (Source RPC: <ETH-Mainnet-RPC>)
⚙️  Starting deployment for Market BDS_MAINNET_ALPHA_UNISWAPV3 on Powerloom Chain mainnet, Slot N1
  📂 Deployment directory: snapshotter-lite-v2/mainnet/bds_mainnet_alpha_uniswapv3_eth-mainnet/slot-5481
  < Deployment logs >
----- Deployment Summary -----
✅ Successfully deployed n snapshotter instance(s).
🧹 Cleaning up temporary base snapshotter clone at /home/ubuntu/snapshotter-lite-multi-setup/.tmp_snapshotter_base_clone...
  ✅ Cleanup successful.

Verify running status

Check running Docker containers

sudo docker ps | grep -iE 'mainnet|collector'
1dce7f01765b   snapshotter-lite-v2-N2-mainnet-bds_mainnet_alpha_uniswapv3-eth-snapshotter-lite-v2                "bash -c '\n  rm -f /…"   31 seconds ago   Up 31 seconds                                                                                                                                                                     snapshotter-lite-v2-N2-mainnet-BDS_MAINNET_ALPHA_UNISWAPV3-ETH
03f92f3996ee   snapshotter-lite-v2-N1-mainnet-bds_mainnet_alpha_uniswapv3-eth-snapshotter-lite-v2                "bash -c '\n  rm -f /…"   36 seconds ago   Up 36 seconds                                                                                                                                                                     snapshotter-lite-v2-N1-mainnet-BDS_MAINNET_ALPHA_UNISWAPV3-ETH
d4092014c788   snapshotter-lite-v2-N1-mainnet-bds_mainnet_alpha_uniswapv3-eth-snapshotter-lite-local-collector   "/snapshotter-local-…"    36 seconds ago   Up 36 seconds           127.0.0.1:8001->8001/tcp, 127.0.0.1:8085->8085/tcp, 127.0.0.1:50051->50051/tcp                                                                            snapshotter-lite-local-collector-mainnet-BDS_MAINNET_ALPHA_UNISWAPV3-ETH
22c4ed99acd3   5f56581c58f2                                                                                        "/snapshotter-local-…"    8 weeks ago      Up 8 weeks              0.0.0.0:50052->50052/tcp, [::]:50052->50052/tcp                                                                                                           snapshotter-core-snapshotter-local-collector-1

Trail snapshotter logs

# attach to one of the screen sessions
screen -r pl_mainnet_bds_mainnet_alpha_uniswapv3_<N1>

# or check container logs
sudo docker logs -f -n 100 snapshotter-lite-v2-N1-mainnet-BDS_MAINNET_ALPHA_UNISWAPV3-ETH

Appendix: CLI cheatsheet for the impatient

🌟 TIP: The preferred way to install the CLI is to use the uv package manager.

Using the bundled installer: Recommended

🗂️ This approach install the snapshotter CLI binary as well along with the dependencies.

git clone https://github.com/powerloom/snapshotter-lite-multi-setup.git
cd snapshotter-lite-multi-setup

./install-uv.sh
powerloom-snapshotter-cli shell
# Now run commands instantly:
powerloom-snapshotter> configure
powerloom-snapshotter> deploy
powerloom-snapshotter> list
powerloom-snapshotter> status
powerloom-snapshotter> check
# or run commands directly:
powerloom-snapshotter-cli configure
powerloom-snapshotter-cli deploy
powerloom-snapshotter-cli list
powerloom-snapshotter-cli status
powerloom-snapshotter-cli check

Install uv separately and then run/install the CLI: Alternative

curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/powerloom/snapshotter-lite-multi-setup.git
cd snapshotter-lite-multi-setup
uv sync
uv run powerloom-snapshotter-cli shell
# Now run commands instantly:
powerloom-snapshotter> configure
powerloom-snapshotter> deploy
powerloom-snapshotter> list
powerloom-snapshotter> status
powerloom-snapshotter> check
# or run commands directly:
uv run powerloom-snapshotter-cli configure
uv run powerloom-snapshotter-cli deploy
uv run powerloom-snapshotter-cli list
uv run powerloom-snapshotter-cli status
uv run powerloom-snapshotter-cli check
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment