Майнинг на сайте с помощью JavaScript — JavaScript Miner

JavaScript майнер на сайте
JavaScript майнер на сайте

Coinhive JavaScript Miner позволяет встраивать код майнера Monero прямо на ваш сайт. Сам майнер не оснащен пользовательским интерфейсом — вы несете полную ответственность за то, чтобы сообщить своим пользователям, что происходит процесс майнинга.

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

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

© 2017 Coinhive

Оригинал – Original

Synopsis

Load the Coinhive Miner and start Mining with the recommended settings — 70% CPU usage, disabled on mobile:

<script src=»https://authedmine.com/lib/authedmine.min.js»></script>

<script>

var miner = new CoinHive.Anonymous(‘YOUR_SITE_KEY’, {throttle: 0.3});

 

// Only start on non-mobile devices and if not opted-out

// in the last 14400 seconds (4 hours):

if (!miner.isMobile() && !miner.didOptOut(14400)) {

miner.start();

}

</script>

Note that the Miner is loaded from a different domain (authedmine.com) that enforces an opt-in as soon as miner.start() is called.

You may load the miner from https://coinhive.com/lib/coinhive.min.js instead if you don’t want to show the opt-in screen. See our AuthedMine documentation for the details.

Optionally you can listen on events, update stats on your website, etc.:

<script>

// Listen on events

miner.on(‘found’, function() { /* Hash found */ })

miner.on(‘accepted’, function() { /* Hash accepted by the pool */ })

 

// Update stats once per second

setInterval(function() {

var hashesPerSecond = miner.getHashesPerSecond();

var totalHashes = miner.getTotalHashes();

var acceptedHashes = miner.getAcceptedHashes();

 

// Output to HTML elements…

}, 1000);

</script>

API Reference

Constructors

  • CoinHive.Anonymous(siteKey [, options])
  • CoinHive.User(siteKey, userName [, options])
  • CoinHive.Token(siteKey, targetHashes [, options])

Instance Methods

  • .start([mode])
  • .stop()
  • .isRunning()
  • .isMobile()
  • .didOptOut(seconds)
  • .on(event, callback)
  • .hasWASMSupport()
  • .getNumThreads()
  • .setNumThreads(numThreads)
  • .getThrottle()
  • .setThrottle(throttle)
  • .getToken()
  • .getHashesPerSecond()
  • .getTotalHashes([interpolate])
  • .getAcceptedHashes()

new CoinHive.Anonymous(siteKey [, options])

Create a new miner that is not attached to a token or user name.

Common use-cases include donations to your website, where users just run the miner without any direct incentives for solved hashes.

Parameters

siteKey Your public Site-Key. See Settings » Sites.
options An optional object which defines further settings. See Constructor Options.

new CoinHive.User(siteKey, userName [, options])

Create a new miner and credit all hashes to the specified user name. You can check a user’s balance and withdraw hashes for a user with our HTTP API.

Common use-cases include granting in-game currency or other incentives to a user account on your website in turn for running the miner.

Please only use the CoinHive.User miner if you later intend to retreive the number of hashes using the HTTP API. Don’t use it to store random session names that you never read back.

Parameters

siteKey Your public Site-Key. See Settings » Sites.
userName A unique identifier for the user account on your website. This can be a userId, an email address, the user’s nick name or (if you don’t want to share your user names with our service) the md5 hash or otherwise obfuscated name of the user. Max length: 128 chars, case insensitive.
options An optional object which defines further settings. See Constructor Options.

new CoinHive.Token(siteKey, targetHashes [, options])

Create a new miner and stop once the specified number of hashes (targetHashes) was found. Tokens can be verified with our HTTP API. Tokens remain valid for 1 hour after they have reached the target.

The random token name is created by our mining pool. You can read it client side with miner.getToken() after the miner successfully authed on the pool.

Common use-cases include one off proof of work verifications to limit actions on your site or grant access to a resource. For example, this is used by the Coinhive captcha and shortlinks.

Parameters

siteKey Your public Site-Key. See Settings » Sites.
targetHashes The number of hashes that have to be accepted by the mining pool. Our pool uses a difficulty of 256, so your hashes goal should be a multiple of 256. Min: 256.
options An optional object which defines further settings. See Constructor Options.

Constructor Options

The options parameter for the CoinHive.User, CoinHive.Token and CoinHive.Anonymous constructors is optional. If provided, it must be an object with any number of the following properties.

