nspcc-dev / nspcc-dev/neofs-node
IR: Split init and run stages
Nobody has claimed this yet.
- 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
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.
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