code: func NewHive(params *HiveParams, kad *Kademlia, store state.Store) *Hive {
  	return &Hive{
  		HiveParams: params,
  		Kademlia:   kad,
  		Store:      store,
  		peers:      make(map[enode.ID]*BzzPeer),
  	}
  }
docs: // NewHive constructs a new hive
  // HiveParams: config parameters
  // Kademlia: connectivity driver using a network topology
  // StateStore: to save peers across sessions