60 lines
1.1 KiB
C
60 lines
1.1 KiB
C
//
|
|
// Created by haraldwolff on 08.08.22.
|
|
//
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
#include <errno.h>
|
|
|
|
#include <merkle.h>
|
|
#include <string.h>
|
|
|
|
|
|
int main(int argc, char *argv[]){
|
|
merkle_t *merkle;
|
|
|
|
|
|
/*
|
|
for (int n=4; n<5; n++)
|
|
for (int mw=12; mw < 13 ; mw++)
|
|
{
|
|
*/
|
|
int s = merkle_create(&merkle, 8, 1048768);
|
|
if (s){
|
|
printf("failed to create merkle tree. error=%d (%s)\n", s, strerror(s));
|
|
} else{
|
|
printf("created merkle tree with n=%d\n", merkle->parameters.n);
|
|
printf("n=%d depth=%d width=%d length=%d\n", merkle->parameters.n, merkle->parameters.depth, merkle->parameters.width, merkle->parameters.length);
|
|
|
|
for (int n=0;n<merkle->parameters.length;n++)
|
|
merkle->hashes[n] = n;
|
|
|
|
/*
|
|
int w = 1;
|
|
for (int n = 0; n < merkle->parameters.width; n++) {
|
|
printf("N=%3d ", n);
|
|
for (int d=0;d<=merkle->parameters.depth;d++) {
|
|
uint64_t th;
|
|
s = merkle_get(merkle, d, n, &th);
|
|
if (s < 0) {
|
|
printf("D:%d G:%d E=%d (%s)\n", d, merkle->parameters.n, s, strerror(s));
|
|
} else {
|
|
printf("%4d ", th);
|
|
}
|
|
}
|
|
printf("\n");
|
|
}
|
|
*/
|
|
merkle_free(merkle);
|
|
}
|
|
/*
|
|
}
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
} |