add x17 algo

This commit is contained in:
Tanguy Pruvot 2016-05-09 16:12:07 +02:00
parent 410246fddf
commit c059a912db
9 changed files with 156 additions and 2 deletions

View file

@ -24,6 +24,8 @@ screen -dmS x11 $STRATUM_DIR/run.sh x11
screen -dmS x13 $STRATUM_DIR/run.sh x13
screen -dmS x14 $STRATUM_DIR/run.sh x14
screen -dmS x15 $STRATUM_DIR/run.sh x15
screen -dmS x17 $STRATUM_DIR/run.sh x17
screen -dmS sha $STRATUM_DIR/run.sh sha
screen -dmS scrypt $STRATUM_DIR/run.sh scrypt
screen -dmS scryptn $STRATUM_DIR/run.sh scryptn

View file

@ -9,7 +9,7 @@ CFLAGS= $(CXXFLAGS) -std=gnu99
LDFLAGS=-O2 -lgmp
SOURCES=lyra2re.c lyra2v2.c Lyra2.c Sponge.c blake.c scrypt.c c11.c x11.c x13.c sha256.c keccak.c \
x14.c x15.c nist5.c fresh.c quark.c neoscrypt.c scryptn.c qubit.c skein.c groestl.c \
x14.c x15.c x17.c nist5.c fresh.c quark.c neoscrypt.c scryptn.c qubit.c skein.c groestl.c \
skein2.c zr5.c bmw.c luffa.c pentablake.c whirlpool.c whirlpoolx.c blakecoin.c \
blake2.c blake2s.c \
yescrypt.c yescrypt-opt.c sha256_Y.c \

114
stratum/algos/x17.c Normal file
View file

@ -0,0 +1,114 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sha3/sph_blake.h>
#include <sha3/sph_bmw.h>
#include <sha3/sph_groestl.h>
#include <sha3/sph_jh.h>
#include <sha3/sph_keccak.h>
#include <sha3/sph_skein.h>
#include <sha3/sph_luffa.h>
#include <sha3/sph_cubehash.h>
#include <sha3/sph_shavite.h>
#include <sha3/sph_simd.h>
#include <sha3/sph_echo.h>
#include <sha3/sph_hamsi.h>
#include <sha3/sph_fugue.h>
#include <sha3/sph_shabal.h>
#include <sha3/sph_whirlpool.h>
#include <sha3/sph_sha2.h>
#include <sha3/sph_haval.h>
void x17_hash(const char* input, char* output, uint32_t len)
{
sph_blake512_context ctx_blake;
sph_bmw512_context ctx_bmw;
sph_groestl512_context ctx_groestl;
sph_skein512_context ctx_skein;
sph_jh512_context ctx_jh;
sph_keccak512_context ctx_keccak;
sph_luffa512_context ctx_luffa1;
sph_cubehash512_context ctx_cubehash1;
sph_shavite512_context ctx_shavite1;
sph_simd512_context ctx_simd1;
sph_echo512_context ctx_echo1;
sph_hamsi512_context ctx_hamsi1;
sph_fugue512_context ctx_fugue1;
sph_shabal512_context ctx_shabal1;
sph_whirlpool_context ctx_whirlpool1;
sph_sha512_context ctx_sha512;
sph_haval256_5_context ctx_haval;
uint32_t hash[16];
sph_blake512_init(&ctx_blake);
sph_blake512 (&ctx_blake, input, len);
sph_blake512_close (&ctx_blake, hash);
sph_bmw512_init(&ctx_bmw);
sph_bmw512 (&ctx_bmw, hash, 64);
sph_bmw512_close(&ctx_bmw, hash);
sph_groestl512_init(&ctx_groestl);
sph_groestl512 (&ctx_groestl, hash, 64);
sph_groestl512_close(&ctx_groestl, hash);
sph_skein512_init(&ctx_skein);
sph_skein512 (&ctx_skein, hash, 64);
sph_skein512_close (&ctx_skein, hash);
sph_jh512_init(&ctx_jh);
sph_jh512 (&ctx_jh, hash, 64);
sph_jh512_close(&ctx_jh, hash);
sph_keccak512_init(&ctx_keccak);
sph_keccak512 (&ctx_keccak, hash, 64);
sph_keccak512_close(&ctx_keccak, hash);
sph_luffa512_init (&ctx_luffa1);
sph_luffa512 (&ctx_luffa1, hash, 64);
sph_luffa512_close (&ctx_luffa1, hash);
sph_cubehash512_init (&ctx_cubehash1);
sph_cubehash512 (&ctx_cubehash1, hash, 64);
sph_cubehash512_close(&ctx_cubehash1, hash);
sph_shavite512_init (&ctx_shavite1);
sph_shavite512 (&ctx_shavite1, hash, 64);
sph_shavite512_close(&ctx_shavite1, hash);
sph_simd512_init (&ctx_simd1);
sph_simd512 (&ctx_simd1, hash, 64);
sph_simd512_close(&ctx_simd1, hash);
sph_echo512_init (&ctx_echo1);
sph_echo512 (&ctx_echo1, hash, 64);
sph_echo512_close(&ctx_echo1, hash);
sph_hamsi512_init (&ctx_hamsi1);
sph_hamsi512 (&ctx_hamsi1, hash, 64);
sph_hamsi512_close(&ctx_hamsi1, hash);
sph_fugue512_init (&ctx_fugue1);
sph_fugue512 (&ctx_fugue1, hash, 64);
sph_fugue512_close(&ctx_fugue1, hash);
sph_shabal512_init (&ctx_shabal1);
sph_shabal512 (&ctx_shabal1, hash, 64);
sph_shabal512_close(&ctx_shabal1, hash);
sph_whirlpool_init (&ctx_whirlpool1);
sph_whirlpool (&ctx_whirlpool1, hash, 64);
sph_whirlpool_close(&ctx_whirlpool1, hash);
sph_sha512_init(&ctx_sha512);
sph_sha512(&ctx_sha512,(const void*) hash, 64);
sph_sha512_close(&ctx_sha512,(void*) hash);
sph_haval256_5_init(&ctx_haval);
sph_haval256_5(&ctx_haval,(const void*) hash, 64);
sph_haval256_5_close(&ctx_haval, hash);
memcpy(output, hash, 32);
}

