2020-09-03 09:19:02 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package neo.fs.v2.netmap;
|
|
|
|
|
|
|
|
option go_package = "github.com/nspcc-dev/neofs-api-go/v2/netmap/grpc;netmap";
|
|
|
|
option csharp_namespace = "NeoFS.API.v2.Netmap";
|
|
|
|
|
|
|
|
import "netmap/types.proto";
|
|
|
|
import "refs/types.proto";
|
|
|
|
import "session/types.proto";
|
|
|
|
|
2020-10-15 07:50:36 +00:00
|
|
|
// `NetmapService` provides methods to work with `Network Map` and information
|
|
|
|
// required to build it. The resulting `Network Map` is stored in sidechain
|
|
|
|
// `Netmap` smart contract, while related information can be obtained from other
|
|
|
|
// NeoFS nodes.
|
2020-09-03 09:19:02 +00:00
|
|
|
service NetmapService {
|
2020-10-15 07:50:36 +00:00
|
|
|
// Get NodeInfo structure from the particular node directly. Node information
|
|
|
|
// can be taken from `Netmap` smart contract, but in some cases the one may
|
|
|
|
// want to get recent information directly, or to talk to the node not yet
|
|
|
|
// present in `Network Map` to find out what API version can be used for
|
|
|
|
// further communication. Can also be used to check if node is up and running.
|
2020-09-03 09:19:02 +00:00
|
|
|
rpc LocalNodeInfo (LocalNodeInfoRequest) returns (LocalNodeInfoResponse);
|
|
|
|
}
|
|
|
|
|
2020-10-15 07:50:36 +00:00
|
|
|
// Get NodeInfo structure from the particular node directly
|
2020-09-03 09:19:02 +00:00
|
|
|
message LocalNodeInfoRequest {
|
2020-10-15 07:50:36 +00:00
|
|
|
// LocalNodeInfo request body is empty.
|
2020-09-03 09:19:02 +00:00
|
|
|
message Body {
|
|
|
|
}
|
2020-10-15 07:50:36 +00:00
|
|
|
// Body of the LocalNodeInfo request message
|
2020-09-03 09:19:02 +00:00
|
|
|
Body body = 1;
|
|
|
|
|
|
|
|
// Carries request meta information. Header data is used only to regulate
|
|
|
|
// message transport and does not affect request execution.
|
|
|
|
neo.fs.v2.session.RequestMetaHeader meta_header = 2;
|
|
|
|
|
|
|
|
// Carries request verification information. This header is used to
|
2020-10-15 07:50:36 +00:00
|
|
|
// authenticate the nodes of the message route and check the correctness of
|
|
|
|
// transmission.
|
2020-09-03 09:19:02 +00:00
|
|
|
neo.fs.v2.session.RequestVerificationHeader verify_header = 3;
|
|
|
|
}
|
|
|
|
|
2020-10-15 07:50:36 +00:00
|
|
|
// Local Node Info, including API Version in use
|
2020-09-03 09:19:02 +00:00
|
|
|
message LocalNodeInfoResponse {
|
2020-10-15 07:50:36 +00:00
|
|
|
// Local Node Info, including API Version in use.
|
2020-09-03 09:19:02 +00:00
|
|
|
message Body {
|
2020-10-15 07:50:36 +00:00
|
|
|
// Latest NeoFS API version in use
|
2020-09-03 09:19:02 +00:00
|
|
|
neo.fs.v2.refs.Version version = 1;
|
|
|
|
|
2020-10-15 07:50:36 +00:00
|
|
|
// NodeInfo structure with recent information from node itself
|
2020-09-03 09:19:02 +00:00
|
|
|
NodeInfo node_info = 2;
|
|
|
|
}
|
|
|
|
// Body of the balance response message.
|
|
|
|
Body body = 1;
|
|
|
|
|
|
|
|
// Carries response meta information. Header data is used only to regulate
|
|
|
|
// message transport and does not affect response execution.
|
|
|
|
neo.fs.v2.session.ResponseMetaHeader meta_header = 2;
|
|
|
|
|
|
|
|
// Carries response verification information. This header is used to
|
2020-10-15 07:50:36 +00:00
|
|
|
// authenticate the nodes of the message route and check the correctness of
|
|
|
|
// transmission.
|
2020-09-03 09:19:02 +00:00
|
|
|
neo.fs.v2.session.ResponseVerificationHeader verify_header = 3;
|
|
|
|
}
|