npm.io
0.101.0 • Published yesterdayCLI

@effectstream/grafana-alloy

Licence
Version
0.101.0
Deps
1
Size
7 kB
Vulns
0
Weekly
0
Stars
81

Effectstream

A multi-chain Web3 engine for building multi-chain dApps, infrastructure and onchain games.

Home · Docs · Blog

  • Multi-chain by default. EVM, Midnight, Bitcoin, Cardano, Avail, Celestia, and NEAR — one state machine, many chains.
  • Sovereign rollups. App-specific L2s that inherit finality from the underlying L1, with no custodial bridge.
  • Modular. Pick the chains and modules you need. Everything ships as a separate @effectstream/* package.
  • Bun-native. The whole monorepo runs on Bun. No build step for development; TypeScript executes directly.

Quick start

Run a sample project:

git clone https://github.com/effectstream/effectstream.git
cd effectstream/templates/evm-midnight-v2
bun i
bun run dev

bun run dev brings up the full local stack: PGLite, Hardhat, a Midnight node, contract deployment, the sync node, the batcher, and the frontend. Open http://localhost:10599 once everything is up.

What it is

Effectstream is a framework for building dApps that read state from multiple chains and fold their updates into a single deterministic state machine. You write your app logic in TypeScript, point it at one or more chains, and Effectstream handles sync (read), batching (write), indexing, and the frontend connection.

For more information visit the docs site.

Templates

templates/ has ready-to-run examples. Each one is a self-contained Bun workspace you can copy and modify.

Template What it shows
minimal Smallest possible Effectstream app
evm-midnight-v2 EVM + Midnight, ERC-721 sync, ZK contracts, full React frontend
chess-v2 Onchain chess with matchmaking
batcher-validations Custom Batcher Validation
preorder dApp (Cardano+EVM) for Assets Presale
zswap-da Midnight Zswap for decentralized liquidity
more Explore the examples

Repository layout

Directory What lives here
packages/effectstream-sdk/ Core SDK: config, events, crypto, wallets, log, schemas, chain types
packages/node-sdk/ Runtime engine: database, state machine, sync, node entry point
packages/chains/ Per-chain contract interfaces (EVM, Midnight, Bitcoin, Cardano, Avail)
packages/batcher/ Cross-chain transaction batching
packages/binaries/ NPM-wrapped blockchain node binaries
packages/build-tools/ Orchestrator, explorer, TUI
packages/frontend/ React frontend SDK
e2e/ Integration test suites (one per chain)
docs/site/ Docusaurus documentation site

Orchestrator

The orchestrator runs your dev stack. It supervises every process an Effectstream app needs (chains, contract deployment, sync node, batcher, frontend, plus any custom action you wire in) and gives you one place to start, stop, and inspect them. You don't have to be building a multi-chain app to want it; a single-chain dev loop is nicer with it too.

bunx orchestrator start --background   # --background enables status and logs
bunx orchestrator status
bunx orchestrator logs
bunx orchestrator stop

Package Development

# Unit tests
bun test ./packages

# All e2e suites (run serially because they share ports)
cd e2e && bun run runner.ts

# Run a single suite (or a few)
cd e2e && bun run runner.ts evm bitcoin

Available suites: evm, bitcoin, cardano, midnight, avail, celestia, near, features, wallets.

Contribution guide: docs/site/docs/home/1000-effectstream-engine/1100-contributions.md.

Some templates ship a link.sh script that points the dApp at the local @effectstream/* source instead of the published packages, so you can make improvements on the engine itself.

Published packages

Everything below is published on npm under @effectstream/*. All packages share the same version line and are released together.

Core SDK
Package Description
@effectstream/utils Shared utilities
@effectstream/log OpenTelemetry observability
@effectstream/config Chain and runtime configuration
@effectstream/precompile Precompile utilities
@effectstream/chain-types Chain-specific type definitions
@effectstream/crypto Multi-chain signature verification
@effectstream/concise Type-safe schemas
@effectstream/event-client MQTT-based event client
@effectstream/wallets Wallet connector integrations
@effectstream/coroutine Async control flow
Node runtime
Package Description
@effectstream/db PostgreSQL and PgLite database layer
@effectstream/db-emulator In-memory test database
@effectstream/sync Blockchain sync service
@effectstream/sm State machine DSL
@effectstream/runtime State machine runtime
@effectstream/event-server Event server
@effectstream/node-sdk Main application node SDK
Chains
Package Description
@effectstream/evm-contracts EVM smart contract interfaces
@effectstream/evm-hardhat Hardhat deployment and JSON-RPC utilities
@effectstream/midnight-contracts Midnight network contract interfaces
@effectstream/bitcoin-contracts Bitcoin script utilities
@effectstream/cardano-contracts Cardano contract interfaces
@effectstream/avail-contracts Avail DA contract interfaces
Batcher
Package Description
@effectstream/batcher Cross-chain transaction batching
@effectstream/batcher-sdk Batcher SDK
Build tools & frontend
Package Description
@effectstream/orchestrator Multi-chain local development environment
@effectstream/tui Terminal UI
@effectstream/frontend-sdk React frontend SDK
Binary wrappers

Third-party blockchain binaries packaged for npm so you can install them with bun add instead of curl-pipe-bash.

Package Description
@effectstream/bitcoin-core Bitcoin Core
@effectstream/ord Ord
@effectstream/avail-light-client Avail light client
@effectstream/avail-node Avail node
@effectstream/midnight-node Midnight node
@effectstream/midnight-indexer Midnight indexer
@effectstream/midnight-proof-server Midnight proof server
@effectstream/near-sandbox NEAR sandbox
@effectstream/celestia Celestia
@effectstream/grafana-alloy Grafana Alloy
@effectstream/grafana-loki Grafana Loki