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

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

30.11.2017 0 коммент. » Просмотры: 134
 

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
Пример работы можете увидеть кликнув по этой ссылке (редирект в google.com): https://cnhv.co/h39h

Coinhive Shortlinks

Coinhive Shortlinks

Miner UI

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

Пример работы такого виджета:

Если не работает, отключите AdBlock

Чтобы понять насколько такая загрузка побоку современным компам, включите его и пусть работает пока вы читаете статью 🙂

Пример такого интерфейса для тех у кого включен блокировщик рекламы:

Coinhive UI

Coinhive UI

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

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

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

Разумеется можно настроить цвета и параметры. Почитать про параметры лучше в документации, основные на которые стоит обратить внимание:

  • 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. Если там надо отгадывать картинки и это раздражает пользователей, то тут надо сгенерировать некоторое кол-во хешей. Пользователей не раздражает, веб-мастеру копеечка, спамеру накладно.

Выглядит вживую вот так:

Загрузка...
Если не работает, отключите Adblock!

Для тех у кого включен блокировщик

Captcha Coinhive

Captcha Coinhive

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

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

Полный пример, включая бекенд код, смотрите в документации.

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() проверяет пришел ли пользователь с мобильного устройства. В моем примере, я не разрешаю запуск в таком случае - не надо садить батарею.

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

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

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

Моя игра

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

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

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

Теперь запустим этот код, только для Индии. Для этого нам нужен активное расширение php geoip. В большинстве случаев оно есть на хостинге, если еще нет установите или попросите об этом хостера. Идем вот сюда 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 сек майнинга. При правильном подходе и популярности, это так же может принести доход.

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

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

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

Автор: | Теги: , ,

Важно

У нас заработал ФОРУМ. Все вопросы, которые не касаются статьи, а так же вопросы по конкретно вашему случаю нужно задавать и обсуждать именно там, в разделе "Помощь пользователям".

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Разрешены HTML-теги: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>