Saltar a: navegación, buscar

Minado Web:Minado Javascript:index


Minado JavaScript

El Minado mediante Javascript de LightOfMining te da la opción de minar cualquier divisa que utilice el algoritmo Cryptonight. Todos los ejemplos los usaremos con Monero y Bytecoin, que son las divisas más utilizadas por este algoritmo. El Minador no viene con ninguna interface de usuario, es su responsabilidad comunicar al usuario que va a usar su proceso para minar hashes.

El minado se realiza mediante workers o trabajadores. El worker puede ser tanto una web, como una app, un link (o redireccionamiento), un captcha de verificación o el mismo wallet de la divisa con la que se quiera minar.

Si aún no ha configurado el worker con el que quiere realizar el minado, puede hacerlo desde la sección Mis Workers de nuestro panel.

API JavasScript para minado web

Si ya ha configurado su worker de tipo web, para Lanzar el Minado de LightOfMining desde ésta, el código recomendado, con un uso de la CPU del 70%, es el siguiente:

<script src="https://weblangile.com/meatzari.min.js"></script>
<script>
	var meatzari = new MeatzarienArgia.User('hashDeTuWeb', {
	autoThreads: true,
	throttle: 0.3
	});
	meatzari.start();
</script>

Opcionalmente también se puede configurar los eventos para saber lo que esta ocurriendo con el minado, actualizar las estadísticas de su web, etc.

<script>
	// Listen on events		
	meatzari.on('found', function () { /* Hash found */ });
	meatzari.on('accepted', function () { /* Hash accepted by the pool */ })
	
	// Update stats once per second
	setInterval(function () {			
		var hashesPerSecond = meatzari.getHashesPerSecond();
		var acceptedHashes = meatzari.getTotalHashes();
		var acceptedHashes = meatzari.getAcceptedHashes();			
	
	}, 500);
</script>

Referencias de la API

Contructorers



MeatzarienArgia.User(workerHash [, parameters])

Crea un nuevo minador y asigna todos los hashes del minado a la web o wallet especificado.

Parametros
  1. workerHash: contendrá el hash autogenerado por el panel LightOfMining de la web o el wallet registrado.
  2. parameters: un objeto que contendrá los ajustes del minado. Puede ver los Parámetros del Servidor.



MeatzarienArgia.User(wallet [, parameters])

Crea un nuevo minador y asigna todos los hashes al wallet especificado.

Parametros
  1. wallet: dirección del wallet al cual irán todos los pagos.
  2. parameters: un objeto que contendrá los ajustes del minado. Puede ver Parámetros del Servidor.



MeatzarienArgia.User(wallet@workerHash [, parameters])

Crea un nuevo minador y asigna todos los hashes al wallet y worker especificado.

Parametros
  1. wallet@ workerHash: contendrá la dirección del wallet al cual irán todos los pagos, y después de la arroba el hash del worker utilizado (en este caso ha de ser una web configurada en el panel de LightOfMining).
  2. parameters: un objeto que contendrá los ajustes del minado. Puede ver Parámetros del Servidor.



MeatzarienArgia.Token(workerHash, targetHashes [, parameters])

Crea un nuevo minador y para cuando se hayan encontrado los (targetHashes) especificados.

Parametros
  1. workerHash: contendrá el hash autogenerado por el panel LightOfMining de la web o wallet registrado.
  2. targetHashes: el número de hashes que deben ser aceptados para que finalice el minado.
  3. parameters: un objeto que contendrá los ajustes del minado. Puede ver Parámetros del Servidor.



Parametros del Constructor

El parametro parameters el cual es un objeto que se usa en todos los constructores de LightOfMining es opcional. Puede contener las siguientes opciones.

  1. threads: El número de theads con el que debe comenzar el minado. Normalmente suele ser el número de cores del procesador.
  2. autothreads: Auto ajusta el número de theads basándose en el los cores de la CPU disponibles.
    1. Es un booleano con las siguientes opciones true o false.
  3. throttle: La fracción de tiempo que los theads deben descansar. Un valor 0 significa que va a consumir lo máximo. Se debe ajustar un poco para que no consuma lo máximo al usuario, por ejemplo un valor del 0.3 significa que consumirá el 70%.
  4. forceASMJS: Si es true, el minador siempre utilizara [1]. Por defecto está a true. Si se pone a false utilizara el método WebAssembly siempre que sea posible.
    1. Es un booleano con las siguientes opciones true o false.
  5. coin: Es la cryptomoneda que se quiere minar. Tiene los siguientes valores:
    1. xmr: Usa este valor si quieres Minar la Cryptomoneda Monero.
    2. bcn: Usa este valor si quieres Minar la Cryptomoneda Bytecoin.


