44 "crypto/sha256"
55 "encoding/base64"
66 "fmt"
7+ "time"
78
89 "github.com/hyperledger/fabric-protos-go/common"
910 "github.com/hyperledger/fabric/common/policies"
@@ -72,9 +73,9 @@ func (p *TlePeer) UpdateState(block *common.Block) error {
7273 for tIdx := range block .Data .Data {
7374 // TODO: continue if current txn is invalid.
7475 txsfltr := ValidationFlags (block .Metadata .Metadata [common .BlockMetadataIndex_TRANSACTIONS_FILTER ])
75- fmt .Printf ("blockNum %d, tIdx: %d, validationCode: %v\n " , tIdx , block .Header .Number , txsfltr .Flag (tIdx ))
76+ // fmt.Printf("blockNum %d, tIdx: %d, validationCode: %v\n", block.Header.Number, tIdx , txsfltr.Flag(tIdx))
7677 if txsfltr .IsInvalid (tIdx ) {
77- fmt .Println ( "The current txn is not valid!" )
78+ fmt .Printf ( "blockNum %d, tIdx: %d, validationCode: %v, current txn is not valid!\n " , block . Header . Number , tIdx , txsfltr . Flag ( tIdx ) )
7879 continue
7980 }
8081
@@ -91,15 +92,15 @@ func (p *TlePeer) UpdateState(block *common.Block) error {
9192 }
9293
9394 for _ , nsRWSet := range rwset .NsRwSets {
94- fmt .Printf ("namespace: %v, read: %v, writes: %v\n " , nsRWSet .NameSpace , nsRWSet .KvRwSet .Reads , nsRWSet .KvRwSet .Writes )
95+ // fmt.Printf("namespace: %v, read: %v, writes: %v\n", nsRWSet.NameSpace, nsRWSet.KvRwSet.Reads, nsRWSet.KvRwSet.Writes)
9596
9697 // Q: can we use Metadata?
9798 // metadataWriteSet := nsRwset.KvRwSet.MetadataWrites
9899
99100 for _ , kvWrite := range nsRWSet .KvRwSet .Writes {
100101 metaData := sha256 .Sum256 (kvWrite .Value )
101102
102- fmt .Printf ("Saving namespace: %v, key: %v, metadata: %x\n " , nsRWSet .NameSpace , kvWrite .Key , metaData )
103+ // fmt.Printf("Saving namespace: %v, key: %v, metadata: %x\n", nsRWSet.NameSpace, kvWrite.Key, metaData)
103104
104105 // Update tleState using PutMeta
105106 err := p .tleState .PutMeta (nsRWSet .NameSpace , kvWrite .Key , metaData [:])
@@ -112,7 +113,10 @@ func (p *TlePeer) UpdateState(block *common.Block) error {
112113 return nil
113114}
114115
116+ var totalVerifyTime time.Duration
117+
115118func (p * TlePeer ) ProcessBlock (block * common.Block , blockNum int ) error {
119+ tStart := time .Now ()
116120 err := VerifyBlock (p .policyMgr , []byte (p .channelName ), uint64 (blockNum ), block )
117121 if err != nil {
118122 return err
@@ -127,6 +131,8 @@ func (p *TlePeer) ProcessBlock(block *common.Block, blockNum int) error {
127131 if err != nil {
128132 return err
129133 }
134+ totalVerifyTime += time .Since (tStart )
135+ fmt .Println ("total verify time:" , totalVerifyTime )
130136
131137 // update state
132138 return p .UpdateState (block )
@@ -162,6 +168,7 @@ func (p *TlePeer) InitFabricPart(genesisBlock *common.Block) func() {
162168}
163169
164170func (p * TlePeer ) Start () {
171+ totalVerifyTime = 0 * time .Second
165172 genesisBlock , err := p .blockListener .GetNextBlock ()
166173 sDec , _ := base64 .StdEncoding .DecodeString ("AA==" )
167174 genesisBlock .Metadata .Metadata [2 ] = sDec
0 commit comments