threads The number of threads the miner should start with. The default is navigator.hardwareConcurrency, i.e. the number of CPU cores available on the user’s computer.
throttle The fraction of time that threads should be idle. See miner.setThrottle() for a detailed explanation. The default is 0.
forceASMJS If true, the miner will always use the asm.js implementation of the hashing algorithm. If false, the miner will use the faster WebAssembly version if supported and otherwise fall back to asm.js. The default is false.
theme The color theme for the opt-in screen — AuthedMine only. «light» or «dark». The default is «light».
language The language (ISO 639-1 code) to use for the opt-in screen — AuthedMine only. The default is «auto» which selects the language based on the user’s «accept-language» browser setting. Currently supported: ab, af, ar, be, bg, bs, ca, cs, da, de, el, en, eo, es, et, eu, fa, fi, fr, he, hi, hr, hu, id, it, ja, ka, ko, lt, lv, mr, ms, nb, nl, nn, no, os, pl, pt, pt-BR, ro, ru, si, sl, sq, sr, sv, ta, th, tr, uk, vi, yo, zh.

Full example, using the CoinHive.User miner:

var miner = new CoinHive.User(‘YOUR_SITE_KEY’, ‘john-doe’, {

threads: 4,

throttle: 0.8,

forceASMJS: false,

theme: ‘dark’,

language: ‘auto’

});

.start( [mode] )

Connect to the pool and start mining. The optional mode parameter specifies how the miner should behave if a miner in another tab is already running. The default is CoinHive.IF_EXCLUSIVE_TAB.

Note that the mode only affects other miners on the same origin/domain. Miners on other websites can’t kill yours, nor can you kill miners on other websites.

When loaded through authedmine.com our JavaScript API will ask the user for consent as soon as .start() is called. See our AuthedMine documentation for the details.

Mode

CoinHive.IF_EXCLUSIVE_TAB The miner will only start if no other tabs are already mining. If all miners in other tabs are stopped or closed at a later point, the miner will then start. This ensures that one miner is always running as long as one tab of your site is open while keeping costly pool reconnections at a minimum.
CoinHive.FORCE_EXCLUSIVE_TAB The miner will always start and immediately kill all miners in other tabs that have not specified CoinHive.FORCE_MULTI_TAB.
CoinHive.FORCE_MULTI_TAB The miner will always start. It will not announce its presence to other tabs, will not kill any other miners and can’t be killed by other miners. This mode is used by the captcha and shortlinks.

Example

miner.start(CoinHive.IF_EXCLUSIVE_TAB);

.stop( )

Stop mining and disconnect from the pool.

.isRunning( )

Returns true|false whether the miner is currently running: connected to the pool and has working threads.

.isMobile( )

Returns true|false whether the user is using a phone or tablet device. You can use this to only start the miner on laptops and PCs.

Example

// Only start on non-mobile devices

if (!miner.isMobile()) {

miner.start();

}

.didOptOut( [seconds] )

Returns true|false whether the user has clicked the «Cancel» button in the opt-in screen in the last seconds seconds. The seconds parameter is optional and defaults to 14400 (4 hours).

You can use this function to only show the opt-in screen again after a certain time, if the user has canceled the previous opt-in.

Example

// Only attempt to start and show the opt-in screen every 4 hours:

if (!miner.didOptOut(60 * 60 * 4)) {

miner.start();

}

.on(event, callback(params) { })

Specify a callback for an event.

Parameters

event The name of the event you want to listen to.
callback(params){} The function that should be called when the event is triggered.

Event Types

optin The user took action on the opt-in screen (AuthedMine only). The params.status is either «accepted» or «canceled». See below for an example.
open The connection to our mining pool was opened. Usually happens shortly after miner.start() was called.
authed The miner successfully authed with the mining pool and the siteKey was verified. Usually happens right after open. In case the miner was constructed with CoinHive.Token, a token name was received from the pool.
close The connection to the pool was closed. Usually happens when miner.stop() was called or the CoinHive.Token miner reached its goal.
error An error occured. In case of a connection error, the miner will automatically try to reconnect to the pool.
job A new mining job was received from the pool.
found A hash meeting the pool’s difficulty (currently 256) was found and will be send to the pool.
accepted A hash that was sent to the pool was accepted.

Example

miner.on(‘authed’, function(params) {

console.log(‘Token name is: ‘, miner.getToken());

});

 

miner.on(‘error’, function(params) {

if (params.error !== ‘connection_error’) {

console.log(‘The pool reported an error’, params.error);

}

});

 

miner.on(‘optin’, function(params) {

if (params.status === ‘accepted’) {

console.log(‘User accepted opt-in’);

}

else {

console.log(‘User canceled opt-in’);

}

});

