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 ### Changed
- `common.PrintVerbose` prints via `cobra.Command.Printf` (#1962) - `common.PrintVerbose` prints via `cobra.Command.Printf` (#1962)
- Env prefix in configuration changed to `FROSTFS_*` (#43)
### Fixed ### Fixed
- Big object removal with non-local parts (#1978) - Big object removal with non-local parts (#1978)
@ -32,6 +33,7 @@ Changelog for FrostFS Node
- Minimum go version to v1.18 - Minimum go version to v1.18
### Updating from v0.35.0 ### 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 (신도) ## [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`` ### Set up git remote as ``upstream``
```sh ```sh
$ cd neofs-node $ cd frostfs-node
$ git remote add upstream https://github.com/TrueCloudLab/frostfs-node $ git remote add upstream https://github.com/TrueCloudLab/frostfs-node
$ git fetch upstream $ git fetch upstream
$ git merge upstream/master $ 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 ## 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 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 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 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 ## 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 whether the user of the command application is an original user (1) or a trusted
one (2). one (2).

View file

@ -2,26 +2,26 @@
## Overview ## Overview
Extended headers are used for request/response. They may contain any user-defined headers Extended headers are used for request/response. They may contain any
to be interpreted on application level. user-defined headers to be interpreted on application level. Key name must be a
Key name must be a unique valid UTF-8 string. Value can't be empty. Requests or unique valid UTF-8 string. Value can't be empty. Requests or Responses with
Responses with duplicated header names or headers with empty values are duplicated header names or headers with empty values are considered invalid.
considered invalid.
## Existing headers ## Existing headers
There are some "well-known" headers starting with `__NEOFS__` prefix that There are some "well-known" headers starting with `__FROSTFS__` prefix that
affect system behaviour: 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 encoded `uint64` in decimal presentation. If set to '0' or omitted, the
current epoch only will be used. current epoch only will be used.
* `__NEOFS__NETMAP_LOOKUP_DEPTH` - if object can't be found using current epoch's netmap, this header limits * `__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 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. 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. 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: List of commands with support of extended headers:
* `container list-objects` * `container list-objects`
@ -30,5 +30,5 @@ List of commands with support of extended headers:
Example: Example:
```shell ```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() 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. // Returns any error which prevented the operation from completing correctly in error return.
func BalanceOf(prm BalanceOfPrm) (res BalanceOfRes, err error) { func BalanceOf(prm BalanceOfPrm) (res BalanceOfRes, err error) {
@ -59,7 +59,7 @@ func (x ListContainersRes) IDList() []cid.ID {
return x.cliRes.Containers() 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. // Returns any error which prevented the operation from completing correctly in error return.
func ListContainers(prm ListContainersPrm) (res ListContainersRes, err error) { func ListContainers(prm ListContainersPrm) (res ListContainersRes, err error) {
@ -84,7 +84,7 @@ func (x PutContainerRes) ID() cid.ID {
return x.cnr 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. // Operation is asynchronous and not guaranteed even in the absence of errors.
// The required time is also not predictable. // The required time is also not predictable.
@ -122,7 +122,7 @@ func (x GetContainerRes) Container() containerSDK.Container {
return x.cliRes.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. // Returns any error which prevented the operation from completing correctly in error return.
func GetContainer(prm GetContainerPrm) (res GetContainerRes, err error) { 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) res, err := GetContainer(prm)
if err != nil { 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 return res.Container().BasicACL().Extendable(), nil
@ -155,7 +155,7 @@ type DeleteContainerPrm struct {
// DeleteContainerRes groups the resulting values of DeleteContainer operation. // DeleteContainerRes groups the resulting values of DeleteContainer operation.
type DeleteContainerRes struct{} 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. // Operation is asynchronous and not guaranteed even in the absence of errors.
// The required time is also not predictable. // The required time is also not predictable.
@ -185,7 +185,7 @@ func (x EACLRes) EACL() eacl.Table {
return x.cliRes.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. // Returns any error which prevented the operation from completing correctly in error return.
func EACL(prm EACLPrm) (res EACLRes, err error) { func EACL(prm EACLPrm) (res EACLRes, err error) {
@ -203,7 +203,7 @@ type SetEACLPrm struct {
// SetEACLRes groups the resulting values of SetEACL operation. // SetEACLRes groups the resulting values of SetEACL operation.
type SetEACLRes struct{} 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. // Operation is asynchronous and no guaranteed even in the absence of errors.
// The required time is also not predictable. // The required time is also not predictable.
@ -228,12 +228,12 @@ type NetworkInfoRes struct {
cliRes *client.ResNetworkInfo 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 { func (x NetworkInfoRes) NetworkInfo() netmap.NetworkInfo {
return x.cliRes.Info() 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. // Returns any error which prevented the operation from completing correctly in error return.
func NetworkInfo(prm NetworkInfoPrm) (res NetworkInfoRes, err error) { func NetworkInfo(prm NetworkInfoPrm) (res NetworkInfoRes, err error) {
@ -258,12 +258,12 @@ func (x NodeInfoRes) NodeInfo() netmap.NodeInfo {
return x.cliRes.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 { func (x NodeInfoRes) LatestVersion() version.Version {
return x.cliRes.LatestVersion() 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. // Returns any error which prevented the operation from completing correctly in error return.
func NodeInfo(prm NodeInfoPrm) (res NodeInfoRes, err error) { func NodeInfo(prm NodeInfoPrm) (res NodeInfoRes, err error) {
@ -282,7 +282,7 @@ type NetMapSnapshotRes struct {
cliRes *client.ResNetMapSnapshot 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 { func (x NetMapSnapshotRes) NetMap() netmap.NetMap {
return x.cliRes.NetMap() return x.cliRes.NetMap()
} }
@ -362,7 +362,7 @@ func (x PutObjectRes) ID() oid.ID {
return x.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. // Returns any error which prevented the operation from completing correctly in error return.
func PutObject(prm PutObjectPrm) (*PutObjectRes, error) { func PutObject(prm PutObjectPrm) (*PutObjectRes, error) {
@ -460,7 +460,7 @@ func (x DeleteObjectRes) Tombstone() oid.ID {
return x.tomb 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. // Returns any error which prevented the operation from completing correctly in error return.
func DeleteObject(prm DeleteObjectPrm) (*DeleteObjectRes, error) { func DeleteObject(prm DeleteObjectPrm) (*DeleteObjectRes, error) {
@ -576,7 +576,7 @@ type HeadObjectPrm struct {
mainOnly bool 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) { func (x *HeadObjectPrm) SetMainOnlyFlag(v bool) {
x.mainOnly = v x.mainOnly = v
} }
@ -812,7 +812,7 @@ func (x *PayloadRangePrm) SetRange(rng *object.Range) {
// PayloadRangeRes groups the resulting values of PayloadRange operation. // PayloadRangeRes groups the resulting values of PayloadRange operation.
type PayloadRangeRes struct{} 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. // Interrupts on any writer error.
// //
@ -872,7 +872,7 @@ func (s *SyncContainerPrm) SetContainer(c *containerSDK.Container) {
// operation. // operation.
type SyncContainerRes struct{} type SyncContainerRes struct{}
// SyncContainerSettings reads global network config from NeoFS and // SyncContainerSettings reads global network config from FrostFS and
// syncs container settings with it. // syncs container settings with it.
// //
// Interrupts on any writer error. // 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. // The base client for accessing remote nodes via FrostFS API is a FrostFS SDK
// However, although it encapsulates a useful piece of business logic (e.g. the signature mechanism), // Go API client. However, although it encapsulates a useful piece of business
// the NeoFS CLI application does not fully use the client's flexible interface. // 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. // In this regard, this package provides functions over base API client
// This allows you to concentrate the entire spectrum of the client's use in one place (this will be convenient // necessary for the application. This allows you to concentrate the entire
// both when updating the base client and for evaluating the UX of SDK library). So it is expected that all // spectrum of the client's use in one place (this will be convenient both when
// application packages will be limited to this package for the development of functionality requiring // updating the base client and for evaluating the UX of SDK library). So it is
// NeoFS API communication. // expected that all application packages will be limited to this package for
// the development of functionality requiring FrostFS API communication.
package internal package internal

View file

@ -16,7 +16,7 @@ type commonPrm struct {
cli *client.Client 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) { func (x *commonPrm) SetClient(cli *client.Client) {
x.cli = cli 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 // BinaryOrJSON is an interface of entities which provide json.Unmarshaler
// and NeoFS binary decoder. // and FrostFS binary decoder.
type BinaryOrJSON interface { type BinaryOrJSON interface {
Unmarshal([]byte) error Unmarshal([]byte) error
json.Unmarshaler json.Unmarshaler

View file

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

View file

@ -37,7 +37,7 @@ var netInfoCmd = &cobra.Command{
const format = " %s: %v\n" 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, "Audit fee", netInfo.AuditFee())
cmd.Printf(format, "Storage price", netInfo.StoragePrice()) cmd.Printf(format, "Storage price", netInfo.StoragePrice())
cmd.Printf(format, "Container fee", netInfo.ContainerFee()) 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, "Homomorphic hashing disabled", netInfo.HomomorphicHashingDisabled())
cmd.Printf(format, "Maintenance mode allowed", netInfo.MaintenanceModeAllowed()) 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) { netInfo.IterateRawNetworkParameters(func(name string, value []byte) {
cmd.Printf(format, name, hex.EncodeToString(value)) cmd.Printf(format, name, hex.EncodeToString(value))
}) })

View file

@ -86,7 +86,7 @@ var objectLockCmd = &cobra.Command{
prm.SetHeader(obj) prm.SetHeader(obj)
res, err := internalclient.PutObject(prm) 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.Printf("Lock object ID: %s\n", res.ID())
cmd.Println("Objects successfully locked.") 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 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...") common.PrintVerbose(cmd, "Opening remote session with the node...")

View file

@ -26,7 +26,7 @@ import (
) )
const ( const (
envPrefix = "NEOFS_CLI" envPrefix = "FROSTFS_CLI"
) )
// Global scope flags. // 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) 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 // The session is expected to be maintained by the storage node during the given
// number of epochs. // number of epochs.
// //

View file

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

View file

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

View file

@ -9,10 +9,10 @@ import (
const ( const (
subsection = "apiclient" 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 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 StreamTimeoutDefault = 15 * time.Second
) )

View file

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

View file

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

View file

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

View file

@ -59,7 +59,7 @@ func initControlService(c *cfg) {
c.cfgControlService.server = grpc.NewServer() c.cfgControlService.server = grpc.NewServer()
c.onShutdown(func() { 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) control.RegisterControlServiceServer(c.cfgControlService.server, ctlSvc)

View file

@ -65,7 +65,7 @@ func initGRPC(c *cfg) {
srv := grpc.NewServer(serverOpts...) srv := grpc.NewServer(serverOpts...)
c.onShutdown(func() { 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) c.cfgGRPC.servers = append(c.cfgGRPC.servers, srv)

View file

@ -117,7 +117,7 @@ func initNotifications(c *cfg) {
} }
natsSvc := nats.New( 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.WithTimeout(nodeconfig.Notification(c.appCfg).Timeout()),
nats.WithClientCert( nats.WithClientCert(
nodeconfig.Notification(c.appCfg).CertPath(), nodeconfig.Notification(c.appCfg).CertPath(),

View file

@ -15,7 +15,7 @@ type commonPrm struct {
ctx context.Context ctx context.Context
} }
// SetClient sets the base client for NeoFS API communication. // SetClient sets the base client for FrostFS API communication.
// //
// Required parameter. // Required parameter.
func (x *commonPrm) SetClient(cli coreclient.Client) { 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. // Package internal provides functionality for FrostFS Node Reputation system communication with FrostFS network.
// The base client for accessing remote nodes via NeoFS API is a NeoFS SDK Go API client. // 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), // 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. // 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 // 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 // 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 // Reputation service packages will be limited to this package for the development of functionality requiring
// NeoFS API communication. // FrostFS API communication.
package internal package internal

View file

@ -1,7 +1,7 @@
# Examples of correct configuration file structures # Examples of correct configuration file structures
Here are files in all supported formats and with all possible configuration values 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. All parameters are correct, however, they are for informational purposes only.
It is not recommended transferring these configs for real application launches. 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 ## Environment variables
- Storage node: `node.env` - 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 FROSTFS_IR_WALLET_PATH=/path/to/wallet.json
NEOFS_IR_WALLET_ADDRESS=NUHtW3eM6a4mmFCgyyr4rj4wygsTKB88XX FROSTFS_IR_WALLET_ADDRESS=NUHtW3eM6a4mmFCgyyr4rj4wygsTKB88XX
NEOFS_IR_WALLET_PASSWORD=secret FROSTFS_IR_WALLET_PASSWORD=secret
NEOFS_IR_WITHOUT_MAINNET=false FROSTFS_IR_WITHOUT_MAINNET=false
NEOFS_IR_MORPH_DIAL_TIMEOUT=5s FROSTFS_IR_MORPH_DIAL_TIMEOUT=5s
NEOFS_IR_MORPH_ENDPOINT_CLIENT_0_ADDRESS="wss://sidechain1.fs.neo.org:30333/ws" FROSTFS_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" FROSTFS_IR_MORPH_ENDPOINT_CLIENT_1_ADDRESS="wss://sidechain2.fs.neo.org:30333/ws"
NEOFS_IR_MORPH_VALIDATORS="0283120f4c8c1fc1d792af5063d2def9da5fddc90bc1384de7fcfdda33c3860170" FROSTFS_IR_MORPH_VALIDATORS="0283120f4c8c1fc1d792af5063d2def9da5fddc90bc1384de7fcfdda33c3860170"
NEOFS_IR_MORPH_SWITCH_INTERVAL=2m FROSTFS_IR_MORPH_SWITCH_INTERVAL=2m
NEOFS_IR_MAINNET_DIAL_TIMEOUT=5s FROSTFS_IR_MAINNET_DIAL_TIMEOUT=5s
NEOFS_IR_MAINNET_ENDPOINT_CLIENT_0_ADDRESS="wss://mainchain1.fs.neo.org:30333/ws" FROSTFS_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" FROSTFS_IR_MAINNET_ENDPOINT_CLIENT_1_ADDRESS="wss://mainchain2.fs.neo.org:30333/ws"
NEOFS_IR_MAINNET_SWITCH_INTERVAL=2m FROSTFS_IR_MAINNET_SWITCH_INTERVAL=2m
NEOFS_IR_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6" FROSTFS_IR_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
NEOFS_IR_CONTROL_GRPC_ENDPOINT=localhost:8090 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 FROSTFS_IR_FEE_MAIN_CHAIN=50000000
NEOFS_IR_FEE_SIDE_CHAIN=200000000 FROSTFS_IR_FEE_SIDE_CHAIN=200000000
NEOFS_IR_FEE_NAMED_CONTAINER_REGISTER=2500000000 FROSTFS_IR_FEE_NAMED_CONTAINER_REGISTER=2500000000
NEOFS_IR_TIMERS_EMIT=240 FROSTFS_IR_TIMERS_EMIT=240
NEOFS_IR_TIMERS_STOP_ESTIMATION_MUL=1 FROSTFS_IR_TIMERS_STOP_ESTIMATION_MUL=1
NEOFS_IR_TIMERS_STOP_ESTIMATION_DIV=4 FROSTFS_IR_TIMERS_STOP_ESTIMATION_DIV=4
NEOFS_IR_TIMERS_COLLECT_BASIC_INCOME_MUL=1 FROSTFS_IR_TIMERS_COLLECT_BASIC_INCOME_MUL=1
NEOFS_IR_TIMERS_COLLECT_BASIC_INCOME_DIV=2 FROSTFS_IR_TIMERS_COLLECT_BASIC_INCOME_DIV=2
NEOFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_MUL=3 FROSTFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_MUL=3
NEOFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_DIV=4 FROSTFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_DIV=4
NEOFS_IR_EMIT_STORAGE_AMOUNT=800000000 FROSTFS_IR_EMIT_STORAGE_AMOUNT=800000000
NEOFS_IR_EMIT_MINT_VALUE=20000000 FROSTFS_IR_EMIT_MINT_VALUE=20000000
NEOFS_IR_EMIT_MINT_CACHE_SIZE=1000 FROSTFS_IR_EMIT_MINT_CACHE_SIZE=1000
NEOFS_IR_EMIT_MINT_CACHE_THRESHOLD=1 FROSTFS_IR_EMIT_MINT_CACHE_THRESHOLD=1
NEOFS_IR_EMIT_GAS_BALANCE_THRESHOLD=100000000000 FROSTFS_IR_EMIT_GAS_BALANCE_THRESHOLD=100000000000
NEOFS_IR_WORKERS_ALPHABET=10 FROSTFS_IR_WORKERS_ALPHABET=10
NEOFS_IR_WORKERS_BALANCE=10 FROSTFS_IR_WORKERS_BALANCE=10
NEOFS_IR_WORKERS_CONTAINER=10 FROSTFS_IR_WORKERS_CONTAINER=10
NEOFS_IR_WORKERS_NEOFS=10 FROSTFS_IR_WORKERS_NEOFS=10
NEOFS_IR_WORKERS_NETMAP=10 FROSTFS_IR_WORKERS_NETMAP=10
NEOFS_IR_WORKERS_REPUTATION=10 FROSTFS_IR_WORKERS_REPUTATION=10
NEOFS_IR_WORKERS_SUBNET=10 FROSTFS_IR_WORKERS_SUBNET=10
NEOFS_IR_AUDIT_TIMEOUT_GET=5s FROSTFS_IR_AUDIT_TIMEOUT_GET=5s
NEOFS_IR_AUDIT_TIMEOUT_HEAD=5s FROSTFS_IR_AUDIT_TIMEOUT_HEAD=5s
NEOFS_IR_AUDIT_TIMEOUT_RANGEHASH=5s FROSTFS_IR_AUDIT_TIMEOUT_RANGEHASH=5s
NEOFS_IR_AUDIT_TIMEOUT_SEARCH=10s FROSTFS_IR_AUDIT_TIMEOUT_SEARCH=10s
NEOFS_IR_AUDIT_TASK_EXEC_POOL_SIZE=10 FROSTFS_IR_AUDIT_TASK_EXEC_POOL_SIZE=10
NEOFS_IR_AUDIT_TASK_QUEUE_CAPACITY=100 FROSTFS_IR_AUDIT_TASK_QUEUE_CAPACITY=100
NEOFS_IR_AUDIT_PDP_PAIRS_POOL_SIZE=10 FROSTFS_IR_AUDIT_PDP_PAIRS_POOL_SIZE=10
NEOFS_IR_AUDIT_PDP_MAX_SLEEP_INTERVAL=5s FROSTFS_IR_AUDIT_PDP_MAX_SLEEP_INTERVAL=5s
NEOFS_IR_AUDIT_POR_POOL_SIZE=10 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 FROSTFS_IR_NETMAP_CLEANER_ENABLED=true
NEOFS_IR_NETMAP_CLEANER_THRESHOLD=3 FROSTFS_IR_NETMAP_CLEANER_THRESHOLD=3
NEOFS_IR_CONTRACTS_NEOFS=ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62 FROSTFS_IR_CONTRACTS_NEOFS=ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62
NEOFS_IR_CONTRACTS_PROCESSING=597f5894867113a41e192801709c02497f611de8 FROSTFS_IR_CONTRACTS_PROCESSING=597f5894867113a41e192801709c02497f611de8
NEOFS_IR_CONTRACTS_AUDIT=219e37aed2180b87e7fe945dbf97d67125e8d73f FROSTFS_IR_CONTRACTS_AUDIT=219e37aed2180b87e7fe945dbf97d67125e8d73f
NEOFS_IR_CONTRACTS_BALANCE=d2aa48d14b17b11bc4c68205027884a96706dd16 FROSTFS_IR_CONTRACTS_BALANCE=d2aa48d14b17b11bc4c68205027884a96706dd16
NEOFS_IR_CONTRACTS_CONTAINER=ed4a7a66fe3f9bfe50f214b49be8f215a3c886b6 FROSTFS_IR_CONTRACTS_CONTAINER=ed4a7a66fe3f9bfe50f214b49be8f215a3c886b6
NEOFS_IR_CONTRACTS_NEOFSID=9f5866decbc751a099e74c7c7bc89f609201755a FROSTFS_IR_CONTRACTS_NEOFSID=9f5866decbc751a099e74c7c7bc89f609201755a
NEOFS_IR_CONTRACTS_NETMAP=83c600c81d47a1b1b7cf58eb49ae7ee7240dc742 FROSTFS_IR_CONTRACTS_NETMAP=83c600c81d47a1b1b7cf58eb49ae7ee7240dc742
NEOFS_IR_CONTRACTS_PROXY=abc8794bb40a21f2db5f21ae62741eb46c8cad1c FROSTFS_IR_CONTRACTS_PROXY=abc8794bb40a21f2db5f21ae62741eb46c8cad1c
NEOFS_IR_CONTRACTS_REPUTATION=d793b842ff0c103fe89e385069e82a27602135ff FROSTFS_IR_CONTRACTS_REPUTATION=d793b842ff0c103fe89e385069e82a27602135ff
NEOFS_IR_CONTRACTS_SUBNET=e9266864d3c562c6e17f2bb9cb1392aaa293d93a FROSTFS_IR_CONTRACTS_SUBNET=e9266864d3c562c6e17f2bb9cb1392aaa293d93a
NEOFS_IR_CONTRACTS_ALPHABET_AMOUNT=7 FROSTFS_IR_CONTRACTS_ALPHABET_AMOUNT=7
NEOFS_IR_CONTRACTS_ALPHABET_AZ=c1d211fceeb4b1dc76b8e4054d11fdf887e418ea FROSTFS_IR_CONTRACTS_ALPHABET_AZ=c1d211fceeb4b1dc76b8e4054d11fdf887e418ea
NEOFS_IR_CONTRACTS_ALPHABET_BUKY=e2ba789320899658b100f331bdebb74474757920 FROSTFS_IR_CONTRACTS_ALPHABET_BUKY=e2ba789320899658b100f331bdebb74474757920
NEOFS_IR_CONTRACTS_ALPHABET_VEDI=9623c11fd49aa18220458fbaae0396749c669e19 FROSTFS_IR_CONTRACTS_ALPHABET_VEDI=9623c11fd49aa18220458fbaae0396749c669e19
NEOFS_IR_CONTRACTS_ALPHABET_GLAGOLI=39617441b8e06c55e4fc3ce660be9101b6c1f866 FROSTFS_IR_CONTRACTS_ALPHABET_GLAGOLI=39617441b8e06c55e4fc3ce660be9101b6c1f866
NEOFS_IR_CONTRACTS_ALPHABET_DOBRO=e6122b65d45c8feeb04455d67814394c147ed4d1 FROSTFS_IR_CONTRACTS_ALPHABET_DOBRO=e6122b65d45c8feeb04455d67814394c147ed4d1
NEOFS_IR_CONTRACTS_ALPHABET_YEST=cdbca5cb5d48a4472923844d0e3ee6328cf86d38 FROSTFS_IR_CONTRACTS_ALPHABET_YEST=cdbca5cb5d48a4472923844d0e3ee6328cf86d38
NEOFS_IR_CONTRACTS_ALPHABET_ZHIVETE=f584699bc2ff457d339fb09f16217042c1a42101 FROSTFS_IR_CONTRACTS_ALPHABET_ZHIVETE=f584699bc2ff457d339fb09f16217042c1a42101
NEOFS_IR_PPROF_ENABLED=true FROSTFS_IR_PPROF_ENABLED=true
NEOFS_IR_PPROF_ADDRESS=localhost:6060 FROSTFS_IR_PPROF_ADDRESS=localhost:6060
NEOFS_IR_PPROF_SHUTDOWN_TIMEOUT=30s FROSTFS_IR_PPROF_SHUTDOWN_TIMEOUT=30s
NEOFS_IR_PROMETHEUS_ENABLED=true FROSTFS_IR_PROMETHEUS_ENABLED=true
NEOFS_IR_PROMETHEUS_ADDRESS=localhost:9090 FROSTFS_IR_PROMETHEUS_ADDRESS=localhost:9090
NEOFS_IR_PROMETHEUS_SHUTDOWN_TIMEOUT=30s FROSTFS_IR_PROMETHEUS_SHUTDOWN_TIMEOUT=30s
NEOFS_IR_SETTLEMENT_BASIC_INCOME_RATE=100 FROSTFS_IR_SETTLEMENT_BASIC_INCOME_RATE=100
NEOFS_IR_SETTLEMENT_AUDIT_FEE=100 FROSTFS_IR_SETTLEMENT_AUDIT_FEE=100

View file

@ -69,7 +69,7 @@ emit:
mint: mint:
value: 20000000 # Fixed8 value of sidechain GAS transferred to account that received a deposit from mainchain 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 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: gas:
balance_threshold: 100000000000 # Fixed8 value of inner ring wallet balance threshold when GAS emission for deposit receivers is disabled; disabled by default 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: netmap_cleaner:
enabled: true # Enable voting for removing stale storage nodes from network map 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: contracts:
frostfs: ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62 # Address of FrostFS contract in mainchain; ignore if mainchain is disabled 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 FROSTFS_PPROF_ENABLED=true
NEOFS_PPROF_ADDRESS=localhost:6060 FROSTFS_PPROF_ADDRESS=localhost:6060
NEOFS_PPROF_SHUTDOWN_TIMEOUT=15s FROSTFS_PPROF_SHUTDOWN_TIMEOUT=15s
NEOFS_PROMETHEUS_ENABLED=true FROSTFS_PROMETHEUS_ENABLED=true
NEOFS_PROMETHEUS_ADDRESS=localhost:9090 FROSTFS_PROMETHEUS_ADDRESS=localhost:9090
NEOFS_PROMETHEUS_SHUTDOWN_TIMEOUT=15s FROSTFS_PROMETHEUS_SHUTDOWN_TIMEOUT=15s
# Node section # Node section
NEOFS_NODE_KEY=./wallet.key FROSTFS_NODE_KEY=./wallet.key
NEOFS_NODE_WALLET_PATH=./wallet.json FROSTFS_NODE_WALLET_PATH=./wallet.json
NEOFS_NODE_WALLET_ADDRESS=NcpJzXcSDrh5CCizf4K9Ro6w4t59J5LKzz FROSTFS_NODE_WALLET_ADDRESS=NcpJzXcSDrh5CCizf4K9Ro6w4t59J5LKzz
NEOFS_NODE_WALLET_PASSWORD=password FROSTFS_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" FROSTFS_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 FROSTFS_NODE_ATTRIBUTE_0=Price:11
NEOFS_NODE_ATTRIBUTE_1="UN-LOCODE:RU MSK" FROSTFS_NODE_ATTRIBUTE_1="UN-LOCODE:RU MSK"
NEOFS_NODE_RELAY=true FROSTFS_NODE_RELAY=true
NEOFS_NODE_PERSISTENT_SESSIONS_PATH=/sessions FROSTFS_NODE_PERSISTENT_SESSIONS_PATH=/sessions
NEOFS_NODE_PERSISTENT_STATE_PATH=/state FROSTFS_NODE_PERSISTENT_STATE_PATH=/state
NEOFS_NODE_SUBNET_EXIT_ZERO=true FROSTFS_NODE_SUBNET_EXIT_ZERO=true
NEOFS_NODE_SUBNET_ENTRIES=123 456 789 FROSTFS_NODE_SUBNET_ENTRIES=123 456 789
NEOFS_NODE_NOTIFICATION_ENABLED=true FROSTFS_NODE_NOTIFICATION_ENABLED=true
NEOFS_NODE_NOTIFICATION_ENDPOINT=tls://localhost:4222 FROSTFS_NODE_NOTIFICATION_ENDPOINT=tls://localhost:4222
NEOFS_NODE_NOTIFICATION_TIMEOUT=6s FROSTFS_NODE_NOTIFICATION_TIMEOUT=6s
NEOFS_NODE_NOTIFICATION_DEFAULT_TOPIC=topic FROSTFS_NODE_NOTIFICATION_DEFAULT_TOPIC=topic
NEOFS_NODE_NOTIFICATION_CERTIFICATE=/cert/path FROSTFS_NODE_NOTIFICATION_CERTIFICATE=/cert/path
NEOFS_NODE_NOTIFICATION_KEY=/key/path FROSTFS_NODE_NOTIFICATION_KEY=/key/path
NEOFS_NODE_NOTIFICATION_CA=/ca/path FROSTFS_NODE_NOTIFICATION_CA=/ca/path
# Tree service section # Tree service section
NEOFS_TREE_ENABLED=true FROSTFS_TREE_ENABLED=true
NEOFS_TREE_CACHE_SIZE=15 FROSTFS_TREE_CACHE_SIZE=15
NEOFS_TREE_REPLICATION_CHANNEL_CAPACITY=32 FROSTFS_TREE_REPLICATION_CHANNEL_CAPACITY=32
NEOFS_TREE_REPLICATION_WORKER_COUNT=32 FROSTFS_TREE_REPLICATION_WORKER_COUNT=32
NEOFS_TREE_REPLICATION_TIMEOUT=5s FROSTFS_TREE_REPLICATION_TIMEOUT=5s
NEOFS_TREE_SYNC_INTERVAL=1h FROSTFS_TREE_SYNC_INTERVAL=1h
# gRPC section # gRPC section
## 0 server ## 0 server
NEOFS_GRPC_0_ENDPOINT=s01.frostfs.devenv:8080 FROSTFS_GRPC_0_ENDPOINT=s01.frostfs.devenv:8080
### TLS config ### TLS config
NEOFS_GRPC_0_TLS_ENABLED=true FROSTFS_GRPC_0_TLS_ENABLED=true
NEOFS_GRPC_0_TLS_CERTIFICATE=/path/to/cert FROSTFS_GRPC_0_TLS_CERTIFICATE=/path/to/cert
NEOFS_GRPC_0_TLS_KEY=/path/to/key FROSTFS_GRPC_0_TLS_KEY=/path/to/key
## 1 server ## 1 server
NEOFS_GRPC_1_ENDPOINT=s02.frostfs.devenv:8080 FROSTFS_GRPC_1_ENDPOINT=s02.frostfs.devenv:8080
### TLS config ### TLS config
NEOFS_GRPC_1_TLS_ENABLED=false FROSTFS_GRPC_1_TLS_ENABLED=false
# Control service section # Control service section
NEOFS_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6" FROSTFS_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
NEOFS_CONTROL_GRPC_ENDPOINT=localhost:8090 FROSTFS_CONTROL_GRPC_ENDPOINT=localhost:8090
# Contracts section # Contracts section
NEOFS_CONTRACTS_BALANCE=5263abba1abedbf79bb57f3e40b50b4425d2d6cd FROSTFS_CONTRACTS_BALANCE=5263abba1abedbf79bb57f3e40b50b4425d2d6cd
NEOFS_CONTRACTS_CONTAINER=5d084790d7aa36cea7b53fe897380dab11d2cd3c FROSTFS_CONTRACTS_CONTAINER=5d084790d7aa36cea7b53fe897380dab11d2cd3c
NEOFS_CONTRACTS_NETMAP=0cce9e948dca43a6b592efe59ddb4ecb89bdd9ca FROSTFS_CONTRACTS_NETMAP=0cce9e948dca43a6b592efe59ddb4ecb89bdd9ca
NEOFS_CONTRACTS_REPUTATION=441995f631c1da2b133462b71859494a5cd45e90 FROSTFS_CONTRACTS_REPUTATION=441995f631c1da2b133462b71859494a5cd45e90
NEOFS_CONTRACTS_PROXY=ad7c6b55b737b696e5c82c85445040964a03e97f FROSTFS_CONTRACTS_PROXY=ad7c6b55b737b696e5c82c85445040964a03e97f
# Morph chain section # Morph chain section
NEOFS_MORPH_DIAL_TIMEOUT=30s FROSTFS_MORPH_DIAL_TIMEOUT=30s
NEOFS_MORPH_CACHE_TTL=15s FROSTFS_MORPH_CACHE_TTL=15s
NEOFS_MORPH_SWITCH_INTERVAL=3m FROSTFS_MORPH_SWITCH_INTERVAL=3m
NEOFS_MORPH_RPC_ENDPOINT_0_ADDRESS="wss://rpc1.morph.fs.neo.org:40341/ws" FROSTFS_MORPH_RPC_ENDPOINT_0_ADDRESS="wss://rpc1.morph.frostfs.info:40341/ws"
NEOFS_MORPH_RPC_ENDPOINT_0_PRIORITY=0 FROSTFS_MORPH_RPC_ENDPOINT_0_PRIORITY=0
NEOFS_MORPH_RPC_ENDPOINT_1_ADDRESS="wss://rpc2.morph.fs.neo.org:40341/ws" FROSTFS_MORPH_RPC_ENDPOINT_1_ADDRESS="wss://rpc2.morph.frostfs.info:40341/ws"
NEOFS_MORPH_RPC_ENDPOINT_1_PRIORITY=2 FROSTFS_MORPH_RPC_ENDPOINT_1_PRIORITY=2
# API Client section # API Client section
NEOFS_APICLIENT_DIAL_TIMEOUT=15s FROSTFS_APICLIENT_DIAL_TIMEOUT=15s
NEOFS_APICLIENT_STREAM_TIMEOUT=20s FROSTFS_APICLIENT_STREAM_TIMEOUT=20s
NEOFS_APICLIENT_RECONNECT_TIMEOUT=30s FROSTFS_APICLIENT_RECONNECT_TIMEOUT=30s
NEOFS_APICLIENT_ALLOW_EXTERNAL=true FROSTFS_APICLIENT_ALLOW_EXTERNAL=true
# Policer section # Policer section
NEOFS_POLICER_HEAD_TIMEOUT=15s FROSTFS_POLICER_HEAD_TIMEOUT=15s
# Replicator section # Replicator section
NEOFS_REPLICATOR_PUT_TIMEOUT=15s FROSTFS_REPLICATOR_PUT_TIMEOUT=15s
NEOFS_REPLICATOR_POOL_SIZE=10 FROSTFS_REPLICATOR_POOL_SIZE=10
# Object service section # Object service section
NEOFS_OBJECT_PUT_POOL_SIZE_REMOTE=100 FROSTFS_OBJECT_PUT_POOL_SIZE_REMOTE=100
# Storage engine section # Storage engine section
NEOFS_STORAGE_SHARD_POOL_SIZE=15 FROSTFS_STORAGE_SHARD_POOL_SIZE=15
NEOFS_STORAGE_SHARD_RO_ERROR_THRESHOLD=100 FROSTFS_STORAGE_SHARD_RO_ERROR_THRESHOLD=100
## 0 shard ## 0 shard
### Flag to refill Metabase from BlobStor ### 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 ### Flag to set shard mode
NEOFS_STORAGE_SHARD_0_MODE=read-only FROSTFS_STORAGE_SHARD_0_MODE=read-only
### Write cache config ### Write cache config
NEOFS_STORAGE_SHARD_0_WRITECACHE_ENABLED=false FROSTFS_STORAGE_SHARD_0_WRITECACHE_ENABLED=false
NEOFS_STORAGE_SHARD_0_WRITECACHE_NO_SYNC=true FROSTFS_STORAGE_SHARD_0_WRITECACHE_NO_SYNC=true
NEOFS_STORAGE_SHARD_0_WRITECACHE_PATH=tmp/0/cache FROSTFS_STORAGE_SHARD_0_WRITECACHE_PATH=tmp/0/cache
NEOFS_STORAGE_SHARD_0_WRITECACHE_SMALL_OBJECT_SIZE=16384 FROSTFS_STORAGE_SHARD_0_WRITECACHE_SMALL_OBJECT_SIZE=16384
NEOFS_STORAGE_SHARD_0_WRITECACHE_MAX_OBJECT_SIZE=134217728 FROSTFS_STORAGE_SHARD_0_WRITECACHE_MAX_OBJECT_SIZE=134217728
NEOFS_STORAGE_SHARD_0_WRITECACHE_WORKERS_NUMBER=30 FROSTFS_STORAGE_SHARD_0_WRITECACHE_WORKERS_NUMBER=30
NEOFS_STORAGE_SHARD_0_WRITECACHE_CAPACITY=3221225472 FROSTFS_STORAGE_SHARD_0_WRITECACHE_CAPACITY=3221225472
### Metabase config ### Metabase config
NEOFS_STORAGE_SHARD_0_METABASE_PATH=tmp/0/meta FROSTFS_STORAGE_SHARD_0_METABASE_PATH=tmp/0/meta
NEOFS_STORAGE_SHARD_0_METABASE_PERM=0644 FROSTFS_STORAGE_SHARD_0_METABASE_PERM=0644
NEOFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_SIZE=100 FROSTFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_SIZE=100
NEOFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_DELAY=10ms FROSTFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_DELAY=10ms
### Blobstor config ### Blobstor config
NEOFS_STORAGE_SHARD_0_COMPRESS=true FROSTFS_STORAGE_SHARD_0_COMPRESS=true
NEOFS_STORAGE_SHARD_0_COMPRESSION_EXCLUDE_CONTENT_TYPES="audio/* video/*" FROSTFS_STORAGE_SHARD_0_COMPRESSION_EXCLUDE_CONTENT_TYPES="audio/* video/*"
NEOFS_STORAGE_SHARD_0_SMALL_OBJECT_SIZE=102400 FROSTFS_STORAGE_SHARD_0_SMALL_OBJECT_SIZE=102400
### Blobovnicza config ### Blobovnicza config
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_PATH=tmp/0/blob/blobovnicza FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_PATH=tmp/0/blob/blobovnicza
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_PERM=0644 FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_PERM=0644
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_TYPE=blobovnicza FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_TYPE=blobovnicza
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_SIZE=4194304 FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_SIZE=4194304
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_DEPTH=1 FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_DEPTH=1
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_WIDTH=4 FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_WIDTH=4
NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50 FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
### FSTree config ### FSTree config
NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_TYPE=fstree FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_TYPE=fstree
NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_PATH=tmp/0/blob FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_PATH=tmp/0/blob
NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_PERM=0644 FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_PERM=0644
NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_DEPTH=5 FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_DEPTH=5
### Pilorama config ### Pilorama config
NEOFS_STORAGE_SHARD_0_PILORAMA_PATH="tmp/0/blob/pilorama.db" FROSTFS_STORAGE_SHARD_0_PILORAMA_PATH="tmp/0/blob/pilorama.db"
NEOFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_DELAY=10ms FROSTFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_DELAY=10ms
NEOFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_SIZE=200 FROSTFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_SIZE=200
### GC config ### GC config
#### Limit of the single data remover's batching operation in number of objects #### 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 #### 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 ## 1 shard
### Flag to refill Metabase from BlobStor ### 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 ### Flag to set shard mode
NEOFS_STORAGE_SHARD_1_MODE=read-write FROSTFS_STORAGE_SHARD_1_MODE=read-write
### Write cache config ### Write cache config
NEOFS_STORAGE_SHARD_1_WRITECACHE_ENABLED=true FROSTFS_STORAGE_SHARD_1_WRITECACHE_ENABLED=true
NEOFS_STORAGE_SHARD_1_WRITECACHE_PATH=tmp/1/cache FROSTFS_STORAGE_SHARD_1_WRITECACHE_PATH=tmp/1/cache
NEOFS_STORAGE_SHARD_1_WRITECACHE_SMALL_OBJECT_SIZE=16384 FROSTFS_STORAGE_SHARD_1_WRITECACHE_SMALL_OBJECT_SIZE=16384
NEOFS_STORAGE_SHARD_1_WRITECACHE_MAX_OBJECT_SIZE=134217728 FROSTFS_STORAGE_SHARD_1_WRITECACHE_MAX_OBJECT_SIZE=134217728
NEOFS_STORAGE_SHARD_1_WRITECACHE_WORKERS_NUMBER=30 FROSTFS_STORAGE_SHARD_1_WRITECACHE_WORKERS_NUMBER=30
NEOFS_STORAGE_SHARD_1_WRITECACHE_CAPACITY=4294967296 FROSTFS_STORAGE_SHARD_1_WRITECACHE_CAPACITY=4294967296
### Metabase config ### Metabase config
NEOFS_STORAGE_SHARD_1_METABASE_PATH=tmp/1/meta FROSTFS_STORAGE_SHARD_1_METABASE_PATH=tmp/1/meta
NEOFS_STORAGE_SHARD_1_METABASE_PERM=0644 FROSTFS_STORAGE_SHARD_1_METABASE_PERM=0644
NEOFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_SIZE=200 FROSTFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_SIZE=200
NEOFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_DELAY=20ms FROSTFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_DELAY=20ms
### Blobstor config ### Blobstor config
NEOFS_STORAGE_SHARD_1_COMPRESS=false FROSTFS_STORAGE_SHARD_1_COMPRESS=false
NEOFS_STORAGE_SHARD_1_SMALL_OBJECT_SIZE=102400 FROSTFS_STORAGE_SHARD_1_SMALL_OBJECT_SIZE=102400
### Blobovnicza config ### Blobovnicza config
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_TYPE=blobovnicza FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_TYPE=blobovnicza
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_PATH=tmp/1/blob/blobovnicza FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_PATH=tmp/1/blob/blobovnicza
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_SIZE=4194304 FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_SIZE=4194304
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_DEPTH=1 FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_DEPTH=1
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_WIDTH=4 FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_WIDTH=4
NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50 FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
### FSTree config ### FSTree config
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_TYPE=fstree FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_TYPE=fstree
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_PATH=tmp/1/blob FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_PATH=tmp/1/blob
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_PERM=0644 FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_PERM=0644
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_NO_SYNC=true FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_NO_SYNC=true
NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_DEPTH=5 FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_DEPTH=5
### Pilorama config ### Pilorama config
NEOFS_STORAGE_SHARD_1_PILORAMA_PATH="tmp/1/blob/pilorama.db" FROSTFS_STORAGE_SHARD_1_PILORAMA_PATH="tmp/1/blob/pilorama.db"
NEOFS_STORAGE_SHARD_1_PILORAMA_PERM=0644 FROSTFS_STORAGE_SHARD_1_PILORAMA_PERM=0644
NEOFS_STORAGE_SHARD_1_PILORAMA_NO_SYNC=true FROSTFS_STORAGE_SHARD_1_PILORAMA_NO_SYNC=true
NEOFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_DELAY=5ms FROSTFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_DELAY=5ms
NEOFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_SIZE=100 FROSTFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_SIZE=100
### GC config ### GC config
#### Limit of the single data remover's batching operation in number of objects #### 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 #### 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", "switch_interval": "3m",
"rpc_endpoint": [ "rpc_endpoint": [
{ {
"address": "wss://rpc1.morph.fs.neo.org:40341/ws", "address": "wss://rpc1.morph.frostfs.info:40341/ws",
"priority": 0 "priority": 0
}, },
{ {
"address": "wss://rpc2.morph.fs.neo.org:40341/ws", "address": "wss://rpc2.morph.frostfs.info:40341/ws",
"priority": 2 "priority": 2
} }
] ]

View file

@ -31,7 +31,7 @@ node:
path: /state # path to persistent state file of Storage node path: /state # path to persistent state file of Storage node
subnet: subnet:
exit_zero: true # toggle entrance to zero subnet (overrides corresponding attribute and occurrence in `entries`) 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 - 123
- 456 - 456
- 789 - 789
@ -88,13 +88,13 @@ morph:
# Cached entities: containers, container lists, eACL tables. # 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 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 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 priority: 0
- address: wss://rpc2.morph.fs.neo.org:40341/ws - address: wss://rpc2.morph.frostfs.info:40341/ws
priority: 2 priority: 2
apiclient: 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 stream_timeout: 20s # timeout for individual operations in a streaming RPC
allow_external: true # allow to fallback to addresses in `ExternalAddr` attribute allow_external: true # allow to fallback to addresses in `ExternalAddr` attribute
reconnect_timeout: 30s # time to wait before reconnecting to a failed node reconnect_timeout: 30s # time to wait before reconnecting to a failed node

View file

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

View file

@ -3,13 +3,13 @@ logger:
morph: morph:
rpc_endpoint: rpc_endpoint:
- wss://rpc01.morph.testnet.fs.neo.org:51331/ws - wss://rpc01.morph.testnet.frostfs.info:51331/ws
- wss://rpc02.morph.testnet.fs.neo.org:51331/ws - wss://rpc02.morph.testnet.frostfs.info:51331/ws
- wss://rpc03.morph.testnet.fs.neo.org:51331/ws - wss://rpc03.morph.testnet.frostfs.info:51331/ws
- wss://rpc04.morph.testnet.fs.neo.org:51331/ws - wss://rpc04.morph.testnet.frostfs.info:51331/ws
- wss://rpc05.morph.testnet.fs.neo.org:51331/ws - wss://rpc05.morph.testnet.frostfs.info:51331/ws
- wss://rpc06.morph.testnet.fs.neo.org:51331/ws - wss://rpc06.morph.testnet.frostfs.info:51331/ws
- wss://rpc07.morph.testnet.fs.neo.org:51331/ws - wss://rpc07.morph.testnet.frostfs.info:51331/ws
dial_timeout: 20s dial_timeout: 20s
contracts: contracts:
@ -21,7 +21,7 @@ contracts:
node: node:
key: /node.key key: /node.key
attribute_0: Deployed:SelfHosted attribute_0: Deployed:SelfHosted
attribute_1: User-Agent:NeoFS\/0.27 attribute_1: User-Agent:FrostFS\/0.9999
prometheus: prometheus:
enabled: true 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 * 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 Package: frostfs-storage
Architecture: any Architecture: any
Depends: ${misc:Depends} Depends: ${misc:Depends}
Description: NeoFS Storage node Description: FrostFS Storage node
NeoFS is a decentralized distributed object storage integrated with the NEO FrostFS is a decentralized distributed object storage integrated with the NEO
Blockchain. NeoFS Nodes are organized in a peer-to-peer network that takes care 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 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 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 Package: frostfs-ir
Architecture: any Architecture: any
Depends: ${misc:Depends}, frostfs-locode-db Depends: ${misc:Depends}, frostfs-locode-db
Description: NeoFS InnerRing node Description: FrostFS InnerRing node
NeoFS is a decentralized distributed object storage integrated with the NEO FrostFS is a decentralized distributed object storage integrated with the NEO
Blockchain. NeoFS Nodes are organized in a peer-to-peer network that takes care 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 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 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 Package: frostfs-cli
Architecture: any Architecture: any
Depends: ${misc:Depends} Depends: ${misc:Depends}
Description: CLI tools for NeoFS Description: CLI tools for FrostFS
NeoFS is a decentralized distributed object storage integrated with the NEO FrostFS is a decentralized distributed object storage integrated with the NEO
Blockchain. NeoFS Nodes are organized in a peer-to-peer network that takes care 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 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 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/ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: frostfs-node Upstream-Name: frostfs-node
Upstream-Contact: tech@nspcc.ru Upstream-Contact: tech@frostfs.info
Source: https://github.com/TrueCloudLab/frostfs-node 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: * 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) (https://github.com/TrueCloudLab/frostfs-node/blob/master/CREDITS.md)
License: GPL-3 License: GPL-3

View file

@ -19,7 +19,7 @@ set -e
case "$1" in case "$1" in
configure) configure)
USERNAME=ir 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 if ! dpkg-statoverride --list /etc/frostfs/$USERNAME >/dev/null; then
chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME
chmod -f 0750 /etc/frostfs/$USERNAME chmod -f 0750 /etc/frostfs/$USERNAME

View file

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

View file

@ -19,7 +19,7 @@ set -e
case "$1" in case "$1" in
configure) configure)
USERNAME=storage 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 if ! dpkg-statoverride --list /etc/frostfs/$USERNAME >/dev/null; then
chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME chown -f root:frostfs-$USERNAME /etc/frostfs/$USERNAME
chmod -f 0750 /etc/frostfs/$USERNAME chmod -f 0750 /etc/frostfs/$USERNAME

View file

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

View file

@ -8,7 +8,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/client" "github.com/TrueCloudLab/frostfs-sdk-go/client"
) )
// Client is an interface of NeoFS storage // Client is an interface of FrostFS storage
// node's client. // node's client.
type Client interface { type Client interface {
ContainerAnnounceUsedSpace(context.Context, client.PrmAnnounceSpace) (*client.ResAnnounceSpace, error) ContainerAnnounceUsedSpace(context.Context, client.PrmAnnounceSpace) (*client.ResAnnounceSpace, error)
@ -35,7 +35,7 @@ type MultiAddressClient interface {
RawForAddress(network.Address, func(cli *rawclient.Client) error) error 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 { type NodeInfo struct {
addrGroup network.AddressGroup addrGroup network.AddressGroup

View file

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

View file

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

View file

@ -5,7 +5,7 @@ import (
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id" 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. // object type.
type AddressWithType struct { type AddressWithType struct {
Address oid.Address Address oid.Address

View file

@ -169,7 +169,7 @@ func (v *FormatValidator) checkOwnerKey(id user.ID, key frostfsecdsa.PublicKey)
return nil 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: // is one of:
// - object.TypeTombstone; // - object.TypeTombstone;
// - object.TypeStorageGroup; // - object.TypeStorageGroup;

View file

@ -4,7 +4,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/version" "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 { func IsValid(v version.Version) bool {
const ( const (
startMajor = 2 startMajor = 2

View file

@ -32,7 +32,7 @@ func (f FeeConfig) SideChainFee() fixedn.Fixed8 {
return f.sidechain 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 { func (f FeeConfig) NamedContainerRegistrationFee() fixedn.Fixed8 {
return f.registerNamedCnr return f.registerNamedCnr
} }

View file

@ -16,14 +16,14 @@ import (
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id" 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 { type Client struct {
key *ecdsa.PrivateKey key *ecdsa.PrivateKey
c clientcore.Client 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) { func (x *Client) WrapBasicClient(c clientcore.Client) {
x.c = c x.c = c
} }
@ -211,7 +211,7 @@ func (x Client) HeadObject(prm HeadObjectPrm) (*HeadObjectRes, error) {
} }
if err != nil { 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 var hdr object.Object
@ -225,7 +225,7 @@ func (x Client) HeadObject(prm HeadObjectPrm) (*HeadObjectRes, error) {
}, nil }, 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. // 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) { 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), // 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. // 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 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 // 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 // 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 package frostfsapiclient

View file

@ -81,7 +81,7 @@ func New(p *Params) (*Processor, error) {
case p.ContainerClient == nil: case p.ContainerClient == nil:
return nil, errors.New("ir/container: Container client is not set") return nil, errors.New("ir/container: Container client is not set")
case p.FrostFSIDClient == nil: 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: case p.NetworkState == nil:
return nil, errors.New("ir/container: network state is not set") return nil, errors.New("ir/container: network state is not set")
case p.SubnetClient == nil: 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() epoch := gp.epochState.EpochCounter()
buf := make([]byte, 8) buf := make([]byte, 8)

View file

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

View file

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

View file

@ -15,7 +15,7 @@ import (
// ErrMaintenanceModeDisallowed is returned when maintenance mode is disallowed. // ErrMaintenanceModeDisallowed is returned when maintenance mode is disallowed.
var ErrMaintenanceModeDisallowed = errors.New("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. // provides interface used for processing the network map candidates.
type NetworkSettings interface { type NetworkSettings interface {
// MaintenanceModeAllowed checks if maintenance state of the storage nodes // 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 // 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 // NetMapCandidateValidator can be instantiated using built-in var declaration
// and currently doesn't require any additional initialization. // and currently doesn't require any additional initialization.

View file

@ -29,7 +29,7 @@ type ResultStorage interface {
AuditResultsForEpoch(epoch uint64) ([]*audit.Result, error) 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. // necessary for calculating audit fee.
type SGInfo interface { type SGInfo interface {
// Must return sum size of the all group members. // Must return sum size of the all group members.

View file

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

View file

@ -9,7 +9,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/user" "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. // Generated by a contract when intending to create a subnet.
type Put interface { type Put interface {
// Contains the ID of the subnet to be created. // 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 var creator user.ID
if err = event.ReadCreator(&creator); err != nil { if err = event.ReadCreator(&creator); err != nil {
return fmt.Errorf("read creator: %w", err) return fmt.Errorf("read creator: %w", err)

View file

@ -184,14 +184,14 @@ type putSubnetEvent struct {
ev subnetevents.Put 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 { func (x putSubnetEvent) ReadID(id *subnetid.ID) error {
return id.Unmarshal(x.ev.ID()) return id.Unmarshal(x.ev.ID())
} }
var errMissingSubnetOwner = errors.New("missing subnet owner") 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. // Returns an error if the byte array is empty.
func (x putSubnetEvent) ReadCreator(id *user.ID) error { func (x putSubnetEvent) ReadCreator(id *user.ID) error {
data := x.ev.Owner() data := x.ev.Owner()
@ -210,7 +210,7 @@ func (x putSubnetEvent) ReadCreator(id *user.ID) error {
return nil 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 { func (x putSubnetEvent) ReadInfo(info *subnet.Info) error {
return info.Unmarshal(x.ev.Info()) return info.Unmarshal(x.ev.Info())
} }

View file

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

View file

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

View file

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

View file

@ -122,7 +122,7 @@ func (db *DB) Inhume(prm InhumePrm) (res InhumeRes, err error) {
bkt = graveyardBKT bkt = graveyardBKT
tombKey := addressKey(*prm.tomb, make([]byte, addressKeySize)) 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 // so graveyard keys must not be addresses of tombstones
data := bkt.Get(tombKey) data := bkt.Get(tombKey)
if data != nil { if data != nil {

View file

@ -15,10 +15,10 @@ import (
) )
// TombstoneSource is an interface that checks // TombstoneSource is an interface that checks
// tombstone status in the NeoFS network. // tombstone status in the FrostFS network.
type TombstoneSource interface { type TombstoneSource interface {
// IsTombstoneAvailable must return boolean value that means // 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. // time of the passed epoch.
IsTombstoneAvailable(ctx context.Context, addr oid.Address, epoch uint64) bool IsTombstoneAvailable(ctx context.Context, addr oid.Address, epoch uint64) bool
} }

View file

@ -16,7 +16,7 @@ import (
"go.uber.org/zap" "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 { type Shard struct {
*cfg *cfg

View file

@ -10,7 +10,7 @@ import (
// Client is a wrapper over StaticClient // Client is a wrapper over StaticClient
// which makes calls with the names and arguments // 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. // Working client must be created via constructor New.
// Using the Client that has been created with new(Client) // 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 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. // through Audit contract call.
// //
// Returns encountered error that caused the saving to interrupt. // Returns encountered error that caused the saving to interrupt.

View file

@ -10,7 +10,7 @@ import (
// Client is a wrapper over StaticClient // Client is a wrapper over StaticClient
// which makes calls with the names and arguments // 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. // Working client must be created via constructor New.
// Using the Client that has been created with new(Client) // Using the Client that has been created with new(Client)

View file

@ -11,7 +11,7 @@ import (
// Client is a wrapper over StaticClient // Client is a wrapper over StaticClient
// which makes calls with the names and arguments // 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. // Working client must be created via constructor New.
// Using the Client that has been created with new(Client) // 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 d.token = token
} }
// Delete removes the container from NeoFS system // Delete removes the container from FrostFS system
// through Container contract call. // through Container contract call.
// //
// Returns any error encountered that caused // Returns any error encountered that caused

View file

@ -13,7 +13,7 @@ import (
"github.com/TrueCloudLab/frostfs-sdk-go/session" "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. // through Container contract call.
// //
// Returns apistatus.EACLNotFound if eACL table is missing in the contract. // 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 // 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. // Returns any error encountered that caused the saving to interrupt.
func (c *Client) PutEACL(p PutEACLPrm) error { 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) 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. // through Container contract call.
// //
// If an empty slice is returned for the requested identifier, // 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 // 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. // 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. // to user identifier is nil.
func (c *Client) List(idUser *user.ID) ([]cid.ID, error) { func (c *Client) List(idUser *user.ID) ([]cid.ID, error) {
var rawID []byte var rawID []byte

View file

@ -29,7 +29,7 @@ func (a2 *AnnounceLoadPrm) SetReporter(key []byte) {
} }
// AnnounceLoad saves container size estimation calculated by storage node // 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. // Returns any error encountered that caused the saving to interrupt.
func (c *Client) AnnounceLoad(p AnnounceLoadPrm) error { 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 // 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 // Returns calculated container identifier and any error
// encountered that caused the saving to interrupt. // encountered that caused the saving to interrupt.

View file

@ -19,7 +19,7 @@ func (x *commonBindArgs) SetOptionalPrm(op client.InvokePrmOptional) {
x.InvokePrmOptional = op 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) { func (x *commonBindArgs) SetScriptHash(v []byte) {
x.scriptHash = v x.scriptHash = v
} }
@ -34,7 +34,7 @@ type BindKeysPrm struct {
commonBindArgs 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 { func (x *Client) BindKeys(p BindKeysPrm) error {
prm := client.InvokePrm{} prm := client.InvokePrm{}
prm.SetMethod(bindKeysMethod) prm.SetMethod(bindKeysMethod)
@ -55,7 +55,7 @@ type UnbindKeysPrm struct {
} }
// UnbindKeys invokes the call of key unbinding method // UnbindKeys invokes the call of key unbinding method
// of NeoFS contract. // of FrostFS contract.
func (x *Client) UnbindKeys(args UnbindKeysPrm) error { func (x *Client) UnbindKeys(args UnbindKeysPrm) error {
prm := client.InvokePrm{} prm := client.InvokePrm{}
prm.SetMethod(unbindKeysMethod) prm.SetMethod(unbindKeysMethod)

View file

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

View file

@ -27,7 +27,7 @@ const (
chequeMethod = "cheque" 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) { func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8, opts ...Option) (*Client, error) {
o := defaultOpts() 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)...) sc, err := client.NewStatic(cli, contract, fee, ([]client.StaticClientOption)(*o)...)
if err != nil { 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 return &Client{client: sc}, nil

View file

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

View file

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

View file

@ -19,7 +19,7 @@ func (a *AccountKeysPrm) SetID(id user.ID) {
a.id = 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) { func (x *Client) AccountKeys(p AccountKeysPrm) (keys.PublicKeys, error) {
prm := client.TestInvokePrm{} prm := client.TestInvokePrm{}
prm.SetMethod(keyListingMethod) prm.SetMethod(keyListingMethod)

View file

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

View file

@ -13,7 +13,7 @@ type NodeInfo = netmap.NodeInfo
// Client is a wrapper over StaticClient // Client is a wrapper over StaticClient
// which makes calls with the names and arguments // 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. // Working client must be created via constructor New.
// Using the Client that has been created with new(Client) // 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 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) { func (c *Client) EpochDuration() (uint64, error) {
epochDuration, err := c.readUInt64Config(epochDurationConfig) epochDuration, err := c.readUInt64Config(epochDurationConfig)
if err != nil { if err != nil {
@ -132,7 +132,7 @@ func (c *Client) InnerRingCandidateFee() (uint64, error) {
} }
// WithdrawFee returns global configuration value of fee paid by user to // 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) { func (c *Client) WithdrawFee() (uint64, error) {
fee, err := c.readUInt64Config(withdrawFeeConfig) fee, err := c.readUInt64Config(withdrawFeeConfig)
if err != nil { if err != nil {
@ -143,7 +143,7 @@ func (c *Client) WithdrawFee() (uint64, error) {
} }
// MaintenanceModeAllowed reads admission of "maintenance" state from the // 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". // that storage nodes are allowed to switch their state to "maintenance".
// //
// By default, maintenance state is disallowed. // By default, maintenance state is disallowed.
@ -171,7 +171,7 @@ func (c *Client) readStringConfig(key string) (string, error) {
return v.(string), nil 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. // stored in the Sidechain. Returns false if key is not presented.
func (c *Client) readBoolConfig(key string) (bool, error) { func (c *Client) readBoolConfig(key string) (bool, error) {
v, err := c.config([]byte(key), BoolAssert) v, err := c.config([]byte(key), BoolAssert)
@ -221,8 +221,8 @@ func (c *Client) SetConfig(p SetConfigPrm) error {
return c.client.Invoke(prm) return c.client.Invoke(prm)
} }
// RawNetworkParameter is a NeoFS network parameter which is transmitted but // RawNetworkParameter is a FrostFS network parameter which is transmitted but
// not interpreted by the NeoFS API protocol. // not interpreted by the FrostFS API protocol.
type RawNetworkParameter struct { type RawNetworkParameter struct {
// Name of the parameter. // Name of the parameter.
Name string Name string
@ -231,8 +231,8 @@ type RawNetworkParameter struct {
Value []byte Value []byte
} }
// NetworkConfiguration represents NeoFS network configuration stored // NetworkConfiguration represents FrostFS network configuration stored
// in the NeoFS Sidechain. // in the FrostFS Sidechain.
type NetworkConfiguration struct { type NetworkConfiguration struct {
MaxObjectSize uint64 MaxObjectSize uint64
@ -261,7 +261,7 @@ type NetworkConfiguration struct {
Raw []RawNetworkParameter Raw []RawNetworkParameter
} }
// ReadNetworkConfiguration reads NetworkConfiguration from the NeoFS Sidechain. // ReadNetworkConfiguration reads NetworkConfiguration from the FrostFS Sidechain.
func (c *Client) ReadNetworkConfiguration() (NetworkConfiguration, error) { func (c *Client) ReadNetworkConfiguration() (NetworkConfiguration, error) {
var res NetworkConfiguration var res NetworkConfiguration
prm := client.TestInvokePrm{} prm := client.TestInvokePrm{}
@ -356,7 +356,7 @@ func bytesToBool(val []byte) bool {
var ErrConfigNotFound = errors.New("config value not found") var ErrConfigNotFound = errors.New("config value not found")
// config performs the test invoke of get config value // 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. // 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) { 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" "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. // through the Netmap contract call.
func (c *Client) Epoch() (uint64, error) { func (c *Client) Epoch() (uint64, error) {
prm := client.TestInvokePrm{} prm := client.TestInvokePrm{}
@ -30,7 +30,7 @@ func (c *Client) Epoch() (uint64, error) {
return uint64(num), nil 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. // through the Netmap contract call.
func (c *Client) LastEpochBlock() (uint32, error) { func (c *Client) LastEpochBlock() (uint32, error) {
prm := client.TestInvokePrm{} prm := client.TestInvokePrm{}

View file

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

View file

@ -36,7 +36,7 @@ const (
NNSReputationContractName = "reputation.frostfs" NNSReputationContractName = "reputation.frostfs"
// NNSSubnetworkContractName is a name of the subnet contract in NNS. // NNSSubnetworkContractName is a name of the subnet contract in NNS.
NNSSubnetworkContractName = "subnet.frostfs" 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" NNSGroupKeyName = "group.frostfs"
) )
@ -193,7 +193,7 @@ func exists(c *rpcclient.WSClient, nnsHash util.Uint160, domain string) (bool, e
return !available, nil 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. // Should be called for side-chain client only.
func (c *Client) SetGroupSignerScope() error { func (c *Client) SetGroupSignerScope() error {
c.switchLock.RLock() c.switchLock.RLock()
@ -213,7 +213,7 @@ func (c *Client) SetGroupSignerScope() error {
return nil 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) { func (c *Client) contractGroupKey() (*keys.PublicKey, error) {
if gKey := c.cache.groupKey(); gKey != nil { if gKey := c.cache.groupKey(); gKey != nil {
return 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) multisigScript, err := sc.CreateMultiSigRedeemScript(m, ir)
if err != nil { 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)) 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()) multisigAccount = wallet.NewAccountFromPrivateKey(c.acc.PrivateKey())
err := multisigAccount.ConvertMultisig(m, ir) err := multisigAccount.ConvertMultisig(m, ir)
if err != nil { 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)) return nil, wrapFrostFSError(fmt.Errorf("can't convert account to inner ring multisig wallet: %w", err))
} }
} else { } else {
@ -712,7 +712,7 @@ func (c *Client) notaryMultisigAccount(ir []*keys.PublicKey, committee, invokedB
// inner ring multiaddress witness // inner ring multiaddress witness
multisigAccount, err = notary.FakeMultisigAccount(m, ir) multisigAccount, err = notary.FakeMultisigAccount(m, ir)
if err != nil { 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)) 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. // 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. // If committee is true, returns M as N/2+1.
func sigCount(ir []*keys.PublicKey, committee bool) int { func sigCount(ir []*keys.PublicKey, committee bool) int {
if committee { if committee {

View file

@ -10,7 +10,7 @@ import (
// Client is a wrapper over StaticClient // Client is a wrapper over StaticClient
// which makes calls with the names and arguments // 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. // Working client must be created via constructor New.
// Using the Client that has been created with new(Client) // Using the Client that has been created with new(Client)

View file

@ -29,7 +29,7 @@ func (x *ManageAdminsPrm) SetClient() {
x.client = true 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) { func (x *ManageAdminsPrm) SetSubnet(id []byte) {
x.subnet = id x.subnet = id
} }
@ -39,7 +39,7 @@ func (x *ManageAdminsPrm) SetAdmin(key []byte) {
x.admin = key 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). // Makes sense only for client admins (see ManageAdminsPrm.SetClient).
func (x *ManageAdminsPrm) SetGroup(id []byte) { func (x *ManageAdminsPrm) SetGroup(id []byte) {
x.group = id 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. // ManageAdminsRes groups the resulting values of node administer methods of Subnet contract.
type ManageAdminsRes struct{} 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) { func (x Client) ManageAdmins(prm ManageAdminsPrm) (*ManageAdminsPrm, error) {
var method string var method string

View file

@ -48,7 +48,7 @@ func (x *InitPrm) SetBaseClient(base *client.Client) {
x.base = base 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) { func (x *InitPrm) SetContractAddress(addr util.Uint160) {
x.addr = addr x.addr = addr
} }

View file

@ -11,12 +11,12 @@ type UserAllowedPrm struct {
args [2]interface{} 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) { func (x *UserAllowedPrm) SetID(id []byte) {
x.args[0] = id 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) { func (x *UserAllowedPrm) SetClient(id []byte) {
x.args[1] = id x.args[1] = id
} }
@ -72,17 +72,17 @@ func (x *ManageClientsPrm) SetRemove() {
x.rm = true 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) { func (x *ManageClientsPrm) SetSubnet(id []byte) {
x.args[0] = id 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) { func (x *ManageClientsPrm) SetGroup(id []byte) {
x.args[1] = id 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) { func (x *ManageClientsPrm) SetClient(id []byte) {
x.args[2] = id 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. // ManageClientsRes groups the resulting values of client management methods of Subnet contract.
type ManageClientsRes struct{} 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) { func (x Client) ManageClients(prm ManageClientsPrm) (*ManageClientsRes, error) {
var method string var method string

View file

@ -18,7 +18,7 @@ func (x *DeletePrm) SetTxHash(hash util.Uint256) {
x.cliPrm.SetHash(hash) 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) { func (x *DeletePrm) SetID(id []byte) {
x.args[0] = id x.args[0] = id
} }

View file

@ -11,7 +11,7 @@ type GetPrm struct {
args [1]interface{} 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) { func (x *GetPrm) SetID(id []byte) {
x.args[0] = id x.args[0] = id
} }
@ -21,7 +21,7 @@ type GetRes struct {
info []byte 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 { func (x GetRes) Info() []byte {
return x.info return x.info
} }

View file

@ -13,7 +13,7 @@ type NodeAllowedPrm struct {
args [2]interface{} 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) { func (x *NodeAllowedPrm) SetID(id []byte) {
x.args[0] = id x.args[0] = id
} }

View file

@ -18,17 +18,17 @@ func (x *PutPrm) SetTxHash(hash util.Uint256) {
x.cliPrm.SetHash(hash) 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) { func (x *PutPrm) SetID(id []byte) {
x.args[0] = id 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) { func (x *PutPrm) SetOwner(id []byte) {
x.args[1] = id 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) { func (x *PutPrm) SetInfo(id []byte) {
x.args[2] = id x.args[2] = id
} }

View file

@ -10,7 +10,7 @@ import (
) )
// SetEACL represents structure of notification about // 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 { type SetEACL struct {
table []byte table []byte
signature []byte signature []byte
@ -25,7 +25,7 @@ type SetEACL struct {
// MorphEvent implements Neo:Morph Event interface. // MorphEvent implements Neo:Morph Event interface.
func (SetEACL) MorphEvent() {} 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 { func (x SetEACL) Table() []byte {
return x.table return x.table
} }

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