Add chunk bulk upload API
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Read the existing POST /chunks handler and websocket upload protocol, then compare them with the linked BeeTurbo ChunksBulkUploadHandler.cs for the proposed request format. The issue does not name Bee files or tests; first locate the upload entry points and tests. Done means a new, non-retro-compatible endpoint accepts multiple chunks in one request and validates each chunk’s integrity.
Written by the indexing model from the issue text.
Description
Summary
Current http and websocket upload APIs are heavily suboptimized. A better API to improve upload speed is necessary.
Motivation
Current POST /chunks API and websocket protocol work in the same way, sending one chunk at time, and waiting ack from node.
All the time the network is always waiting for something, or to receive new chunk data, or confirmation that data has been received. The network line is always empty of data.
Instead, to have a continuous stream of chunks is a really better solution.
Implementation
I've implemented an alternative rest API into an experimental reverse proxy project that I've called "BeeTurbo". It is putted directly in front of bee.
api implementation: https://github.com/Etherna/bee-turbo/blob/3516cf9f0b67af3ae58308d5f7433048fdbff5aa/src/BeeTurbo/Handlers/ChunksBulkUploadHandler.cs
Basically, it receives a set of chunks with a single POST request. Payload is composed as continuous list of chunks, where each one is described as:
- uint16 with chunk's size in byte
- chunk's payload, of the given size
- swarm hash, used only to check chunk's integrity
Drawbacks
The new api is not retro-compatible, a new endpoint has to be introduced
- Dominant language
- Go
- Stars
- 1.5k
- Forks
- 390
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 19
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ethersphere/bee
-
Chequebook deployment uses a fixed 175,000 gas limit; it needs about 630,000 under Glamsterdam (live on Sepolia since 2026-10-06)Possibly taken @sbackend123 claimed this 10 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
ethersphere/bee#5650 · 1 assignee ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
ethersphere/bee#5666 ·
Maintainers usually reply within 2 days
-
Add a transaction inbox for outbound chain transactionsPossibly taken @sbackend123 claimed this 4 days ago. Openseen
Difficulty 5/5 Over a week Newbie friendliness 35/100
ethersphere/bee#5660 · 1 assignee ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
ethersphere/bee#5659 ·
Maintainers usually reply within 2 days
-
accepted seen
Difficulty 4/5 3-5 days Newbie friendliness 40/100
ethersphere/bee#5648 · 1 comment ·
Maintainers usually reply within 2 days
Similar issues
-
[Bug]: message-level cache_control on chat messages is dropped, so Anthropic prompt caching never triggersPossibly taken @Atharva-Kanherkar claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
documentation good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
eugenioenko/ttt#1000 ·
Maintainers usually reply within 1 day
-
bug needs-acceptance wg/developer-experience-ecosystem
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
vllm-project/semantic-router#5249 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Billionmail/BillionMail#389 ·
-
在“产品文档”下拉列表,增加“探索”频道Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
DaoCloud/DaoCloud-docs#7489 ·
Maintainers usually reply within 1 day