Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Add chunk bulk upload API

オープン
#4,872 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
go
領域
api, backend

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

feature
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

主要言語
Go
スター
1.5k
フォーク
390
平均マージ
2日 23時間
マージ済み PR(30日)
24

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ethersphere/bee のほかの issue

ethersphere/bee の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。