quorum_sdk 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +23 -17
- data/lib/proto/chain.proto +169 -234
- data/lib/proto/chain_pb.rb +123 -193
- data/lib/quorum_sdk/account.rb +0 -2
- data/lib/quorum_sdk/chain/chain.rb +18 -0
- data/lib/quorum_sdk/{api → chain}/group.rb +31 -1
- data/lib/quorum_sdk/{api → chain}/management.rb +19 -4
- data/lib/quorum_sdk/chain/node.rb +18 -0
- data/lib/quorum_sdk/chain.rb +26 -0
- data/lib/quorum_sdk/client.rb +20 -11
- data/lib/quorum_sdk/node/announce.rb +52 -0
- data/lib/quorum_sdk/node/app_config.rb +25 -0
- data/lib/quorum_sdk/node/auth.rb +32 -0
- data/lib/quorum_sdk/node/group.rb +32 -0
- data/lib/quorum_sdk/node/trx.rb +78 -0
- data/lib/quorum_sdk/node.rb +44 -0
- data/lib/quorum_sdk/utils.rb +40 -15
- data/lib/quorum_sdk/version.rb +1 -1
- data/lib/quorum_sdk.rb +2 -4
- metadata +13 -9
- data/lib/proto/activity_stream.proto +0 -134
- data/lib/proto/activity_stream_pb.rb +0 -146
- data/lib/quorum_sdk/api/chain.rb +0 -26
- data/lib/quorum_sdk/api/light_node.rb +0 -84
- data/lib/quorum_sdk/api.rb +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 245e92c9c15874d6bb256ed440cd35022e5957d5b8ab29e259a53d4453df1a0e
|
4
|
+
data.tar.gz: 1c2fc0cb78d949eafc39b25f7d5f8c74b8c2ca48cf1b7fc035cfb64ad6cef92e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93a857d4eb6197c52b83447640c146d9818723eebdc8102552e5140fc32c939316c6c0f546bf203d4e0d5dd458be37d2a0afef957d1fd2d74b8fe71bec5d4ef6
|
7
|
+
data.tar.gz: c48771075369a6b8d27c7ddc04a9593fe782a4a1189c069271535a8d5d2830d4c64f25604a0530fb84b415840625bfec73df30c5332c9aa4e0990508b7cfc810
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -10,21 +10,13 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
10
10
|
|
11
11
|
$ gem install quorum_sdk
|
12
12
|
|
13
|
-
## Usage
|
13
|
+
## LightNode Usage
|
14
14
|
|
15
15
|
### Initilize
|
16
16
|
|
17
17
|
```ruby
|
18
18
|
# Initilize by seed url
|
19
|
-
|
20
|
-
|
21
|
-
# Initilize by config
|
22
|
-
rum = QuorumSdk::API.new(
|
23
|
-
gropu_id: '',
|
24
|
-
gropu_name: '',
|
25
|
-
cipher_key: '',
|
26
|
-
chain_urls: ['', '']
|
27
|
-
)
|
19
|
+
node = QuorumSdk::Node.new seed: "rum://...."
|
28
20
|
```
|
29
21
|
|
30
22
|
### Send a trx
|
@@ -44,10 +36,10 @@ account = QuorumSdk::Account.new
|
|
44
36
|
# account = QuorumSdk::Account.new priv: private_key
|
45
37
|
|
46
38
|
# build trx
|
47
|
-
trx =
|
39
|
+
trx = node.build_trx data: msg, private_key: account.private_hex
|
48
40
|
|
49
41
|
# push trx to chain
|
50
|
-
|
42
|
+
node.send_trx trx
|
51
43
|
# output: { trx_id: '...' }
|
52
44
|
|
53
45
|
```
|
@@ -69,18 +61,32 @@ activity = { type: 'Create', object: note }
|
|
69
61
|
trx = rum.build_trx data: activity, private_key: account.private_hex
|
70
62
|
|
71
63
|
# push trx to chain
|
72
|
-
|
64
|
+
node.send_trx trx
|
73
65
|
# output: { trx_id: '...' }
|
74
66
|
|
75
|
-
# list Trx on chain
|
76
|
-
|
67
|
+
# list Trx in the group on chain
|
68
|
+
node.list_trx
|
77
69
|
# output: [{ trx_id: '...', Data: { type: 'Create', object: { type: 'Note', name: 'A title', content: 'Something awesome' }}}]
|
78
70
|
|
79
71
|
```
|
80
72
|
|
81
|
-
|
73
|
+
## FullNode Usage
|
82
74
|
|
83
|
-
|
75
|
+
### Initilize
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
chain = QuorumSdk::Chain.new chain_url: 'http://127.0.0.1:8002', jwt: ''
|
79
|
+
|
80
|
+
# list joined groups
|
81
|
+
chain.groups
|
82
|
+
|
83
|
+
# network
|
84
|
+
chain.network
|
85
|
+
```
|
86
|
+
|
87
|
+
## Proto
|
88
|
+
|
89
|
+
Check all available proto types in [chain_pb.rb](./lib/proto/chain_pb.rb).
|
84
90
|
|
85
91
|
## Development
|
86
92
|
|
data/lib/proto/chain.proto
CHANGED
@@ -5,10 +5,9 @@ package quorum.pb;
|
|
5
5
|
option go_package = "github.com/rumsystem/quorum/pkg/pb";
|
6
6
|
|
7
7
|
enum PackageType {
|
8
|
-
TRX
|
9
|
-
BLOCK
|
10
|
-
|
11
|
-
HBB = 3;
|
8
|
+
TRX = 0;
|
9
|
+
BLOCK = 1;
|
10
|
+
HBB = 2;
|
12
11
|
}
|
13
12
|
|
14
13
|
message Package {
|
@@ -16,27 +15,9 @@ message Package {
|
|
16
15
|
bytes Data = 2;
|
17
16
|
}
|
18
17
|
|
19
|
-
enum TrxType {
|
20
|
-
POST = 0; // post to group
|
21
|
-
SCHEMA = 2; // group schema
|
22
|
-
PRODUCER = 3; // update group producer
|
23
|
-
ANNOUNCE = 4; // self announce, producer or user)
|
24
|
-
REQ_BLOCK_FORWARD = 5; // request next block
|
25
|
-
REQ_BLOCK_BACKWARD = 6; // request previous block
|
26
|
-
REQ_BLOCK_RESP = 7; // response request next block
|
27
|
-
BLOCK_SYNCED = 8; // block for producer to sync (old block)
|
28
|
-
BLOCK_PRODUCED = 9; // block for producer to merge (newly produced block)
|
29
|
-
USER = 10; // update group user
|
30
|
-
ASK_PEERID = 11; // ask owner/producer peerid
|
31
|
-
ASK_PEERID_RESP = 12; // response ask peerid
|
32
|
-
CHAIN_CONFIG = 13; // predefined chain configuration
|
33
|
-
APP_CONFIG = 14; // group app customized configuration
|
34
|
-
}
|
35
|
-
|
36
18
|
enum AnnounceType {
|
37
19
|
AS_USER = 0;
|
38
20
|
AS_PRODUCER = 1;
|
39
|
-
AS_USER_ENCRYPT = 2;
|
40
21
|
}
|
41
22
|
|
42
23
|
enum ApproveType {
|
@@ -55,129 +36,78 @@ enum TrxStroageType {
|
|
55
36
|
CACHE = 1;
|
56
37
|
}
|
57
38
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
int64 Nonce = 9;
|
68
|
-
string SenderPubkey = 10;
|
69
|
-
bytes SenderSign = 11;
|
70
|
-
TrxStroageType StorageType = 12;
|
71
|
-
}
|
72
|
-
|
73
|
-
message Block {
|
74
|
-
string BlockId = 1;
|
75
|
-
string GroupId = 2;
|
76
|
-
string PrevBlockId = 3;
|
77
|
-
bytes PreviousHash = 4;
|
78
|
-
repeated Trx Trxs = 5;
|
79
|
-
string ProducerPubKey = 6;
|
80
|
-
bytes Hash = 7;
|
81
|
-
bytes Signature = 8;
|
82
|
-
int64 TimeStamp = 9;
|
83
|
-
}
|
84
|
-
|
85
|
-
message Snapshot {
|
86
|
-
string SnapshotId = 1;
|
87
|
-
string SnapshotPackageId = 2;
|
88
|
-
int64 TotalCount = 3;
|
89
|
-
string GroupId = 4;
|
90
|
-
int64 Nonce = 5;
|
91
|
-
repeated SnapshotItem SnapshotItems = 6;
|
92
|
-
string SenderPubkey = 7;
|
93
|
-
bytes Singature = 8;
|
94
|
-
int64 TimeStamp = 9;
|
95
|
-
int64 HighestHeight = 10;
|
96
|
-
string HighestBlockId = 11;
|
97
|
-
bytes ItemsHash = 12;
|
98
|
-
}
|
99
|
-
|
100
|
-
message SnapshotItem {
|
101
|
-
string SnapshotItemId = 1;
|
102
|
-
SnapShotItemType Type = 2;
|
103
|
-
bytes Data = 3;
|
104
|
-
}
|
105
|
-
|
106
|
-
enum SnapShotItemType {
|
107
|
-
SNAPSHOT_APP_CONFIG = 0; //app_config item
|
108
|
-
SNAPSHOT_CHAIN_CONFIG = 1; //chain_config item
|
109
|
-
SNAPSHOT_PRODUCER = 2; //producer item
|
110
|
-
SNAPSHOT_USER = 3; //user item
|
111
|
-
SNAPSHOT_ANNOUNCE = 4; //announce item
|
112
|
-
}
|
113
|
-
|
114
|
-
message SnapShotTag {
|
115
|
-
int64 TimeStamp = 1;
|
116
|
-
int64 HighestHeight = 2;
|
117
|
-
string HighestBlockId = 3;
|
118
|
-
bytes ItemsHash = 4;
|
119
|
-
int64 Nonce = 5;
|
120
|
-
string SnapshotPackageId = 6;
|
121
|
-
string SenderPubkey = 7;
|
122
|
-
}
|
123
|
-
|
124
|
-
message BlockDbChunk {
|
125
|
-
string BlockId = 1;
|
126
|
-
Block BlockItem = 2;
|
127
|
-
string ParentBlockId = 3;
|
128
|
-
repeated string SubBlockId = 4;
|
129
|
-
int64 Height = 6;
|
130
|
-
}
|
131
|
-
|
132
|
-
message ReqBlock {
|
133
|
-
string BlockId = 1; //block id
|
134
|
-
string GroupId = 2; //group id
|
135
|
-
string UserId = 3; //requester
|
136
|
-
}
|
137
|
-
|
138
|
-
message BlockSynced {
|
139
|
-
Block BlockItem = 1;
|
39
|
+
enum TrxType {
|
40
|
+
POST = 0; // post to group
|
41
|
+
ANNOUNCE = 1; // producer or user self announce
|
42
|
+
PRODUCER = 2; // owner update group producer
|
43
|
+
USER = 3; // owner update group user
|
44
|
+
REQ_BLOCK = 4; // request block
|
45
|
+
REQ_BLOCK_RESP = 5; // response request block
|
46
|
+
CHAIN_CONFIG = 6; // chain configuration
|
47
|
+
APP_CONFIG = 7; // app configuration
|
140
48
|
}
|
141
49
|
|
142
|
-
message
|
143
|
-
string
|
144
|
-
|
145
|
-
string
|
146
|
-
|
147
|
-
|
50
|
+
message Trx {
|
51
|
+
string TrxId = 1;
|
52
|
+
TrxType Type = 2;
|
53
|
+
string GroupId = 3;
|
54
|
+
bytes Data = 4;
|
55
|
+
int64 TimeStamp = 5;
|
56
|
+
string Version = 6;
|
57
|
+
int64 Expired = 7;
|
58
|
+
int64 ResendCount = 8;
|
59
|
+
string SenderPubkey = 10;
|
60
|
+
bytes SenderSign = 11;
|
61
|
+
TrxStroageType StorageType = 12;
|
62
|
+
reserved 9;
|
63
|
+
}
|
64
|
+
|
65
|
+
message Block {
|
66
|
+
string GroupId = 1;
|
67
|
+
uint64 BlockId = 2;
|
68
|
+
uint64 Epoch = 3;
|
69
|
+
bytes PrevHash = 4;
|
70
|
+
string ProducerPubkey = 5;
|
71
|
+
repeated Trx Trxs = 6;
|
72
|
+
bool Sudo = 7;
|
73
|
+
int64 TimeStamp = 8;
|
74
|
+
bytes BlockHash = 9;
|
75
|
+
bytes ProducerSign = 10;
|
148
76
|
}
|
149
77
|
|
150
|
-
message
|
151
|
-
string GroupId
|
152
|
-
|
153
|
-
|
154
|
-
string
|
155
|
-
bool IsDirectConnected = 5;
|
78
|
+
message ReqBlock {
|
79
|
+
string GroupId = 1; //group id
|
80
|
+
uint64 FromBlock = 2; //from which block
|
81
|
+
int32 BlksRequested = 3; //how many blocks requested, "-1" means many as possible
|
82
|
+
string ReqPubkey = 4; //requester pubkey
|
156
83
|
}
|
157
84
|
|
158
|
-
message
|
159
|
-
Block
|
85
|
+
message BlocksBundle {
|
86
|
+
repeated Block Blocks = 1;
|
160
87
|
}
|
161
88
|
|
162
89
|
enum ReqBlkResult {
|
163
|
-
|
164
|
-
|
90
|
+
BLOCK_IN_RESP = 0; //"block(s) in resp and I may have more"
|
91
|
+
BLOCK_IN_RESP_ON_TOP = 1; //"block(s) in resp and I have no more block(when get req)"
|
92
|
+
BLOCK_NOT_FOUND = 2; //"no block in resp and I don't have the requested block"
|
165
93
|
}
|
166
94
|
|
167
95
|
message ReqBlockResp {
|
168
|
-
|
169
|
-
string
|
170
|
-
string
|
171
|
-
|
172
|
-
|
173
|
-
|
96
|
+
string GroupId = 1;
|
97
|
+
string RequesterPubkey = 2;
|
98
|
+
string ProviderPubkey = 3;
|
99
|
+
ReqBlkResult Result = 4;
|
100
|
+
uint64 FromBlock = 5;
|
101
|
+
int32 BlksRequested = 6;
|
102
|
+
int32 BlksProvided = 7;
|
103
|
+
BlocksBundle Blocks = 8;
|
174
104
|
}
|
175
105
|
|
176
106
|
message PostItem {
|
177
|
-
string TrxId
|
178
|
-
string
|
179
|
-
bytes Content
|
180
|
-
int64 TimeStamp
|
107
|
+
string TrxId = 1;
|
108
|
+
string SenderPubkey = 2;
|
109
|
+
bytes Content = 3;
|
110
|
+
int64 TimeStamp = 4;
|
181
111
|
}
|
182
112
|
|
183
113
|
message ProducerItem {
|
@@ -185,12 +115,16 @@ message ProducerItem {
|
|
185
115
|
string ProducerPubkey = 2;
|
186
116
|
string GroupOwnerPubkey = 3;
|
187
117
|
string GroupOwnerSign = 4;
|
188
|
-
|
189
|
-
|
190
|
-
int64
|
118
|
+
ActionType Action = 5;
|
119
|
+
int64 WithnessBlocks = 6;
|
120
|
+
int64 TimeStamp = 7;
|
191
121
|
string Memo = 8;
|
192
122
|
}
|
193
123
|
|
124
|
+
message BFTProducerBundleItem {
|
125
|
+
repeated ProducerItem Producers = 1;
|
126
|
+
}
|
127
|
+
|
194
128
|
message UserItem {
|
195
129
|
string GroupId = 1;
|
196
130
|
string UserPubkey = 2;
|
@@ -216,40 +150,28 @@ message AnnounceItem {
|
|
216
150
|
string Memo = 11;
|
217
151
|
}
|
218
152
|
|
219
|
-
message SchemaItem {
|
220
|
-
string GroupId = 1;
|
221
|
-
string GroupOwnerPubkey = 2;
|
222
|
-
string GroupOwnerSign = 3;
|
223
|
-
string Type = 4;
|
224
|
-
string Rule = 5;
|
225
|
-
int64 TimeStamp = 6;
|
226
|
-
ActionType Action = 7;
|
227
|
-
}
|
228
|
-
|
229
153
|
enum GroupEncryptType {
|
230
|
-
PUBLIC = 0;
|
231
|
-
PRIVATE = 1;
|
154
|
+
PUBLIC = 0;
|
155
|
+
PRIVATE = 1;
|
232
156
|
}
|
233
157
|
|
234
158
|
enum GroupConsenseType {
|
235
|
-
POA = 0;
|
159
|
+
POA = 0;
|
236
160
|
POS = 1;
|
237
161
|
}
|
238
162
|
|
239
163
|
message GroupItem {
|
240
|
-
string
|
241
|
-
string
|
242
|
-
string
|
243
|
-
string
|
244
|
-
string
|
245
|
-
int64
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
string CipherKey = 12;
|
252
|
-
string AppKey = 13;
|
164
|
+
string GroupId = 1;
|
165
|
+
string GroupName = 2;
|
166
|
+
string OwnerPubKey = 3;
|
167
|
+
string UserSignPubkey = 4;
|
168
|
+
string UserEncryptPubkey = 5;
|
169
|
+
int64 LastUpdate = 6;
|
170
|
+
Block GenesisBlock = 7;
|
171
|
+
GroupEncryptType EncryptType = 8;
|
172
|
+
GroupConsenseType ConsenseType = 9;
|
173
|
+
string CipherKey = 10;
|
174
|
+
string AppKey = 11;
|
253
175
|
}
|
254
176
|
|
255
177
|
enum RoleV0 {
|
@@ -294,23 +216,6 @@ message SetTrxAuthModeItem {
|
|
294
216
|
TrxAuthMode Mode = 2;
|
295
217
|
}
|
296
218
|
|
297
|
-
message GroupItemV0 {
|
298
|
-
string GroupId = 1;
|
299
|
-
string GroupName = 2;
|
300
|
-
string OwnerPubKey = 3;
|
301
|
-
string UserSignPubkey = 4;
|
302
|
-
string UserEncryptPubkey = 5;
|
303
|
-
RoleV0 UserRole = 6;
|
304
|
-
int64 LastUpdate = 7;
|
305
|
-
int64 HighestHeight = 8;
|
306
|
-
string HighestBlockId = 9;
|
307
|
-
Block GenesisBlock = 10;
|
308
|
-
GroupEncryptType EncryptType = 11;
|
309
|
-
GroupConsenseType ConsenseType = 12;
|
310
|
-
string CipherKey = 13;
|
311
|
-
string AppKey = 14;
|
312
|
-
}
|
313
|
-
|
314
219
|
enum AppConfigType {
|
315
220
|
INT = 0;
|
316
221
|
BOOL = 1;
|
@@ -329,93 +234,123 @@ message AppConfigItem{
|
|
329
234
|
int64 TimeStamp = 9;
|
330
235
|
}
|
331
236
|
|
332
|
-
message PSPing {
|
333
|
-
int32 Seqnum = 1;
|
334
|
-
bool IsResp = 2;
|
335
|
-
int64 TimeStamp = 3;
|
336
|
-
bytes Payload = 4;
|
337
|
-
}
|
338
|
-
|
339
237
|
message GroupSeed {
|
340
|
-
Block GenesisBlock
|
341
|
-
string GroupId
|
342
|
-
string GroupName
|
343
|
-
string OwnerPubkey
|
238
|
+
Block GenesisBlock = 1;
|
239
|
+
string GroupId = 2;
|
240
|
+
string GroupName = 3;
|
241
|
+
string OwnerPubkey = 4;
|
344
242
|
string ConsensusType = 5;
|
345
243
|
string EncryptionType = 6;
|
346
|
-
string CipherKey
|
347
|
-
string AppKey
|
348
|
-
string Signature
|
244
|
+
string CipherKey = 7;
|
245
|
+
string AppKey = 8;
|
246
|
+
string Signature = 9;
|
349
247
|
}
|
350
248
|
|
351
249
|
message NodeSDKGroupItem {
|
352
|
-
GroupItem Group
|
353
|
-
string
|
354
|
-
string
|
355
|
-
repeated
|
356
|
-
string
|
250
|
+
GroupItem Group = 1;
|
251
|
+
string EncryptAlias = 2;
|
252
|
+
string SignAlias = 3;
|
253
|
+
repeated string ApiUrl = 4;
|
254
|
+
string GroupSeed = 5;
|
357
255
|
}
|
358
256
|
|
359
|
-
|
360
|
-
|
361
|
-
|
257
|
+
message HBTrxBundle {
|
258
|
+
repeated Trx Trxs = 1;
|
259
|
+
}
|
260
|
+
|
261
|
+
message HBMsgv1 {
|
262
|
+
string MsgId = 1;
|
263
|
+
uint64 Epoch = 2;
|
264
|
+
HBMsgPayloadType PayloadType = 3; // RBC or BBA
|
265
|
+
bytes Payload = 4;
|
362
266
|
}
|
363
267
|
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
bytes Payload = 3;
|
268
|
+
enum HBMsgPayloadType {
|
269
|
+
RBC = 0;
|
270
|
+
BBA = 1;
|
368
271
|
}
|
369
272
|
|
370
|
-
|
371
|
-
|
372
|
-
|
273
|
+
// RBC
|
274
|
+
message RBCMsg {
|
275
|
+
RBCMsgType Type = 1; //INIT_PROPOSE / PROOF / READY
|
276
|
+
bytes Payload = 2;
|
373
277
|
}
|
374
278
|
|
375
|
-
|
376
|
-
|
279
|
+
enum RBCMsgType {
|
280
|
+
INIT_PROPOSE = 0;
|
281
|
+
ECHO = 1;
|
282
|
+
READY = 2;
|
377
283
|
}
|
378
284
|
|
379
|
-
message
|
380
|
-
|
381
|
-
|
382
|
-
int64
|
383
|
-
|
285
|
+
message InitPropose {
|
286
|
+
bytes RootHash = 1;
|
287
|
+
repeated bytes Proof = 2;
|
288
|
+
int64 Index = 3;
|
289
|
+
int64 Leaves = 4;
|
290
|
+
int64 OriginalDataSize = 5;
|
291
|
+
string RecvNodePubkey = 6; //producer which should handle this ecc data shard
|
292
|
+
string ProposerPubkey = 7; //producer which make this propose (part of ecc shards)
|
293
|
+
bytes ProposerSign = 8; //signature of producer made this propose
|
384
294
|
}
|
385
295
|
|
386
|
-
message
|
387
|
-
bytes RootHash
|
388
|
-
repeated bytes Proof
|
389
|
-
int64 Index
|
390
|
-
int64 Leaves
|
391
|
-
|
392
|
-
|
296
|
+
message Echo {
|
297
|
+
bytes RootHash = 1;
|
298
|
+
repeated bytes Proof = 2;
|
299
|
+
int64 Index = 3;
|
300
|
+
int64 Leaves = 4;
|
301
|
+
int64 OriginalDataSize = 5;
|
302
|
+
string OriginalProposerPubkey = 6; //producer make this original input
|
303
|
+
string EchoProviderPubkey = 7; //producer which broadcast this Echo
|
304
|
+
bytes EchoProviderSign = 8; //signature of producer broadcast this Echo
|
393
305
|
}
|
394
306
|
|
395
307
|
message Ready {
|
396
|
-
bytes
|
397
|
-
|
398
|
-
|
399
|
-
bytes
|
308
|
+
bytes RootHash = 1;
|
309
|
+
string OriginalProposerPubkey = 2;
|
310
|
+
string ReadyProviderPubkey = 3;
|
311
|
+
bytes ReadyProviderSign = 4;
|
400
312
|
}
|
401
313
|
|
402
|
-
|
403
|
-
|
404
|
-
|
314
|
+
// BBA
|
315
|
+
message BBAMsg {
|
316
|
+
BBAMsgType Type = 1; //BVAL or AUX
|
317
|
+
bytes Payload = 2;
|
405
318
|
}
|
406
319
|
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
string SenderId = 3;
|
411
|
-
int64 Epoch = 4;
|
412
|
-
bytes Payload = 5;
|
320
|
+
enum BBAMsgType {
|
321
|
+
BVAL = 0;
|
322
|
+
AUX = 1;
|
413
323
|
}
|
414
324
|
|
415
325
|
message Bval {
|
416
|
-
|
326
|
+
string ProposerId = 1;
|
327
|
+
string SenderPubkey = 2;
|
328
|
+
int64 Epoch = 3;
|
329
|
+
bool Value = 4;
|
417
330
|
}
|
418
331
|
|
419
332
|
message Aux {
|
420
|
-
|
333
|
+
string ProposerId = 1;
|
334
|
+
string SenderPubkey = 2;
|
335
|
+
uint64 Epoch = 3;
|
336
|
+
bool Value = 4;
|
421
337
|
}
|
338
|
+
|
339
|
+
//old proto msg
|
340
|
+
message GroupItemV0 {
|
341
|
+
string GroupId = 1;
|
342
|
+
string GroupName = 2;
|
343
|
+
string OwnerPubKey = 3;
|
344
|
+
string UserSignPubkey = 4;
|
345
|
+
string UserEncryptPubkey = 5;
|
346
|
+
RoleV0 UserRole = 6;
|
347
|
+
int64 LastUpdate = 7;
|
348
|
+
int64 HighestHeight = 8;
|
349
|
+
string HighestBlockId = 9;
|
350
|
+
Block GenesisBlock = 10;
|
351
|
+
GroupEncryptType EncryptType = 11;
|
352
|
+
GroupConsenseType ConsenseType = 12;
|
353
|
+
string CipherKey = 13;
|
354
|
+
string AppKey = 14;
|
355
|
+
}
|
356
|
+
|