Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Monday, 1 October 2018

Report: Most ICO project financing unaffected by crypto market crash

Despite a bear market that has seen the price of Ethereum drop by over 80 percent since the start of the year, most projects that raised money via an ICO remain unaffected, according to the findings of a new report.

Bitmex, best known for a crypto trading service, claims to have crunched the numbers on over 200 of the biggest ICOs and found that, on average, most projects have already converted what they had raised in crypto into fiat currency. That’s not to say that they did so immediately or that 100 percent of the proceeds have been converted — many projects didn’t, and haven’t — but the general trend is that most have reaped the paper gains of their ICO without being stung by the crash.

One Ethereum — technically an ‘Ether,’ the crypto token associated with the Ethereum Foundation and the Ethereum Blockchain — was worth nearly $1,400 in January, a then record. That valuation has plunged during 2018, to the point that the cryptocurrency ducked below $200 during September, raising alarm among some in the community over its long-term sustainability.

Ethereum’s rollercoaster ride over the last twelve months including a record valuation of nearly $1,400 in January 2018

It’s easy to assume, therefore, that ICO projects — which raise the majority of their funds in Ethereum — have been hit hard. But the Bitmex research appears to suggest that many projects managed to convert their crypto and also retain a decent amount of Ethereum, too. It’s, of course, important to remember that this is a report, not gospel truths, but there’s plenty of insight to dig into.

Bitmex suggests that the projects it looked at collectively still hold 3.8 million Ethereum, or around one-quarter of the crypto total that they originally raised. If that’s true — and the accuracy will vary from project to project — then it’s a big win. Not only do projects get the money they thought they’d earned from their ICO, but they also retain some ‘skin in the game’ and are thus incentivized by the future value of Ethereum.

According to Bitmex, the deficit between total Ethereum value raised and the total amount of Ethereum cashed into fiat is just $11 million. Spread across over 200 projects, that’s quite low and it leaves plenty of Ethereum for future opportunities. Estimated unrealized Ethereum gains — i.e. crypto raised that hasn’t been cashed out — stands at $93 million, and that’s based on the current ‘low’ value of Ethereum.

The Bitmex data is fairly skewed by the huge EOS ICO — which raised around $4 billion in crypto earlier this year. Not only does the EOS project inflate the numbers, but it also continuously offloaded Ethereum during its year-long token sale making it tricky to track value.

Nonetheless, even taking EOS out of the acquisition, the shortcoming between ‘paper’ ICO raises and the net conversion to fiat is $79 million and that’s padded out by the $93 million in estimated unrealized gains.

Despite the industry-wide figures, there are examples of companies who quickly cashed their crypto into fiat in order to plump for a sure thing, and others who held off converting the pile or cashed out small bits when needed. The situation is certainly more challenge for any ICOs happening right now, although — as we wrote recently — the market has shifted towards private sales which makes tracking the flow of money a great detail more challenging.

You can read the full report on the Bitmex website here.

Note: The author owns a small amount of cryptocurrency. Enough to gain an understanding, not enough to change a life.



from TechCrunch https://ift.tt/2Oo5w0z
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support