Continue rebranding effort #43

Merged
realloc merged 8 commits from fix/1_rebranding into master 2023-02-06 14:41:15 +00:00
151 changed files with 513 additions and 583 deletions

View file

@ -12,6 +12,7 @@ Changelog for FrostFS Node
### Changed
- `common.PrintVerbose` prints via `cobra.Command.Printf` (#1962)
- Env prefix in configuration changed to `FROSTFS_*` (#43)
### Fixed
- Big object removal with non-local parts (#1978)
@ -32,6 +33,7 @@ Changelog for FrostFS Node
- Minimum go version to v1.18
### Updating from v0.35.0
You need to change configuration environment variables to `FROSTFS_*` if you use any.
## [0.35.0] - 2022-12-28 - Sindo (신도)

View file

@ -38,7 +38,7 @@ $ git clone https://github.com/TrueCloudLab/frostfs-node
### Set up git remote as ``upstream``
```sh
$ cd neofs-node
$ cd frostfs-node
$ git remote add upstream https://github.com/TrueCloudLab/frostfs-node
$ git fetch upstream
$ git merge upstream/master

View file

@ -1,8 +1,8 @@
# How NeoFS CLI uses session mechanism of the NeoFS
# How FrostFS CLI uses session mechanism of the FrostFS
## Overview
NeoFS sessions implement a mechanism for issuing a power of attorney by one
FrostFS sessions implement a mechanism for issuing a power of attorney by one
party to another. A trusted party can provide a so-called session token as
proof of the right to act on behalf of another member of the network. The
client of operations carried out with such a token will be the user who opened
@ -15,7 +15,7 @@ attached session token is treated as performed by the original client.
## Types
NeoFS CLI supports two ways to execute operation within a session depending on
FrostFS CLI supports two ways to execute operation within a session depending on
whether the user of the command application is an original user (1) or a trusted
one (2).

View file

@ -2,26 +2,26 @@
## Overview
Extended headers are used for request/response. They may contain any user-defined headers
to be interpreted on application level.
Key name must be a unique valid UTF-8 string. Value can't be empty. Requests or
Responses with duplicated header names or headers with empty values are
considered invalid.
Extended headers are used for request/response. They may contain any
user-defined headers to be interpreted on application level. Key name must be a
unique valid UTF-8 string. Value can't be empty. Requests or Responses with
duplicated header names or headers with empty values are considered invalid.
## Existing headers
There are some "well-known" headers starting with `__NEOFS__` prefix that
affect system behaviour:
There are some "well-known" headers starting with `__FROSTFS__` prefix that
affect system behaviour. For backward compatibility, the same set of
"well-known" headers may also use `__NEOFS__` prefix:
* `__NEOFS__NETMAP_EPOCH` - netmap epoch to use for object placement calculation. The `value` is string
* `__FROSTFS__NETMAP_EPOCH` - netmap epoch to use for object placement calculation. The `value` is string
encoded `uint64` in decimal presentation. If set to '0' or omitted, the
current epoch only will be used.
* `__NEOFS__NETMAP_LOOKUP_DEPTH` - if object can't be found using current epoch's netmap, this header limits
how many past epochs the node can look up through. Depth is applied to a current epoch or the value
of `__NEOFS__NETMAP_EPOCH` attribute. The `value` is string encoded `uint64` in decimal presentation.
* `__FROSTFS__NETMAP_LOOKUP_DEPTH` - if object can't be found using current epoch's netmap, this header limits
how many past epochs the node can look up through. Depth is applied to a current epoch or the value
of `__FROSTFS__NETMAP_EPOCH` attribute. The `value` is string encoded `uint64` in decimal presentation.
If set to '0' or not set, only the current epoch is used.
## `neofs-cli` commands with `--xhdr`
## `frostfs-cli` commands with `--xhdr`
List of commands with support of extended headers:
* `container list-objects`
@ -30,5 +30,5 @@ List of commands with support of extended headers:
Example:
```shell
$ neofs-cli object put -r s01.neofs.devenv:8080 -w wallet.json --cid CID --file FILE --xhdr "__NEOFS__NETMAP_EPOCH=777"
$ frostfs-cli object put -r s01.frostfs.devenv:8080 -w wallet.json --cid CID --file FILE --xhdr "__FROSTFS__NETMAP_EPOCH=777"
```

View file

@ -34,7 +34,7 @@ func (x BalanceOfRes) Balance() accounting.Decimal {
return x.cliRes.Amount()
}
// BalanceOf requests the current balance of a NeoFS user.
// BalanceOf requests the current balance of a FrostFS user.
//
// Returns any error which prevented the operation from completing correctly in error return.
func BalanceOf(prm BalanceOfPrm) (res BalanceOfRes, err error) {
@ -59,7 +59,7 @@ func (x ListContainersRes) IDList() []cid.ID {
return x.cliRes.Containers()
}
// ListContainers requests a list of NeoFS user's containers.
// ListContainers requests a list of FrostFS user's containers.
//
// Returns any error which prevented the operation from completing correctly in error return.
func ListContainers(prm ListContainersPrm) (res ListContainersRes, err error) {
@ -84,7 +84,7 @@ func (x PutContainerRes) ID() cid.ID {
return x.cnr
}
// PutContainer sends a request to save the container in NeoFS.
// PutContainer sends a request to save the container in FrostFS.
//
// Operation is asynchronous and not guaranteed even in the absence of errors.
// The required time is also not predictable.
@ -122,7 +122,7 @@ func (x GetContainerRes) Container() containerSDK.Container {
return x.cliRes.Container()
}
// GetContainer reads a container from NeoFS by ID.
// GetContainer reads a container from FrostFS by ID.
//
// Returns any error which prevented the operation from completing correctly in error return.
func GetContainer(prm GetContainerPrm) (res GetContainerRes, err error) {
@ -140,7 +140,7 @@ func IsACLExtendable(c *client.Client, cnr cid.ID) (bool, error) {
res, err := GetContainer(prm)
if err != nil {
return false, fmt.Errorf("get container from the NeoFS: %w", err)
return false, fmt.Errorf("get container from the FrostFS: %w", err)
}
return res.Container().BasicACL().Extendable(), nil
@ -155,7 +155,7 @@ type DeleteContainerPrm struct {
// DeleteContainerRes groups the resulting values of DeleteContainer operation.
type DeleteContainerRes struct{}
// DeleteContainer sends a request to remove a container from NeoFS by ID.
// DeleteContainer sends a request to remove a container from FrostFS by ID.
//
// Operation is asynchronous and not guaranteed even in the absence of errors.
// The required time is also not predictable.
@ -185,7 +185,7 @@ func (x EACLRes) EACL() eacl.Table {
return x.cliRes.Table()
}
// EACL reads eACL table from NeoFS by container ID.
// EACL reads eACL table from FrostFS by container ID.
//
// Returns any error which prevented the operation from completing correctly in error return.
func EACL(prm EACLPrm) (res EACLRes, err error) {
@ -203,7 +203,7 @@ type SetEACLPrm struct {
// SetEACLRes groups the resulting values of SetEACL operation.
type SetEACLRes struct{}
// SetEACL requests to save an eACL table in NeoFS.
// SetEACL requests to save an eACL table in FrostFS.
//
// Operation is asynchronous and no guaranteed even in the absence of errors.
// The required time is also not predictable.
@ -228,12 +228,12 @@ type NetworkInfoRes struct {
cliRes *client.ResNetworkInfo
}
// NetworkInfo returns structured information about the NeoFS network.
// NetworkInfo returns structured information about the FrostFS network.
func (x NetworkInfoRes) NetworkInfo() netmap.NetworkInfo {
return x.cliRes.Info()
}
// NetworkInfo reads information about the NeoFS network.
// NetworkInfo reads information about the FrostFS network.
//
// Returns any error which prevented the operation from completing correctly in error return.
func NetworkInfo(prm NetworkInfoPrm) (res NetworkInfoRes, err error) {
@ -258,12 +258,12 @@ func (x NodeInfoRes) NodeInfo() netmap.NodeInfo {
return x.cliRes.NodeInfo()
}
// LatestVersion returns the latest NeoFS API version in use.
// LatestVersion returns the latest FrostFS API version in use.
func (x NodeInfoRes) LatestVersion() version.Version {
return x.cliRes.LatestVersion()
}
// NodeInfo requests information about the remote server from NeoFS netmap.
// NodeInfo requests information about the remote server from FrostFS netmap.
//
// Returns any error which prevented the operation from completing correctly in error return.
func NodeInfo(prm NodeInfoPrm) (res NodeInfoRes, err error) {
@ -282,7 +282,7 @@ type NetMapSnapshotRes struct {
cliRes *client.ResNetMapSnapshot
}
// NetMap returns current local snapshot of the NeoFS network map.
// NetMap returns current local snapshot of the FrostFS network map.
func (x NetMapSnapshotRes) NetMap() netmap.NetMap {
return x.cliRes.NetMap()
}
@ -362,7 +362,7 @@ func (x PutObjectRes) ID() oid.ID {
return x.id
}
// PutObject saves the object in NeoFS network.
// PutObject saves the object in FrostFS network.
//
// Returns any error which prevented the operation from completing correctly in error return.
func PutObject(prm PutObjectPrm) (*PutObjectRes, error) {
@ -460,7 +460,7 @@ func (x DeleteObjectRes) Tombstone() oid.ID {
return x.tomb
}
// DeleteObject marks an object to be removed from NeoFS through tombstone placement.
// DeleteObject marks an object to be removed from FrostFS through tombstone placement.
//
// Returns any error which prevented the operation from completing correctly in error return.
func DeleteObject(prm DeleteObjectPrm) (*DeleteObjectRes, error) {
@ -576,7 +576,7 @@ type HeadObjectPrm struct {
mainOnly bool
}
// SetMainOnlyFlag sets flag to get only main fields of an object header in terms of NeoFS API.
// SetMainOnlyFlag sets flag to get only main fields of an object header in terms of FrostFS API.
func (x *HeadObjectPrm) SetMainOnlyFlag(v bool) {
x.mainOnly = v
}
@ -812,7 +812,7 @@ func (x *PayloadRangePrm) SetRange(rng *object.Range) {
// PayloadRangeRes groups the resulting values of PayloadRange operation.
type PayloadRangeRes struct{}
// PayloadRange reads object payload range from NeoFS and writes it to the specified writer.
// PayloadRange reads object payload range from FrostFS and writes it to the specified writer.
//
// Interrupts on any writer error.
//
@ -872,7 +872,7 @@ func (s *SyncContainerPrm) SetContainer(c *containerSDK.Container) {
// operation.
type SyncContainerRes struct{}
// SyncContainerSettings reads global network config from NeoFS and
// SyncContainerSettings reads global network config from FrostFS and
// syncs container settings with it.
//
// Interrupts on any writer error.

View file

@ -1,12 +1,15 @@
// Package internal provides functionality for NeoFS CLI application communication with NeoFS network.
// Package internal provides functionality for FrostFS CLI application
// communication with FrostFS network.
//
// The base client for accessing remote nodes via NeoFS API is a NeoFS SDK Go API client.
// However, although it encapsulates a useful piece of business logic (e.g. the signature mechanism),
// the NeoFS CLI application does not fully use the client's flexible interface.
// The base client for accessing remote nodes via FrostFS API is a FrostFS SDK
// Go API client. However, although it encapsulates a useful piece of business
// logic (e.g. the signature mechanism), the FrostFS CLI application does not
// fully use the client's flexible interface.
//
// In this regard, this package provides functions over base API client necessary for the application.
// This allows you to concentrate the entire spectrum of the client's use in one place (this will be convenient
// both when updating the base client and for evaluating the UX of SDK library). So it is expected that all
// application packages will be limited to this package for the development of functionality requiring
// NeoFS API communication.
// In this regard, this package provides functions over base API client
// necessary for the application. This allows you to concentrate the entire
// spectrum of the client's use in one place (this will be convenient both when
// updating the base client and for evaluating the UX of SDK library). So it is
// expected that all application packages will be limited to this package for
// the development of functionality requiring FrostFS API communication.
package internal

View file

@ -16,7 +16,7 @@ type commonPrm struct {
cli *client.Client
}
// SetClient sets the base client for NeoFS API communication.
// SetClient sets the base client for FrostFS API communication.
func (x *commonPrm) SetClient(cli *client.Client) {
x.cli = cli
}

View file

@ -31,7 +31,7 @@ func ReadBearerToken(cmd *cobra.Command, flagname string) *bearer.Token {
}
// BinaryOrJSON is an interface of entities which provide json.Unmarshaler
// and NeoFS binary decoder.
// and FrostFS binary decoder.
type BinaryOrJSON interface {
Unmarshal([]byte) error
json.Unmarshaler

View file

@ -8,8 +8,8 @@ import (
const SessionToken = "session"
// InitSession registers SessionToken flag representing filepath to the token
// of the session with the given name. Supports NeoFS-binary and JSON files.
// InitSession registers SessionToken flag representing file path to the token of
// the session with the given name. Supports FrostFS-binary and JSON files.
func InitSession(cmd *cobra.Command, name string) {
cmd.Flags().String(
SessionToken,

View file

@ -37,7 +37,7 @@ var netInfoCmd = &cobra.Command{
const format = " %s: %v\n"
cmd.Println("NeoFS network configuration (system)")
cmd.Println("FrostFS network configuration (system)")
cmd.Printf(format, "Audit fee", netInfo.AuditFee())
cmd.Printf(format, "Storage price", netInfo.StoragePrice())
cmd.Printf(format, "Container fee", netInfo.ContainerFee())
@ -50,7 +50,7 @@ var netInfoCmd = &cobra.Command{
cmd.Printf(format, "Homomorphic hashing disabled", netInfo.HomomorphicHashingDisabled())
cmd.Printf(format, "Maintenance mode allowed", netInfo.MaintenanceModeAllowed())
cmd.Println("NeoFS network configuration (other)")
cmd.Println("FrostFS network configuration (other)")
netInfo.IterateRawNetworkParameters(func(name string, value []byte) {
cmd.Printf(format, name, hex.EncodeToString(value))
})

View file

@ -86,7 +86,7 @@ var objectLockCmd = &cobra.Command{
prm.SetHeader(obj)
res, err := internalclient.PutObject(prm)
commonCmd.ExitOnErr(cmd, "Store lock object in NeoFS: %w", err)
commonCmd.ExitOnErr(cmd, "Store lock object in FrostFS: %w", err)
cmd.Printf("Lock object ID: %s\n", res.ID())
cmd.Println("Objects successfully locked.")

View file

@ -274,7 +274,7 @@ func OpenSessionViaClient(cmd *cobra.Command, dst SessionPrm, cli *client.Client
var tok session.Object
const sessionLifetime = 10 // in NeoFS epochs
const sessionLifetime = 10 // in FrostFS epochs
common.PrintVerbose(cmd, "Opening remote session with the node...")

View file

@ -26,7 +26,7 @@ import (
)
const (
envPrefix = "NEOFS_CLI"
envPrefix = "FROSTFS_CLI"
)
// Global scope flags.

View file

@ -81,7 +81,7 @@ func createSession(cmd *cobra.Command, _ []string) {
commonCmd.ExitOnErr(cmd, "can't write token to file: %w", err)
}
// CreateSession opens a new communication with NeoFS storage node using client connection.
// CreateSession opens a new communication with FrostFS storage node using client connection.
// The session is expected to be maintained by the storage node during the given
// number of epochs.
//

View file

@ -8,14 +8,14 @@ import (
)
func newConfig(path string) (*viper.Viper, error) {
const innerRingPrefix = "neofs_ir"
const envPrefix = "FROSTFS_IR"
var (
err error
v = viper.New()
)
v.SetEnvPrefix(innerRingPrefix)
v.SetEnvPrefix(envPrefix)
v.AutomaticEnv()
v.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))

View file

@ -849,8 +849,8 @@ func (c *cfg) LocalNodeInfo() (*netmapV2.NodeInfo, error) {
return &res, nil
}
// handleLocalNodeInfo rewrites local node info from the NeoFS network map.
// Called with nil when storage node is outside the NeoFS network map
// handleLocalNodeInfo rewrites local node info from the FrostFS network map.
// Called with nil when storage node is outside the FrostFS network map
// (before entering the network and after leaving it).
func (c *cfg) handleLocalNodeInfo(ni *netmap.NodeInfo) {
c.cfgNetmap.state.setNodeInfo(ni)

View file

@ -9,10 +9,10 @@ import (
const (
subsection = "apiclient"
// DialTimeoutDefault is a default dial timeout of NeoFS API client connection.
// DialTimeoutDefault is a default dial timeout of FrostFS API client connection.
DialTimeoutDefault = 5 * time.Second
// StreamTimeoutDefault is a default timeout of NeoFS API streaming operation.
// StreamTimeoutDefault is a default timeout of FrostFS API streaming operation.
StreamTimeoutDefault = 15 * time.Second
)

View file

@ -6,7 +6,7 @@ import (
// EnvPrefix is a prefix of ENV variables related
// to storage node configuration.
const EnvPrefix = "neofs"
const EnvPrefix = "FROSTFS"
// EnvSeparator is a section separator in ENV variables.
const EnvSeparator = "_"

View file

@ -9,7 +9,7 @@ import (
func TestEnv(t *testing.T) {
require.Equal(t,
"NEOFS_SECTION_PARAMETER",
"FROSTFS_SECTION_PARAMETER",
internal.Env("section", "parameter"),
)
}

View file

@ -25,8 +25,8 @@ func TestMorphSection(t *testing.T) {
var (
rpcs = []client.Endpoint{
{"wss://rpc1.morph.fs.neo.org:40341/ws", 1},
{"wss://rpc2.morph.fs.neo.org:40341/ws", 2},
{"wss://rpc1.morph.frostfs.info:40341/ws", 1},
{"wss://rpc2.morph.frostfs.info:40341/ws", 2},
}
)

View file

@ -59,7 +59,7 @@ func initControlService(c *cfg) {
c.cfgControlService.server = grpc.NewServer()
c.onShutdown(func() {
stopGRPC("NeoFS Control API", c.cfgControlService.server, c.log)
stopGRPC("FrostFS Control API", c.cfgControlService.server, c.log)
})
control.RegisterControlServiceServer(c.cfgControlService.server, ctlSvc)

View file

@ -65,7 +65,7 @@ func initGRPC(c *cfg) {
srv := grpc.NewServer(serverOpts...)
c.onShutdown(func() {
stopGRPC("NeoFS Public API", srv, c.log)
stopGRPC("FrostFS Public API", srv, c.log)
})
c.cfgGRPC.servers = append(c.cfgGRPC.servers, srv)

View file

@ -117,7 +117,7 @@ func initNotifications(c *cfg) {
}
natsSvc := nats.New(
nats.WithConnectionName("NeoFS Storage Node: "+pubKey), // connection name is used in the server side logs
nats.WithConnectionName("FrostFS Storage Node: "+pubKey), // connection name is used in the server side logs
nats.WithTimeout(nodeconfig.Notification(c.appCfg).Timeout()),
nats.WithClientCert(
nodeconfig.Notification(c.appCfg).CertPath(),

View file

@ -15,7 +15,7 @@ type commonPrm struct {
ctx context.Context
}
// SetClient sets the base client for NeoFS API communication.
// SetClient sets the base client for FrostFS API communication.
//
// Required parameter.
func (x *commonPrm) SetClient(cli coreclient.Client) {

View file

@ -1,5 +1,5 @@
// Package internal provides functionality for NeoFS Node Reputation system communication with NeoFS network.
// The base client for accessing remote nodes via NeoFS API is a NeoFS SDK Go API client.
// Package internal provides functionality for FrostFS Node Reputation system communication with FrostFS network.
// The base client for accessing remote nodes via FrostFS API is a FrostFS SDK Go API client.
// However, although it encapsulates a useful piece of business logic (e.g. the signature mechanism),
// the Reputation service does not fully use the client's flexible interface.
//
@ -7,5 +7,5 @@
// This allows you to concentrate the entire spectrum of the client's use in one place (this will be convenient
// both when updating the base client and for evaluating the UX of SDK library). So, it is expected that all
// Reputation service packages will be limited to this package for the development of functionality requiring
// NeoFS API communication.
// FrostFS API communication.
package internal

View file

@ -1,7 +1,7 @@
# Examples of correct configuration file structures
Here are files in all supported formats and with all possible configuration values
of NeoFS applications. See [node.yaml](node.yaml) for configuration notes.
of FrostFS applications. See [node.yaml](node.yaml) for configuration notes.
All parameters are correct, however, they are for informational purposes only.
It is not recommended transferring these configs for real application launches.
@ -19,4 +19,4 @@ It is not recommended transferring these configs for real application launches.
## Environment variables
- Storage node: `node.env`
- Inner ring: `ir.env`
- Inner ring: `ir.env`

View file

@ -1,98 +1,98 @@
NEOFS_IR_LOGGER_LEVEL=info
FROSTFS_IR_LOGGER_LEVEL=info
NEOFS_IR_WALLET_PATH=/path/to/wallet.json
NEOFS_IR_WALLET_ADDRESS=NUHtW3eM6a4mmFCgyyr4rj4wygsTKB88XX
NEOFS_IR_WALLET_PASSWORD=secret
FROSTFS_IR_WALLET_PATH=/path/to/wallet.json
FROSTFS_IR_WALLET_ADDRESS=NUHtW3eM6a4mmFCgyyr4rj4wygsTKB88XX
FROSTFS_IR_WALLET_PASSWORD=secret
NEOFS_IR_WITHOUT_MAINNET=false
FROSTFS_IR_WITHOUT_MAINNET=false
NEOFS_IR_MORPH_DIAL_TIMEOUT=5s
NEOFS_IR_MORPH_ENDPOINT_CLIENT_0_ADDRESS="wss://sidechain1.fs.neo.org:30333/ws"
NEOFS_IR_MORPH_ENDPOINT_CLIENT_1_ADDRESS="wss://sidechain2.fs.neo.org:30333/ws"
NEOFS_IR_MORPH_VALIDATORS="0283120f4c8c1fc1d792af5063d2def9da5fddc90bc1384de7fcfdda33c3860170"
NEOFS_IR_MORPH_SWITCH_INTERVAL=2m
FROSTFS_IR_MORPH_DIAL_TIMEOUT=5s
FROSTFS_IR_MORPH_ENDPOINT_CLIENT_0_ADDRESS="wss://sidechain1.fs.neo.org:30333/ws"
FROSTFS_IR_MORPH_ENDPOINT_CLIENT_1_ADDRESS="wss://sidechain2.fs.neo.org:30333/ws"
FROSTFS_IR_MORPH_VALIDATORS="0283120f4c8c1fc1d792af5063d2def9da5fddc90bc1384de7fcfdda33c3860170"
FROSTFS_IR_MORPH_SWITCH_INTERVAL=2m
NEOFS_IR_MAINNET_DIAL_TIMEOUT=5s
NEOFS_IR_MAINNET_ENDPOINT_CLIENT_0_ADDRESS="wss://mainchain1.fs.neo.org:30333/ws"
NEOFS_IR_MAINNET_ENDPOINT_CLIENT_1_ADDRESS="wss://mainchain2.fs.neo.org:30333/ws"
NEOFS_IR_MAINNET_SWITCH_INTERVAL=2m
FROSTFS_IR_MAINNET_DIAL_TIMEOUT=5s
FROSTFS_IR_MAINNET_ENDPOINT_CLIENT_0_ADDRESS="wss://mainchain1.fs.neo.org:30333/ws"
FROSTFS_IR_MAINNET_ENDPOINT_CLIENT_1_ADDRESS="wss://mainchain2.fs.neo.org:30333/ws"
FROSTFS_IR_MAINNET_SWITCH_INTERVAL=2m
NEOFS_IR_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
NEOFS_IR_CONTROL_GRPC_ENDPOINT=localhost:8090
FROSTFS_IR_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
FROSTFS_IR_CONTROL_GRPC_ENDPOINT=localhost:8090
NEOFS_IR_GOVERNANCE_DISABLE=false
FROSTFS_IR_GOVERNANCE_DISABLE=false
NEOFS_IR_NODE_PERSISTENT_STATE_PATH=.frostfs-ir-state
FROSTFS_IR_NODE_PERSISTENT_STATE_PATH=.frostfs-ir-state
NEOFS_IR_LOCODE_DB_PATH=/path/to/locode.db
FROSTFS_IR_LOCODE_DB_PATH=/path/to/locode.db
NEOFS_IR_FEE_MAIN_CHAIN=50000000
NEOFS_IR_FEE_SIDE_CHAIN=200000000
NEOFS_IR_FEE_NAMED_CONTAINER_REGISTER=2500000000
FROSTFS_IR_FEE_MAIN_CHAIN=50000000
FROSTFS_IR_FEE_SIDE_CHAIN=200000000
FROSTFS_IR_FEE_NAMED_CONTAINER_REGISTER=2500000000
NEOFS_IR_TIMERS_EMIT=240
NEOFS_IR_TIMERS_STOP_ESTIMATION_MUL=1
NEOFS_IR_TIMERS_STOP_ESTIMATION_DIV=4
NEOFS_IR_TIMERS_COLLECT_BASIC_INCOME_MUL=1
NEOFS_IR_TIMERS_COLLECT_BASIC_INCOME_DIV=2
NEOFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_MUL=3
NEOFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_DIV=4
FROSTFS_IR_TIMERS_EMIT=240
FROSTFS_IR_TIMERS_STOP_ESTIMATION_MUL=1
FROSTFS_IR_TIMERS_STOP_ESTIMATION_DIV=4
FROSTFS_IR_TIMERS_COLLECT_BASIC_INCOME_MUL=1
FROSTFS_IR_TIMERS_COLLECT_BASIC_INCOME_DIV=2
FROSTFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_MUL=3
FROSTFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_DIV=4
NEOFS_IR_EMIT_STORAGE_AMOUNT=800000000
NEOFS_IR_EMIT_MINT_VALUE=20000000
NEOFS_IR_EMIT_MINT_CACHE_SIZE=1000
NEOFS_IR_EMIT_MINT_CACHE_THRESHOLD=1
NEOFS_IR_EMIT_GAS_BALANCE_THRESHOLD=100000000000
FROSTFS_IR_EMIT_STORAGE_AMOUNT=800000000
FROSTFS_IR_EMIT_MINT_VALUE=20000000
FROSTFS_IR_EMIT_MINT_CACHE_SIZE=1000
FROSTFS_IR_EMIT_MINT_CACHE_THRESHOLD=1
FROSTFS_IR_EMIT_GAS_BALANCE_THRESHOLD=100000000000
NEOFS_IR_WORKERS_ALPHABET=10
NEOFS_IR_WORKERS_BALANCE=10
NEOFS_IR_WORKERS_CONTAINER=10
NEOFS_IR_WORKERS_NEOFS=10
NEOFS_IR_WORKERS_NETMAP=10
NEOFS_IR_WORKERS_REPUTATION=10
NEOFS_IR_WORKERS_SUBNET=10
FROSTFS_IR_WORKERS_ALPHABET=10
FROSTFS_IR_WORKERS_BALANCE=10
FROSTFS_IR_WORKERS_CONTAINER=10
FROSTFS_IR_WORKERS_NEOFS=10
FROSTFS_IR_WORKERS_NETMAP=10
FROSTFS_IR_WORKERS_REPUTATION=10
FROSTFS_IR_WORKERS_SUBNET=10
NEOFS_IR_AUDIT_TIMEOUT_GET=5s
NEOFS_IR_AUDIT_TIMEOUT_HEAD=5s
NEOFS_IR_AUDIT_TIMEOUT_RANGEHASH=5s
NEOFS_IR_AUDIT_TIMEOUT_SEARCH=10s
NEOFS_IR_AUDIT_TASK_EXEC_POOL_SIZE=10
NEOFS_IR_AUDIT_TASK_QUEUE_CAPACITY=100
NEOFS_IR_AUDIT_PDP_PAIRS_POOL_SIZE=10
NEOFS_IR_AUDIT_PDP_MAX_SLEEP_INTERVAL=5s
NEOFS_IR_AUDIT_POR_POOL_SIZE=10
FROSTFS_IR_AUDIT_TIMEOUT_GET=5s
FROSTFS_IR_AUDIT_TIMEOUT_HEAD=5s
FROSTFS_IR_AUDIT_TIMEOUT_RANGEHASH=5s
FROSTFS_IR_AUDIT_TIMEOUT_SEARCH=10s
FROSTFS_IR_AUDIT_TASK_EXEC_POOL_SIZE=10
FROSTFS_IR_AUDIT_TASK_QUEUE_CAPACITY=100
FROSTFS_IR_AUDIT_PDP_PAIRS_POOL_SIZE=10
FROSTFS_IR_AUDIT_PDP_MAX_SLEEP_INTERVAL=5s
FROSTFS_IR_AUDIT_POR_POOL_SIZE=10
NEOFS_IR_INDEXER_CACHE_TIMEOUT=15s
FROSTFS_IR_INDEXER_CACHE_TIMEOUT=15s
NEOFS_IR_NETMAP_CLEANER_ENABLED=true
NEOFS_IR_NETMAP_CLEANER_THRESHOLD=3
FROSTFS_IR_NETMAP_CLEANER_ENABLED=true
FROSTFS_IR_NETMAP_CLEANER_THRESHOLD=3
NEOFS_IR_CONTRACTS_NEOFS=ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62
NEOFS_IR_CONTRACTS_PROCESSING=597f5894867113a41e192801709c02497f611de8
NEOFS_IR_CONTRACTS_AUDIT=219e37aed2180b87e7fe945dbf97d67125e8d73f
NEOFS_IR_CONTRACTS_BALANCE=d2aa48d14b17b11bc4c68205027884a96706dd16
NEOFS_IR_CONTRACTS_CONTAINER=ed4a7a66fe3f9bfe50f214b49be8f215a3c886b6
NEOFS_IR_CONTRACTS_NEOFSID=9f5866decbc751a099e74c7c7bc89f609201755a
NEOFS_IR_CONTRACTS_NETMAP=83c600c81d47a1b1b7cf58eb49ae7ee7240dc742
NEOFS_IR_CONTRACTS_PROXY=abc8794bb40a21f2db5f21ae62741eb46c8cad1c
NEOFS_IR_CONTRACTS_REPUTATION=d793b842ff0c103fe89e385069e82a27602135ff
NEOFS_IR_CONTRACTS_SUBNET=e9266864d3c562c6e17f2bb9cb1392aaa293d93a
NEOFS_IR_CONTRACTS_ALPHABET_AMOUNT=7
NEOFS_IR_CONTRACTS_ALPHABET_AZ=c1d211fceeb4b1dc76b8e4054d11fdf887e418ea
NEOFS_IR_CONTRACTS_ALPHABET_BUKY=e2ba789320899658b100f331bdebb74474757920
NEOFS_IR_CONTRACTS_ALPHABET_VEDI=9623c11fd49aa18220458fbaae0396749c669e19
NEOFS_IR_CONTRACTS_ALPHABET_GLAGOLI=39617441b8e06c55e4fc3ce660be9101b6c1f866
NEOFS_IR_CONTRACTS_ALPHABET_DOBRO=e6122b65d45c8feeb04455d67814394c147ed4d1
NEOFS_IR_CONTRACTS_ALPHABET_YEST=cdbca5cb5d48a4472923844d0e3ee6328cf86d38
NEOFS_IR_CONTRACTS_ALPHABET_ZHIVETE=f584699bc2ff457d339fb09f16217042c1a42101
FROSTFS_IR_CONTRACTS_NEOFS=ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62
FROSTFS_IR_CONTRACTS_PROCESSING=597f5894867113a41e192801709c02497f611de8
FROSTFS_IR_CONTRACTS_AUDIT=219e37aed2180b87e7fe945dbf97d67125e8d73f
FROSTFS_IR_CONTRACTS_BALANCE=d2aa48d14b17b11bc4c68205027884a96706dd16
FROSTFS_IR_CONTRACTS_CONTAINER=ed4a7a66fe3f9bfe50f214b49be8f215a3c886b6
FROSTFS_IR_CONTRACTS_NEOFSID=9f5866decbc751a099e74c7c7bc89f609201755a
FROSTFS_IR_CONTRACTS_NETMAP=83c600c81d47a1b1b7cf58eb49ae7ee7240dc742
FROSTFS_IR_CONTRACTS_PROXY=abc8794bb40a21f2db5f21ae62741eb46c8cad1c
FROSTFS_IR_CONTRACTS_REPUTATION=d793b842ff0c103fe89e385069e82a27602135ff
FROSTFS_IR_CONTRACTS_SUBNET=e9266864d3c562c6e17f2bb9cb1392aaa293d93a
FROSTFS_IR_CONTRACTS_ALPHABET_AMOUNT=7
FROSTFS_IR_CONTRACTS_ALPHABET_AZ=c1d211fceeb4b1dc76b8e4054d11fdf887e418ea
FROSTFS_IR_CONTRACTS_ALPHABET_BUKY=e2ba789320899658b100f331bdebb74474757920
FROSTFS_IR_CONTRACTS_ALPHABET_VEDI=9623c11fd49aa18220458fbaae0396749c669e19
FROSTFS_IR_CONTRACTS_ALPHABET_GLAGOLI=39617441b8e06c55e4fc3ce660be9101b6c1f866
FROSTFS_IR_CONTRACTS_ALPHABET_DOBRO=e6122b65d45c8feeb04455d67814394c147ed4d1
FROSTFS_IR_CONTRACTS_ALPHABET_YEST=cdbca5cb5d48a4472923844d0e3ee6328cf86d38
FROSTFS_IR_CONTRACTS_ALPHABET_ZHIVETE=f584699bc2ff457d339fb09f16217042c1a42101
NEOFS_IR_PPROF_ENABLED=true
NEOFS_IR_PPROF_ADDRESS=localhost:6060
NEOFS_IR_PPROF_SHUTDOWN_TIMEOUT=30s
FROSTFS_IR_PPROF_ENABLED=true
FROSTFS_IR_PPROF_ADDRESS=localhost:6060
FROSTFS_IR_PPROF_SHUTDOWN_TIMEOUT=30s
NEOFS_IR_PROMETHEUS_ENABLED=true
NEOFS_IR_PROMETHEUS_ADDRESS=localhost:9090
NEOFS_IR_PROMETHEUS_SHUTDOWN_TIMEOUT=30s
FROSTFS_IR_PROMETHEUS_ENABLED=true
FROSTFS_IR_PROMETHEUS_ADDRESS=localhost:9090
FROSTFS_IR_PROMETHEUS_SHUTDOWN_TIMEOUT=30s
NEOFS_IR_SETTLEMENT_BASIC_INCOME_RATE=100
NEOFS_IR_SETTLEMENT_AUDIT_FEE=100
FROSTFS_IR_SETTLEMENT_BASIC_INCOME_RATE=100
FROSTFS_IR_SETTLEMENT_AUDIT_FEE=100

View file

@ -69,7 +69,7 @@ emit:
mint:
value: 20000000 # Fixed8 value of sidechain GAS transferred to account that received a deposit from mainchain
cache_size: 1000 # LRU cache size of all deposit receivers to avoid double GAS emission
threshold: 1 # Lifetime of records in LRU cache of all deposit receivers in NeoFS epochs
threshold: 1 # Lifetime of records in LRU cache of all deposit receivers in FrostFS epochs
gas:
balance_threshold: 100000000000 # Fixed8 value of inner ring wallet balance threshold when GAS emission for deposit receivers is disabled; disabled by default
@ -102,7 +102,7 @@ indexer:
netmap_cleaner:
enabled: true # Enable voting for removing stale storage nodes from network map
threshold: 3 # Number of NeoFS epoch without bootstrap request from storage node before it considered stale
threshold: 3 # Number of FrostFS epoch without bootstrap request from storage node before it considered stale
contracts:
frostfs: ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62 # Address of FrostFS contract in mainchain; ignore if mainchain is disabled

View file

@ -1,180 +1,180 @@
NEOFS_LOGGER_LEVEL=debug
FROSTFS_LOGGER_LEVEL=debug
NEOFS_PPROF_ENABLED=true
NEOFS_PPROF_ADDRESS=localhost:6060
NEOFS_PPROF_SHUTDOWN_TIMEOUT=15s
FROSTFS_PPROF_ENABLED=true
FROSTFS_PPROF_ADDRESS=localhost:6060
FROSTFS_PPROF_SHUTDOWN_TIMEOUT=15s
NEOFS_PROMETHEUS_ENABLED=true
NEOFS_PROMETHEUS_ADDRESS=localhost:9090
NEOFS_PROMETHEUS_SHUTDOWN_TIMEOUT=15s
FROSTFS_PROMETHEUS_ENABLED=true
FROSTFS_PROMETHEUS_ADDRESS=localhost:9090
FROSTFS_PROMETHEUS_SHUTDOWN_TIMEOUT=15s
# Node section
NEOFS_NODE_KEY=./wallet.key
NEOFS_NODE_WALLET_PATH=./wallet.json
NEOFS_NODE_WALLET_ADDRESS=NcpJzXcSDrh5CCizf4K9Ro6w4t59J5LKzz
NEOFS_NODE_WALLET_PASSWORD=password
NEOFS_NODE_ADDRESSES="s01.frostfs.devenv:8080 /dns4/s02.frostfs.devenv/tcp/8081 grpc://127.0.0.1:8082 grpcs://localhost:8083"
NEOFS_NODE_ATTRIBUTE_0=Price:11
NEOFS_NODE_ATTRIBUTE_1="UN-LOCODE:RU MSK"
NEOFS_NODE_RELAY=true
NEOFS_NODE_PERSISTENT_SESSIONS_PATH=/sessions
NEOFS_NODE_PERSISTENT_STATE_PATH=/state
NEOFS_NODE_SUBNET_EXIT_ZERO=true
NEOFS_NODE_SUBNET_ENTRIES=123 456 789
NEOFS_NODE_NOTIFICATION_ENABLED=true
NEOFS_NODE_NOTIFICATION_ENDPOINT=tls://localhost:4222
NEOFS_NODE_NOTIFICATION_TIMEOUT=6s
NEOFS_NODE_NOTIFICATION_DEFAULT_TOPIC=topic
NEOFS_NODE_NOTIFICATION_CERTIFICATE=/cert/path
NEOFS_NODE_NOTIFICATION_KEY=/key/path
NEOFS_NODE_NOTIFICATION_CA=/ca/path
FROSTFS_NODE_KEY=./wallet.key
FROSTFS_NODE_WALLET_PATH=./wallet.json
FROSTFS_NODE_WALLET_ADDRESS=NcpJzXcSDrh5CCizf4K9Ro6w4t59J5LKzz
FROSTFS_NODE_WALLET_PASSWORD=password
FROSTFS_NODE_ADDRESSES="s01.frostfs.devenv:8080 /dns4/s02.frostfs.devenv/tcp/8081 grpc://127.0.0.1:8082 grpcs://localhost:8083"
FROSTFS_NODE_ATTRIBUTE_0=Price:11
FROSTFS_NODE_ATTRIBUTE_1="UN-LOCODE:RU MSK"
FROSTFS_NODE_RELAY=true
FROSTFS_NODE_PERSISTENT_SESSIONS_PATH=/sessions
FROSTFS_NODE_PERSISTENT_STATE_PATH=/state
FROSTFS_NODE_SUBNET_EXIT_ZERO=true
FROSTFS_NODE_SUBNET_ENTRIES=123 456 789
FROSTFS_NODE_NOTIFICATION_ENABLED=true
FROSTFS_NODE_NOTIFICATION_ENDPOINT=tls://localhost:4222
FROSTFS_NODE_NOTIFICATION_TIMEOUT=6s
FROSTFS_NODE_NOTIFICATION_DEFAULT_TOPIC=topic
FROSTFS_NODE_NOTIFICATION_CERTIFICATE=/cert/path
FROSTFS_NODE_NOTIFICATION_KEY=/key/path
FROSTFS_NODE_NOTIFICATION_CA=/ca/path
# Tree service section
NEOFS_TREE_ENABLED=true
NEOFS_TREE_CACHE_SIZE=15
NEOFS_TREE_REPLICATION_CHANNEL_CAPACITY=32
NEOFS_TREE_REPLICATION_WORKER_COUNT=32
NEOFS_TREE_REPLICATION_TIMEOUT=5s
NEOFS_TREE_SYNC_INTERVAL=1h
FROSTFS_TREE_ENABLED=true
FROSTFS_TREE_CACHE_SIZE=15
FROSTFS_TREE_REPLICATION_CHANNEL_CAPACITY=32
FROSTFS_TREE_REPLICATION_WORKER_COUNT=32
FROSTFS_TREE_REPLICATION_TIMEOUT=5s
FROSTFS_TREE_SYNC_INTERVAL=1h
# gRPC section
## 0 server
NEOFS_GRPC_0_ENDPOINT=s01.frostfs.devenv:8080
FROSTFS_GRPC_0_ENDPOINT=s01.frostfs.devenv:8080
### TLS config
NEOFS_GRPC_0_TLS_ENABLED=true
NEOFS_GRPC_0_TLS_CERTIFICATE=/path/to/cert
NEOFS_GRPC_0_TLS_KEY=/path/to/key
FROSTFS_GRPC_0_TLS_ENABLED=true
FROSTFS_GRPC_0_TLS_CERTIFICATE=/path/to/cert
FROSTFS_GRPC_0_TLS_KEY=/path/to/key
## 1 server
NEOFS_GRPC_1_ENDPOINT=s02.frostfs.devenv:8080
FROSTFS_GRPC_1_ENDPOINT=s02.frostfs.devenv:8080
### TLS config
NEOFS_GRPC_1_TLS_ENABLED=false
FROSTFS_GRPC_1_TLS_ENABLED=false
# Control service section
NEOFS_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
NEOFS_CONTROL_GRPC_ENDPOINT=localhost:8090
FROSTFS_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
FROSTFS_CONTROL_GRPC_ENDPOINT=localhost:8090
# Contracts section
NEOFS_CONTRACTS_BALANCE=5263abba1abedbf79bb57f3e40b50b4425d2d6cd
NEOFS_CONTRACTS_CONTAINER=5d084790d7aa36cea7b53fe897380dab11d2cd3c
NEOFS_CONTRACTS_NETMAP=0cce9e948dca43a6b592efe59ddb4ecb89bdd9ca
NEOFS_CONTRACTS_REPUTATION=441995f631c1da2b133462b71859494a5cd45e90
NEOFS_CONTRACTS_PROXY=ad7c6b55b737b696e5c82c85445040964a03e97f
FROSTFS_CONTRACTS_BALANCE=5263abba1abedbf79bb57f3e40b50b4425d2d6cd
FROSTFS_CONTRACTS_CONTAINER=5d084790d7aa36cea7b53fe897380dab11d2cd3c
FROSTFS_CONTRACTS_NETMAP=0cce9e948dca43a6b592efe59ddb4ecb89bdd9ca
FROSTFS_CONTRACTS_REPUTATION=441995f631c1da2b133462b71859494a5cd45e90
FROSTFS_CONTRACTS_PROXY=ad7c6b55b737b696e5c82c85445040964a03e97f
# Morph chain section
NEOFS_MORPH_DIAL_TIMEOUT=30s
NEOFS_MORPH_CACHE_TTL=15s
NEOFS_MORPH_SWITCH_INTERVAL=3m
NEOFS_MORPH_RPC_ENDPOINT_0_ADDRESS="wss://rpc1.morph.fs.neo.org:40341/ws"
NEOFS_MORPH_RPC_ENDPOINT_0_PRIORITY=0
NEOFS_MORPH_RPC_ENDPOINT_1_ADDRESS="wss://rpc2.morph.fs.neo.org:40341/ws"
NEOFS_MORPH_RPC_ENDPOINT_1_PRIORITY=2
FROSTFS_MORPH_DIAL_TIMEOUT=30s
FROSTFS_MORPH_CACHE_TTL=15s
FROSTFS_MORPH_SWITCH_INTERVAL=3m
FROSTFS_MORPH_RPC_ENDPOINT_0_ADDRESS="wss://rpc1.morph.frostfs.info:40341/ws"
FROSTFS_MORPH_RPC_ENDPOINT_0_PRIORITY=0
FROSTFS_MORPH_RPC_ENDPOINT_1_ADDRESS="wss://rpc2.morph.frostfs.info:40341/ws"
FROSTFS_MORPH_RPC_ENDPOINT_1_PRIORITY=2
# API Client section
NEOFS_APICLIENT_DIAL_TIMEOUT=15s
NEOFS_APICLIENT_STREAM_TIMEOUT=20s
NEOFS_APICLIENT_RECONNECT_TIMEOUT=30s
NEOFS_APICLIENT_ALLOW_EXTERNAL=true
FROSTFS_APICLIENT_DIAL_TIMEOUT=15s
FROSTFS_APICLIENT_STREAM_TIMEOUT=20s
FROSTFS_APICLIENT_RECONNECT_TIMEOUT=30s
FROSTFS_APICLIENT_ALLOW_EXTERNAL=true
# Policer section
NEOFS_POLICER_HEAD_TIMEOUT=15s
FROSTFS_POLICER_HEAD_TIMEOUT=15s
# Replicator section
NEOFS_REPLICATOR_PUT_TIMEOUT=15s
NEOFS_REPLICATOR_POOL_SIZE=10
FROSTFS_REPLICATOR_PUT_TIMEOUT=15s
FROSTFS_REPLICATOR_POOL_SIZE=10
# Object service section
NEOFS_OBJECT_PUT_POOL_SIZE_REMOTE=100
FROSTFS_OBJECT_PUT_POOL_SIZE_REMOTE=100
# Storage engine section
NEOFS_STORAGE_SHARD_POOL_SIZE=15
NEOFS_STORAGE_SHARD_RO_ERROR_THRESHOLD=100
FROSTFS_STORAGE_SHARD_POOL_SIZE=15
FROSTFS_STORAGE_SHARD_RO_ERROR_THRESHOLD=100
## 0 shard
### Flag to refill Metabase from BlobStor
NEOFS_STORAGE_SHARD_0_RESYNC_METABASE=false
FROSTFS_STORAGE_SHARD_0_RESYNC_METABASE=false
### Flag to set shard mode
NEOFS_STORAGE_SHARD_0_MODE=read-only
FROSTFS_STORAGE_SHARD_0_MODE=read-only
### Write cache config
NEOFS_STORAGE_SHARD_0_WRITECACHE_ENABLED=false
NEOFS_STORAGE_SHARD_0_WRITECACHE_NO_SYNC=true
NEOFS_STORAGE_SHARD_0_WRITECACHE_PATH=tmp/0/cache
NEOFS_STORAGE_SHARD_0_WRITECACHE_SMALL_OBJECT_SIZE=16384
NEOFS_STORAGE_SHARD_0_WRITECACHE_MAX_OBJECT_SIZE=134217728
NEOFS_STORAGE_SHARD_0_WRITECACHE_WORKERS_NUMBER=30
NEOFS_STORAGE_SHARD_0_WRITECACHE_CAPACITY=3221225472
FROSTFS_STORAGE_SHARD_0_WRITECACHE_ENABLED=false
FROSTFS_STORAGE_SHARD_0_WRITECACHE_NO_SYNC=true
FROSTFS_STORAGE_SHARD_0_WRITECACHE_PATH=tmp/0/cache
FROSTFS_STORAGE_SHARD_0_WRITECACHE_SMALL_OBJECT_SIZE=16384
FROSTFS_STORAGE_SHARD_0_WRITECACHE_MAX_OBJECT_SIZE=134217728
FROSTFS_STORAGE_SHARD_0_WRITECACHE_WORKERS_NUMBER=30
FROSTFS_STORAGE_SHARD_0_WRITECACHE_CAPACITY=3221225472
### Metabase config
NEOFS_STORAGE_SHARD_0_METABASE_PATH=tmp/0/meta
NEOFS_STORAGE_SHARD_0_METABASE_PERM=0644
NEOFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_SIZE=100
NEOFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_DELAY=10ms
FROSTFS_STORAGE_SHARD_0_METABASE_PATH=tmp/0/meta
FROSTFS_STORAGE_SHARD_0_METABASE_PERM=0644
FROSTFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_SIZE=100
FROSTFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_DELAY=10ms
### Blobstor config
NEOFS_STORAGE_SHARD_0_COMPRESS=true
NEOFS_STORAGE_SHARD_0_COMPRESSION_EXCLUDE_CONTENT_TYPES="audio/* video/*"
NEOFS_STORAGE_SHARD_0_SMALL_OBJECT_SIZE=102400
FROSTFS_STORAGE_SHARD_0_COMPRESS=true
FROSTFS_STORAGE_SHARD_0_COMPRESSION_EXCLUDE_CONTENT_TYPES="audio/* video/*"
FROSTFS_STORAGE_SHARD_0_SMALL_OBJECT_SIZE=102400
### Blobovnicza config
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_PATH=tmp/0/blob/blobovnicza
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_PERM=0644
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_TYPE=blobovnicza
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_SIZE=4194304
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_DEPTH=1
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_WIDTH=4
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_PATH=tmp/0/blob/blobovnicza
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_PERM=0644
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_TYPE=blobovnicza
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_SIZE=4194304
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_DEPTH=1
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_WIDTH=4
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
### FSTree config
NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_TYPE=fstree
NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_PATH=tmp/0/blob
NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_PERM=0644
NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_DEPTH=5
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_TYPE=fstree
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_PATH=tmp/0/blob
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_PERM=0644
FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_DEPTH=5
### Pilorama config
NEOFS_STORAGE_SHARD_0_PILORAMA_PATH="tmp/0/blob/pilorama.db"
NEOFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_DELAY=10ms
NEOFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_SIZE=200
FROSTFS_STORAGE_SHARD_0_PILORAMA_PATH="tmp/0/blob/pilorama.db"
FROSTFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_DELAY=10ms
FROSTFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_SIZE=200
### GC config
#### Limit of the single data remover's batching operation in number of objects
NEOFS_STORAGE_SHARD_0_GC_REMOVER_BATCH_SIZE=150
FROSTFS_STORAGE_SHARD_0_GC_REMOVER_BATCH_SIZE=150
#### Sleep interval between data remover tacts
NEOFS_STORAGE_SHARD_0_GC_REMOVER_SLEEP_INTERVAL=2m
FROSTFS_STORAGE_SHARD_0_GC_REMOVER_SLEEP_INTERVAL=2m
## 1 shard
### Flag to refill Metabase from BlobStor
NEOFS_STORAGE_SHARD_1_RESYNC_METABASE=true
FROSTFS_STORAGE_SHARD_1_RESYNC_METABASE=true
### Flag to set shard mode
NEOFS_STORAGE_SHARD_1_MODE=read-write
FROSTFS_STORAGE_SHARD_1_MODE=read-write
### Write cache config
NEOFS_STORAGE_SHARD_1_WRITECACHE_ENABLED=true
NEOFS_STORAGE_SHARD_1_WRITECACHE_PATH=tmp/1/cache
NEOFS_STORAGE_SHARD_1_WRITECACHE_SMALL_OBJECT_SIZE=16384
NEOFS_STORAGE_SHARD_1_WRITECACHE_MAX_OBJECT_SIZE=134217728
NEOFS_STORAGE_SHARD_1_WRITECACHE_WORKERS_NUMBER=30
NEOFS_STORAGE_SHARD_1_WRITECACHE_CAPACITY=4294967296
FROSTFS_STORAGE_SHARD_1_WRITECACHE_ENABLED=true
FROSTFS_STORAGE_SHARD_1_WRITECACHE_PATH=tmp/1/cache
FROSTFS_STORAGE_SHARD_1_WRITECACHE_SMALL_OBJECT_SIZE=16384
FROSTFS_STORAGE_SHARD_1_WRITECACHE_MAX_OBJECT_SIZE=134217728
FROSTFS_STORAGE_SHARD_1_WRITECACHE_WORKERS_NUMBER=30
FROSTFS_STORAGE_SHARD_1_WRITECACHE_CAPACITY=4294967296
### Metabase config
NEOFS_STORAGE_SHARD_1_METABASE_PATH=tmp/1/meta
NEOFS_STORAGE_SHARD_1_METABASE_PERM=0644
NEOFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_SIZE=200
NEOFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_DELAY=20ms
FROSTFS_STORAGE_SHARD_1_METABASE_PATH=tmp/1/meta
FROSTFS_STORAGE_SHARD_1_METABASE_PERM=0644
FROSTFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_SIZE=200
FROSTFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_DELAY=20ms
### Blobstor config
NEOFS_STORAGE_SHARD_1_COMPRESS=false
NEOFS_STORAGE_SHARD_1_SMALL_OBJECT_SIZE=102400
FROSTFS_STORAGE_SHARD_1_COMPRESS=false
FROSTFS_STORAGE_SHARD_1_SMALL_OBJECT_SIZE=102400
### Blobovnicza config
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_TYPE=blobovnicza
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_PATH=tmp/1/blob/blobovnicza
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_SIZE=4194304
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_DEPTH=1
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_WIDTH=4
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_TYPE=blobovnicza
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_PATH=tmp/1/blob/blobovnicza
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_SIZE=4194304
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_DEPTH=1
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_WIDTH=4
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
### FSTree config
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_TYPE=fstree
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_PATH=tmp/1/blob
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_PERM=0644
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_NO_SYNC=true
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_DEPTH=5
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_TYPE=fstree
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_PATH=tmp/1/blob
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_PERM=0644
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_NO_SYNC=true
FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_DEPTH=5
### Pilorama config
NEOFS_STORAGE_SHARD_1_PILORAMA_PATH="tmp/1/blob/pilorama.db"
NEOFS_STORAGE_SHARD_1_PILORAMA_PERM=0644
NEOFS_STORAGE_SHARD_1_PILORAMA_NO_SYNC=true
NEOFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_DELAY=5ms
NEOFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_SIZE=100
FROSTFS_STORAGE_SHARD_1_PILORAMA_PATH="tmp/1/blob/pilorama.db"
FROSTFS_STORAGE_SHARD_1_PILORAMA_PERM=0644
FROSTFS_STORAGE_SHARD_1_PILORAMA_NO_SYNC=true
FROSTFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_DELAY=5ms
FROSTFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_SIZE=100
### GC config
#### Limit of the single data remover's batching operation in number of objects
NEOFS_STORAGE_SHARD_1_GC_REMOVER_BATCH_SIZE=200
FROSTFS_STORAGE_SHARD_1_GC_REMOVER_BATCH_SIZE=200
#### Sleep interval between data remover tacts
NEOFS_STORAGE_SHARD_1_GC_REMOVER_SLEEP_INTERVAL=5m
FROSTFS_STORAGE_SHARD_1_GC_REMOVER_SLEEP_INTERVAL=5m

View file

@ -105,11 +105,11 @@
"switch_interval": "3m",
"rpc_endpoint": [
{
"address": "wss://rpc1.morph.fs.neo.org:40341/ws",
"address": "wss://rpc1.morph.frostfs.info:40341/ws",
"priority": 0
},
{
"address": "wss://rpc2.morph.fs.neo.org:40341/ws",
"address": "wss://rpc2.morph.frostfs.info:40341/ws",
"priority": 2
}
]

View file

@ -31,7 +31,7 @@ node:
path: /state # path to persistent state file of Storage node
subnet:
exit_zero: true # toggle entrance to zero subnet (overrides corresponding attribute and occurrence in `entries`)
entries: # list of IDs of subnets to enter in a text format of NeoFS API protocol (overrides corresponding attributes)
entries: # list of IDs of subnets to enter in a text format of FrostFS API protocol (overrides corresponding attributes)
- 123
- 456
- 789
@ -88,13 +88,13 @@ morph:
# Cached entities: containers, container lists, eACL tables.
switch_interval: 3m # interval b/w RPC switch attempts if the node is connected not to the highest priority node
rpc_endpoint: # side chain NEO RPC endpoints; are shuffled and used one by one until the first success
- address: wss://rpc1.morph.fs.neo.org:40341/ws
- address: wss://rpc1.morph.frostfs.info:40341/ws
priority: 0
- address: wss://rpc2.morph.fs.neo.org:40341/ws
- address: wss://rpc2.morph.frostfs.info:40341/ws
priority: 2
apiclient:
dial_timeout: 15s # timeout for NEOFS API client connection
dial_timeout: 15s # timeout for FrostFS API client connection
stream_timeout: 20s # timeout for individual operations in a streaming RPC
allow_external: true # allow to fallback to addresses in `ExternalAddr` attribute
reconnect_timeout: 30s # time to wait before reconnecting to a failed node

View file

@ -7,7 +7,7 @@ node:
- <announced.address:port>
attribute_0: UN-LOCODE:<XX YYY>
attribute_1: Price:100000
attribute_2: User-Agent:NeoFS\/0.27
attribute_2: User-Agent:FrostFS\/0.9999
grpc:
num: 1
@ -55,13 +55,13 @@ object:
morph:
rpc_endpoint:
- wss://rpc1.morph.fs.neo.org:40341/ws
- wss://rpc2.morph.fs.neo.org:40341/ws
- wss://rpc3.morph.fs.neo.org:40341/ws
- wss://rpc4.morph.fs.neo.org:40341/ws
- wss://rpc5.morph.fs.neo.org:40341/ws
- wss://rpc6.morph.fs.neo.org:40341/ws
- wss://rpc7.morph.fs.neo.org:40341/ws
- wss://rpc1.morph.frostfs.info:40341/ws
- wss://rpc2.morph.frostfs.info:40341/ws
- wss://rpc3.morph.frostfs.info:40341/ws
- wss://rpc4.morph.frostfs.info:40341/ws
- wss://rpc5.morph.frostfs.info:40341/ws
- wss://rpc6.morph.frostfs.info:40341/ws
- wss://rpc7.morph.frostfs.info:40341/ws
dial_timeout: 20s
contracts:

View file

@ -3,13 +3,13 @@ logger:
morph:
rpc_endpoint:
- wss://rpc01.morph.testnet.fs.neo.org:51331/ws
- wss://rpc02.morph.testnet.fs.neo.org:51331/ws
- wss://rpc03.morph.testnet.fs.neo.org:51331/ws
- wss://rpc04.morph.testnet.fs.neo.org:51331/ws
- wss://rpc05.morph.testnet.fs.neo.org:51331/ws
- wss://rpc06.morph.testnet.fs.neo.org:51331/ws
- wss://rpc07.morph.testnet.fs.neo.org:51331/ws
- wss://rpc01.morph.testnet.frostfs.info:51331/ws
- wss://rpc02.morph.testnet.frostfs.info:51331/ws
- wss://rpc03.morph.testnet.frostfs.info:51331/ws
- wss://rpc04.morph.testnet.frostfs.info:51331/ws
- wss://rpc05.morph.testnet.frostfs.info:51331/ws
- wss://rpc06.morph.testnet.frostfs.info:51331/ws
- wss://rpc07.morph.testnet.frostfs.info:51331/ws
dial_timeout: 20s
contracts:
@ -21,7 +21,7 @@ contracts:
node:
key: /node.key
attribute_0: Deployed:SelfHosted
attribute_1: User-Agent:NeoFS\/0.27
attribute_1: User-Agent:FrostFS\/0.9999
prometheus:
enabled: true

View file

@ -1,31 +0,0 @@
---
version: "2.4"
services:
storage01:
image: nspccdev/neofs-storage-testnet:0.27.7
container_name: frostfs-testnet
env_file: node_config.env
network_mode: host
restart: always
volumes:
- frostfs_storage:/storage
- <NEOFS_NODE_KEY>:/node.key
stop_signal: SIGINT
vmagent:
image: victoriametrics/vmagent:v1.61.0
container_name: vmagent
depends_on:
- storage01
env_file: node_config.env
command:
- '-promscrape.config=/configs/prometheus.yml'
- '-remoteWrite.url=https://collector.fs.neo.org/api/v1/write'
network_mode: host
restart: always
volumes:
- ./prometheus.yml:/configs/prometheus.yml
volumes:
frostfs_storage:

View file

@ -1,32 +0,0 @@
#
# Specify your public IP address or domain name with the open port
# in NODE_ADDRESSES and GRPC_0_ENDPOINT
# By default keep these addresses the same.
# This is used for the public announcement in the network map
#
#NEOFS_NODE_ADDRESSES=1.1.1.1:36512
NEOFS_NODE_ADDRESSES=
# This is used to open the connection listening socket(s) on your machine
#
#NEOFS_GRPC_0_ENDPOINT=1.1.1.1:36512
NEOFS_GRPC_0_ENDPOINT=
NEOFS_GRPC_NUM=1
# Specify control service endpoint for node administration.
# It must be different from connection port.
# Keep control service endpoint private with firewall rules or use localhost.
NEOFS_CONTROL_GRPC_ENDPOINT=localhost:30512
#https://unece.org/trade/cefact/unlocode-code-list-country-and-territory
# Find suitable LOCODE (from the link above) for your storage node.
#
#NEOFS_NODE_ATTRIBUTE_2=UN-LOCODE:<XX YYY>
#NEOFS_NODE_ATTRIBUTE_2=UN-LOCODE:RU LED
NEOFS_NODE_ATTRIBUTE_2=
NEOFS_NODE_ATTRIBUTE_3=Price:100000

View file

@ -1,13 +0,0 @@
global:
scrape_interval: 15s
external_labels:
monitor: 'user_metrics'
scrape_configs:
- job_name: 'frostfs-node-user'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
relabel_configs:
- target_label: 'instance'
replacement: "%{NEOFS_NODE_ADDRESS}"

2
debian/changelog vendored
View file

@ -2,4 +2,4 @@ frostfs-node (0.0.1) stable; urgency=medium
* Initial package build
-- NeoSPCC <tech@nspcc.ru> Tue, 25 Oct 2022 21:10:49 +0300
-- TrueCloudLab <tech@frostfs.info> Tue, 25 Oct 2022 21:10:49 +0300

24
debian/control vendored
View file

@ -11,29 +11,29 @@ Vcs-Browser: https://github.com/TrueCloudLab/frostfs-node
Package: frostfs-storage
Architecture: any
Depends: ${misc:Depends}
Description: NeoFS Storage node
NeoFS is a decentralized distributed object storage integrated with the NEO
Blockchain. NeoFS Nodes are organized in a peer-to-peer network that takes care
Description: FrostFS Storage node
FrostFS is a decentralized distributed object storage integrated with the NEO
Blockchain. FrostFS Nodes are organized in a peer-to-peer network that takes care
of storing and distributing user's data. Any Neo user may participate in the
network and get paid for providing storage resources to other users or store
their data in NeoFS and pay a competitive price for it.
their data in FrostFS and pay a competitive price for it.
Package: frostfs-ir
Architecture: any
Depends: ${misc:Depends}, frostfs-locode-db
Description: NeoFS InnerRing node
NeoFS is a decentralized distributed object storage integrated with the NEO
Blockchain. NeoFS Nodes are organized in a peer-to-peer network that takes care
Description: FrostFS InnerRing node
FrostFS is a decentralized distributed object storage integrated with the NEO
Blockchain. FrostFS Nodes are organized in a peer-to-peer network that takes care
of storing and distributing user's data. Any Neo user may participate in the
network and get paid for providing storage resources to other users or store
their data in NeoFS and pay a competitive price for it.
their data in FrostFS and pay a competitive price for it.
Package: frostfs-cli
Architecture: any
Depends: ${misc:Depends}
Description: CLI tools for NeoFS
NeoFS is a decentralized distributed object storage integrated with the NEO
Blockchain. NeoFS Nodes are organized in a peer-to-peer network that takes care
Description: CLI tools for FrostFS
FrostFS is a decentralized distributed object storage integrated with the NEO
Blockchain. FrostFS Nodes are organized in a peer-to-peer network that takes care
of storing and distributing user's data. Any Neo user may participate in the
network and get paid for providing storage resources to other users or store
their data in NeoFS and pay a competitive price for it.
their data in FrostFS and pay a competitive price for it.

5
debian/copyright vendored
View file

@ -1,10 +1,11 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: frostfs-node
Upstream-Contact: tech@nspcc.ru
Upstream-Contact: tech@frostfs.info
Source: https://github.com/TrueCloudLab/frostfs-node
carpawell commented 2023-02-06 07:57:22 +00:00 (Migrated from github.com)
Review

is it a real contact? i mean, is it possible to send smth via that contact?

is it a real contact? i mean, is it possible to send smth via that contact?
realloc commented 2023-02-06 11:05:59 +00:00 (Migrated from github.com)
Review

It will become real soon.

It will become real soon.
Files: *
Copyright: 2018-2022 NeoSPCC (@nspcc-dev), contributors of frostfs-node project
Copyright: 2022-2023 TrueCloudLab (@TrueCloudLab), contributors of FrostFS project
2018-2022 NeoSPCC (@nspcc-dev), contributors of NeoFS project
(https://github.com/TrueCloudLab/frostfs-node/blob/master/CREDITS.md)
License: GPL-3

View file

@ -19,7 +19,7 @@ set -e
case "$1" in
configure)
USERNAME=ir
id -u frostfs-ir >/dev/null 2>&1 || useradd -s /usr/sbin/nologin -d /var/lib/frostfs/ir --system -M -U -c "NeoFS InnerRing node" frostfs-ir
id -u frostfs-ir >/dev/null 2>&1 || useradd -s /usr/sbin/nologin -d /var/lib/frostfs/ir --system -M -U -c "FrostFS InnerRing node" frostfs-ir
if ! dpkg-statoverride --list /etc/frostfs/$USERNAME >/dev/null; then
chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME
chmod -f 0750 /etc/frostfs/$USERNAME

View file

@ -1,5 +1,5 @@
[Unit]
Description=NeoFS InnerRing node
Description=FrostFS InnerRing node
Requires=network.target
[Service]

View file

@ -19,7 +19,7 @@ set -e
case "$1" in
configure)
USERNAME=storage
id -u frostfs-$USERNAME >/dev/null 2>&1 || useradd -s /usr/sbin/nologin -d /var/lib/frostfs/$USERNAME --system -M -U -c "NeoFS Storage node" frostfs-$USERNAME
id -u frostfs-$USERNAME >/dev/null 2>&1 || useradd -s /usr/sbin/nologin -d /var/lib/frostfs/$USERNAME --system -M -U -c "FrostFS Storage node" frostfs-$USERNAME
if ! dpkg-statoverride --list /etc/frostfs/$USERNAME >/dev/null; then
chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME
chmod -f 0750 /etc/frostfs/$USERNAME

View file

@ -1,5 +1,5 @@
[Unit]
Description=NeoFS Storage node
Description=FrostFS Storage node
Requires=network.target
[Service]

View file

@ -8,7 +8,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/client"
)
// Client is an interface of NeoFS storage
// Client is an interface of FrostFS storage
// node's client.
type Client interface {
ContainerAnnounceUsedSpace(context.Context, client.PrmAnnounceSpace) (*client.ResAnnounceSpace, error)
@ -35,7 +35,7 @@ type MultiAddressClient interface {
RawForAddress(network.Address, func(cli *rawclient.Client) error) error
}
// NodeInfo groups information about a NeoFS storage node needed for Client construction.
// NodeInfo groups information about a FrostFS storage node needed for Client construction.
type NodeInfo struct {
addrGroup network.AddressGroup

View file

@ -11,7 +11,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/session"
)
// Container groups information about the NeoFS container stored in the NeoFS network.
// Container groups information about the FrostFS container stored in the FrostFS network.
type Container struct {
// Container structure.
Value container.Container
@ -43,8 +43,8 @@ func IsErrNotFound(err error) bool {
return errors.As(err, new(apistatus.ContainerNotFound))
}
// EACL groups information about the NeoFS container's extended ACL stored in
// the NeoFS network.
// EACL groups information about the FrostFS container's extended ACL stored in
// the FrostFS network.
type EACL struct {
// Extended ACL structure.
Value *eacl.Table

View file

@ -2,6 +2,6 @@ package netmap
// State groups the current system state parameters.
type State interface {
// CurrentEpoch returns the number of the current NeoFS epoch.
// CurrentEpoch returns the number of the current FrostFS epoch.
CurrentEpoch() uint64
}

View file

@ -5,7 +5,7 @@ import (
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id"
)
// AddressWithType groups object address with its NeoFS
// AddressWithType groups object address with its FrostFS
// object type.
type AddressWithType struct {
Address oid.Address

View file

@ -169,7 +169,7 @@ func (v *FormatValidator) checkOwnerKey(id user.ID, key frostfsecdsa.PublicKey)
return nil
}
// ContentMeta describes NeoFS meta information that brings object's payload if the object
// ContentMeta describes FrostFS meta information that brings object's payload if the object
// is one of:
// - object.TypeTombstone;
// - object.TypeStorageGroup;

View file

@ -4,7 +4,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/version"
)
// IsValid checks if Version is not earlier than the genesis version of the NeoFS.
// IsValid checks if Version is not earlier than the genesis version of the FrostFS.
func IsValid(v version.Version) bool {
const (
startMajor = 2

View file

@ -32,7 +32,7 @@ func (f FeeConfig) SideChainFee() fixedn.Fixed8 {
return f.sidechain
}
// NamedContainerRegistrationFee returns additional GAS fee for named container registration in NeoFS network.
// NamedContainerRegistrationFee returns additional GAS fee for named container registration in FrostFS network.
func (f FeeConfig) NamedContainerRegistrationFee() fixedn.Fixed8 {
return f.registerNamedCnr
}

View file

@ -16,14 +16,14 @@ import (
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id"
)
// Client represents NeoFS API client cut down to the needs of a purely IR application.
// Client represents FrostFS API client cut down to the needs of a purely IR application.
type Client struct {
key *ecdsa.PrivateKey
c clientcore.Client
}
// WrapBasicClient wraps a client.Client instance to use it for NeoFS API RPC.
// WrapBasicClient wraps a client.Client instance to use it for FrostFS API RPC.
func (x *Client) WrapBasicClient(c clientcore.Client) {
x.c = c
}
@ -211,7 +211,7 @@ func (x Client) HeadObject(prm HeadObjectPrm) (*HeadObjectRes, error) {
}
if err != nil {
return nil, fmt.Errorf("read object header from NeoFS: %w", err)
return nil, fmt.Errorf("read object header from FrostFS: %w", err)
}
var hdr object.Object
@ -225,7 +225,7 @@ func (x Client) HeadObject(prm HeadObjectPrm) (*HeadObjectRes, error) {
}, nil
}
// GetObjectPayload reads an object by address from NeoFS via Client and returns its payload.
// GetObjectPayload reads an object by address from FrostFS via Client and returns its payload.
//
// Returns any error which prevented the operation from completing correctly in error return.
func GetObjectPayload(ctx context.Context, c Client, addr oid.Address) ([]byte, error) {

View file

@ -1,6 +1,6 @@
// Package frostfsapiclient provides functionality for IR application communication with NeoFS network.
// Package frostfsapiclient provides functionality for IR application communication with FrostFS network.
//
// The basic client for accessing remote nodes via NeoFS API is a NeoFS SDK Go API client.
// The basic client for accessing remote nodes via FrostFS API is a FrostFS SDK Go API client.
// However, although it encapsulates a useful piece of business logic (e.g. the signature mechanism),
// the IR application does not fully use the client's flexible interface.
//
@ -8,5 +8,5 @@
// The type provides the minimum interface necessary for the application and also allows you to concentrate
// the entire spectrum of the client's use in one place (this will be convenient both when updating the base client
// and for evaluating the UX of SDK library). So, it is expected that all application packages will be limited
// to this package for the development of functionality requiring NeoFS API communication.
// to this package for the development of functionality requiring FrostFS API communication.
package frostfsapiclient

View file

@ -81,7 +81,7 @@ func New(p *Params) (*Processor, error) {
case p.ContainerClient == nil:
return nil, errors.New("ir/container: Container client is not set")
case p.FrostFSIDClient == nil:
return nil, errors.New("ir/container: NeoFS ID client is not set")
return nil, errors.New("ir/container: FrostFS ID client is not set")
case p.NetworkState == nil:
return nil, errors.New("ir/container: network state is not set")
case p.SubnetClient == nil:

View file

@ -123,7 +123,7 @@ func (gp *Processor) processAlphabetSync(txHash util.Uint256) {
}
}
// 4. Update NeoFS contract in the mainnet.
// 4. Update FrostFS contract in the mainnet.
epoch := gp.epochState.EpochCounter()
buf := make([]byte, 8)

View file

@ -6,7 +6,7 @@ import (
)
// Record is an interface of read-only
// NeoFS LOCODE database single entry.
// FrostFS LOCODE database single entry.
type Record interface {
// Must return ISO 3166-1 alpha-2
// country code.
@ -47,7 +47,7 @@ type Record interface {
}
// DB is an interface of read-only
// NeoFS LOCODE database.
// FrostFS LOCODE database.
type DB interface {
// Must find the record that corresponds to
// LOCODE and provides the Record interface.

View file

@ -6,7 +6,7 @@ package locode
// Passing incorrect parameter values will result in constructor
// failure (error or panic depending on the implementation).
type Prm struct {
// NeoFS LOCODE database interface.
// FrostFS LOCODE database interface.
//
// Must not be nil.
DB DB

View file

@ -15,7 +15,7 @@ import (
// ErrMaintenanceModeDisallowed is returned when maintenance mode is disallowed.
var ErrMaintenanceModeDisallowed = errors.New("maintenance mode is disallowed")
// NetworkSettings encapsulates current settings of the NeoFS network and
// NetworkSettings encapsulates current settings of the FrostFS network and
// provides interface used for processing the network map candidates.
type NetworkSettings interface {
// MaintenanceModeAllowed checks if maintenance state of the storage nodes
@ -27,7 +27,7 @@ type NetworkSettings interface {
}
// NetMapCandidateValidator represents tool which checks state of nodes which
// are going to register in the NeoFS network (enter the network map).
// are going to register in the FrostFS network (enter the network map).
//
// NetMapCandidateValidator can be instantiated using built-in var declaration
// and currently doesn't require any additional initialization.

View file

@ -29,7 +29,7 @@ type ResultStorage interface {
AuditResultsForEpoch(epoch uint64) ([]*audit.Result, error)
}
// SGInfo groups the data about NeoFS storage group
// SGInfo groups the data about FrostFS storage group
// necessary for calculating audit fee.
type SGInfo interface {
// Must return sum size of the all group members.

View file

@ -17,7 +17,7 @@ type NodeInfo interface {
PublicKey() []byte
}
// ContainerInfo groups the data about NeoFS container
// ContainerInfo groups the data about FrostFS container
// necessary for calculating audit fee.
type ContainerInfo interface {
// Must return identifier of the container owner.
@ -25,7 +25,7 @@ type ContainerInfo interface {
}
// ContainerStorage is an interface of
// storage of the NeoFS containers.
// storage of the FrostFS containers.
type ContainerStorage interface {
// Must return information about the container by ID.
ContainerInfo(cid.ID) (ContainerInfo, error)

View file

@ -9,7 +9,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/user"
)
// Put represents a notification about NeoFS subnet creation.
// Put represents a notification about FrostFS subnet creation.
// Generated by a contract when intending to create a subnet.
type Put interface {
// Contains the ID of the subnet to be created.
@ -56,7 +56,7 @@ func (x PutValidator) Assert(event Put) error {
}
}
// read creator's user ID in NeoFS system
// read creator's user ID in FrostFS system
var creator user.ID
if err = event.ReadCreator(&creator); err != nil {
return fmt.Errorf("read creator: %w", err)

View file

@ -184,14 +184,14 @@ type putSubnetEvent struct {
ev subnetevents.Put
}
// ReadID unmarshals the subnet ID from a binary NeoFS API protocol's format.
// ReadID unmarshals the subnet ID from a binary FrostFS API protocol's format.
func (x putSubnetEvent) ReadID(id *subnetid.ID) error {
return id.Unmarshal(x.ev.ID())
}
var errMissingSubnetOwner = errors.New("missing subnet owner")
// ReadCreator unmarshals the subnet creator from a binary NeoFS API protocol's format.
// ReadCreator unmarshals the subnet creator from a binary FrostFS API protocol's format.
// Returns an error if the byte array is empty.
func (x putSubnetEvent) ReadCreator(id *user.ID) error {
data := x.ev.Owner()
@ -210,7 +210,7 @@ func (x putSubnetEvent) ReadCreator(id *user.ID) error {
return nil
}
// ReadInfo unmarshal the subnet info from a binary NeoFS API protocol's format.
// ReadInfo unmarshal the subnet info from a binary FrostFS API protocol's format.
func (x putSubnetEvent) ReadInfo(info *subnet.Info) error {
return info.Unmarshal(x.ev.Info())
}

View file

@ -11,7 +11,7 @@ import (
"go.uber.org/zap"
)
// Blobovnicza represents the implementation of NeoFS Blobovnicza.
// Blobovnicza represents the implementation of FrostFS Blobovnicza.
type Blobovnicza struct {
cfg

View file

@ -17,7 +17,7 @@ type SubStorage struct {
Policy func(*objectSDK.Object, []byte) bool
}
// BlobStor represents NeoFS local BLOB storage.
// BlobStor represents FrostFS local BLOB storage.
type BlobStor struct {
cfg

View file

@ -13,7 +13,7 @@ import (
"go.uber.org/zap"
)
// StorageEngine represents NeoFS local storage engine.
// StorageEngine represents FrostFS local storage engine.
type StorageEngine struct {
*cfg

View file

@ -122,7 +122,7 @@ func (db *DB) Inhume(prm InhumePrm) (res InhumeRes, err error) {
bkt = graveyardBKT
tombKey := addressKey(*prm.tomb, make([]byte, addressKeySize))
// it is forbidden to have a tomb-on-tomb in NeoFS,
// it is forbidden to have a tomb-on-tomb in FrostFS,
// so graveyard keys must not be addresses of tombstones
data := bkt.Get(tombKey)
if data != nil {

View file

@ -15,10 +15,10 @@ import (
)
// TombstoneSource is an interface that checks
// tombstone status in the NeoFS network.
// tombstone status in the FrostFS network.
type TombstoneSource interface {
// IsTombstoneAvailable must return boolean value that means
// provided tombstone's presence in the NeoFS network at the
// provided tombstone's presence in the FrostFS network at the
// time of the passed epoch.
IsTombstoneAvailable(ctx context.Context, addr oid.Address, epoch uint64) bool
}

View file

@ -16,7 +16,7 @@ import (
"go.uber.org/zap"
)
// Shard represents single shard of NeoFS Local Storage Engine.
// Shard represents single shard of FrostFS Local Storage Engine.
type Shard struct {
*cfg

View file

@ -10,7 +10,7 @@ import (
// Client is a wrapper over StaticClient
// which makes calls with the names and arguments
// of the NeoFS Audit contract.
// of the FrostFS Audit contract.
//
// Working client must be created via constructor New.
// Using the Client that has been created with new(Client)

View file

@ -22,7 +22,7 @@ func (p *PutPrm) SetResult(result *auditAPI.Result) {
p.result = result
}
// PutAuditResult saves passed audit result structure in NeoFS system
// PutAuditResult saves passed audit result structure in FrostFS system
// through Audit contract call.
//
// Returns encountered error that caused the saving to interrupt.

View file

@ -10,7 +10,7 @@ import (
// Client is a wrapper over StaticClient
// which makes calls with the names and arguments
// of the NeoFS Balance contract.
// of the FrostFS Balance contract.
//
// Working client must be created via constructor New.
// Using the Client that has been created with new(Client)

View file

@ -11,7 +11,7 @@ import (
// Client is a wrapper over StaticClient
// which makes calls with the names and arguments
// of the NeoFS Container contract.
// of the FrostFS Container contract.
//
// Working client must be created via constructor New.
// Using the Client that has been created with new(Client)

View file

@ -52,7 +52,7 @@ func (d *DeletePrm) SetToken(token []byte) {
d.token = token
}
// Delete removes the container from NeoFS system
// Delete removes the container from FrostFS system
// through Container contract call.
//
// Returns any error encountered that caused

View file

@ -13,7 +13,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/session"
)
// GetEACL reads the extended ACL table from NeoFS system
// GetEACL reads the extended ACL table from FrostFS system
// through Container contract call.
//
// Returns apistatus.EACLNotFound if eACL table is missing in the contract.

View file

@ -72,7 +72,7 @@ func (p *PutEACLPrm) SetToken(token []byte) {
}
// PutEACL saves binary eACL table with its session token, key and signature
// in NeoFS system through Container contract call.
// in FrostFS system through Container contract call.
//
// Returns any error encountered that caused the saving to interrupt.
func (c *Client) PutEACL(p PutEACLPrm) error {

View file

@ -35,7 +35,7 @@ func Get(c *Client, cnr cid.ID) (*containercore.Container, error) {
return c.Get(binCnr)
}
// Get reads the container from NeoFS system by binary identifier
// Get reads the container from FrostFS system by binary identifier
// through Container contract call.
//
// If an empty slice is returned for the requested identifier,

View file

@ -9,10 +9,10 @@ import (
)
// List returns a list of container identifiers belonging
// to the specified user of NeoFS system. The list is composed
// to the specified user of FrostFS system. The list is composed
// through Container contract call.
//
// Returns the identifiers of all NeoFS containers if pointer
// Returns the identifiers of all FrostFS containers if pointer
// to user identifier is nil.
func (c *Client) List(idUser *user.ID) ([]cid.ID, error) {
var rawID []byte

View file

@ -29,7 +29,7 @@ func (a2 *AnnounceLoadPrm) SetReporter(key []byte) {
}
// AnnounceLoad saves container size estimation calculated by storage node
// with key in NeoFS system through Container contract call.
// with key in FrostFS system through Container contract call.
//
// Returns any error encountered that caused the saving to interrupt.
func (c *Client) AnnounceLoad(p AnnounceLoadPrm) error {

View file

@ -89,7 +89,7 @@ func (p *PutPrm) SetZone(zone string) {
}
// Put saves binary container with its session token, key and signature
// in NeoFS system through Container contract call.
// in FrostFS system through Container contract call.
//
// Returns calculated container identifier and any error
// encountered that caused the saving to interrupt.

View file

@ -19,7 +19,7 @@ func (x *commonBindArgs) SetOptionalPrm(op client.InvokePrmOptional) {
x.InvokePrmOptional = op
}
// SetScriptHash sets script hash of the NeoFS account identifier.
// SetScriptHash sets script hash of the FrostFS account identifier.
func (x *commonBindArgs) SetScriptHash(v []byte) {
x.scriptHash = v
}
@ -34,7 +34,7 @@ type BindKeysPrm struct {
commonBindArgs
}
// BindKeys binds list of public keys from NeoFS account by script hash.
// BindKeys binds list of public keys from FrostFS account by script hash.
func (x *Client) BindKeys(p BindKeysPrm) error {
prm := client.InvokePrm{}
prm.SetMethod(bindKeysMethod)
@ -55,7 +55,7 @@ type UnbindKeysPrm struct {
}
// UnbindKeys invokes the call of key unbinding method
// of NeoFS contract.
// of FrostFS contract.
func (x *Client) UnbindKeys(args UnbindKeysPrm) error {
prm := client.InvokePrm{}
prm.SetMethod(unbindKeysMethod)

View file

@ -36,7 +36,7 @@ func (c *ChequePrm) SetLock(lock util.Uint160) {
c.lock = lock
}
// Cheque invokes `cheque` method of NeoFS contract.
// Cheque invokes `cheque` method of FrostFS contract.
func (x *Client) Cheque(p ChequePrm) error {
prm := client.InvokePrm{}
prm.SetMethod(chequeMethod)

View file

@ -27,7 +27,7 @@ const (
chequeMethod = "cheque"
)
// NewFromMorph wraps client to work with NeoFS contract.
// NewFromMorph wraps client to work with FrostFS contract.
func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8, opts ...Option) (*Client, error) {
o := defaultOpts()
@ -37,7 +37,7 @@ func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8,
sc, err := client.NewStatic(cli, contract, fee, ([]client.StaticClientOption)(*o)...)
if err != nil {
return nil, fmt.Errorf("could not create client of NeoFS contract: %w", err)
return nil, fmt.Errorf("could not create client of FrostFS contract: %w", err)
}
return &Client{client: sc}, nil

View file

@ -7,7 +7,7 @@ import (
)
type CommonBindPrm struct {
ownerID []byte // NeoFS account identifier
ownerID []byte // FrostFS account identifier
keys [][]byte // list of serialized public keys
@ -18,7 +18,7 @@ func (x *CommonBindPrm) SetOptionalPrm(prm client.InvokePrmOptional) {
x.InvokePrmOptional = prm
}
// SetOwnerID sets NeoFS account identifier.
// SetOwnerID sets FrostFS account identifier.
func (x *CommonBindPrm) SetOwnerID(v []byte) {
x.ownerID = v
}
@ -28,7 +28,7 @@ func (x *CommonBindPrm) SetKeys(v [][]byte) {
x.keys = v
}
// AddKeys adds a list of public keys to/from NeoFS account.
// AddKeys adds a list of public keys to/from FrostFS account.
func (x *Client) AddKeys(p CommonBindPrm) error {
prm := client.InvokePrm{}
@ -44,7 +44,7 @@ func (x *Client) AddKeys(p CommonBindPrm) error {
return nil
}
// RemoveKeys removes a list of public keys to/from NeoFS account.
// RemoveKeys removes a list of public keys to/from FrostFS account.
func (x *Client) RemoveKeys(args CommonBindPrm) error {
prm := client.InvokePrm{}

View file

@ -10,14 +10,14 @@ import (
// Client is a wrapper over StaticClient
// which makes calls with the names and arguments
// of the NeoFS ID contract.
// of the FrostFS ID contract.
//
// Working client must be created via constructor New.
// Using the Client that has been created with new(Client)
// expression (or just declaring a Client variable) is unsafe
// and can lead to panic.
type Client struct {
client *client.StaticClient // static NeoFS ID contract client
client *client.StaticClient // static FrostFS ID contract client
}
const (
@ -26,7 +26,7 @@ const (
removeKeysMethod = "removeKey"
)
// NewFromMorph wraps client to work with NeoFS ID contract.
// NewFromMorph wraps client to work with FrostFS ID contract.
func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8, opts ...Option) (*Client, error) {
o := defaultOpts()
@ -36,7 +36,7 @@ func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8,
sc, err := client.NewStatic(cli, contract, fee, ([]client.StaticClientOption)(*o)...)
if err != nil {
return nil, fmt.Errorf("could not create client of NeoFS ID contract: %w", err)
return nil, fmt.Errorf("could not create client of FrostFS ID contract: %w", err)
}
return &Client{client: sc}, nil

View file

@ -19,7 +19,7 @@ func (a *AccountKeysPrm) SetID(id user.ID) {
a.id = id
}
// AccountKeys requests public keys of NeoFS account from NeoFS ID contract.
// AccountKeys requests public keys of FrostFS account from FrostFS ID contract.
func (x *Client) AccountKeys(p AccountKeysPrm) (keys.PublicKeys, error) {
prm := client.TestInvokePrm{}
prm.SetMethod(keyListingMethod)

View file

@ -19,7 +19,7 @@ func (a *AddPeerPrm) SetNodeInfo(nodeInfo netmap.NodeInfo) {
a.nodeInfo = nodeInfo
}
// AddPeer registers peer in NeoFS network through
// AddPeer registers peer in FrostFS network through
// Netmap contract call.
func (c *Client) AddPeer(p AddPeerPrm) error {
var method = addPeerMethod

View file

@ -13,7 +13,7 @@ type NodeInfo = netmap.NodeInfo
// Client is a wrapper over StaticClient
// which makes calls with the names and arguments
// of the NeoFS Netmap contract.
// of the FrostFS Netmap contract.
//
// Working client must be created via constructor New.
// Using the Client that has been created with new(Client)

View file

@ -58,7 +58,7 @@ func (c *Client) AuditFee() (uint64, error) {
return fee, nil
}
// EpochDuration returns number of sidechain blocks per one NeoFS epoch.
// EpochDuration returns number of sidechain blocks per one FrostFS epoch.
func (c *Client) EpochDuration() (uint64, error) {
epochDuration, err := c.readUInt64Config(epochDurationConfig)
if err != nil {
@ -132,7 +132,7 @@ func (c *Client) InnerRingCandidateFee() (uint64, error) {
}
// WithdrawFee returns global configuration value of fee paid by user to
// withdraw assets from NeoFS contract.
// withdraw assets from FrostFS contract.
func (c *Client) WithdrawFee() (uint64, error) {
fee, err := c.readUInt64Config(withdrawFeeConfig)
if err != nil {
@ -143,7 +143,7 @@ func (c *Client) WithdrawFee() (uint64, error) {
}
// MaintenanceModeAllowed reads admission of "maintenance" state from the
// NeoFS network configuration stored in the Sidechain. The admission means
// FrostFS network configuration stored in the Sidechain. The admission means
// that storage nodes are allowed to switch their state to "maintenance".
//
// By default, maintenance state is disallowed.
@ -171,7 +171,7 @@ func (c *Client) readStringConfig(key string) (string, error) {
return v.(string), nil
}
// reads boolean value by the given key from the NeoFS network configuration
// reads boolean value by the given key from the FrostFS network configuration
// stored in the Sidechain. Returns false if key is not presented.
func (c *Client) readBoolConfig(key string) (bool, error) {
v, err := c.config([]byte(key), BoolAssert)
@ -221,8 +221,8 @@ func (c *Client) SetConfig(p SetConfigPrm) error {
return c.client.Invoke(prm)
}
// RawNetworkParameter is a NeoFS network parameter which is transmitted but
// not interpreted by the NeoFS API protocol.
// RawNetworkParameter is a FrostFS network parameter which is transmitted but
// not interpreted by the FrostFS API protocol.
type RawNetworkParameter struct {
// Name of the parameter.
Name string
@ -231,8 +231,8 @@ type RawNetworkParameter struct {
Value []byte
}
// NetworkConfiguration represents NeoFS network configuration stored
// in the NeoFS Sidechain.
// NetworkConfiguration represents FrostFS network configuration stored
// in the FrostFS Sidechain.
type NetworkConfiguration struct {
MaxObjectSize uint64
@ -261,7 +261,7 @@ type NetworkConfiguration struct {
Raw []RawNetworkParameter
}
// ReadNetworkConfiguration reads NetworkConfiguration from the NeoFS Sidechain.
// ReadNetworkConfiguration reads NetworkConfiguration from the FrostFS Sidechain.
func (c *Client) ReadNetworkConfiguration() (NetworkConfiguration, error) {
var res NetworkConfiguration
prm := client.TestInvokePrm{}
@ -356,7 +356,7 @@ func bytesToBool(val []byte) bool {
var ErrConfigNotFound = errors.New("config value not found")
// config performs the test invoke of get config value
// method of NeoFS Netmap contract.
// method of FrostFS Netmap contract.
//
// Returns ErrConfigNotFound if config key is not found in the contract.
func (c *Client) config(key []byte, assert func(stackitem.Item) (interface{}, error)) (interface{}, error) {

View file

@ -6,7 +6,7 @@ import (
"github.com/TrueCloudLab/frostfs-node/pkg/morph/client"
)
// Epoch receives number of current NeoFS epoch
// Epoch receives number of current FrostFS epoch
// through the Netmap contract call.
func (c *Client) Epoch() (uint64, error) {
prm := client.TestInvokePrm{}
@ -30,7 +30,7 @@ func (c *Client) Epoch() (uint64, error) {
return uint64(num), nil
}
// LastEpochBlock receives block number of current NeoFS epoch
// LastEpochBlock receives block number of current FrostFS epoch
// through the Netmap contract call.
func (c *Client) LastEpochBlock() (uint32, error) {
prm := client.TestInvokePrm{}

View file

@ -6,7 +6,7 @@ import (
"github.com/TrueCloudLab/frostfs-node/pkg/morph/client"
)
// NewEpoch updates NeoFS epoch number through
// NewEpoch updates FrostFS epoch number through
// Netmap contract call.
func (c *Client) NewEpoch(epoch uint64) error {
prm := client.InvokePrm{}

View file

@ -36,7 +36,7 @@ const (
NNSReputationContractName = "reputation.frostfs"
// NNSSubnetworkContractName is a name of the subnet contract in NNS.
NNSSubnetworkContractName = "subnet.frostfs"
// NNSGroupKeyName is a name for the NeoFS group key record in NNS.
// NNSGroupKeyName is a name for the FrostFS group key record in NNS.
NNSGroupKeyName = "group.frostfs"
)
@ -193,7 +193,7 @@ func exists(c *rpcclient.WSClient, nnsHash util.Uint160, domain string) (bool, e
return !available, nil
}
// SetGroupSignerScope makes the default signer scope include all NeoFS contracts.
// SetGroupSignerScope makes the default signer scope include all FrostFS contracts.
// Should be called for side-chain client only.
func (c *Client) SetGroupSignerScope() error {
c.switchLock.RLock()
@ -213,7 +213,7 @@ func (c *Client) SetGroupSignerScope() error {
return nil
}
// contractGroupKey returns public key designating NeoFS contract group.
// contractGroupKey returns public key designating FrostFS contract group.
func (c *Client) contractGroupKey() (*keys.PublicKey, error) {
if gKey := c.cache.groupKey(); gKey != nil {
return gKey, nil

View file

@ -569,7 +569,7 @@ func (c *Client) notaryCosigners(invokedByAlpha bool, ir []*keys.PublicKey, comm
multisigScript, err := sc.CreateMultiSigRedeemScript(m, ir)
if err != nil {
// wrap error as NeoFS-specific since the call is not related to any client
// wrap error as FrostFS-specific since the call is not related to any client
return nil, wrapFrostFSError(fmt.Errorf("can't create ir multisig redeem script: %w", err))
}
@ -703,7 +703,7 @@ func (c *Client) notaryMultisigAccount(ir []*keys.PublicKey, committee, invokedB
multisigAccount = wallet.NewAccountFromPrivateKey(c.acc.PrivateKey())
err := multisigAccount.ConvertMultisig(m, ir)
if err != nil {
// wrap error as NeoFS-specific since the call is not related to any client
// wrap error as FrostFS-specific since the call is not related to any client
return nil, wrapFrostFSError(fmt.Errorf("can't convert account to inner ring multisig wallet: %w", err))
}
} else {
@ -712,7 +712,7 @@ func (c *Client) notaryMultisigAccount(ir []*keys.PublicKey, committee, invokedB
// inner ring multiaddress witness
multisigAccount, err = notary.FakeMultisigAccount(m, ir)
if err != nil {
// wrap error as NeoFS-specific since the call is not related to any client
// wrap error as FrostFS-specific since the call is not related to any client
return nil, wrapFrostFSError(fmt.Errorf("can't make inner ring multisig wallet: %w", err))
}
}
@ -766,7 +766,7 @@ func invocationParams(args ...interface{}) ([]sc.Parameter, error) {
}
// sigCount returns the number of required signature.
// For NeoFS Alphabet M is a 2/3+1 of it (like in dBFT).
// For FrostFS Alphabet M is a 2/3+1 of it (like in dBFT).
// If committee is true, returns M as N/2+1.
func sigCount(ir []*keys.PublicKey, committee bool) int {
if committee {

View file

@ -10,7 +10,7 @@ import (
// Client is a wrapper over StaticClient
// which makes calls with the names and arguments
// of the NeoFS reputation contract.
// of the FrostFS reputation contract.
//
// Working client must be created via constructor New.
// Using the Client that has been created with new(Client)

View file

@ -29,7 +29,7 @@ func (x *ManageAdminsPrm) SetClient() {
x.client = true
}
// SetSubnet sets identifier of the subnet in a binary NeoFS API protocol format.
// SetSubnet sets identifier of the subnet in a binary FrostFS API protocol format.
func (x *ManageAdminsPrm) SetSubnet(id []byte) {
x.subnet = id
}
@ -39,7 +39,7 @@ func (x *ManageAdminsPrm) SetAdmin(key []byte) {
x.admin = key
}
// SetGroup sets identifier of the client group in a binary NeoFS API protocol format.
// SetGroup sets identifier of the client group in a binary FrostFS API protocol format.
// Makes sense only for client admins (see ManageAdminsPrm.SetClient).
func (x *ManageAdminsPrm) SetGroup(id []byte) {
x.group = id
@ -48,7 +48,7 @@ func (x *ManageAdminsPrm) SetGroup(id []byte) {
// ManageAdminsRes groups the resulting values of node administer methods of Subnet contract.
type ManageAdminsRes struct{}
// ManageAdmins manages admin list of the NeoFS subnet through Subnet contract calls.
// ManageAdmins manages admin list of the FrostFS subnet through Subnet contract calls.
func (x Client) ManageAdmins(prm ManageAdminsPrm) (*ManageAdminsPrm, error) {
var method string

View file

@ -48,7 +48,7 @@ func (x *InitPrm) SetBaseClient(base *client.Client) {
x.base = base
}
// SetContractAddress sets address of Subnet contract in NeoFS sidechain.
// SetContractAddress sets address of Subnet contract in FrostFS sidechain.
func (x *InitPrm) SetContractAddress(addr util.Uint160) {
x.addr = addr
}

View file

@ -11,12 +11,12 @@ type UserAllowedPrm struct {
args [2]interface{}
}
// SetID sets identifier of the subnet in a binary NeoFS API protocol format.
// SetID sets identifier of the subnet in a binary FrostFS API protocol format.
func (x *UserAllowedPrm) SetID(id []byte) {
x.args[0] = id
}
// SetClient sets owner ID of the client that is being checked in a binary NeoFS API protocol format.
// SetClient sets owner ID of the client that is being checked in a binary FrostFS API protocol format.
func (x *UserAllowedPrm) SetClient(id []byte) {
x.args[1] = id
}
@ -72,17 +72,17 @@ func (x *ManageClientsPrm) SetRemove() {
x.rm = true
}
// SetSubnet sets identifier of the subnet in a binary NeoFS API protocol format.
// SetSubnet sets identifier of the subnet in a binary FrostFS API protocol format.
func (x *ManageClientsPrm) SetSubnet(id []byte) {
x.args[0] = id
}
// SetGroup sets identifier of the client group in a binary NeoFS API protocol format.
// SetGroup sets identifier of the client group in a binary FrostFS API protocol format.
func (x *ManageClientsPrm) SetGroup(id []byte) {
x.args[1] = id
}
// SetClient sets client's user ID in a binary NeoFS API protocol format.
// SetClient sets client's user ID in a binary FrostFS API protocol format.
func (x *ManageClientsPrm) SetClient(id []byte) {
x.args[2] = id
}
@ -90,7 +90,7 @@ func (x *ManageClientsPrm) SetClient(id []byte) {
// ManageClientsRes groups the resulting values of client management methods of Subnet contract.
type ManageClientsRes struct{}
// ManageClients manages client list of the NeoFS subnet through Subnet contract calls.
// ManageClients manages client list of the FrostFS subnet through Subnet contract calls.
func (x Client) ManageClients(prm ManageClientsPrm) (*ManageClientsRes, error) {
var method string

View file

@ -18,7 +18,7 @@ func (x *DeletePrm) SetTxHash(hash util.Uint256) {
x.cliPrm.SetHash(hash)
}
// SetID sets identifier of the subnet to be removed in a binary NeoFS API protocol format.
// SetID sets identifier of the subnet to be removed in a binary FrostFS API protocol format.
func (x *DeletePrm) SetID(id []byte) {
x.args[0] = id
}

View file

@ -11,7 +11,7 @@ type GetPrm struct {
args [1]interface{}
}
// SetID sets identifier of the subnet to be read in a binary NeoFS API protocol format.
// SetID sets identifier of the subnet to be read in a binary FrostFS API protocol format.
func (x *GetPrm) SetID(id []byte) {
x.args[0] = id
}
@ -21,7 +21,7 @@ type GetRes struct {
info []byte
}
// Info returns information about the subnet in a binary format of NeoFS API protocol.
// Info returns information about the subnet in a binary format of FrostFS API protocol.
func (x GetRes) Info() []byte {
return x.info
}

View file

@ -13,7 +13,7 @@ type NodeAllowedPrm struct {
args [2]interface{}
}
// SetID sets identifier of the subnet of the node in a binary NeoFS API protocol format.
// SetID sets identifier of the subnet of the node in a binary FrostFS API protocol format.
func (x *NodeAllowedPrm) SetID(id []byte) {
x.args[0] = id
}

View file

@ -18,17 +18,17 @@ func (x *PutPrm) SetTxHash(hash util.Uint256) {
x.cliPrm.SetHash(hash)
}
// SetID sets identifier of the created subnet in a binary NeoFS API protocol format.
// SetID sets identifier of the created subnet in a binary FrostFS API protocol format.
func (x *PutPrm) SetID(id []byte) {
x.args[0] = id
}
// SetOwner sets identifier of the subnet owner in a binary NeoFS API protocol format.
// SetOwner sets identifier of the subnet owner in a binary FrostFS API protocol format.
func (x *PutPrm) SetOwner(id []byte) {
x.args[1] = id
}
// SetInfo sets information about the created subnet in a binary NeoFS API protocol format.
// SetInfo sets information about the created subnet in a binary FrostFS API protocol format.
func (x *PutPrm) SetInfo(id []byte) {
x.args[2] = id
}

View file

@ -10,7 +10,7 @@ import (
)
// SetEACL represents structure of notification about
// modified eACL table coming from NeoFS Container contract.
// modified eACL table coming from FrostFS Container contract.
type SetEACL struct {
table []byte
signature []byte
@ -25,7 +25,7 @@ type SetEACL struct {
// MorphEvent implements Neo:Morph Event interface.
func (SetEACL) MorphEvent() {}
// Table returns returns eACL table in a binary NeoFS API format.
// Table returns returns eACL table in a binary FrostFS API format.
func (x SetEACL) Table() []byte {
return x.table
}

Some files were not shown because too many files have changed in this diff Show more