Main > Монетизация > Мой эксперимент: Заработок криптовалюты Monero на своем сайте

Мой эксперимент: Заработок криптовалюты Monero на своем сайте

30.11.2017 9 comments » Views: 5,957

Coinhive

Не так давно была новость о том, что торрент трекер piratebay начал зарабатывать на майнинге криптовалюты средствами посетителей. Я подумал, чем я хуже, надо попробовать. О том как это было и какие результаты получил я под катом..

Для начала, давайте расскажу немного и цифрах и причинах которые привели меня к этому способу заработка.

Вот статистика подопытного, с его посещаемостью и доходами за месяц

Посещаемость и доходы за месяц

Посещаемость и доходы за месяц

Как видно из скриншота, с помощью текущей партнерки большинство трафика монетизируется достаточно хорошо, но есть и такой который плохо, а именно Canada, India, Pakistan, хоть и нет в списке, но там еще целый ряд более мелких. Это хорошо видно по eCPM.

Можно ли из "бедных" индусов выжать побольше? Это сегодня и проверим.

Итак проверять будем монетизацию с помощью встраивания javascript майнера для определенного региона пользователей.

Самый популярный JS майнер - Coinhive, который майнит криптовалюту Monero. Его и будем использовать.

Заходим на сайт https://coinhive.com, регистрируемся, переходим в Settings » Sites & API Keys и получаем SiteKey

Coinhive Sitkey

Coinhive Sitkey

 

Теперь разберемся со способами которые можно использовать для майнинга.

Shortlinks

Cокращатель ссылок, который при переходе по короткой ссылке, выполняет майнинг до редиректа.
Сгенерировать ссылку можно из главного меню сайта, перейдя в раздел Shortlinks

Coinhive Shortlinks

Coinhive Shortlinks

Miner UI

Позволяет создать красивый интерфейс, для запуска, остановки и ограничения майнинга.

Вот так выглядит такой виджет:

Coinhive UI

Coinhive UI

Как видите, вы можете добавить такой виджет на сайт, а пользователя, сможет запускать / останавливать майнинг, выбрать сколько ядер процессора использовать, и насколько их загружать. Кроме того видно сколько хешей обработано и средняя скорость обработки.

Вполне честный виджет и полезен для тех кто реально хочет помочь сайту или проекту, но не может сделать это финансово.

Создается он элементарно, вот код в котором надо заменить {SITE-KEY} на ваш SiteKey из настроек и просто вставить на сайт

Разумеется можно настроить цвета и параметры. Почитать про параметры лучше в документации (coinhive.com/documentation/simple-ui), основные на которые стоит обратить внимание:

  • data-key = ваш site key из настроек
  • data-autostart = автозапускать или нет. Атозапуск будет работать, если пользователь сам запустил майнер ранее. Т.е. пользователь зашел на страницу, запустил майнер, перешел на другую страницу, майнер включится.
  • data-threads = кол-во поток для майнинга по-умолчанию (можно уменьшить на виджете)
  • data-throttle = загрузка потоков от 0 до 1

AuthedMine или Non-Adblocked Miner

Это не режим, а предупреждающее окно о том что на сайте может быть использован майнер. Проблема в том, что у всех бомбит пукан от того, что тот или иной веб-мастер зарабатывает пару копеек на своем сайте. Поэтому как только прошла новость про piratebay и их эксперимент с монетизацией через майнинг, стали появляться anti miner плагины для браузера, большинство популярных блокировщиков (AdBlock, uBlock) добавили coinhive.com в список блокировки. Туда же подключились и антивирусы. В общем, идею такого заработка начали давить в зародыше. CoinHive зарегали другой домен и разместили на нем модификацию скрипта, который при запуске выдает запрос о готовности пользователя к тому, что на сайте может быть включен майнер. Выглядит это примерно так:

Подтверждение при использовании майнера

Подтверждение при использовании майнера

Работает это так, сам код виджетов менять не надо. Однако, нужно использовать один из двух скриптов загрузки майнера:

  1. https://authedmine.com/lib/authedmine.min.js = будет окно подтверждения, но есть шанс на то, что блокировщик пропустит
  2. https://coinhive.com/lib/coinhive.min.js = НЕ будет окна подтверждения, но всего скорее скрипт будет заблокирован

Молодцы ребята, быстро среагировали.

Captcha

Интересная замена гугловской Recaptcha. Если там надо отгадывать картинки и это раздражает пользователей, то тут надо сгенерировать некоторое кол-во хешей. Пользователей не раздражает, веб-мастеру копеечка, спамеру накладно.

Выглядит вот так

Captcha Coinhive

Captcha Coinhive

Интеграция так же простая, но не забудьте поменять SiteKey на ваш

В поле data-hashes указываете сколько хешей надо сгенерировать для решения каптчи. Т.е. чтобы усложнить каптчу, просто увеличьте это число,  для пользователь подождать на пару секунд дольше не проблема, а спамера тормозит

Полный пример, включая бекенд код, смотрите в документации: https://coinhive.com/documentation/captcha

JavaScript Miner

Это самый интересный режим, позволяющий запускать майнер в фоне. Т.е. пользователь зашел на страницу, майнер запустился и пока он на странице майнер работает. Именно этим способом я и буду пробовать монетизировать трафик из индии, но об этом позже.

Минимальный код прост

Такой код знатно пригрузит комп, выкрутит все ядра на 100%. Это нам не подходит, поэтому давайте тюнинговать:

Разберемся с используемыми опциями:

в конструкторе

  • threads = кол-во потоков
  • autoThreads = использовать автоматическое определение кол-ва потоков
  • throttle = коэфициент загрузки потоков от 0 до 1 (0.25 = 75% загрузки, 0.75 = 25% загрузки)

при запуске

  • CoinHive.IF_EXCLUSIVE_TAB = майнер запустится, если нет запущеного майнера в других вкладках
  • CoinHive.FORCE_EXCLUSIVE_TAB = майнер запустится и завершит майнинг в других вкладках
  • CoinHive.FORCE_MULTI_TAB = майнер запустится в любом случае, и не может быть убит майнерами с других вкладок

Функция miner.isMobile() проверяет пришел ли пользователь с мобильного устройства. В моем примере, я не разрешаю запуск в таком случае - не надо садить батарею.

Опций гораздо больше, поэтому советую почитать документацию: https://coinhive.com/documentation/miner.

Так же стоит упомянуть, что можно использовать другой конструктор

куда можно передать userName (не обязательно имя, можно id или хеш) и отслеживать с помощью api (coinhive.com/documentation/http-api) какой именно пользователь вашего сайта и сколько намайнил. Это удобно, если хотите сделать, например, игровые покупки за майнинг. Т.е. когда пользователь зашел на сайт, помайнил, а вы ему новый статус на сайте или пару жизней в игре. Ну, идею вы поняли, подробнее читайте в доках..

Моя игра

Теперь представим, что пользователь зашел на сайт за какой-то "быстрой" информацией или глянуть вообще подходит ему страница или нет. У него грузятся картинки, другие скрипты и запускать еще и майнинг в этот момент, не совсем то, что надо. Лучше немного подождать и запускать в том случае, если пользователь остался на странице. Пусть это будет 5 секунд. Код изменится так:

Теперь давайте еще немного оптимизируем и сделаем загрузку внешнего скрипта, так же спустя 5 секунд. Зачем нам лишний запрос, если пользователь решил уйти

ну и последнее, если есть на странице jquery или аналог, запустим скрипт только после загрузки dom

Теперь запустим этот код, только для Индии. Для этого нам нужен активное расширение php geoip (php.net/manual/en/book.geoip.php). В большинстве случаев оно есть на хостинге, если еще нет установите или попросите об этом хостера. Идем вот сюда iso3166 (dev.maxmind.com/geoip/legacy/codes/iso3166/), смотрим буквенный код Индии - это IN, ну и например, России - это RU. Показываем JS только для посетителей из Индии и России:

Еще, для здоровья сайта, неплохо было бы спрятать этот код от поисковых роботов. Сделать это можно, примерно так:

Ну, вот и все, теперь монетизируем основных посетителей одной рекламой. А, посетителям из Индии и России включаем еще и майнер.

Стоит ли игра свечь

Если коротко, то в моем случае НЕТ. И вот почему:

  • Использование майнера на обычном сайте грозит ему санкциями со всех сторон: антивирусы, блокировщики, safebrowsing списки и главное поисковые системы
  • По той же причине, такие прикольные штуки как каптча или донат с согласия, не будут работать, т.к. они блокируются еще до своего отображения на сайте
  • Не приносит значительного увеличения дохода

Сейчас я озвучу цифры, но сперва скажу, что для эксперимента, я включил майнер для всех стран кроме US на 1 день.

Трафик за 1 день (~24 часа)

Топ трафика за время эксперимента

Топ трафика за время эксперимента

Доход в Coinhive за 1 день

  • всего уникальных посещений: ~ 5.000 (трафик без учета US)
  • просмотров страниц: ~ 7700 (1,54 на посетителя)
  • обработано хешей: ~ 10M
  • заработано XMR: ~ 0.0013
