prysm-pulse/proto/eth/v1alpha1/node.proto
terence tsao 1b5b8a57e0 Remove unused proto schemas (#3005)
* Update io_kubernetes_build commit hash to 1246899

* Update dependency build_bazel_rules_nodejs to v0.33.1

* Update dependency com_github_hashicorp_golang_lru to v0.5.1

* Update libp2p

* Update io_bazel_rules_k8s commit hash to e68d5d7

* Starting to remove old protos

* Bazel build proto passes

* Fixing pb version

* Cleaned up core package

* Fixing tests

* 6 tests failing

* Update proto bugs

* Fixed incorrect validator ordering proto

* Sync with master

* Update go-ssz commit

* Removed bad copies from v1alpha1 folder

* add json spec json to pb handler

* add nested proto example

* proto/testing test works

* fix refactoring build failures

* use merged ssz

* push latest changes

* used forked json encoding

* used forked json encoding

* fix warning

* fix build issues

* fix test and lint

* fix build

* lint
2019-07-22 10:03:57 -04:00

76 lines
2.3 KiB
Protocol Buffer

syntax = "proto3";
package ethereum.eth.v1alpha1;
import "google/api/annotations.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1;eth";
// Node service API
//
// Node service provides general information about the node itself, the services
// it supports, chain information and node version.
service Node {
// Retrieve the current network sync status of the node.
rpc GetSyncStatus(google.protobuf.Empty) returns (SyncStatus) {
option (google.api.http) = {
get: "/eth/v1alpha1/node/syncing"
};
}
// Retrieve information about the genesis of Ethereum 2.0.
rpc GetGenesis(google.protobuf.Empty) returns (Genesis) {
option (google.api.http) = {
get: "/eth/v1alpha1/node/genesis"
};
}
// Retrieve information about the running Ethereum 2.0 node.
rpc GetVersion(google.protobuf.Empty) returns (Version) {
option (google.api.http) = {
get: "/eth/v1alpha1/node/version"
};
}
// Retrieve the list of services implemented and enabled by this node.
//
// Any service not present in this list may return UNIMPLEMENTED or
// PERMISSION_DENIED. The server may also support fetching services by grpc
// reflection.
rpc ListImplementedServices(google.protobuf.Empty) returns (ImplementedServices) {
option (google.api.http) = {
get: "/eth/v1alpha1/node/services"
};
}
}
// Information about the current network sync status of the node.
message SyncStatus {
// Whether or not the node is currently syncing.
bool syncing = 1;
}
// Information about the genesis of Ethereum 2.0.
message Genesis {
// UTC time specified in the chain start event in the deposit contract.
google.protobuf.Timestamp genesis_time = 1;
// Address of the deposit contract in the Ethereum 1 chain.
bytes deposit_contract_address = 2;
}
// Information about the node version.
message Version {
// A string that uniquely identifies the node and its version.
string version = 1;
// Additional metadata that the node would like to provide. This field may
// be used to list any meaningful data to the client.
string metadata = 2;
}
message ImplementedServices {
repeated string services = 1;
}