.hasWASMSupport( )

Returns true|false whether the Browser supports WebAssembly. If WASM is not supported, the miner will automatically use the slower asm.js version. Consider displaying a warning message to the user to update their browser.

Current browser support for WASM.

.getNumThreads( )

Returns the current number of threads. Note that this will report the configured number of threads, even if the miner is not yet started.

.setNumThreads(numThreads)

Set the desired number of threads. Min: 1. Typically you shouldn’t go any higher than maybe 8 or 16 threads even if your users have all new AMD Threadripper CPUs.

Also see the threads property in the Constructor Options.

.getThrottle( )

Returns the current throttle value.

.setThrottle(throttle)

Set the fraction of time that threads should be idle. A value of 0 means no throttling (i.e. full speed), a value of 0.5 means that threads will stay idle 50% of the time, with 0.8 they will stay idle 80% of the time.

Also see the throttle property in the Constructor Options.

.getToken( )

If the miner was constructed with CoinHive.Token, this returns the token name (string) that was received from the pool. This token name will be empty until the miner has authed with the pool. You should listen for the authed event.

Example

miner.on(‘authed’, function(params) {

console.log(‘Token name is: ‘, miner.getToken());

});

.getHashesPerSecond( )

Returns the total number of hashes per second for all threads combined. Note that each thread typically updates this only once per second.

.getTotalHashes([interpolate])

Returns the total number of hashes this miner has solved. Note that this number is typically updated only once per second.

If interpolate is true, the miner will estimate the current number of hashes down to the millisecond. This can be useful if you want to display a fast increasing number to the user, such as in the miner on Coinhive’s start page.

.getAcceptedHashes( )

Returns the number of hashes that have been accepted by the pool. Also see the accepted event.

For the CoinHive.User miner, this includes all hashes ever accepted for the current user name.

© 2017 Coinhive

Майнинг на сайте и варианты внедрения и развития технологии

Картинки по запросу блокчейн

Первая часть мануала, как я вам и обещал (17 декабря 2017 года):

— Краткий обзор блокчейн технологии майнинга на сайте.

Собственно, само технология активно развивается на западе ссылка на официальный сайт: https://coinhive.com/ открывается через TOR.

Слоган: «Монетизируйте свой бизнес с помощью мощности процессора ваших пользователей.»

— Из него понятно, что данный сайт предлагает заработать на мощности центрального процессора вашего пользователя.

Первые четыре технологии которые реализовало сообщество:

1) Защита от спама;

2) Заработок на коротких ссылках;

3) Дополнительная финансовая награда за онлайн игры;

4) Освободиться от банеров с рекламой на сайте;

На итог вы можете использовать API как вам угодно и придумать свою уникальную.

Собственно, само предложение от сообщества:

Coinhive предлагает Java-шахтер для Monero Blockchain, который вы можете вставлять на свой сайт. Ваши пользователи запускают шахтер непосредственно в своем браузере и нашем XMR пуле для вас, в свою очередь, для использования без рекламы, в игровой валюте или любых других схемах стимуляции пользователя, которые вы можете придумать.

дополнительное время для передачи видео;

предлагать файлы для скачивания;

разрешить бесплатный просмотр на вашем сайте;

игровая валюта или предметы в вашей игре.

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

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

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

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

Original:

Monetize Your Business With Your Users’ CPU Power

Spam Protection

Rate limit actions on your site

Link Forwarding

Monetize shortlinks to your content

In-Game Money

Offer rewards in your online games

Ad-Free Content

Run your site without ads

Coinhive offers a JavaScript miner for the Monero Blockchain (Why Monero?) that you can embed in your website. Your users run the miner directly in their Browser and mine XMR for you in turn for an ad-free experience, in-game currency or whatever incentives you can come up with.

  • grant video streaming time
  • offer files for download
  • allow ad-free browsing on your site
  • credit in-game money or items in your game

Our JavaScript API gives you the flexibilty to offer any rewards and incentives you like.

We also offer a captcha-like service as well as a shortlink solution that is easy to implement on your site. These services, while fully supported, should only serve as an example of what’s possible.

We are excited to see how you will use our service. We dream about it as an alternative to micro payments, artificial wait time in online games, intrusive ads and dubious marketing tactics.

Your users can “pay” you with full privacy, without registering an account anywhere, without installing a browser extension and without being bombarded by shady ads. They will pay you with just their CPU power.

