Saltar a: navegación, buscar

Diferencia entre revisiones de «Minado Web:Minado Javascript:index»


m
m (Minado JavaScript)
Línea 107: Línea 107:
 
#'''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:'''.
 
#'''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:'''.
 
#'''LightOfMining.FORCE_MULTI_TAB:''' . El minado siempre empezará, y continuará, independientemente de los minados que haya en las demás pestañas.
 
#'''LightOfMining.FORCE_MULTI_TAB:''' . El minado siempre empezará, y continuará, independientemente de los minados que haya en las demás pestañas.
===== Ejemplo =====
+
===== Ejemplo de .start() =====
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
meatzari.start();
 
meatzari.start();
Línea 195: Línea 195:
 
==== .getToken() ====
 
==== .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 [[#.on.28event.2C_callback.29|authed]].
 
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 [[#.on.28event.2C_callback.29|authed]].
===== Ejemplo =====
+
===== Ejemplo de .getToken() =====
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
miner.on('authed', function(params) {
 
miner.on('authed', function(params) {
Línea 220: Línea 220:
 
#'''accepted:''' El hash que se ha enviado al pool ha sido aceptado.
 
#'''accepted:''' El hash que se ha enviado al pool ha sido aceptado.
  
===== Ejemplo =====
+
===== Ejemplo de evento =====
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
miner.on('authed', function(params) {
 
miner.on('authed', function(params) {

Revisión del 18:18 13 mar 2018

Minado JavaScript

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

API JavasScript

Para Lanzar el Minado de LightOfMining, este es el código recomendado, con un uso de la CPU del 70%.

<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(siteHash [, parameters])

Crea un nuevo minador y asigna todos los hashes al hash de la web o aplicación especificada.

Parametros
  1. siteHash: contendrá el hash autogenerado por el panel LightOfMining de la web o aplicación registrada.
  2. parameters: un objeto que contendrá los ajustes del minado. Puede ver los Parámetros del Servidor.




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

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

Parametros
  1. siteHash: contendrá el hash autogenerado por el panel LightOfMining de la web o aplicación registrada.
  2. targetHashes: el número de hashes que deben ser aceptados para que se pare 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 false.
    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);
	}
});