16
stratum/algos/x17.h Normal file
View file

@ -0,0 +1,16 @@
#ifndef X17_H
#define X17_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
void x17_hash(const char* input, char* output, uint32_t len);
#ifdef __cplusplus
}
#endif
#endif

View file

@ -0,0 +1,16 @@
[TCP]
server = yaamp.com
port = 3737
password = tu8tu5
[SQL]
host = yaampdb
database = yaamp
username = root
password = patofpaq
[STRATUM]
algo = x17
difficulty = 0.008
max_ttf = 50000

View file

@ -92,6 +92,7 @@ YAAMP_ALGO g_algos[] =
{"x13", x13_hash, 1, 0, 0},
{"x14", x14_hash, 1, 0, 0},
{"x15", x15_hash, 1, 0, 0},
{"x17", x17_hash, 1, 0, 0},
{"lyra2", lyra2re_hash, 0x80, 0, 0},
{"lyra2v2", lyra2v2_hash, 0x100, 0, 0},

View file

@ -127,6 +127,7 @@ void sha256_double_hash_hex(const char *input, char *output, unsigned int len);
#include "algos/x13.h"
#include "algos/x14.h"
#include "algos/x15.h"
#include "algos/x17.h"
#include "algos/nist5.h"
#include "algos/fresh.h"
#include "algos/quark.h"

View file

@ -26,6 +26,7 @@ return array(
'rules'=>array(
// prevent /explorer/id/<num>/p1/v1/... -> /explorer/<num>?params...
'/explorer/<id:\d+>' => array('/explorer', 'urlFormat'=>'get'),
'explorer/<id:\d+>' => array('explorer', 'urlFormat'=>'get'),
),
),

View file

@ -26,6 +26,7 @@ function yaamp_get_algos()
'x13',
'x14',
'x15',
'x17',
'groestl', // dmd-gr -m 256 (deprecated)
'dmd-gr',
'myr-gr',
@ -107,7 +108,8 @@ function getAlgoColors($algo)
'x11' => '#f0f0a0',
'x13' => '#ffd880',
'x14' => '#a0f0c0',
'x15' => '#f0b0a0',
'x15' => '#f0b080',
'x17' => '#f0b0a0',
'argon2' => '#e0d0e0',
'blake' => '#f0f0f0',
'blakecoin' => '#f0f0f0',
@ -151,6 +153,7 @@ function getAlgoPort($algo)
'x11' => 3533,
'x13' => 3633,
'x15' => 3733,
'x17' => 3737,
'nist5' => 3833,
'x14' => 3933,
'quark' => 4033,