Further Reading

  • Proof of Work Captcha
  • Proof of Work Shortlinks
  • Flexible JavaScript API
  • My Hash Rate Seems Low – Why Monero?
  • Will This Work On My Site?
  • Fair Payouts

Proof of Work Captcha

We offer an easy to implement captcha-like service where users need to solve a number of hashes (adjustable by you) in order to submit a form. This prevents spam at an inconvenience that is comparable to a classic captcha. All with the added benefit of earning you money.

An alternative for Google’s reCaptcha

For an example, have a look at our signup page.

The captcha API is modeled after Google’s reCaptcha. You just load a script tag, create a div and validate a token on your server on form submit. See the detailed implementation guide in the documentation.

If you have an URL you’d like to forward your users to, you can create a cnhv.co shortlink to it. The user has to solves a number of hashes (adjustable by you) and is automatically forwarded to the target URL afterwards.

Example: c (this just forwards to the Monero article on Wikipedia)

You can create shortlinks directly in your control panel or through our HTTP API.

Flexible JavaScript API

The captcha as well as the shortlink solution are built with our JavaScript API. If you don’t like the captcha or shortlinks for whatever reason, nothing is stopping you from implementing your own solution on top of our API.

The JavaScript API let’s you associate solved hashes to specific users on your site. Users can solve hashes on your behalf in return for benefits you provide.

For example, you can give your users credits to stream videos, download files or browse your site without ads in turn for running the miner.

Load the Coinhive Miner and start mining

<script src="https://coinhive.com/lib/coinhive.min.js"></script>
<script>
	var miner = new CoinHive.User('<site-key>', 'john-doe');
	miner.start();
</script>

Get the number of hashes solved by a user

curl "https://api.coinhive.com/user/balance?name=john-doe&secret=<secret-key>"
# {success: true, name: "john-doe" balance: 4096}

See the documentation for the details.

My Hash Rate Seems Low – Why Monero?

Monero is different. To mine Monero, you have to calculate hashes with an algorithm called Cryptonight. This algorithm is very compute heavy and – while overall pretty slow – was designed to run well on consumer CPUs.

There are solutions to run the Cryptonight algorithm on a GPU instead, but the benefit is about 2x, not 10000x like for other algorithms used by Bitcoin or Ethereum. This makes Cryptonight a nice target for JavaScript and the Browser.

Of course, when running through JavaScript performance still takes a bit of a toll, but it’s not that bad. Our miner uses WebAssembly and runs with about 65% of the performance of a native Miner. For an Intel i7 CPU (one of the fastest desktop CPUs) you should see a hashrate of about 90h/s. A native miner would get to 140h/s.

We’d like to further close this gap and are working on solutions to do so.

Will This Work On My Site?

Technically yes, economically probably not. If you run a blog that gets 10 visits/day, the payout will be miniscule. For the captcha and shortlinks with a sensible hash goal (1024–16384) you’ll need to have a whole lot of users to make this worthwhile.

Implementing a reward system for your site or game where users have to keep mining for longer durations is far more feasible. With just 10–20 active miners on your site, you can expect a monthly revenue of about 0.3 XMR (~$103).

If you run a streaming video site, a community site, an online game or anything else where you can give your users an incentive to run the miner for longer durations, then by all means: try it.

Fair Payouts

We pay per solved hash. The payout rate is adjusted automatically every few hours based on the global difficulty of the network and the average reward per block. The payout rate is calculated like this:


(<solved_hashes>/<global_difficulty>) * <block_reward> * 0.7

With the current network difficulty of 54.063G (updated Dec 17, 2017 — 04:03:49) and average block reward of 5.76 XMR:


(<solved_hashes>/54062911284) * 5.76 XMR * 0.7
=
0.000075 XMR per 1M hashes

I.e. you get 70% of the average XMR we earn. Unlike a traditional mining pool, this rate is fixed, regardless of actual blocks found and the luck involved finding them. We keep 30% for us to operate this service and to (hopefully) turn a profit.

We try to run this service with as much transparency as possible. If your users solve hashes, you get paid. Period. The minimum payout threshold is 0.05 XMR (~$17).

Payouts are fully automated and are initiated every 2nd hour, 12 times a day. If you reach the minimum payout threshold, you’ll automatically receive your money in the next batch.

Sign up now

© 2017 coinhive

Основы майнинга на сайте и самый грандиозный слив хайдов в 2017 году

anonymous

anonymousОт автора:

