Skip to content
Snippets Groups Projects
Unverified Commit 62b75944 authored by Dmitriy A. Gerasimov's avatar Dmitriy A. Gerasimov Committed by GitHub
Browse files

Merge pull request #1 from MaxKrasil/master

first fork commit
parents 318ab44e 23ff6c16
No related branches found
No related tags found
1 merge request!24Support 3689
# 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 @@ ...@@ -29,6 +29,23 @@
#define LOG_TAG "dap_chain" #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 * @brief dap_chain_init
* @return * @return
...@@ -47,6 +64,35 @@ void dap_chain_deinit() ...@@ -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 * @brief dap_chain_open
* @param a_file_storage * @param a_file_storage
...@@ -86,6 +132,116 @@ void dap_chain_save(dap_chain_t * a_chain) ...@@ -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 * @brief dap_chain_close
* @param a_chain * @param a_chain
...@@ -95,6 +251,15 @@ void dap_chain_close(dap_chain_t * 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 * @brief dap_chain_info_dump_log
* @param a_chain * @param a_chain
......
...@@ -44,6 +44,17 @@ void dap_chain_remap(dap_chain_t * a_chain, size_t a_offset); ...@@ -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_save(dap_chain_t * a_chain);
void dap_chain_info_dump_log(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); 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