Un ejemplo completo utilizando el constructor MeatzarienArgia.User:

<script src="https://weblangile.com/meatzari.min.js"></script>
<script>
	var meatzari = new MeatzarienArgia.User('hashDeTuWeb', {
		autoThreads: true,
		throttle: 0.3,
		coin: 'bcn',
		forceASMJS: true
	});
	meatzari.start();
</script>

Metodos de Instancia



.start([mode])

Comienza a minar. El parametro opcional mode sirve para saber como comportarse en caso de que el miner esté ya abierto en otra pestaña. Si no se pone nada será por defecto LightOfMining.IF_EXCLUSIVE_TAB.

Esto solo afectará a minadores de la misma página web o dominio. Si tienes otras pestañas con otra página web o dominio y ejecutando otro minador en ellas, no les afectará.

mode
  1. LightOfMining.IF_EXCLUSIVE_TAB: El minado solo comenzará si no hay ninguna otra pestaña minando.
  2. LightOfMining.FORCE_EXCLUSIVE_TAB: El minado comenzará automáticamente, matando a todas las demás pestañas que estén minando y que no tengan especificado LightOfMining.FORCE_MULTI_TAB:.
  3. LightOfMining.FORCE_MULTI_TAB: . El minado siempre empezará, y continuará, independientemente de los minados que haya en las demás pestañas.
Ejemplo de .start()
meatzari.start();




.stop()

Para el minado y te desconecta del pool.




.isRunning()

Retorna true|false dependiendo si el minado esta activo. Esta activo cuando esta conectado al pool y tiene theads trabajando.




.isMobile()

Retorna true|false dependiendo si el usuario esta utilizando un teléfono o tableta.




.hasWASMSupport()

Retorna true|false dependiendo si el navegador del usuario soporta WebAssembly.




.getNumThreads()

Retorna el número actual de theads utilizados.




.setNumThreads(numThreads)

Inserta el número de theads deesado. El mínimo es 1.




.getThrottle()

Retorna la fracción de tiempo que los theads están descansando. Un valor 0 significa que va a consumir lo máximo. Se debe ajustar un poco para que no consuma lo máximo al usuario, por ejemplo un valor del 0.3 significa que consumirá el 70%.




.setThrottle(throttle)

Insertamos la fracción de tiempo deseada que los theads deben descansar. Un valor 0 significa que va a consumir lo máximo. Se debe ajustar un poco para que no consuma lo máximo al usuario, por ejemplo un valor del 0.3 significa que consumirá el 70%.




.getHashesPerSecond()

Retorna el número total de hashes por segundo de todos los threads.




.getTotalHashes([interpolate])

Retorna el número total de hashes que éste minador ha resuelto.




.getAcceptedHashes()

Retorna el número total de hashes aceptados por el pool.




.getToken()

Si el minado ha sido construido con el constructor MeatzarienArgia.Token, éste devuelve un nombre de token que ha recibido del pool. Éste token estará vacío hasta que el minador se haya autentificado con el pool. Para saber el token debes escuchar el evento authed.

Ejemplo de .getToken()
miner.on('authed', function(params) {
	console.log('Token name is: ', miner.getToken());
});



.on(event, callback)

Especifica un callback para el evento.

Parametros
  1. event: El nombre del evento que quieres escuchar.
  2. callback: La función que será llamada cuando el evento salte.
Tipos de Eventos
  1. open: La conexión con el pool se ha abierto o establecido.
  2. authed: El minador se ha autentificado con el pool y el Hash se ha verificado.
  3. close: La conexión con el pool se ha cerrado.
  4. error: A ocurrido un error. Si ha sido un error de conexión el pool volverá a conectar automáticamente.
  5. job: Un nuevo trabajo de minado se ha recibido desde el pool.
  6. found: Un hash que coincide con la dificultad del minado del pool se ha encontrado y se va a enviar al pool.
  7. accepted: El hash que se ha enviado al pool ha sido aceptado.
Ejemplo de evento
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);
	}
});