diff --git a/documentation.swagger.json b/documentation.swagger.json index d60905e..6bcc0ac 100644 --- a/documentation.swagger.json +++ b/documentation.swagger.json @@ -366,32 +366,28 @@ } } }, - "/v1/nodeadmin/getProofOfOwnership": { + "/v1/nodeadmin/generateNodeKey": { "get": { "tags": [ "NodeAdminService" ], - "operationId": "GetProofOfOwnership", - "parameters": [ - { - "type": "string", - "description": "Account Address.", - "name": "AccountAddress", - "in": "query" - }, - { - "type": "string", - "format": "int64", - "name": "Timestamp", - "in": "query" - }, - { - "type": "string", - "format": "byte", - "name": "Signature", - "in": "query" + "operationId": "GenerateNodeKey", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/modelGenerateNodeKeyResponse" + } } + } + } + }, + "/v1/nodeadmin/getProofOfOwnership": { + "get": { + "tags": [ + "NodeAdminService" ], + "operationId": "GetProofOfOwnership", "responses": { "200": { "description": "A successful response.", @@ -682,6 +678,15 @@ "modelEmptyTransactionBody": { "type": "object" }, + "modelGenerateNodeKeyResponse": { + "type": "object", + "properties": { + "NodePublicKey": { + "type": "string", + "format": "byte" + } + } + }, "modelGetAccountBalanceResponse": { "type": "object", "properties": { @@ -1392,5 +1397,19 @@ } } } + }, + "x-stream-definitions": { + "modelGetNodeHardwareResponse": { + "properties": { + "error": { + "$ref": "#/definitions/runtimeStreamError" + }, + "result": { + "$ref": "#/definitions/modelGetNodeHardwareResponse" + } + }, + "title": "Stream result of modelGetNodeHardwareResponse", + "type": "object" + } } } diff --git a/model/auth.proto b/model/auth.proto index bd81645..f571c17 100644 --- a/model/auth.proto +++ b/model/auth.proto @@ -7,4 +7,6 @@ option go_package = "github.com/zoobc/zoobc-core/common/model"; // RequestType used to sign a node administration request enum RequestType { GetNodeHardware = 0; + GetProofOfOwnership = 1; + GeneratetNodeKey = 2; } diff --git a/model/node.proto b/model/node.proto index d545419..f7b9989 100644 --- a/model/node.proto +++ b/model/node.proto @@ -10,3 +10,15 @@ message Node { string Address = 2; uint32 Port = 3; } + +message NodeKey { + int64 ID = 1; + bytes PublicKey = 2; + string Seed = 3; +} + +message GenerateNodeKeyRequest {} + +message GenerateNodeKeyResponse { + bytes NodePublicKey = 1; +} diff --git a/model/proofOfOwnership.proto b/model/proofOfOwnership.proto index 188a346..421d504 100644 --- a/model/proofOfOwnership.proto +++ b/model/proofOfOwnership.proto @@ -15,9 +15,4 @@ message ProofOfOwnershipMessage { uint32 BlockHeight = 3; } -message GetProofOfOwnershipRequest { - // Account Address - string AccountAddress = 1; - int64 Timestamp = 2; - bytes Signature = 3; -} +message GetProofOfOwnershipRequest {} diff --git a/service/proofOfOwnership.proto b/service/nodeAdmin.proto similarity index 66% rename from service/proofOfOwnership.proto rename to service/nodeAdmin.proto index e5b1145..31eb141 100644 --- a/service/proofOfOwnership.proto +++ b/service/nodeAdmin.proto @@ -5,6 +5,7 @@ package service; option go_package = "github.com/zoobc/zoobc-core/common/service"; import "model/proofOfOwnership.proto"; +import "model/node.proto"; import "google/api/annotations.proto"; // Generate ProofOfOwnership @@ -14,4 +15,9 @@ service NodeAdminService { get: "/v1/nodeadmin/getProofOfOwnership" }; } + rpc GenerateNodeKey(model.GenerateNodeKeyRequest) returns (model.GenerateNodeKeyResponse) { + option (google.api.http) = { + get: "/v1/nodeadmin/generateNodeKey" + }; + } }