frostfs-api/reputation/types.proto

67 lines
1.9 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package neo.fs.v2.reputation;
option go_package = "github.com/nspcc-dev/neofs-api-go/v2/reputation/grpc;reputation";
option csharp_namespace = "Neo.FileStorage.API.Reputation";
import "refs/types.proto";
// NeoFS unique peer identifier.
//
// `PeerID` is a 33 byte long compressed public key of the node
// stored in network map.
//
// String presentation is
// [base58](https://tools.ietf.org/html/draft-msporny-base58-02) encoded string.
//
// JSON value will be the data encoded as a string using standard base64
// encoding with paddings. Either
// [standard](https://tools.ietf.org/html/rfc4648#section-4) or
// [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding
// with/without paddings are accepted.
message PeerID {
// Peer identifier in a binary format.
bytes value = 1 [json_name = "value"];
}
// Trust value to NeoFS network peer.
message Trust {
// Identifier of the trusted peer.
PeerID peer = 1 [json_name = "peer"];
// Trust value.
double value = 2 [json_name = "value"];
}
// Trust value of a peer to a peer.
message PeerToPeerTrust {
// Identifier of the trusting peer.
PeerID trusting_peer = 1 [json_name = "trustingPeer"];
// Trust value.
Trust trust = 2 [json_name = "trust"];
}
// Global trust value to NeoFS network peer.
message GlobalTrust {
// Message format version. Effectively the version of API library used to create
// the message.
neo.fs.v2.refs.Version version = 1 [json_name = "version"];
// Message body structure.
message Body {
// Node manager ID.
PeerID manager = 1 [json_name = "manager"];
// Global trust value.
Trust trust = 2 [json_name = "trust"];
}
// Message body.
Body body = 2 [json_name = "body"];
// Signature of the binary `body` field by the manager.
neo.fs.v2.refs.Signature signature = 3 [json_name = "signature"];
}