nspcc-dev / nspcc-dev/neofs-node

IR: Split init and run stages

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

Nobody has claimed this yet.

enhancement I4 neofs-ir S2 U3
Dominant language
Go
Stars
38
Forks
51
Avg merge
1d 20h
Merged PRs (30d)
38

Description

Inspired by https://github.com/nspcc-dev/neofs-node/pull/2277#discussion_r1145779900

After #2277 IR runs internal blockchain services instantly, not in dedicated Start method. The reason is in all other undelying services which depend on started blockchain. It is propose within this issue to completely split init and launch steps, and don't run anything in innerring.New.

P.S.
I would prefer to allocate dynamic sys resources like files and sockets within innerring.Start, too. But this requires deeper detail at the component level.

Contributor guide

Open the contributing guide

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 reading innerring.New and Start, then review the discussion in pull request #2277. Map which internal blockchain services currently run during construction and identify the dependencies that require a started blockchain. Done means initialization is separate from launching, with innerring.New performing no runtime startup; allocating files and sockets in Start is noted as a deeper follow-up.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.