Browse Source

correct regenhash

pull/1/head
orignal 7 years ago
parent
commit
f5f92e53dc
  1. 19
      algorithm/gostcoin.c
  2. 2
      algorithm/gostcoin.h

19
algorithm/gostcoin.c

@ -1,16 +1,23 @@
#include "config.h" #include "config.h"
#include "miner.h" #include "miner.h"
#include "sph/sph_gost.h"
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
#include <string.h> #include <string.h>
int gostcoin_test(unsigned char *pdata, const unsigned char *ptarget, uint32_t nonce)
{
return 0; // TODO
}
void gostcoin_regenhash(struct work *work) void gostcoin_regenhash(struct work *work)
{ {
// TODO: uint32_t data[20];
uint32_t *nonce = (uint32_t *)(work->data + 76);
be32enc_vect(data, (const uint32_t *)work->data, 19);
data[19] = htobe32(*nonce);
unsigned char h1[64], h2[32];
sph_gost512(h1, (const void*)data, 80);
sph_gost256(h2, (const void*)h1, 64);
int i;
for (i = 0 ; i < 32; i++) work->hash[i] = h2[31-i];
} }

2
algorithm/gostcoin.h

@ -3,8 +3,6 @@
#include "miner.h" #include "miner.h"
extern int gostcoin_test(unsigned char *pdata, const unsigned char *ptarget,
uint32_t nonce);
extern void gostcoin_regenhash(struct work *work); extern void gostcoin_regenhash(struct work *work);
#endif /* SIBCOIN_H */ #endif /* SIBCOIN_H */

Loading…
Cancel
Save