Saltar a: navegación, buscar

Minado Web:Minado Javascript:index


Revisión del 17:08 8 mar 2018 de Asier (discusión | contribuciones) (Minado JavaScript)

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, unas de las monedas más utilizadas de este algoritmo. El Minador no vine 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 puede configurar los eventos para saber lom que esta ocurriendo con el minado, actualizar las estadísticas de su web....

<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 hasehes 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 asm.js. Por defecto esta 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 este ya abierto en otra pestaña. Si no se pone nada, por defecto sera LightOfMining.IF_EXCLUSIVE_TAB.

Esto solo afectara a minadores del la misma pagina web o dominio. Si tienes otras pestañas con otra pagina web o dominio y corriendo otro minador en ellas, no les afectara.

mode
  1. LightOfMining.IF_EXCLUSIVE_TAB: El minado solo comenzara si no hay ninguna otra pestaña minando.
  2. LightOfMining.FORCE_EXCLUSIVE_TAB: El minado comenzara 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 empezara, y continuara, independientemente de los minados que haya en las demás pestañas.
Ejemplo
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 therads.




.getTotalHashes([interpolate])

Retorna el número total de hashes que este 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, este devuelve un nombre de token que ha recibido del pool. Este token estar vacío hasta que el minador se haya autentificado cone l pool. Para saber el token debes escuchar el evento authed.

Ejemplo
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
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);
	}
});