2019-11-18 13:34:06 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package bootstrap;
|
2020-01-30 13:32:50 +00:00
|
|
|
option go_package = "github.com/nspcc-dev/neofs-api/bootstrap";
|
2020-02-05 13:58:06 +00:00
|
|
|
option csharp_namespace = "NeoFS.API.Bootstrap";
|
2019-11-18 13:34:06 +00:00
|
|
|
|
|
|
|
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
|
|
|
|
2020-02-05 13:58:06 +00:00
|
|
|
option (gogoproto.stable_marshaler_all) = true;
|
2019-11-18 13:34:06 +00:00
|
|
|
|
|
|
|
option (gogoproto.stringer_all) = false;
|
|
|
|
option (gogoproto.goproto_stringer_all) = false;
|
|
|
|
|
|
|
|
message SpreadMap {
|
2019-11-20 16:21:45 +00:00
|
|
|
// Epoch is current epoch for netmap
|
2019-11-18 13:34:06 +00:00
|
|
|
uint64 Epoch = 1;
|
2019-11-20 16:21:45 +00:00
|
|
|
// NetMap is a set of NodeInfos
|
2019-11-18 13:34:06 +00:00
|
|
|
repeated NodeInfo NetMap = 2 [(gogoproto.nullable) = false];
|
|
|
|
}
|
|
|
|
|
|
|
|
message NodeInfo {
|
2019-11-20 16:21:45 +00:00
|
|
|
// Address is a node [multi-address](https://github.com/multiformats/multiaddr)
|
2019-11-18 13:34:06 +00:00
|
|
|
string Address = 1 [(gogoproto.jsontag) = "address"];
|
2019-11-20 16:21:45 +00:00
|
|
|
// PubKey is a compressed public key representation in bytes
|
2019-11-18 13:34:06 +00:00
|
|
|
bytes PubKey = 2 [(gogoproto.jsontag) = "pubkey,omitempty"];
|
2019-11-20 16:21:45 +00:00
|
|
|
// Options is set of node optional information, such as storage capacity, node location, price and etc
|
2019-11-18 13:34:06 +00:00
|
|
|
repeated string Options = 3 [(gogoproto.jsontag) = "options,omitempty"];
|
2019-11-20 16:21:45 +00:00
|
|
|
// Status is bitmap status of the node
|
2019-11-18 13:34:06 +00:00
|
|
|
uint64 Status = 4 [(gogoproto.jsontag) = "status", (gogoproto.nullable) = false, (gogoproto.customtype) = "NodeStatus"];
|
|
|
|
}
|