Update naming

This commit is contained in:
Nex
2018-09-09 19:13:05 +08:00
parent fa403bc24e
commit cafc744da9
5 changed files with 49 additions and 47 deletions

View File

@@ -0,0 +1,82 @@
syntax = "proto3";
package bdchain.api;
import "bdchain/api/common.proto";
option go_package = "bdchain/api/protobuf/ac_chain";
option java_package = "bdchain.protobuf";
option java_outer_classname = "AccountingChainProto";
option java_multiple_files = true;
service AccountingChain {
rpc BlockNumber (BlockNumberRequest) returns (BlockNumberResponse);
rpc GetBlockByNumber (GetBlockByNumberRequest) returns (Block);
rpc GetBlockByHash (GetBlockByHashRequest) returns (Block);
rpc GetTransactionByHash (GetTransactionByHashRequest) returns (Block);
rpc GetTransactionByBlockNumberAndIndex (GetTransactionByBlockNumberAndIndexRequest) returns (Transaction);
rpc GetTransactionByBlockHashAndIndex (GetTransactionByBlockHashAndIndexRequest) returns (Transaction);
}
message Transaction {
uint64 block_number = 1; // 事务所在的区块的区块号,当事务处于待确认状态时为`null`
bytes block_hash = 2; // 事务所在的区块的哈希,当事务处于待确认状态时为`null`
uint32 index = 3; // 事务在区块中的位置index当事务处于待确认状态时为`null`
bytes hash = 4; // 事务的哈希
TransactionType 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 transactions_root = 7; // 区块的事务树根
repeated Transaction transactions = 8; // 事务对象的数组,或为空
repeated bytes transaction_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 GetBlockByHashRequest {
string ledger = 1;
bytes hash = 2;
bool full_transaction = 3;
}
message GetTransactionByHashRequest {
string ledger = 1;
bytes hash = 2;
}
message GetTransactionByBlockNumberAndIndexRequest {
string ledger = 1;
uint64 block_number = 2;
uint32 index = 3;
}
message GetTransactionByBlockHashAndIndexRequest {
string ledger = 1;
bytes block_hash = 2;
uint32 index = 3;
}

16
bdchain/api/common.proto Normal file
View File

@@ -0,0 +1,16 @@
syntax = "proto3";
package bdchain.api;
option go_package = "bdchain/api/protobuf/common";
option java_package = "bdchain.protobuf";
option java_outer_classname = "CommonProto";
option java_multiple_files = true;
/* 事务类型 */
enum TransactionType {
RECORD = 0; // 通用数据记录
MESSAGE = 1; // 消息
CONTRACT_CREATION = 2; // 合约创建
CONTRACT_INVOCATION = 3; // 合约调用
}

View File

@@ -0,0 +1,42 @@
syntax = "proto3";
package bdchain.api;
import "google/protobuf/empty.proto";
import "bdchain/api/common.proto";
option go_package = "bdchain/api/protobuf/tx_ledger";
option java_package = "bdchain.protobuf";
option java_outer_classname = "TransactionLedgerProto";
option java_multiple_files = true;
service TransactionLedger {
rpc CreateLedger (CreateLedgerRequest) returns (CreateLedgerResponse);
rpc GetLedgers (google.protobuf.Empty) returns (GetLedgersResponse);
rpc SendTransaction (SendTransactionRequest) returns (SendTransactionResponse);
}
message CreateLedgerRequest {
string name = 1;
}
message CreateLedgerResponse {
bool ok = 1;
}
message GetLedgersResponse {
repeated string ledgers = 1;
}
message SendTransactionRequest {
string ledger = 1;
message Transaction {
TransactionType type = 1;
bytes from = 2;
bytes to = 3;
bytes data = 4;
}
Transaction transaction = 2;
}
message SendTransactionResponse {
bytes hash = 1;
}