frostfs-api/proto-docs/accounting.md
Stanislav Bogatyrev fc170f56bf [#57] Merge service and session packages
Merging session and service packages to increase clarity and reduce
cross-dependencies.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-20 10:33:49 +03:00

6.2 KiB

Protocol Documentation

Table of Contents

Top

accounting/service.proto

Service "neo.fs.v2.accounting.AccountingService"

The service provides methods for obtaining information about the account balance in NeoFS system.

rpc Balance(BalanceRequest) returns (BalanceResponse);

Method Balance

Returns the amount of funds for the requested NeoFS account.

Name Input Output
Balance BalanceRequest BalanceResponse

Message BalanceRequest

Message defines the request body of Balance method.

To indicate the account for which the balance is requested, it's identifier is used.

To gain access to the requested information, the request body must be formed according to the requirements from the system specification.

Field Type Label Description
body BalanceRequest.Body Body of the balance request message.
meta_header neo.fs.v2.session.RequestMetaHeader Carries request meta information. Header data is used only to regulate message transport and does not affect request execution.
verify_header neo.fs.v2.session.RequestVerificationHeader Carries request verification information. This header is used to authenticate the nodes of the message route and check the correctness of transmission.

Message BalanceRequest.Body

Request body

Field Type Label Description
owner_id neo.fs.v2.refs.OwnerID Carries user identifier in NeoFS system for which the balance is requested.

Message BalanceResponse

Message defines the response body of Balance method.

The amount of funds is calculated in decimal numbers.

Field Type Label Description
body BalanceResponse.Body Body of the balance response message.
meta_header neo.fs.v2.session.ResponseMetaHeader Carries response meta information. Header data is used only to regulate message transport and does not affect request execution.
verify_header neo.fs.v2.session.ResponseVerificationHeader Carries response verification information. This header is used to authenticate the nodes of the message route and check the correctness of transmission.

Message BalanceResponse.Body

Request body

Field Type Label Description
balance Decimal Carries the amount of funds on the account.

Top

accounting/types.proto

Message Decimal

Decimal represents the decimal numbers.

Field Type Label Description
value int64 value carries number value.
precision uint32 precision carries value precision.

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type
double double double float
float float float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long
uint32 Uses variable-length encoding. uint32 int int/long
uint64 Uses variable-length encoding. uint64 long int/long
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long
sfixed32 Always four bytes. int32 int int
sfixed64 Always eight bytes. int64 long int/long
bool bool boolean boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode
bytes May contain any arbitrary sequence of bytes. string ByteString str