github.com/turingchain2020/turingchain@v1.1.21/types/proto/pbft.proto (about) 1 syntax = "proto3"; 2 3 import "blockchain.proto"; 4 package types; 5 option go_package = "github.com/turingchain2020/turingchain/types"; 6 7 message Operation { 8 Block value = 1; 9 } 10 11 message Checkpoint { 12 uint32 sequence = 1; 13 bytes digest = 2; 14 } 15 16 message Entry { 17 uint32 sequence = 1; 18 bytes digest = 2; 19 uint32 view = 3; 20 } 21 22 message ViewChange { 23 uint32 viewchanger = 1; 24 bytes digest = 2; 25 } 26 27 message Summary { 28 uint32 sequence = 1; 29 bytes digest = 2; 30 } 31 32 message Result { 33 Block value = 1; 34 } 35 36 // -------------------------------- // 37 38 message Request { 39 oneof value { 40 RequestClient client = 1; 41 RequestPrePrepare preprepare = 2; 42 RequestPrepare prepare = 3; 43 RequestCommit commit = 4; 44 RequestCheckpoint checkpoint = 5; 45 RequestViewChange viewchange = 6; 46 RequestAck ack = 7; 47 RequestNewView newview = 8; 48 } 49 } 50 51 message RequestClient { 52 Operation op = 1; 53 string timestamp = 2; 54 string client = 3; 55 } 56 57 message RequestPrePrepare { 58 uint32 view = 1; 59 uint32 sequence = 2; 60 bytes digest = 3; 61 uint32 replica = 4; 62 } 63 64 message RequestPrepare { 65 uint32 view = 1; 66 uint32 sequence = 2; 67 bytes digest = 3; 68 uint32 replica = 4; 69 } 70 71 message RequestCommit { 72 uint32 view = 1; 73 uint32 sequence = 2; 74 uint32 replica = 3; 75 } 76 77 message RequestCheckpoint { 78 uint32 sequence = 1; 79 bytes digest = 2; 80 uint32 replica = 3; 81 } 82 83 message RequestViewChange { 84 uint32 view = 1; 85 uint32 sequence = 2; 86 repeated Checkpoint checkpoints = 3; 87 repeated Entry preps = 4; 88 repeated Entry prepreps = 5; 89 uint32 replica = 6; 90 } 91 92 message RequestAck { 93 uint32 view = 1; 94 uint32 replica = 2; 95 uint32 viewchanger = 3; 96 bytes digest = 4; 97 } 98 99 message RequestNewView { 100 uint32 view = 1; 101 repeated ViewChange viewchanges = 2; 102 repeated Summary summaries = 4; 103 uint32 replica = 5; 104 } 105 106 message ClientReply { 107 uint32 view = 1; 108 string timestamp = 2; 109 string client = 3; 110 uint32 replica = 4; 111 Result result = 5; 112 }