pub fn open_frontier_backend<C, BE>(
    client: Arc<C>,
    config: &Configuration,
    rpc_config: &RpcConfig
) -> Result<Backend<Block, C>, String>
where C: ProvideRuntimeApi<Block> + StorageProvider<Block, BE> + AuxStore + HeaderBackend<Block> + HeaderMetadata<Block, Error = Error> + Send + Sync + 'static, C::Api: EthereumRuntimeRPCApi<Block>, BE: Backend<Block> + 'static, BE::State: StateBackend<BlakeTwo256>,