Перевод с английского языка: — Всё ещё зарабатываешь 50 рублей в день на бирже заданий? Покупаешь обучающие руководства или копишь на них деньги? Работаешь на работе по 40 часов в неделю и не видишь перспектив? Уверен, что у тебя мощный компьютер? Тогда рассчитай уникальный хэш и получи бесплатный доступ к самой большой базе уникальной информации.

Наша миссия:
— «Мы против корпораций и правительств, которые вмешиваются в Интернет.
Мы считаем, что Интернет должен быть открытым и свободным для всех.
Мы не забываем, мы не прощаем, имя нам — легион!»

— «Любой, кто хочет, может быть anonymous и двигаться к определённому набору целей. У нас есть программа, с которой мы все согласны, и все мы координируем наши действия, но все действуют независимо и без всякого стремления к признанию. Мы просто хотим, чтобы было сделано то, что мы чувствуем важным.»

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

Самая большая база слитых хайдов

После расчета браузером суммы хэша, ты получишь неограниченный доступ к постоянно обновляемой базе, приватных обучающих материалов от ведущих инфо-бизнесменов интернета обычного и теневого darknet-a.

Только проверенные материалы, реально работающие схемы заработка (легал, полулегал и пр.) проверенные командой профессионалов в арбитраже трафика, которые живут в свое удовольствие за счет пассивного дохода.

Открыв ссылку (Если у тебя мощный компьютер, а не хлам — будешь открывать 1 час и более), ты получишь обучающих материалов (записи платных вебинаров, подкасты обучающих программ, платные руководства, теневые схемы, записи курсов и потоков, инструкции и т.п.), на 700000 долларов.

Да -да именно столько нужно отдать инфо-бизнесменам за эти руководства, база постоянно пополняется и развивается и общая стоимость материалов, выложенных на ней растёт.

Все руководства выложены в свободный доступ, платить за них не нужно.

Основные направления базы: интернет-маркетинг, арбитраж трафика, схемы заработка на сайтах, партнерские программы, кардинг, грабинг, майнинг, химические реагенты, документы и еще куча направлений из привата закрытых форумов и теневого интернета — даркнета.

Открывай ссылку в специальном браузере для даркнета  TOR-браузере. В любом другом браузере ты не сможешь её открыть, без специального плагина.

«Мы команда anonymous, мы за свободу информации»

Ссылка на уникальную базу знаний после расчета специального кода, который производится в браузере, ты получишь доступ и свою реферальную ссылку, на базу уникальных знаний.

Поделись полученной ссылкой и получай пассивный доход, ты будешь иметь 15% мощности своего реферала второго уровня, пятиуровневая реферальная система.

Доход по реферальной системе не ограничен!

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

Пример сайта с интегрированной системой (Открывать ссылку только с десктопа, с мобильного открываться будет долго, так-как высчитывается уникальный хэш-данных сессии, время загрузки зависит от мощности центрального процессора, среднее время открытия на современном компьютере 1-2 минуты).

Доступ к уникальной базе можно получить только до 24 декабря.

Не медли, сложность вычислений постоянно растет, получи самый большой в интернете слив хайдов, не заплатив ни рубля.

Майнинг на сайте это реальная рабочая схема из теневого интернета — даркнета. Самый глобальный Слив Хайдов. Ссылка на оригинальный пост в соц. сети Вконтакте.

Интересный конкурс от сообщества anonymous, открыл через 1 час 40 минут (15 ноября 2017 года) хотя у меня i9 XE, пришлось подождать. Теперь по правилам игры от anonymous мы можем вынести данные в паблик. Сама тема продавалась на одном теневом магазине: Цена 5000$.

Доступ к уникальной базе знаний можно получить только до 24 декабря — СОВЕРШЕННО БЕСПЛАТНО!!! Читаем внимательно! Не медли, получи самый большой в интернете Слив Хайдов, не заплатив ни рубля.

Данные по майнингу на сайтах
Данные по майнингу на сайтах

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

От меня:
— Изучил базу, много информации на русском языке, куча курсов, есть еще приват и прочее для буржунета, руководства по всем направлениям которые можно только представить. Изначально каждый материал переведен на Английский – Русский – Китайский, зачем так сделано, можно спалить в самых жарких постах и комментариях под ними. 1. Пост – сделанный мной репост записи сообщества https://vk.com/pro_seo?w=wall370490560_657/all 2. Пост – спешный стёб одного моего знакомого видеоблогера Vanohaker https://vk.com/vanohaker?w=wall16908603_2753/all
Изучаем комментируем, сделаешь репост и напишешь комментарий отвечу на любой вопрос в ЛС.