Make deployment faster #178

Open
opened 2025-12-28 18:08:47 +00:00 by sami · 0 comments
Owner

Originally created by @carpawell on GitHub (Jul 8, 2024).

I'm always frustrated when I have to wait for deployment for minutes, not seconds. Most of the deployment steps are simple and do not require complex computations. In fact, most of the time nodes just do nothing waiting next block.

Describe the solution you'd like

General rule: do not put step's TXs to the pool one by one, more of them can be sent to RPC node and accepted in a single block.

Have some suggestions (must be reviewed):

  1. Parallelize initial preparation (e.g. roles can be set at a time), most of them do not depend on each other (GAS distribution is an exception)
  2. Parallelize contract deployment, most of them do not require the others' hashes (also it is possible to deploy the Proxy contract and replenish it in a single transaction)

Describe alternatives you've considered

Make it even more complex but faster: do not parallelize request sending but place steps in a single transaction.

Additional context

https://github.com/nspcc-dev/neofs-contract/pull/410 is the first try to make it faster. Saved some blocks in certain situations, made running our development envs more convenient.

Originally created by @carpawell on GitHub (Jul 8, 2024). ## Is your feature request related to a problem? Please describe. I'm always frustrated when I have to wait for deployment for minutes, not seconds. Most of the deployment steps are simple and do not require complex computations. In fact, most of the time nodes just do nothing waiting next block. ## Describe the solution you'd like General rule: do not put step's TXs to the pool one by one, more of them can be sent to RPC node and accepted in a single block. Have some suggestions (must be reviewed): 1. Parallelize initial preparation (e.g. roles can be set at a time), most of them do not depend on each other (GAS distribution is an exception) 2. Parallelize contract deployment, most of them do not require the others' hashes (also it is possible to deploy the Proxy contract and replenish it in a single transaction) ## Describe alternatives you've considered Make it even more complex but faster: do not parallelize request sending but place steps in a single transaction. ## Additional context https://github.com/nspcc-dev/neofs-contract/pull/410 is the first try to make it faster. Saved some blocks in certain situations, made running our development envs more convenient.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-contract#178
No description provided.