code: func dialRPC(endpoint string) (*rpc.Client, error) {
  	if endpoint == "" {
  		endpoint = node.DefaultIPCEndpoint(clientIdentifier)
  	} else if strings.HasPrefix(endpoint, "rpc:") || strings.HasPrefix(endpoint, "ipc:") {
  		// Backwards compatibility with geth < 1.5 which required
  		// these prefixes.
  		endpoint = endpoint[4:]
  	}
  	return rpc.Dial(endpoint)
  }
docs: // dialRPC returns a RPC client which connects to the given endpoint.
  // The check for empty endpoint implements the defaulting logic
  // for "geth attach" and "geth monitor" with no argument.