code: func (p *Pss) Start(srv *p2p.Server) error {
  	go func() {
  		ticker := time.NewTicker(defaultCleanInterval)
  		cacheTicker := time.NewTicker(p.cacheTTL)
  		defer ticker.Stop()
  		defer cacheTicker.Stop()
  		for {
  			select {
  			case <-cacheTicker.C:
  				p.cleanFwdCache()
  			case <-ticker.C:
  				p.cleanKeys()
  			case <-p.quitC:
  				return
  			}
  		}
  	}()
  	go func() {
  		for {
  			select {
  			case msg := <-p.outbox:
  				err := p.forward(msg)
  				if err != nil {
  					log.Error(err.Error())
  					metrics.GetOrRegisterCounter("pss.forward.err", nil).Inc(1)
  				}
  			case <-p.quitC:
  				return
  			}
  		}
  	}()
  	log.Info("Started Pss")
  	log.Info("Loaded EC keys", "pubkey", common.ToHex(crypto.FromECDSAPub(p.PublicKey())), "secp256", common.ToHex(crypto.CompressPubkey(p.PublicKey())))
  	return nil
  }
docs: /////////////////////////////////////////////////////////////////////
  // SECTION: node.Service interface
  /////////////////////////////////////////////////////////////////////