Update proto files and scripts

This commit is contained in:
Nex 2018-09-06 18:36:06 +08:00
parent 96b2879d77
commit 42f14bef5f
5 changed files with 141 additions and 0 deletions

91
ac_chain.proto Normal file
View File

@ -0,0 +1,91 @@
syntax = "proto3";
package api;
import "common.proto";
service AcChain {
rpc BlockNumber (BlockNumberRequest) returns (BlockNumberResponse);
rpc GetBlockByNumber (GetBlockByNumberRequest) returns (GetBlockByNumberResponse);
rpc GetBlockByHash (GetBlockByHashRequest) returns (GetBlockByHashResponse);
rpc GetMessageByHash (GetMessageByHashRequest) returns (GetMessageByHashResponse);
rpc GetMessageByBlockNumberAndIndex (GetMessageByBlockNumberAndIndexRequest) returns (GetMessageByBlockNumberAndIndexResponse);
rpc GetMessageByBlockHashAndIndex (GetMessageByBlockHashAndIndexRequest) returns (GetMessageByBlockHashAndIndexResponse);
}
message Message {
uint64 block_number = 1; // `null`
bytes block_hash = 2; // `null`
uint32 index = 3; // index`null`
bytes hash = 4; //
MessageType type = 5; //
bytes from = 6; //
uint64 nonce = 7; //
bytes to = 8; // `null`
bytes data = 9; //
bytes v = 10; // ECDSA recovery id
bytes r = 11; // ECDSA signature r
bytes s = 12; // ECDSA signature s
}
message Block {
uint64 number = 1; // `null`
bytes hash = 2; // `null`
bytes parent_hash = 3; //
bytes witness = 4; //
uint64 timestamp = 5; // UNIX时间戳
uint64 size = 6; //
bytes message_root = 7; //
repeated Message messages = 8; //
repeated bytes message_hashes = 9; // 32
}
message BlockNumberRequest {
string ledger = 1;
}
message BlockNumberResponse {
uint64 block_number = 1;
}
message GetBlockByNumberRequest {
string ledger = 1;
uint64 number = 2;
bool full_transaction = 3;
}
message GetBlockByNumberResponse {
Block block = 1;
}
message GetBlockByHashRequest {
string ledger = 1;
bytes hash = 2;
bool full_transaction = 3;
}
message GetBlockByHashResponse {
Block block = 1;
}
message GetMessageByHashRequest {
string ledger = 1;
bytes hash = 2;
}
message GetMessageByHashResponse {
Message message = 1;
}
message GetMessageByBlockNumberAndIndexRequest {
string ledger = 1;
uint64 block_number = 2;
uint32 index = 3;
}
message GetMessageByBlockNumberAndIndexResponse {
Message message = 1;
}
message GetMessageByBlockHashAndIndexRequest {
string ledger = 1;
bytes block_hash = 2;
uint32 index = 3;
}
message GetMessageByBlockHashAndIndexResponse {
Message message = 1;
}

9
common.proto Normal file
View File

@ -0,0 +1,9 @@
syntax = "proto3";
package api;
enum MessageType {
RECORD = 0; //
TRANSACTION = 1; //
CONTRACT_CREATION = 2; //
CONTRACT_INVOCATION = 3; //
}

2
gen.bat Normal file
View File

@ -0,0 +1,2 @@
mkdir go
protoc -I=. --go_out=go tx_ledger.proto ac_chain.proto

2
gen.sh Normal file
View File

@ -0,0 +1,2 @@
mkdir go
protoc -I=. --go_out=go tx_ledger.proto ac_chain.proto

37
tx_ledger.proto Normal file
View File

@ -0,0 +1,37 @@
syntax = "proto3";
package api;
import "common.proto";
service TxLedger {
rpc CreateLedger (CreateLedgerRequest) returns (CreateLedgerResponse);
rpc GetLedgers (GetLedgersRequest) returns (GetLedgersResponse);
rpc SendMessage (SendMessageRequest) returns (SendMessageResponse);
}
message CreateLedgerRequest {
string name = 1;
}
message CreateLedgerResponse {
bool ok = 1;
}
message GetLedgersRequest {
}
message GetLedgersResponse {
repeated string ledgers = 1;
}
message SendMessageRequest {
string ledger = 1;
message Message {
MessageType type = 1;
bytes from = 2;
bytes to = 3;
bytes data = 4;
}
Message message = 2;
}
message SendMessageResponse {
bytes hash = 1;
}