clockworklabs / clockworklabs/SpacetimeDB

[PROPOSAL] Design for an event callback on clients which is called for all transactions and is not specific to a row or a reducer

Open
#2,153 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
25.2k
Forks
1.1k
Avg merge
2d 7h
Merged PRs (30d)
46

Description

The BitCraft team is implementing IMC for BitCraft and they need a way for their relay server to subscribe to all "transactions". Right now they have the option to either add a row callback to be called once per row when any transaction happens, or a reducer callback to be called when a specific reducer happens.

However, there is no API to add an callback which is run once per transaction for all transactions. This is useful for clients like the relay server which would like to reason about whole transactions.

A request for a proposal for adding such an API is hereby submitted.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing row callback and reducer callback APIs described in the issue, then determine how client callbacks currently receive transaction events. Define the proposed all-transactions callback contract, including when it runs and what transaction data it exposes. Done means a documented proposal that maintainers can evaluate.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.