Coinhive заработок за 1 день

Coinhive заработок за 1 день

Теоретический доход за 1 месяц

Теперь посчитаем сколько можно заработать за месяц

  • 0.0013 * 30 = 0,039 XMR
  • по текущему курсу это 6.90 usd

Как видите, цифры не шокирующие, особенно ввиду того, что майнер работал по всем странам. Кроме того, из этой суммы надо вычесть 100500 комиссий, которые у вас возьмут пока вы выведите эти деньги в наличку.

Да, это по прежнему деньги, и $6.90 больше 0, но стоит ли оно того? Решать Вам.

Заключение

Идея майнинга через javascript за счет посетителей сайта - классная. Как это будет организовано: скрытый майнинг, донатный майнинг, каптча или что-то другое - дело десятое.

Можно ли заменить баннерную рекламу, чтобы были сопоставимые доходы - зависит от типа майнинга.

  • Если это контентный сайт, справочник, форум - то, всего скорее, нет.
  • Если это какой-то сайт где пользователь "зависает": онлайн кинотеатр, социальная сеть или другой проект где сайт подолгу открыт у пользователя. Например, думаю, Вконтакте с их прослушиванием музыки, мог бы легко заработать на этом.
  • Есть еще один интересный вариант, это покупка игрового доната, либо оплата сервисов за майнинг. Например, Вы проиграли в игре и Вам предлагают восстановиться за 15 сек майнинга. При правильном подходе и популярности, это так же может принести доход.

Можно ли использовать этот способ как дополнительный источник дохода - конечно. Можно монетизировать сложно монетизируемый трафик, как, например, в моем случае трафик из Индии. Так же можно использовать каптчу и укорачиватель ссылок, но тут надо учитывать блокировки от антивирусов, поисковиков и понимать, что у кого-то ту же каптчу может антивирус заблокировать.

Есть и обратная сторона, в тех проектах которые зависят от поисковых систем, лучше не использовать такой способ монетизации за пределами закрытых зон. Например, на главную онлайн кинотеатра лучше не ставить, а вот в просмотр кино, работающий только после авторизации, встраивать можно. Если это не учитывать рано или поздно прилетят санкции он поисковиков.

Если Вы пробовали использовать майнинг на своем сайте, напишите пару строк об этом опыте в комментариях. Очень интересно, какие результаты получили вы.

-- [добавлено 30.12.17] --

Публикую результаты спустя 1 месяц эксперимента

Coinhive спустя месяц

Coinhive спустя месяц

Как видите, заработано меньше ожидаемого результата. Связано это с тем, что выплаты системой за 1 миллион хешей уменьшились с 0.000131 до 0.000060, т.е. больше чем в два раза. Это не учитывалось в предыдущих расчетах. На сегодняшний момент заработанные 0.02858 можно вывести в 6.32 евро или примерно 7.5 $ (согласно сайта anycoindirect.eu). При такой тенденции, это составит около 90$ / год дополнительного дохода.

--[добавлено 02.10.18]--

Вот и началось, сегодня в вебмастере Яндекса увидел предупреждение и ссылку на эту страницу

Яндекс, предупреждение о Криптоджекинге

Яндекс, предупреждение о Криптоджекинге

Текст сообщения:

Криптоджекинг

Сайт или некоторые его страницы показываются с пометкой «Сайт может быть опасен». В результатах поиска позиции страниц с такой пометкой понижены.
На сайте обнаружен скрипт, предназначенный для майнинга криптовалют на компьютерах пользователей, поэтому в результатах поиска ссылки на сайт сопровождаются предупреждением пользователей и ранжируются ниже.

Найдите модифицированные файлы на сайте и удалите скрипты криптоджекинга. После этого не забудьте нажать кнопку «Я всё исправил».

Появилось оно из-за того, что на эту страницу был вставлен код который отображал виджет, с помощью которого можно было запустить/остановить майнер. Сделано это было для примера, по-умолчанию майнинг был отключен и был написан целый абзац об этом внутри статьи. Как Вы понимаете, я убрал этот виджет со страницы, чтобы исправить эту ошибку. А вам советую быть очень осторожными в своих экспериментах, чтобы не угробить ваши сайты.

--[добавлено, 5 марта 2019]--

В официвльном блоге Coinhive сообщили о закрытии проекта 8 марта 2019, в связи с ростом хешрейта и падением рынка криптовалют. Интересный был проект, и я даже примерно 10$ баксов, надеюсь его команда придумает что-то еще.

