Skip to content
Logo

Quickstart

This walkthrough uses the mounted /bloom filesystem. Bloom’s command-specific fallbacks exist for constrained environments, but normal shell tools against the mount are the default interface.

Prerequisites

  • Rust toolchain, pinned by the Bloom repo.
  • Foundry anvil for local devnet transaction tests.

Build and initialize

cargo build -p bloom --all-features
cargo run -p bloom -- init

bloom init creates the Bloom home directory, writes the default config, and registers read-ready chain defaults. The default mount path is /bloom.

Mount the filesystem

Create the mount directory and start the daemon:

sudo mkdir -p /bloom
cargo run -p bloom -- serve --mount /bloom

Then inspect it like any other directory:

ls /bloom/
cat /bloom/docs/README.md
ls /bloom/chains
cat /bloom/chains/ethereum/head/number
cat /bloom/prices/spot/eth.usd

Create a demo wallet

BLOOM_PASSPHRASE=devonly bloom wallet new alice --passphrase devonly
bloom wallet list

The key is encrypted in the keystore. The filesystem exposes address and public metadata, not private key material.

Stage a local transaction

With Anvil running on 127.0.0.1:8545:

echo 'send 0.01 eth to 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 on anvil' \
> /bloom/wallets/alice/chains/anvil/outbox/new.tx

Review the pending entry:

ls /bloom/wallets/alice/chains/anvil/outbox/pending
cat /bloom/wallets/alice/chains/anvil/outbox/pending/<id>/plan.md

Confirm only after reading the plan.