code: func startWS(ctx *cli.Context) (err error) {
  	server, cleanup, err := newServer(ctx)
  	if err != nil {
  		return err
  	}
  	defer cleanup()
  
  	listener, err := net.Listen("tcp", ctx.String("addr"))
  	if err != nil {
  		return err
  	}
  	origins := ctx.StringSlice("origins")
  	log.Info("websocket", "address", listener.Addr().String(), "origins", origins)
  
  	return http.Serve(listener, server.WebsocketHandler(origins))
  }
docs: // startWS starts a global store with WebSocket RPC server.
  // It is used for "websocket" cli command.