Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disabling basic income settlements #251

Open
alexvanin opened this issue Nov 16, 2022 · 1 comment
Open

Disabling basic income settlements #251

alexvanin opened this issue Nov 16, 2022 · 1 comment
Labels
enhancement Improving existing functionality I3 Minimal impact S4 Routine U4 Nothing urgent

Comments

@alexvanin
Copy link
Contributor

alexvanin commented Nov 16, 2022

To manage basic income settlements we have BasicIncomeRate parameter of the system.

// - **BasicIncomeRate** \
// Cost of storing one gigabyte of data for a period of one epoch. Paid by
// container owner to container nodes.
// Value: little-endian integer. Default: 0.

Setting it to zero minimize single basic income settlement to 0.000000000001 GAS.

https://github.com/nspcc-dev/neofs-node/blob/d8d3588e1b824af37c34f16bef89e5a2af71f70b/pkg/innerring/processors/settlement/basic/collect.go#L103-L105

	if price.Cmp(bigZero) == 0 {
		price.Add(price, bigOne)
	}

Transfers are still going to persist in the side chain. Private installations might want to decrease number of transactions in sidechain and avoid possible errors in Inner Ring if transfer is going to fail. To do that we should be able to turn off basic income completely.

Possible solutions

  1. Add new system parameter BasicIncomeDisabled
  2. Interpret zero value of BasicIncomeRate to disable basic income settlements

/cc @realloc @fyrchik

@roman-khimov
Copy link
Member

I'd say this can be handled in node, zero rate is zero rate, it's already defined in the protocol and the node should just follow this setting.

@roman-khimov roman-khimov added U4 Nothing urgent S4 Routine I3 Minimal impact labels Dec 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improving existing functionality I3 Minimal impact S4 Routine U4 Nothing urgent
Projects
None yet
Development

No branches or pull requests

2 participants