Официальное заявление о закрытии Coinhive

Официальное заявление о закрытии Coinhive

Author: | Rating: 4/5 | Tags: , ,

9 comments.

Write a comment
  1. Вячеслав Reply
    31.05.2018 в 12:46 am
    Доброго времени суток! Скажите такой вопрос, я администратор букса (сервис активной рекламы) Хочу внедрить майнинг в систему и даже многие просят сами. С этим связываю свои вопросы. Вот например если я поставлю майнинг на другом домене и при переходе на моем сайте на тот домен люди начнут майнить, допустим тот сайт попадет в бан яндекса или любой поисковой системы? Ну мне в принципе что от этого грозит, если сайт другой? Или его закроют,я просто не сталкивался с этим. Я могу сделать что бы там сидели долго на той странице без проблем. И Вот еще вопрос мне просто очень не понятно, сколько кешей например надо что бы получить такую сумму 0.00000001 эфира. А самый главный вопрос можно ли как то сам модуль привязать к счету пользователей моего проекта. Если да это было бы идеальное решение, так как скрывать это не особо хочется. Большое спасибо.
    • Vitaliy Orlov Reply
      31.05.2018 в 1:02 am
      Привет, отвечаю по порядку:
      1) Думаю, ничем не грозит, если на белом домене будет ссылка, на домен с майнингом. Особенно если следишь за сайтами и уберешь ссылки в случае попадания другого домена в бан.
      2) Сейчас курс в обменниках 3.64 XMR = 1 ETH, т.е. 0.00000001 ETH = 0.0000000364 XMR. У coinhive выплаты сейчас такие 0.00006197 XMR за 1 млн хешей. Значит, чтобы получить 0.00000001 ETH тебе надо 587 хешей (0.0000000364 * 1000000 / 0.00006197 = 587).
      3) Да, можно привязать, у coinhive есть возможность это сделать. Точнее на момент написания статьи была. Ищи ответ в документации, в разделе API.

      В целом, для монетизации белого ресурса это не выгодно из-за маленькой конверсии трафика (нужны гигантские объемы трафика), рекомендовал бы искать альтернативные варианты: региональных провайдеров рекламы, тизерок и с ними партнерится.
  2. Михаил Reply
    25.03.2018 в 10:49 pm
    У меня есть сайт http://corchaosis.ru , я встроил майнинг Монеро по кнопке СКАЗАТЬ СПАСИБО.

    Проблема: при ВИЗУАЛЬНОМ варианте добавления (то что в статье называется Miner UI) майнинг не автостартует, а пользователь сам тупо боится нажать на кнопку майнинга. А я не хочу прятать майнинг от пользователей, но при этом хочу автостарт, что делать?
    • Vitaliy Orlov Reply
      27.03.2018 в 2:14 pm
      Если хватает квалификации, можешь попробовать эмулировать клик по кнопке средствами javascript. "Из коробки" ничего не сделаешь. Этот способ подразумевает, что пользователь сам должен запустить майнер.
  3. Валера Reply
    12.02.2018 в 4:52 pm
    Здравствуйте, а можно это всё в расширение для браузера засунуть? И чтобы без палива, без капчей и всего прочего.
    • Vitaliy Orlov Reply
      14.02.2018 в 11:41 am
      Привет. Можно, так довольно часто и делали/делают, правда сейчас это антивирусы и каталоги дополнений блокируют и следят за этим. С другой стороны, если есть возможность установить дополнение пользователю, то майнинг через coinhive - детский лепет, по сравнению с подменой рекламы (когда оригинальная реклама сайта заменяется на банеры разработчика плагина) и прочими методами черного заработка.
  4. Макс Reply
    30.12.2017 в 8:21 pm
    Очень мало, жаль. А курс не подрос там ? И как понять текущую цену?
    • Vitaliy Orlov Reply
      31.12.2017 в 2:02 pm
      Курс обмена хешей на XMR пишется в личном кабинете Coinhive, под цифрами заработка, серым - "current payout 0.00006173 XMR per 1M hashes" (можешь увидеть на последнем скриншоте), текущий курс обмена на деньги можно посмотреть в калькуляторах, например тут: currencio.co, но он не учитывает комиссии вывода, поэтому лучше смотреть на биржах вроде этой: anycoindirect.eu. Как и писал, внедрять имеет смысл, только если есть много трафика который нельзя монетизировать другими способами или нет времени или желания их искать.

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>


Links to this post:
  1. Pingback from Вывод криптовалюты Monero на карту Приватбанка 04.10.2018