Commit 1aaee35d authored by 贾浩@五瓣科技's avatar 贾浩@五瓣科技

add witness

parent 79961ac2
......@@ -3,3 +3,4 @@ directories:
- baseapi
- scheduler
- nodemanager
- witness
......@@ -23,6 +23,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
type WorkerMessage struct {
// Types that are valid to be assigned to Message:
//
// *WorkerMessage_HeartbeatResponse
// *WorkerMessage_SubmitTaskResult
// *WorkerMessage_StatusResp
......@@ -113,6 +114,7 @@ func (*WorkerMessage) XXX_OneofWrappers() []interface{} {
type ManagerMessage struct {
// Types that are valid to be assigned to Message:
//
// *ManagerMessage_HeartbeatRequest
// *ManagerMessage_PushTaskMessage
// *ManagerMessage_ProofTaskResult
......
This diff is collapsed.
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: witness/v1/service.proto
package witnessv1
import (
fmt "fmt"
proto "github.com/gogo/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
func init() { proto.RegisterFile("witness/v1/service.proto", fileDescriptor_687af857651c0e7f) }
var fileDescriptor_687af857651c0e7f = []byte{
// 337 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xc1, 0x4a, 0xf3, 0x40,
0x10, 0xc7, 0xbf, 0xa6, 0xf0, 0xa1, 0xab, 0x2d, 0x92, 0x83, 0x48, 0xad, 0x60, 0xd5, 0xab, 0x59,
0x56, 0x6f, 0xf5, 0xd6, 0xcb, 0x82, 0x50, 0x08, 0x0a, 0x69, 0x91, 0x42, 0x49, 0xd3, 0x31, 0x0d,
0xd8, 0x6c, 0xdd, 0x9d, 0xa4, 0xf8, 0x3a, 0x1e, 0x3d, 0x79, 0xf2, 0x21, 0x7c, 0x0c, 0x8f, 0x3e,
0x85, 0xd8, 0xdd, 0xa4, 0x49, 0xa8, 0xbd, 0xcd, 0xcc, 0xff, 0x3f, 0xbf, 0x19, 0x98, 0x21, 0x47,
0xcb, 0x08, 0x63, 0x50, 0x8a, 0xa6, 0x8c, 0x2a, 0x90, 0x69, 0x14, 0x80, 0xb3, 0x90, 0x02, 0x85,
0x4d, 0x8c, 0xe2, 0xa4, 0xac, 0xd5, 0x29, 0xb8, 0x24, 0x3c, 0x27, 0xa0, 0x70, 0x2c, 0x41, 0x2d,
0x44, 0xac, 0x8c, 0xfd, 0xea, 0xa3, 0x4e, 0x9a, 0xc6, 0x75, 0xaf, 0x39, 0xb6, 0x47, 0x1a, 0x03,
0x53, 0x41, 0x1f, 0x13, 0x65, 0x9f, 0x3a, 0x6b, 0x66, 0x16, 0x6a, 0xe9, 0x4e, 0x43, 0x5b, 0x9d,
0x2d, 0x0e, 0x3d, 0xee, 0xec, 0x9f, 0x7d, 0x4b, 0x76, 0xdd, 0x44, 0xcd, 0x5c, 0x29, 0xc4, 0xa3,
0xdd, 0x2e, 0x76, 0x2c, 0xb2, 0x72, 0xc6, 0x3b, 0xf9, 0x43, 0xcd, 0x59, 0x1e, 0x69, 0x70, 0xc0,
0x7e, 0x14, 0x83, 0xd4, 0xbc, 0xd2, 0x8e, 0x61, 0x51, 0xda, 0xb8, 0x63, 0xc5, 0x91, 0x73, 0x39,
0xd9, 0xe1, 0x80, 0x1a, 0x79, 0x5c, 0x69, 0x28, 0xd1, 0xda, 0x9b, 0xc5, 0x1c, 0x34, 0x26, 0x07,
0x1c, 0x70, 0x10, 0xe1, 0x6c, 0x2a, 0xfd, 0xa5, 0x06, 0x9e, 0x57, 0x7a, 0x4a, 0x6a, 0x06, 0xbe,
0xd8, 0x6e, 0xca, 0x06, 0xf4, 0xde, 0x6b, 0xa4, 0x19, 0x88, 0x79, 0xc1, 0xdd, 0xdb, 0x37, 0x17,
0x74, 0x7f, 0x2f, 0xeb, 0xd6, 0x1e, 0x78, 0x18, 0xe1, 0x2c, 0x99, 0x38, 0x81, 0x98, 0x53, 0x31,
0x7d, 0x51, 0x0a, 0x12, 0x95, 0x07, 0x97, 0xab, 0xfb, 0x07, 0xe2, 0x89, 0x86, 0x10, 0xd3, 0x55,
0x42, 0x43, 0x41, 0xd7, 0x1f, 0x73, 0x63, 0xc2, 0x94, 0xbd, 0x5a, 0xf5, 0xc1, 0x70, 0xf8, 0x66,
0x11, 0xf3, 0x16, 0x8e, 0xc7, 0x3e, 0xf3, 0x64, 0xe4, 0xb1, 0x2f, 0xeb, 0x70, 0x9d, 0x8c, 0xb8,
0xdb, 0xeb, 0x03, 0xfa, 0x53, 0x1f, 0xfd, 0x6f, 0x6b, 0xcf, 0x08, 0xdd, 0xae, 0xc7, 0x26, 0xff,
0x57, 0x53, 0xae, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd8, 0x30, 0x98, 0x73, 0xbd, 0x02, 0x00,
0x00,
}
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc (unknown)
// source: witness/v1/service.proto
package witnessv1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// WitnessServiceClient is the client API for WitnessService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type WitnessServiceClient interface {
WitnessStatus(ctx context.Context, in *WitnessStatusRequest, opts ...grpc.CallOption) (*WitnessStatusResponse, error)
PushProof(ctx context.Context, in *PushProofRequest, opts ...grpc.CallOption) (*PushProofResponse, error)
GetMinerProof(ctx context.Context, in *GetMinerProofRequest, opts ...grpc.CallOption) (*GetMinerProofResponse, error)
GetProof(ctx context.Context, in *GetProofRequest, opts ...grpc.CallOption) (*GetProofResponse, error)
GetWithdrawProof(ctx context.Context, in *GetWithdrawProofRequest, opts ...grpc.CallOption) (*GetWithdrawProofResponse, error)
}
type witnessServiceClient struct {
cc grpc.ClientConnInterface
}
func NewWitnessServiceClient(cc grpc.ClientConnInterface) WitnessServiceClient {
return &witnessServiceClient{cc}
}
func (c *witnessServiceClient) WitnessStatus(ctx context.Context, in *WitnessStatusRequest, opts ...grpc.CallOption) (*WitnessStatusResponse, error) {
out := new(WitnessStatusResponse)
err := c.cc.Invoke(ctx, "/witness.v1.witnessService/WitnessStatus", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *witnessServiceClient) PushProof(ctx context.Context, in *PushProofRequest, opts ...grpc.CallOption) (*PushProofResponse, error) {
out := new(PushProofResponse)
err := c.cc.Invoke(ctx, "/witness.v1.witnessService/PushProof", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *witnessServiceClient) GetMinerProof(ctx context.Context, in *GetMinerProofRequest, opts ...grpc.CallOption) (*GetMinerProofResponse, error) {
out := new(GetMinerProofResponse)
err := c.cc.Invoke(ctx, "/witness.v1.witnessService/GetMinerProof", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *witnessServiceClient) GetProof(ctx context.Context, in *GetProofRequest, opts ...grpc.CallOption) (*GetProofResponse, error) {
out := new(GetProofResponse)
err := c.cc.Invoke(ctx, "/witness.v1.witnessService/GetProof", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *witnessServiceClient) GetWithdrawProof(ctx context.Context, in *GetWithdrawProofRequest, opts ...grpc.CallOption) (*GetWithdrawProofResponse, error) {
out := new(GetWithdrawProofResponse)
err := c.cc.Invoke(ctx, "/witness.v1.witnessService/GetWithdrawProof", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// WitnessServiceServer is the server API for WitnessService service.
// All implementations must embed UnimplementedWitnessServiceServer
// for forward compatibility
type WitnessServiceServer interface {
WitnessStatus(context.Context, *WitnessStatusRequest) (*WitnessStatusResponse, error)
PushProof(context.Context, *PushProofRequest) (*PushProofResponse, error)
GetMinerProof(context.Context, *GetMinerProofRequest) (*GetMinerProofResponse, error)
GetProof(context.Context, *GetProofRequest) (*GetProofResponse, error)
GetWithdrawProof(context.Context, *GetWithdrawProofRequest) (*GetWithdrawProofResponse, error)
mustEmbedUnimplementedWitnessServiceServer()
}
// UnimplementedWitnessServiceServer must be embedded to have forward compatible implementations.
type UnimplementedWitnessServiceServer struct {
}
func (UnimplementedWitnessServiceServer) WitnessStatus(context.Context, *WitnessStatusRequest) (*WitnessStatusResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method WitnessStatus not implemented")
}
func (UnimplementedWitnessServiceServer) PushProof(context.Context, *PushProofRequest) (*PushProofResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method PushProof not implemented")
}
func (UnimplementedWitnessServiceServer) GetMinerProof(context.Context, *GetMinerProofRequest) (*GetMinerProofResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetMinerProof not implemented")
}
func (UnimplementedWitnessServiceServer) GetProof(context.Context, *GetProofRequest) (*GetProofResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetProof not implemented")
}
func (UnimplementedWitnessServiceServer) GetWithdrawProof(context.Context, *GetWithdrawProofRequest) (*GetWithdrawProofResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetWithdrawProof not implemented")
}
func (UnimplementedWitnessServiceServer) mustEmbedUnimplementedWitnessServiceServer() {}
// UnsafeWitnessServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to WitnessServiceServer will
// result in compilation errors.
type UnsafeWitnessServiceServer interface {
mustEmbedUnimplementedWitnessServiceServer()
}
func RegisterWitnessServiceServer(s grpc.ServiceRegistrar, srv WitnessServiceServer) {
s.RegisterService(&WitnessService_ServiceDesc, srv)
}
func _WitnessService_WitnessStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(WitnessStatusRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WitnessServiceServer).WitnessStatus(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/witness.v1.witnessService/WitnessStatus",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WitnessServiceServer).WitnessStatus(ctx, req.(*WitnessStatusRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WitnessService_PushProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PushProofRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WitnessServiceServer).PushProof(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/witness.v1.witnessService/PushProof",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WitnessServiceServer).PushProof(ctx, req.(*PushProofRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WitnessService_GetMinerProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetMinerProofRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WitnessServiceServer).GetMinerProof(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/witness.v1.witnessService/GetMinerProof",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WitnessServiceServer).GetMinerProof(ctx, req.(*GetMinerProofRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WitnessService_GetProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetProofRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WitnessServiceServer).GetProof(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/witness.v1.witnessService/GetProof",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WitnessServiceServer).GetProof(ctx, req.(*GetProofRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WitnessService_GetWithdrawProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetWithdrawProofRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WitnessServiceServer).GetWithdrawProof(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/witness.v1.witnessService/GetWithdrawProof",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WitnessServiceServer).GetWithdrawProof(ctx, req.(*GetWithdrawProofRequest))
}
return interceptor(ctx, in, info, handler)
}
// WitnessService_ServiceDesc is the grpc.ServiceDesc for WitnessService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var WitnessService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "witness.v1.witnessService",
HandlerType: (*WitnessServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "WitnessStatus",
Handler: _WitnessService_WitnessStatus_Handler,
},
{
MethodName: "PushProof",
Handler: _WitnessService_PushProof_Handler,
},
{
MethodName: "GetMinerProof",
Handler: _WitnessService_GetMinerProof_Handler,
},
{
MethodName: "GetProof",
Handler: _WitnessService_GetProof_Handler,
},
{
MethodName: "GetWithdrawProof",
Handler: _WitnessService_GetWithdrawProof_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "witness/v1/service.proto",
}
syntax = "proto3";
package scheduler.v1;
package witness.v1;
import "google/protobuf/field_mask.proto";
import "google/protobuf/timestamp.proto";
import "scheduler/v1/resource.proto";
message witnessStatusRequest {
}
message witnessStatusResponse {
string witness_id = 1;
repeated string peers = 2;
}
message pushProofRequest {
uint64 workload = 1;
string task_id = 2;
string nm_signature = 3;
string container_signature = 4;
string miner_signature = 5;
}
message pushProofResponse {
uint64 workload = 1;
}
message getMinerProofRequest {
string ymd = 1;
string miner = 2;
}
message getMinerProofResponse {
uint64 workload = 1;
string amount = 2;
}
message getProofRequest {
string ymd = 1;
}
message getProofResponse {
uint64 workload = 1;
}
message getWithdrawProofRequest {
string address = 1;
}
message getWithdrawProofResponse {
string address = 1;
string amount = 2;
repeated string merkleProof = 3;
}
\ No newline at end of file
syntax = "proto3";
package scheduler.v1;
package witness.v1;
import "google/protobuf/empty.proto";
import "scheduler/v1/request_response.proto";
import "scheduler/v1/web3.proto";
import "base/v1/eth_blocks.proto";
import "witness/v1/request_response.proto";
service SchedulerService {
// block info service
rpc BlockNumber(google.protobuf.Empty) returns (HeightResponse) {};
rpc BlockTransactionCountByHash(BlockTransactionCountByHashRequest) returns (BlockTransactionCountByHashResponse) {};
// subscribe service
rpc SubscribeNewTx(google.protobuf.Empty) returns (stream SubscribeNewTxResponse) {}
service witnessService {
rpc WitnessStatus(witnessStatusRequest) returns (witnessStatusResponse) {}; // witness status
rpc PushProof(pushProofRequest) returns (pushProofResponse) {}; // miner push proof
rpc GetMinerProof(getMinerProofRequest) returns (getMinerProofResponse) {}; // proof of a miner per day
rpc GetProof(getProofRequest) returns (getProofResponse) {}; // proof per day
rpc GetWithdrawProof(getWithdrawProofRequest) returns (getWithdrawProofResponse) {}; // get merkle proof of withdraw token
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment