Bitcoin Forum
November 20, 2017, 09:45:09 AM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 [894] 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 ... 1299 »
  Print  
Author Topic: [ANN][BURST] Burst | Efficient HDD Mining | New 1.2.3 Fork block 92000  (Read 2112057 times)
bensam123
Sr. Member
****
Offline Offline

Activity: 424


View Profile
February 07, 2015, 08:16:27 AM
 #17861


Thanks, how do you know if everything is functioning properly? I think I got everything working, but I'm not certain whether or not it's really 'working' so to speak. There is little to no documentation for the miner so I don't have any idea what any of the dialogue or options actually mean.

Like what is: dl sdl cdl ss rs?
https://bitcointalk.org/index.php?topic=731923.msg9117608#msg9117608
https://bitcointalk.org/index.php?topic=731923.msg9696842#msg9696842
https://bitcointalk.org/index.php?topic=731923.msg9552852#msg9552852
https://bitcointalk.org/index.php?topic=731923.msg9304835#msg9304835

Quote
How often does the mining 'phase' happen?
Every new block (~4 min)

Quote
How do you know if you found a block mining solo?
You got burst in the wallet

Quote
How do you know how long it took to process the last deadline and what the deadline is (I'm using blagos)?


see stat-log.csv  (ID, #block, baseTarget, best_Deadline)

Quote
What is the initial 'mine' that happens when you start the miner up, where the percentage in the bottom left counts up?
percentage of reading of plots

Quote
What is optimizing people talk about and how do you do it? What does it mean?
merge the plots, defrag HDDs
https://www.dropbox.com/s/xj4mzvkjlyg0c2l/merge.zip?dl=0

Blago I know this is a old post of yours but when you are merging and defragging hdds how do you go about using that merge tool in it as this no info on how to use the exe. How does one use it. Is tis the optimizer to optimize plots then just defrag hddd with defragger etc and link up in config for mining to add selected hdds like  d e f g and so on.

Yeah, I still don't understand what the + means. From reading through posts, I assumed 'merging' and 'optimizing' are the same thing. Defraging, is just defraging your HD...

A lot of lingo, I've been around here for over a month and I still don't have all of it figured out.

Ok, dcct's optimizer (dcct's address: BURST-DCCT-RZBV-NQC7-9G5N2): optimizer.exe (It was originally called merge.exe) - reorganizes (optimize) file. Improves reading speed and reduces destruction of HDD.
(start code https://www.dropbox.com/s/4t8yp972vsv6kly/merge.c?dl=0)

https://www.dropbox.com/s/7wczp04g4allmdu/Optimizer.exe?dl=0
Usage: optimize.exe <delay in seconds to wait for enough available RAM> <Output directory or -f for same as Input> [-del 1 or 0 (Optional)] [-m MEMORY (Optional)] <Plot file> [<Plot file> ..]

Defragmentator: O&O Defrag Professional

Miner:
When you specify the path settings in the following order, each path - it's a separate thread to the processor.
"Paths":["C:\\plots","D:\\plots","E:\\plots\\"],   - 3 parallel executable threads

In this case, the files are read sequentially in one thread:
"Paths":["C:\\plots+D:\\plots+E:\\plots\\"],   - 1 sequential thread for 3 HDDs



That makes more sense, the + is a threading option. In what case would you only want one thread?
Join ICO Now A blockchain platform for effective freelancing
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1511171109
Hero Member
*
Offline Offline

Posts: 1511171109

View Profile Personal Message (Offline)

Ignore
1511171109
Reply with quote  #2

1511171109
Report to moderator
muhrohmat
Sr. Member
****
Offline Offline

Activity: 252


View Profile
February 07, 2015, 08:25:25 AM
 #17862

i got one question... is the wallet goin to have very much revisionlike 1.15 to 1.2.2 it had already soo the next moths will also be need to actualize like in 2 per 2 weeks a new version? its that the link only works if the anti-virus its not connected..

bensam123
Sr. Member
****
Offline Offline

Activity: 424


View Profile
February 07, 2015, 09:32:28 AM
 #17863

Curious bit, has anyone tested out performance while scanning plots with different allocation sizes? What about different sector sizes?
Alpinist
Full Member
***
Offline Offline

Activity: 139



View Profile
February 07, 2015, 11:30:14 AM
 #17864

Is it critical to upgrade from 1.2.1 to 1.2.2. What is new in 1.2.2?
seasonw
Sr. Member
****
Online Online

Activity: 420


AGw8H3S73qpR6fecRUr5dYUpwvcvMeQfbL


View Profile
February 07, 2015, 11:30:27 AM
 #17865

Ok, dcct's optimizer (dcct's address: BURST-DCCT-RZBV-NQC7-9G5N2): optimizer.exe (It was originally called merge.exe) - reorganizes (optimize) file. Improves reading speed and reduces destruction of HDD.
(start code https://www.dropbox.com/s/4t8yp972vsv6kly/merge.c?dl=0)

https://www.dropbox.com/s/7wczp04g4allmdu/Optimizer.exe?dl=0
Usage: optimize.exe <delay in seconds to wait for enough available RAM> <Output directory or -f for same as Input> [-del 1 or 0 (Optional)] [-m MEMORY (Optional)] <Plot file> [<Plot file> ..]

Defragmentator: O&O Defrag Professional

Miner:
When you specify the path settings in the following order, each path - it's a separate thread to the processor.
"Paths":["C:\\plots","D:\\plots","E:\\plots\\"],   - 3 parallel executable threads

In this case, the files are read sequentially in one thread:
"Paths":["C:\\plots+D:\\plots+E:\\plots\\"],   - 1 sequential thread for 3 HDDs



That makes more sense, the + is a threading option. In what case would you only want one thread?

I believe to run all HDDs in 1 thread is to reduce heavy usage of CPU, so that you still have smooth computer power for your work... Not every burstcoin miner has dedicated mining machine anyway  Grin



 █████  ██      ████████  ██████  ██████  ███    ███ ███    ███ ██    ██ ███    ██ ██ ████████ ██    ██      ██████  ██████  ██ ███    ██
██   ██ ██         ██    ██      ██    ██ ████  ████ ████  ████ ██    ██ ████   ██ ██    ██     ██  ██      ██      ██    ██ ██ ████   ██
███████ ██         ██    ██      ██    ██ ██ ████ ██ ██ ████ ██ ██    ██ ██ ██  ██ ██    ██      ████       ██      ██    ██ ██ ██ ██  ██
██   ██ ██         ██    ██      ██    ██ ██  ██  ██ ██  ██  ██ ██    ██ ██  ██ ██ ██    ██       ██        ██      ██    ██ ██ ██  ██ ██
██   ██ ███████    ██     ██████  ██████  ██      ██ ██      ██  ██████  ██   ████ ██    ██       ██         ██████  ██████  ██ ██   ████

   ▄█████▄▄      ▄▄█▄▄      ▄▄█████▄   
 ▄██████████▄  █████████  ▄██████████▄
█████████████▄ █████████ ▄█████████████
 ████████████  █████████  ████████████
  ▀████████▀  ███████████  ▀████████▀   
 ▄  ▀▀▀▀▀▀   █████████████   ▀▀▀▀▀▀  ▄ 
 ██▄▄▄▄▄▄▄▄████████████████▄▄▄▄▄▄▄▄▄██ 
▄██████████████████ ██████████████████▄
██████████████████   ██████████████████
█████████████████     █████████████████
███████████████         ███████████████
 ████████████             ████████████
 ███████████               ███████████
  █████████▀               ▀█████████ 
   ████████                 ████████   
     █████▀                 ▀█████     
      ▀███                   ███▀       
         █                   █           


██     ██ ███████     ██████  ███████  ██████ ██ ██████  ███████     ████████ ██   ██ ███████     ███████ ██    ██ ████████ ██    ██ ██████  ███████
██     ██ ██          ██   ██ ██      ██      ██ ██   ██ ██             ██    ██   ██ ██          ██      ██    ██    ██    ██    ██ ██   ██ ██     
██  █  ██ █████       ██   ██ █████   ██      ██ ██   ██ █████          ██    ███████ █████       █████   ██    ██    ██    ██    ██ ██████  █████   
██ ███ ██ ██          ██   ██ ██      ██      ██ ██   ██ ██             ██    ██   ██ ██          ██      ██    ██    ██    ██    ██ ██   ██ ██     
 ███ ███  ███████     ██████  ███████  ██████ ██ ██████  ███████        ██    ██   ██ ███████     ██       ██████     ██     ██████  ██   ██ ███████
 ANN  BOUNTY  SONOHUB  eSPORTS  WEBWALLET 
xizmax
Hero Member
*****
Offline Offline

Activity: 527


View Profile
February 07, 2015, 12:15:59 PM
 #17866

i got one question... is the wallet goin to have very much revisionlike 1.15 to 1.2.2 it had already soo the next moths will also be need to actualize like in 2 per 2 weeks a new version? its that the link only works if the anti-virus its not connected..

Updates will come as necessary or as new features are introduced. What link is giving you problems mate?

Is it critical to upgrade from 1.2.1 to 1.2.2. What is new in 1.2.2?

Yes it is a mandatory update, please update as soon as possible. Deadline is block 67000, which is about 7 days away. 1.2.2. brings some new fixes and updates to Automated Transactions.

BURST, your C:\urrency
Follow us on https://twitter.com/burstcoin_dev
xpoint
Member
**
Offline Offline

Activity: 75


View Profile
February 07, 2015, 01:33:43 PM
 #17867

Thats guide run mining for Debian 7     https://github.com/TomasAchmedovas/burst-mining
romdu
Newbie
*
Offline Offline

Activity: 21


View Profile
February 07, 2015, 03:11:17 PM
 #17868

here is a fix for dcct's linux miner for mining with DevPool v2.
replace the code in the file "mine.c" with the follwing one an compile it. thx dcct for this nice linux miner!

Code:
/*
        Uses burstcoin plot files to mine coins
        Author: Markus Tervooren <info@bchain.info>
        BURST-R5LP-KEL9-UYLG-GFG6T

With code written by Uray Meiviar <uraymeiviar@gmail.com>
BURST-8E8K-WQ2F-ZDZ5-FQWHX

        Implementation of Shabal is taken from:
        http://www.shabal.com/?p=198

Usage: ./mine <node ip> [<plot dir> <plot dir> ..]
*/

#define _GNU_SOURCE
#include <stdint.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <dirent.h>
#include <pthread.h>

#include "shabal.h"
#include "helper.h"

// Do not report results with deadline above this to the node. If you mine solo set this to 10000 to avoid stressing out the node.
#define MAXDEADLINE 5000000

// Change if you need
#define DEFAULT_PORT 8125

// These are fixed for BURST. Dont change!
#define HASH_SIZE 32
#define HASH_CAP 4096
#define PLOT_SIZE (HASH_CAP * HASH_SIZE * 2)

// Read this many nonces at once. 100k = 6.4MB per directory/thread.
// More may speedup things a little.
#define CACHESIZE 100000

#define BUFFERSIZE 2000

unsigned long long addr;
unsigned long long startnonce;
int scoop;

unsigned long long best;
unsigned long long bestn;
unsigned long long deadline;

unsigned long long targetdeadline;

char signature[33];
char oldSignature[33];

char nodeip[16];
int nodeport = DEFAULT_PORT;

unsigned long long bytesRead = 0;
unsigned long long height = 0;
unsigned long long baseTarget = 0;
time_t starttime;

int stopThreads = 0;

pthread_mutex_t byteLock;

#define SHARECACHE 1000

#ifdef SHARE_POOL
int sharefill;
unsigned long long sharekey[SHARECACHE];
unsigned long long sharenonce[SHARECACHE];
#endif

// Buffer to read the passphrase to. Only when SOLO mining
#ifdef SOLO
char passphrase[BUFFERSIZE + 1];
#endif

char readbuffer[BUFFERSIZE + 1];

// Some more buffers
char writebuffer[BUFFERSIZE + 1];

char *contactWallet(char *req, int bytes) {
int s = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);

struct sockaddr_in ss;
ss.sin_addr.s_addr = inet_addr( nodeip );
ss.sin_family = AF_INET;
ss.sin_port = htons( nodeport );

struct timeval tv;
tv.tv_sec =  15;
tv.tv_usec = 0; 

setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv,sizeof(struct timeval));

if(connect(s, (struct sockaddr*)&ss, sizeof(struct sockaddr_in)) == -1) {
printf("\nError sending result to node                           \n");
fflush(stdout);
return NULL;
}

int written = 0;
do {
int w = write(s, &req[written], bytes - written);
if(w < 1) {
printf("\nError sending request to node                     \n");
return NULL;
}
written += w;
} while(written < bytes);

int bytesread = 0, rbytes;
do {
rbytes = read(s, &readbuffer[bytesread], BUFFERSIZE - bytesread);
if(bytes > 0)
bytesread += rbytes;

} while(rbytes > 0 && bytesread < BUFFERSIZE);

close(s);

// Finish read
readbuffer[bytesread] = 0;

// locate HTTP header end
char *find = strstr(readbuffer, "\r\n\r\n");

// No header found
if(find == NULL)
return NULL;

return find + 4;
}

void procscoop(unsigned long long nonce, int n, char *data, unsigned long long account_id) {
char *cache;
char sig[32 + 64];

cache = data;

int v;

memmove(sig, signature, 32);

for(v=0; v<n; v++) {
memmove(&sig[32], cache, 64);

shabal_context x;
shabal_init(&x, 256);
shabal(&x, sig, 64 + 32);

char res[32];

shabal_close(&x, 0, 0, res);

unsigned long long *wertung = (unsigned long long*)res;

// Sharepool: Submit all deadlines below threshold
// Uray_pool: Submit best deadline
// Solo: Best deadline, but not low quality deadlines

#ifdef SHARE_POOL
// For sharepool just store results for later submission
if(*wertung < targetdeadline * baseTarget && sharefill < SHARECACHE) {
sharekey[sharefill] = account_id;
sharenonce[sharefill] = nonce;
sharefill++;
}
#else
if(bestn == 0 || *wertung <= best) {
best = *wertung;
bestn = nonce;

#ifdef SOLO
if(best < baseTarget * MAXDEADLINE) { // Has to be this good before we inform the node
#endif


#ifdef URAY_POOL
                        int bytes = sprintf(writebuffer, "POST /burst?requestType=submitNonce&accountId=%llu&nonce=%llu HTTP/1.0\r\nConnection: close\r\n\r\n", account_id,bestn);
#else
int bytes = sprintf(writebuffer, "POST /burst?requestType=submitNonce&secretPhrase=%s&nonce=%llu HTTP/1.0\r\nConnection: close\r\n\r\n", passphrase, bestn);
#endif
char *buffer = contactWallet( writebuffer, bytes );

if(buffer != NULL) {
char *rdeadline = strstr(buffer, "\"deadline\":");
if(rdeadline != NULL) {
rdeadline += 11;
char *end = strstr(rdeadline, "}");
if(end != NULL) {
// Parse and check if we have a better deadline
unsigned long long ndeadline = strtoull(rdeadline, 0, 10);
if(ndeadline < deadline || deadline == 0)
deadline = ndeadline;
}
} else {
printf("\nWalet reported no deadline.\n");
}
#ifdef SOLO
// Deadline too high? Passphrase may be wrong.
if(deadline > MAXDEADLINE) {
printf("\nYour deadline is larger than it should be. Check if you put the correct passphrase to passphrases.txt.\n");
fflush(stdout);
}
#endif

}
#ifdef SOLO
}
#endif
}

#endif
nonce++;
cache += 64;
}
}


void *work_i(void *x_void_ptr) {
        char *x_ptr = (char*)x_void_ptr;

char *cache = (char*) malloc(CACHESIZE * HASH_SIZE * 2);

if(cache == NULL) {
printf("\nError allocating memory                         \n");
exit(-1);
}


DIR *d;
struct dirent *dir;
d = opendir(x_ptr);

if (d) {
while ((dir = readdir(d)) != NULL) {
unsigned long long key, nonce, nonces, stagger, n;

char fullname[512];
strcpy(fullname, x_ptr);

if(sscanf(dir->d_name, "%llu_%llu_%llu_%llu", &key, &nonce, &nonces, &stagger)) {
// Does path end with a /? If not, add it.
if( fullname[ strlen( x_void_ptr ) ] == '/' ) {
strcpy(&fullname[ strlen( x_void_ptr ) ], dir->d_name);
} else {
fullname[ strlen( x_void_ptr ) ] = '/';
strcpy(&fullname[ strlen( x_void_ptr ) + 1 ], dir->d_name);
}

int fh = open(fullname, O_RDONLY);

if(fh < 0) {
                                        printf("\nError opening file %s                             \n", fullname);
                                        fflush(stdout);
}

unsigned long long offset = stagger * scoop * HASH_SIZE * 2;
unsigned long long size = stagger * HASH_SIZE * 2;

for(n=0; n<nonces; n+=stagger) {
// Read one Scoop out of this block:
// start to start+size in steps of CACHESIZE * HASH_SIZE * 2

unsigned long long start = n * HASH_CAP * HASH_SIZE * 2 + offset, i;
unsigned long long noffset = 0;
for(i = start; i < start + size; i += CACHESIZE * HASH_SIZE * 2) {
unsigned int readsize = CACHESIZE * HASH_SIZE * 2;
if(readsize > start + size - i)
readsize = start + size - i;

int bytes = 0, b;
do {
b = pread(fh, &cache[bytes], readsize - bytes, i);
bytes += b;
} while(bytes < readsize && b > 0); // Read until cache is filled (or file ended)

if(b != 0) {
procscoop(n + nonce + noffset, readsize / (HASH_SIZE * 2), cache, key); // Process block

// Lock and add to totals
pthread_mutex_lock(&byteLock);
bytesRead += readsize;
pthread_mutex_unlock(&byteLock);
}

noffset += CACHESIZE;
}

if(stopThreads) { // New block while processing: Stop.
close(fh);
closedir(d);
free(cache);
return NULL;
}
}
close(fh);
}
}
closedir(d);
}
free(cache);
return NULL;
}

int pollNode() {

// Share-pool works differently
#ifdef SHARE_POOL
int bytes = sprintf(writebuffer, "GET /pool/getMiningInfo HTTP/1.0\r\nHost: %s:%i\r\nConnection: close\r\n\r\n", nodeip, nodeport);
#else
int bytes = sprintf(writebuffer, "POST /burst?requestType=getMiningInfo HTTP/1.0\r\nConnection: close\r\n\r\n");
#endif

char *buffer = contactWallet( writebuffer, bytes );

if(buffer == NULL)
return 0;

// Parse result
#ifdef SHARE_POOL
char *rbaseTarget = strstr(buffer, "\"baseTarget\": \"");
char *rheight = strstr(buffer, "\"height\": \"");
char *generationSignature = strstr(buffer, "\"generationSignature\": \"");
char *tdl = strstr(buffer, "\"targetDeadline\": \"");

if(rbaseTarget == NULL || rheight == NULL || generationSignature == NULL || tdl == NULL)
return 0;

char *endBaseTarget = strstr(rbaseTarget + 15, "\"");
char *endHeight = strstr(rheight + 11, "\"");
char *endGenerationSignature = strstr(generationSignature + 24, "\"");
char *endtdl = strstr(tdl + 19, "\"");

if(endBaseTarget == NULL || endHeight == NULL || endGenerationSignature == NULL || endtdl == NULL)
return 0;

// Set endpoints
endBaseTarget[0] = 0;
endHeight[0] = 0;
endGenerationSignature[0] = 0;
endtdl[0] = 0;

// Parse
if(xstr2strr(signature, 33, generationSignature + 24) < 0) {
printf("\nNode response: Error decoding generationsignature          \n");
fflush(stdout);
return 0;
}

height = strtoull(rheight + 11, 0, 10);
baseTarget = strtoull(rbaseTarget + 15, 0, 10);
targetdeadline = strtoull(tdl + 19, 0, 10);
#else
char *rbaseTarget = strstr(buffer, "\"baseTarget\":\"");
char *rheight = strstr(buffer, "\"height\":\"");
char *generationSignature = strstr(buffer, "\"generationSignature\":\"");
if(rbaseTarget == NULL || rheight == NULL || generationSignature == NULL)
return 0;

char *endBaseTarget = strstr(rbaseTarget + 14, "\"");
char *endHeight = strstr(rheight + 10, "\"");
char *endGenerationSignature = strstr(generationSignature + 23, "\"");
if(endBaseTarget == NULL || endHeight == NULL || endGenerationSignature == NULL)
return 0;

// Set endpoints
endBaseTarget[0] = 0;
endHeight[0] = 0;
endGenerationSignature[0] = 0;

// Parse
if(xstr2strr(signature, 33, generationSignature + 23) < 0) {
printf("\nNode response: Error decoding generationsignature          \n");
fflush(stdout);
return 0;
}

height = strtoull(rheight + 10, 0, 10);
baseTarget = strtoull(rbaseTarget + 14, 0, 10);
#endif

return 1;
}

void update() {
// Try until we get a result.
while(pollNode() == 0) {
printf("\nCould not get mining info from Node. Will retry..             \n");
fflush(stdout);
struct timespec wait;
wait.tv_sec = 1;
wait.tv_nsec = 0;
nanosleep(&wait, NULL);
};
}

int main(int argc, char **argv) {
int i;
if(argc < 3) {
printf("Usage: ./mine <node url> [<plot dir> <plot dir> ..]\n");
exit(-1);
}

#ifdef SOLO
// Reading passphrase from file
int pf = open( "passphrases.txt", O_RDONLY );
if( pf < 0 ) {
printf("Could not find file passphrases.txt\nThis file should contain the passphrase used to create the plotfiles\n");
exit(-1);
}

int bytes = read( pf, passphrase, 2000 );

// Replace spaces with +
for( i=0; i<bytes; i++ ) {
if( passphrase[i] == ' ' )
passphrase[i] = '+';

// end on newline
if( passphrase[i] == '\n' || passphrase[i] == '\r')
passphrase[i] = 0;
}

passphrase[bytes] = 0;
#endif

// Check if all directories exist:
struct stat d = {0};

for(i = 2; i < argc; i++) {
if ( stat( argv[i], &d) ) {
printf( "Plot directory %s does not exist\n", argv[i] );
exit(-1);
} else {
if( !(d.st_mode & S_IFDIR) ) {
printf( "%s is not a directory\n", argv[i] );
exit(-1);
}
}
}

char *hostname = argv[1];

// Contains http://? strip it.
if(strncmp(hostname, "http://", 7) == 0)
hostname += 7;

// Contains Port? Extract and strip.
char *p = strstr(hostname, ":");
if(p != NULL) {
p[0] = 0;
p++;
nodeport = atoi(p);
}

printf("Using %s port %i\n", hostname, nodeport);

hostname_to_ip(hostname, nodeip);

memset(oldSignature, 0, 33);

pthread_t worker[argc];
time(&starttime);

// Get startpoint:
update();

// Main loop
for(;;) {
// Get scoop:
char scoopgen[40];
memmove(scoopgen, signature, 32);

char *mov = (char*)&height;

scoopgen[32] = mov[7]; scoopgen[33] = mov[6]; scoopgen[34] = mov[5]; scoopgen[35] = mov[4]; scoopgen[36] = mov[3]; scoopgen[37] = mov[2]; scoopgen[38] = mov[1]; scoopgen[39] = mov[0];

shabal_context x;
shabal_init(&x, 256);
shabal(&x, scoopgen, 40);
char xcache[32];
shabal_close(&x, 0, 0, xcache);

scoop = (((unsigned char)xcache[31]) + 256 * (unsigned char)xcache[30]) % HASH_CAP;

// New block: reset stats
best = bestn = deadline = bytesRead = 0;

#ifdef SHARE_POOL
sharefill = 0;
#endif

for(i = 2; i < argc; i++) {
if(pthread_create(&worker[i], NULL, work_i, argv[i])) {
printf("\nError creating thread. Out of memory? Try lower stagger size\n");
exit(-1);
}
}

#ifdef SHARE_POOL
// Collect threads back in for dev's pool:
                for(i = 2; i < argc; i++)
                       pthread_join(worker[i], NULL);

if(sharefill > 0) {
char *f1 = (char*) malloc(SHARECACHE * 100);
char *f2 = (char*) malloc(SHARECACHE * 100);

int used = 0;
for(i = 0; i<sharefill; i++)
used += sprintf(&f1[used], "%llu:%llu:%llu\n", sharekey[i], sharenonce[i], height);


int ilen = 1, red = used;
while(red > 10) {
ilen++;
red /= 10;
}

int db = sprintf(f2, "POST /pool/submitWork HTTP/1.0\r\nHost: %s:%i\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: %i\r\n\r\n%s", nodeip, nodeport, used, f1);

printf("\nServer response: %s\n", contactWallet(f2, db));

free(f1);
free(f2);
}
#endif

memmove(oldSignature, signature, 32);

// Wait until block changes:
do {
update();

time_t ttime;
time(&ttime);
#ifdef SHARE_POOL
printf("\r%llu MB read/%llu GB total/%i shares@target %llu                 ", (bytesRead / ( 1024 * 1024 )), (bytesRead / (256 * 1024)), sharefill, targetdeadline);
#else
if(deadline == 0)
printf("\r%llu MB read/%llu GB total/no deadline                 ", (bytesRead / ( 1024 * 1024 )), (bytesRead / (256 * 1024)));
else
printf("\r%llu MB read/%llu GB total/deadline %llus (%llis left)           ", (bytesRead / ( 1024 * 1024 )), (bytesRead / (256 * 1024)), deadline, (long long)deadline + (unsigned int)starttime - (unsigned int)ttime);
#endif

fflush(stdout);

struct timespec wait;
// Query faster when solo mining
#ifdef SOLO
wait.tv_sec = 1;
#else
wait.tv_sec = 5;
#endif
wait.tv_nsec = 0;
nanosleep(&wait, NULL);
} while(memcmp(signature, oldSignature, 32) == 0); // Wait until signature changed

printf("\nNew block %llu, basetarget %llu                          \n", height, baseTarget);
fflush(stdout);

// Remember starttime
time(&starttime);

#ifndef SHARE_POOL
// Tell all threads to stop:
stopThreads = 1;
for(i = 2; i < argc; i++)
       pthread_join(worker[i], NULL);

stopThreads = 0;
#endif
}
}

 
MadGhost
Sr. Member
****
Offline Offline

Activity: 294

★777Coin.com★ Fun BTC Casino!


View Profile
February 07, 2015, 03:28:17 PM
 #17869

Thats guide run mining for Debian 7     https://github.com/TomasAchmedovas/burst-mining

This guide will help the new comers.

daWallet
Sr. Member
****
Offline Offline

Activity: 302



View Profile WWW
February 07, 2015, 05:59:43 PM
 #17870

here is a fix for dcct's linux miner for mining with DevPool v2.
replace the code in the file "mine.c" with the follwing one an compile it. thx dcct for this nice linux miner!


What did you change? Actually I was contacting dcct because the devpool2 didn't get the submissions, though there was no error.

Does someone use dcct miner with devpool2?

github/dawallet   Burst Client for Win & Burstcoin.biz
vipervince2002
Newbie
*
Offline Offline

Activity: 22


View Profile
February 07, 2015, 06:27:32 PM
 #17871

Since I only know the basics of batch file commands, I did a search on Stack Overflow for an alternative method of launching the wallet that will not be affected by the version of Java installed. I found other solutions like scanning the registry for the version of Java and then running from that particular folder, but the solution below was less complicated. 

Using the FOR loop from http://stackoverflow.com/questions/638301/discover-from-a-batch-file-where-is-java-installed, I created the following bat file because I use Java 8 and uninstalled Java 7. It will search for java.exe and set a variable called JAVA_HOME. The command to start the wallet is the same as the original run.bat.  Feel free to test it out or if it does not work, I can post another solution that has worked for me. I added the first IF statement so the FOR loop would not run every time, but that IF may need to be removed if the batch file does not work after a Java update.  If you see something wrong, feel free to make the correction.

Code:
@ECHO off
IF %JAVA_HOME%.==. (
FOR /f %%j in ("java.exe") DO (
    SET JAVA_HOME=%%~dp$PATH:j
)
)

IF EXIST %JAVA_HOME% (
start "BURST" "%JAVA_HOME%\java.exe" -cp burst.jar;lib\*;conf nxt.Nxt
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
PAUSE
)

I posted this a little while back, but it is a universal run.bat file that does not depend on what java version is installed.

This run.bat file decided to stop running for me.  I made a couple changes and it works now.  I hope that is true for everyone.

Code:
@ECHO OFF
FOR /f %%j in ("java.exe") DO (
SET JAVA_HOME=%%~dp$PATH:j
)


IF EXIST %JAVA_HOME% (
start "BURST" /WAIT /B "%JAVA_HOME%\java.exe" -cp burst.jar;lib\*;conf nxt.Nxt
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
PAUSE
)

J6JQ BURST Donations: BURST-J6JQ-ZWC2-RK7E-CLY93
vipervince2002
Newbie
*
Offline Offline

Activity: 22


View Profile
February 07, 2015, 06:38:06 PM
 #17872

...

So far it's running just fine for a day now.

I run through plot_optimizer_1.6-j6jq... does it really help speed up hashing when optimizing plot?

Thanks again.

Optimizing your plots will decrease the amount of time it takes to scan through all of them and potentially find a block before someone else.

An example:
It takes your computer 3 minutes to check all of the unoptimized plot files and you will have a deadline of 1 minute after 2.5 minutes of scanning.  Someone else may have a deadline of 2 minutes after 1.5 minutes of scanning.  The other person will get the block reward despite having a worse deadline because your deadline will never have a chance to submit.  You also won't know you missed a block because it will start scanning for the next block.  An optimized plot may find the deadline of 1 minute after 45 seconds of scanning and you would receive the block reward.  (Made the numbers up, but you get the idea)

To answer your question, it will speed up hashing in a matter of speaking, but in terms of hashrate as you think of BTC, then no, your overall "hashrate," or chance of finding a block, will not increase.  In the example above, you would eventually find the block either way assuming no one beats you to it, but an optimized plot would find it faster.

I also updated the plot optimizer with a GUI in the Burst forum:
https://burstforum.com/index.php?threads/plot-optimizer-gui-1-0-6.589/
java 8 64 bit, dbl clicking causes: "A Java Exception has occurred."

I did not miss your message. I have been busy with other things and trying to port the optimizer GUI to linux (I know Java is supposed to be universal, but the GUI calls Windows commands).  I was also trying to speed up Blago's miner (unsuccessfully) and parallelize the optimizer code(writing to the same hard drive limits this and probably not possible unless writing to multiple hard drives at once  Wink). I wonder what language cryo is using for his complete GUI with plugins. C, C++, Java, Python, ...?

A couple pointers:
1. Is the file "Optimizer.exe" in the same folder as the GUI with the exact spelling as this post?
2. Does it load at all or crash when you press the Optimize button?

If you can answer these questions, it will help me narrow down the bug.

J6JQ BURST Donations: BURST-J6JQ-ZWC2-RK7E-CLY93
romdu
Newbie
*
Offline Offline

Activity: 21


View Profile
February 07, 2015, 07:33:24 PM
 #17873

here is a fix for dcct's linux miner for mining with DevPool v2.
replace the code in the file "mine.c" with the follwing one an compile it. thx dcct for this nice linux miner!


What did you change? Actually I was contacting dcct because the devpool2 didn't get the submissions, though there was no error.

Does someone use dcct miner with devpool2?

i'am using dcct miner with DevPool v2 since ~ one month. it is stable and no memory problems (10TB & 3GB RAM).

the changes:
1. line 393:
-> old code "used += sprintf(&f1[used], "%llu:%llu\n", sharekey, sharenonce);"
-> new code "used += sprintf(&f1[used], "%llu:%llu:%llu\n", sharekey, sharenonce, height);"

2. line 400:
-> old code "int db = sprintf(f2, "POST /pool/submitWork HTTP/1.0\r\nHost: %s:%i\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: %i\r\n\r\n{\"%s\", %u}", nodeip, nodeport, used + 6 + ilen , f1, used);"
-> new code "int db = sprintf(f2, "POST /pool/submitWork HTTP/1.0\r\nHost: %s:%i\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: %i\r\n\r\n%s", nodeip, nodeport, used, f1);"

the submission of shares was not the correct format.
crazyearner
Legendary
*
Offline Offline

Activity: 1722



View Profile
February 07, 2015, 08:42:54 PM
 #17874


Thanks, how do you know if everything is functioning properly? I think I got everything working, but I'm not certain whether or not it's really 'working' so to speak. There is little to no documentation for the miner so I don't have any idea what any of the dialogue or options actually mean.

Like what is: dl sdl cdl ss rs?
https://bitcointalk.org/index.php?topic=731923.msg9117608#msg9117608
https://bitcointalk.org/index.php?topic=731923.msg9696842#msg9696842
https://bitcointalk.org/index.php?topic=731923.msg9552852#msg9552852
https://bitcointalk.org/index.php?topic=731923.msg9304835#msg9304835

Quote
How often does the mining 'phase' happen?
Every new block (~4 min)

Quote
How do you know if you found a block mining solo?
You got burst in the wallet

