celestiaorg / celestiaorg/rsmt2d

EDS thread-safety

Open
#135 1 comment 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
169
Forks
87
Avg merge
8h 9m
Merged PRs (30d)
7

Description

Right now, the EDS does not have any guarantees regarding thread safety for read and write operations. Users like celestia-node end up implementing custom synchronization solutions around EDS, while the best practice for Go is to have thread safety provided by the library.

The proposal is to add an additional `SyncEDS` wrapping the existing `EDS` structure extracted from the celestia-node. Alternatively, we can make the existing `EDS` synchronized by default.

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing EDS structure and API, then compare the synchronization implementation extracted from celestia-node. Decide whether synchronization belongs in a new SyncEDS wrapper or the default EDS. Done means read and write operations have documented thread-safety guarantees without requiring users to add custom synchronization.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.