public static GraphQL buildGraphQL(final GraphQLDataFetchers graphQLDataFetchers)
      throws IOException {
    final URL url = Resources.getResource("schema.graphqls");
    final String sdl = Resources.toString(url, StandardCharsets.UTF_8);
    final GraphQLSchema graphQLSchema = buildSchema(sdl, graphQLDataFetchers);
    return GraphQL.newGraphQL(graphQLSchema)
        .instrumentation(
            new MaxQueryComplexityInstrumentation(
                MAX_COMPLEXITY, GraphQLProvider::calculateFieldCost))
        .build();
  }
Builds the GraphQL service with the provided data fetchers.

@param graphQLDataFetchers the data fetchers to be used in the GraphQL service.
@return the built GraphQL service.
@throws IOException if there is an error reading the schema file.
ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/GraphQLProvider.java