Quote
How do you know how long it took to process the last deadline and what the deadline is (I'm using blagos)?


see stat-log.csv  (ID, #block, baseTarget, best_Deadline)

Quote
What is the initial 'mine' that happens when you start the miner up, where the percentage in the bottom left counts up?
percentage of reading of plots

Quote
What is optimizing people talk about and how do you do it? What does it mean?
merge the plots, defrag HDDs
https://www.dropbox.com/s/xj4mzvkjlyg0c2l/merge.zip?dl=0

Blago I know this is a old post of yours but when you are merging and defragging hdds how do you go about using that merge tool in it as this no info on how to use the exe. How does one use it. Is tis the optimizer to optimize plots then just defrag hddd with defragger etc and link up in config for mining to add selected hdds like  d e f g and so on.

Yeah, I still don't understand what the + means. From reading through posts, I assumed 'merging' and 'optimizing' are the same thing. Defraging, is just defraging your HD...

A lot of lingo, I've been around here for over a month and I still don't have all of it figured out.

Ok, dcct's optimizer (dcct's address: BURST-DCCT-RZBV-NQC7-9G5N2): optimizer.exe (It was originally called merge.exe) - reorganizes (optimize) file. Improves reading speed and reduces destruction of HDD.
(start code https://www.dropbox.com/s/4t8yp972vsv6kly/merge.c?dl=0)

https://www.dropbox.com/s/7wczp04g4allmdu/Optimizer.exe?dl=0
Usage: optimize.exe <delay in seconds to wait for enough available RAM> <Output directory or -f for same as Input> [-del 1 or 0 (Optional)] [-m MEMORY (Optional)] <Plot file> [<Plot file> ..]

Defragmentator: O&O Defrag Professional

Miner:
When you specify the path settings in the following order, each path - it's a separate thread to the processor.
"Paths":["C:\\plots","D:\\plots","E:\\plots\\"],   - 3 parallel executable threads

In this case, the files are read sequentially in one thread:
"Paths":["C:\\plots+D:\\plots+E:\\plots\\"],   - 1 sequential thread for 3 HDDs



Thanks for the info fella. Just got one more question I have  the defrag program what one is recommended to use on it out the options as I just done a 5 hour defrag and its still 58% fragmented lol
bensam123
Sr. Member
****
Offline Offline

Activity: 424


View Profile
February 07, 2015, 09:05:35 PM
 #17875

So after playing around and comparing Optimized Vs Non-optimized plots with the J6 optimizer, it appears as though non-optimized plots are faster. They however consume more memory when being mined (optimized plots have almost no memory usage). The speed difference is negligible, optimized is 10~ seconds slower, seemingly regardless of the number of drives I have attached.

I'm not exactly certain why this is, especially when everyone is saying they're faster. I even used a faster processor and Blagos miner was not operating at 100% usage. To that end, it appears that Blagos can only split threads down so much and it was effectively limited by one logical processor... at which point it would be faster if I had a higher frequency processor (single threaded performance becomes a bottleneck).

These are 4.54TB plots on 5TB 5,900RPM drives with 8192 stagger. They're hooked up via SATA 3 and I'm running W8.1 x64. The fastest I could hash one 5TB drive was 47s, it was non-optimized. A optimized one took 51s.

I really don't know why you'd want to optimize, unless you have extremely slow drives or almost no memory. Even on my pokey 5,900RPM drives, the bottleneck is definitely the processor (which makes a GPU assisted miner all the more desirable). The amount of time it takes to optimize and risk breaking your plots doesn't seem worth it.

Although I haven't played around with it, I would theorize a higher stagger size would actually make mining faster (if you have 16, 32, or 64GB of memory). These results may be because of how large my plots are comparatively to other people who are using much smaller drives.

I've been testing this over the last week or so and this has been tested across multiple systems. A A4-4000, G3220, and a AMD x4 640 (which is what I'm currently using). I tested in single drive configurations and multiple drive configurations (up to five drives). The results have been retested too, at no point in time were the drives actually the bottleneck in any of my tests. Maybe I just don't have a fast enough processor and after a certain threshold a non-optimized drive becomes worse then a optimized one.

In order to surpass a certain threshold it seems as though you need an extremely fast single threaded processor for best case mining. A i7, overclocked is better. Hyperthreading will help when you have more then four drives, although I also suspect a eight core FX would perform well when you have more then eight drives as AMD modules work quite well in multithreaded workloads.
bmgbmg
Sr. Member
****
Offline Offline

Activity: 266



View Profile
February 07, 2015, 11:36:22 PM
 #17876

With the update do you have to download the entire blockchain again?  If so, I'm not doing it, I'm saying goodbye to this coin, sorry.
go6ooo1212
Legendary
*
Online Online

Activity: 1218


Get smart !


View Profile
February 07, 2015, 11:41:17 PM
 #17877

I should say good-buy. This coin is very promising and a really good investment...
coinits
Legendary
*
Offline Offline

Activity: 1092


011110000110110101110010


View Profile
February 07, 2015, 11:41:47 PM
 #17878

With the update do you have to download the entire blockchain again?  If so, I'm not doing it, I'm saying goodbye to this coin, sorry.

No you do not and if that is all that it takes to make you say goodbye then good riddance.

Jump you fuckers! | The thing about smart motherfuckers is they sound like crazy motherfuckers to dumb motherfuckers. | My sig space for rent for 25 btc per week.
daWallet
Sr. Member
****
Offline Offline

Activity: 302



View Profile WWW
February 07, 2015, 11:42:33 PM
 #17879

With the update do you have to download the entire blockchain again?  If so, I'm not doing it, I'm saying goodbye to this coin, sorry.

You can copy the old "burst_db" folder to the new wallet folder - same location.
Then start the new wallet.  And coinits is right Wink

@bensam123

The optimizer is not only for speeding up the reading process, also to optimize how the hdd reading method. Low stagger equals more seeks.
I have some plots with really low stagger like 1000 and the fastest read is about 10MB/s. With stagger between 8000 to 12000 I have usb 3.0 speed of 120 MB/s. I optimized one plot and it eats more ram that unoptimized with the old java miner.

github/dawallet   Burst Client for Win & Burstcoin.biz
coinits
Legendary
*
Offline Offline

Activity: 1092


011110000110110101110010


View Profile
February 07, 2015, 11:43:06 PM
 #17880

I should say good-buy. This coin is very promising and a really good investment...


Jump you fuckers! | The thing about smart motherfuckers is they sound like crazy motherfuckers to dumb motherfuckers. | My sig space for rent for 25 btc per week.
Pages: « 1 ... 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 [894] 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 ... 1299 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!