bensam123
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 06:34:19 AM |
|
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. So I just updated to 1.2.2 and I've noticed a problem since 1.2.1 where my wallets are not all on the same block and they update sporadically. One wallet is currently five blocks behind and of course mining isn't happening because I'm five blocks behind. Sometimes it's just 1-2 blocks of difference, even weirder the wallet that is 'behind' still tries to mine the block it's on, even though there is a newer block being currently mined. Sometimes they're on exactly the same block.
Is this just me having this happen? It's definitely a big deal. I don't think you'd even notice if you're running one wallet.
Any update on this issue? Is anyone else experiencing a similar issue with the new version? I eventually had to copy one of the block chains from the other PC to get this to fix itself. It looks like it's working so far, we'll see though.
|
|
|
|
Blago
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 07:18:19 AM |
|
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=0Usage: 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
|
Relax, I’m russian!... BURST-B2LU-SGCZ-NYVS-HZEPK
|
|
|
bensam123
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 08:16:27 AM |
|
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=0Usage: 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?
|
|
|
|
muhrohmat
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 08:25:25 AM |
|
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
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 09:32:28 AM |
|
Curious bit, has anyone tested out performance while scanning plots with different allocation sizes? What about different sector sizes?
|
|
|
|
Alpinist
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 11:30:14 AM |
|
Is it critical to upgrade from 1.2.1 to 1.2.2. What is new in 1.2.2?
|
|
|
|
seasonw
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 11:30:27 AM |
|
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=0Usage: 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](https://bitcointalk.org/Smileys/default/grin.gif)
|
|
|
|
xizmax
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 12:15:59 PM |
|
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.
|
|
|
|
xpoint
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 75
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 01:33:43 PM |
|
|
|
|
|
romdu
Newbie
Offline
Activity: 21
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 03:11:17 PM |
|
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! /* 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
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 294
Merit: 250
★777Coin.com★ Fun BTC Casino!
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 03:28:17 PM |
|
This guide will help the new comers.
|
|
|
|
daWallet
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 05:59:43 PM |
|
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
Activity: 22
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 06:27:32 PM |
|
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. @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. @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 )
|
|
|
|
vipervince2002
Newbie
Offline
Activity: 22
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 06:38:06 PM |
|
...
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](https://bitcointalk.org/Smileys/default/wink.gif) ). 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.
|
|
|
|
romdu
Newbie
Offline
Activity: 21
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 07:33:24 PM |
|
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
Activity: 1820
Merit: 1001
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 08:42:54 PM |
|
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=0Usage: 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
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 09:05:35 PM Last edit: February 07, 2015, 09:38:42 PM by bensam123 |
|
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
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 11:36:22 PM |
|
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
Offline
Activity: 1512
Merit: 1000
quarkchain.io
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 11:41:17 PM |
|
I should say good-buy. This coin is very promising and a really good investment...
|
|
|
|
coinits
Legendary
Offline
Activity: 1582
Merit: 1019
011110000110110101110010
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 07, 2015, 11:41:47 PM |
|
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 0.01 btc per week.
|
|
|
|