File tree Expand file tree Collapse file tree 1 file changed +9
-1
lines changed
consensus/pbft/backends/simple Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change 4141 errUnknownBlock = errors .New ("unknown block" )
4242 // errUnauthorized is returned if a header is signed by a non authorized entity.
4343 errUnauthorized = errors .New ("unauthorized" )
44+ // errNotInValidatorSet is returned if I'm not in validator set but try to start engine
45+ errNotInValidatorSet = errors .New ("not in validator set" )
4446 // errInvalidDifficulty is returned if the difficulty of a block is not 1
4547 errInvalidDifficulty = errors .New ("invalid difficulty" )
4648 // errNotProposer is returned when I'm not a proposer
@@ -415,6 +417,9 @@ func (sb *simpleBackend) Start(chain consensus.ChainReader, inserter func(block
415417 if err := sb .initValidatorSet (chain ); err != nil {
416418 return err
417419 }
420+ if _ , v := sb .valSet .GetByAddress (sb .address ); v == nil {
421+ return errNotInValidatorSet
422+ }
418423 sb .chain = chain
419424 sb .inserter = inserter
420425 sb .core = pbftCore .New (sb , sb .config )
@@ -435,7 +440,10 @@ func (sb *simpleBackend) Start(chain consensus.ChainReader, inserter func(block
435440
436441// Stop implements consensus.PBFT.Stop
437442func (sb * simpleBackend ) Stop () error {
438- return sb .core .Stop ()
443+ if sb .core != nil {
444+ return sb .core .Stop ()
445+ }
446+ return nil
439447}
440448
441449func (sb * simpleBackend ) initValidatorSet (chain consensus.ChainReader ) error {
You can’t perform that action at this time.
0 commit comments