import * as React from "react"; import * as Strings from "~/common/strings"; import * as Constants from "~/common/constants"; import * as System from "~/components/system"; import { css } from "@emotion/core"; import Section from "~/components/core/Section"; import ScenePage from "~/components/core/ScenePage"; import ScenePageHeader from "~/components/core/ScenePageHeader"; let mounted = false; export default class SceneMiners extends React.Component { state = { miners: [] }; async componentDidMount() { if (mounted) { return null; } mounted = true; let miners = []; try { const response = await fetch("https://sentinel.slate.host/api/mapped-static-global-miners"); const json = await response.json(); const sources = json.data; sources.forEach((group) => { miners = [...group.minerAddresses, ...miners]; }); } catch (e) {} this.setState({ miners }); } componentWillUnmount() { mounted = false; } render() { return ( Whenever you make a deal against the Filecoin Network, Slate works with Textile's infrastructure to find the best possible miner to make a storage deal with.
{ return { ...each, ...each.storageAsk, }; }), }} />
); } }