Skip to content
Snippets Groups Projects
Commit 23ff6c16 authored by Maxim Krasylnikov's avatar Maxim Krasylnikov
Browse files

first fork commit

parent 318ab44e
No related branches found
No related tags found
No related merge requests found
# Prerequisites
*.d
# Object files
*.o
*.ko
*.obj
*.elf
# Linker output
*.ilk
*.map
*.exp
# Precompiled Headers
*.gch
*.pch
# Libraries
*.lib
*.a
*.la
*.lo
# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
# Debug files
*.dSYM/
*.su
*.idb
*.pdb
# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf
......@@ -29,6 +29,23 @@
#define LOG_TAG "dap_chain"
FILE* my_file_to_wite_gold;
void* gold_mem;
FILE* my_file_to_wite_silver;
void* silver_mem;
FILE* my_file_to_wite_copper;
void* copper_mem;
int blocks_mined;
int blocks_mined_gold;
int blocks_mined_silver;
int blocks_mined_copper;
double total_mining_time;
double total_mining_hashes; //хз че делать пока
double total_hashes_in_minute;
/**
* @brief dap_chain_init
* @return
......@@ -47,6 +64,35 @@ void dap_chain_deinit()
}
void dap_chain_mine_stop(){
log_it(L_INFO, "Total hashes for gold coins %s B", ftell(my_file_to_wite_gold) );
fclose(my_file_to_wite_gold);
log_it(L_INFO, "Total hashes for silver coins %s B", ftell(my_file_to_wite_silver));
fclose(my_file_to_wite_silver);
log_it(L_INFO, "Total hashes for copper coins %s B", ftell(my_file_to_wite_copper));
fclose(my_file_to_wite_copper);
log_it(L_INFO, "Total blocks mined %s ", blocks_mined);
log_it(L_INFO, "Gold blocks mined %s ", blocks_mined_gold);
log_it(L_INFO, "Silver blocks mined %s ", blocks_mined_silver);
log_it(L_INFO, "Copper blocks mined %s ", blocks_mined_copper);
log_it(L_INFO, "Totla mining speed %s ", total_hashes_in_minute/blocks_mined);
}
void dap_chain_settot(){
blocks_mined = 0;
blocks_mined_copper = 0;
blocks_mined_silver = 0;
blocks_mined_gold = 0;
total_hashes_in_minute = 0;
}
void dap_chain_count_new_block(dap_chain_block_cache_t *l_block_cache)
{
blocks_mined+=1;
total_hashes_in_minute = total_hashes_in_minute + sizeof(l_block_cache->block_hash)/l_block_cache->block_mine_time;
}
/**
* @brief dap_chain_open
* @param a_file_storage
......@@ -86,6 +132,116 @@ void dap_chain_save(dap_chain_t * a_chain)
}
/**
* @brief dap_chain_file_write
* @param l_block_cache
*/
void dap_chain_file_write(dap_chain_block_cache_t *l_block_cache){
if (dap_chain_hash_kind_check(l_block_cache, l_block_cache->block->header.difficulty)==HASH_GOLD){
fwrite(l_block_cache->block->header.size, 64, 1, my_file_to_wite_gold);
fwrite(l_block_cache->block, l_block_cache->block->header.size, 1, my_file_to_wite_gold);
blocks_mined_gold += 1;
/*gold_mem=mmap(0, l_block_cache->block->header.size, PROT_WRITE, MAP_SHARED, my_file_to_wite_gold, 0);
memcpy(gold_mem, l_block_cache, l_block_cache->block->header.size);
munmap(gold_mem, l_block_cache->block->header.size);*/
}
else if (dap_chain_hash_kind_check(l_block_cache, l_block_cache->block->header.difficulty)==HASH_SILVER){
fwrite(l_block_cache->block->header.size, 64, 1, my_file_to_wite_silver);
fwrite(l_block_cache->block, l_block_cache->block->header.size, 1, my_file_to_wite_silver);
blocks_mined_silver += 1;
/*silver_mem=mmap(0, l_block_cache->block->header.size, PROT_WRITE, MAP_SHARED, my_file_to_wite_silver, 0);
memcpy(silver_mem, l_block_cache, l_block_cache->block->header.size);
munmap(silver_mem, l_block_cache->block->header.size);*/
}
else {
fwrite(l_block_cache->block->header.size, 64, 1, my_file_to_wite_copper);
fwrite(l_block_cache->block, l_block_cache->block->header.size, 1, my_file_to_wite_copper);
blocks_mined_copper += 1;
/*copper_mem=mmap(0, l_block_cache->block->header.size, PROT_WRITE, MAP_SHARED, my_file_to_wite_copper, 0);
memcpy(copper_mem, l_block_cache, l_block_cache->block->header.size);
munmap(copper_mem, l_block_cache->block->header.size);*/
}
}
/**
* @brief dap_chain_file_open
* @param last_g
* @param last_s
* @param last_c
*/
void dap_chain_file_open(dap_chain_block_cache_t* last_g, dap_chain_block_cache_t* last_s, dap_chain_block_cache_t* last_c)
{
dap_chain_block_cache_t * l_block_gold;
dap_chain_block_cache_t *l_block_silver;
dap_chain_block_cache_t *l_block_copper;
uint32_t size_of_gold, size_of_silver, size_of_copper;
size_t result;
my_file_to_wite_gold = fopen("my_block_gold.txt", "a+");// тестовый файл создам если есть добавим
if (my_file_to_wite_gold==NULL){
log_it(L_INFO, "Everything is lost! File not opened!");
exit(1);
}
else {
result =fread(size_of_gold, 64, 1, my_file_to_wite_gold);
result = fread(l_block_gold, size_of_gold, 1, my_file_to_wite_gold);
while ((l_block_gold->block!=0)&&result!=0){
result = fread(size_of_gold, 64, 1, my_file_to_wite_gold);
if (result!=0){
result = fread(l_block_gold, size_of_gold, 1, my_file_to_wite_gold);
}
}
last_g =l_block_gold;
//l_block_gold =
}
my_file_to_wite_silver = fopen("my_block_silver.txt", "a+");
if (my_file_to_wite_silver==NULL){
log_it(L_INFO, "Everything is lost! File not opened!");
exit(1);
}
else {
result = fread(size_of_silver, 64, 1, my_file_to_wite_silver);
result = fread(l_block_silver, size_of_silver, 1, my_file_to_wite_silver);
while ((l_block_silver->block!=0)&&result!=0){
result = fread(size_of_silver, 64, 1, my_file_to_wite_silver);
if (result!=0){
result = fread(l_block_silver, size_of_silver, 1, my_file_to_wite_silver);
}
}
last_s =l_block_silver;
}
my_file_to_wite_copper = fopen("my_block_copper.txt", "a+");
if (my_file_to_wite_copper==NULL){
log_it(L_INFO, "Everything is lost! File not opened!");
exit(1);
}
else {
result = fread(size_of_copper, 64, 1, my_file_to_wite_copper);
result = fread(l_block_copper, size_of_copper, 1, my_file_to_wite_copper);
while (l_block_copper->block!=0){
result = fread(size_of_copper, 64, 1, my_file_to_wite_gold);
if (result!=0){
fread(l_block_copper, size_of_copper, 1, my_file_to_wite_copper);
}
}
last_c = l_block_copper;
}
}
/**
* @brief dap_chain_close
* @param a_chain
......@@ -95,6 +251,15 @@ void dap_chain_close(dap_chain_t * a_chain)
}
/**
* @brief dap_chain_update
* @param l_block_cache
*/
void dap_chain_update(dap_chain_block_cache_t *l_block_cache){
dap_chain_file_write(l_block_cache);
}
/**
* @brief dap_chain_info_dump_log
* @param a_chain
......
......@@ -44,6 +44,17 @@ void dap_chain_remap(dap_chain_t * a_chain, size_t a_offset);
void dap_chain_save(dap_chain_t * a_chain);
void dap_chain_info_dump_log(dap_chain_t * a_chain);
//работа с файлом
void dap_chain_file_open(dap_chain_block_cache_t* last_g, dap_chain_block_cache_t* last_s, dap_chain_block_cache_t* last_c);
void dap_chain_file_write(dap_chain_block_cache_t *l_block_cache);
void dap_chain_update(dap_chain_block_cache_t *l_block_cache);
void dap_chain_mine_stop();
void dap_chain_settot();
void dap_chain_count_new_block(dap_chain_block_cache_t *l_block_cache);
//работа с файлом
dap_chain_block_cache_t* dap_chain_allocate_next_block(dap_chain_t * a_chain);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment