Author

Topic: [ANN][BLC] Blakecoin Blake-256 for GPU/FPGA With Merged Mined Pools Stable Net - page 170. (Read 409569 times)

legendary
Activity: 1197
Merit: 1000
and I dont see here using blake algo to generate merkleroot - maybe here is the problem?

The merkleroot is a double SHA-256 and uses the same ecdsa curve as Bitcoin like I have said in pm to you but the stratum pool software does not just do a single doublesha on the merkleroot  Huh

also the cpu miner uses the getwork2 for mining the wallet?

Hi - correct me if I am wrong but when you mine a wallet you don't calculate merkleroot therefore you can find blocks with cpuminer or cgminer, but when you mine with stratum pool then cpuminer is calculating merkleroot (just sha algo), then stratum server calculates it once again (with blake algo according to your modified function) and then wallet checks merkleroot (also with blake algo) and this check fails. Thats why I pointed this part of stratum work build function in cpuminer as first step which logically is wrong (assuming wallet function as baseline).
legendary
Activity: 1509
Merit: 1030
Solutions Architect
Hi,

I just compiled the blakecoind under Mac OSX 10.8.5 and testing it for Solo Mining.
Time to retire my big & loud Win8 GPU system. A Ztex 1.15y attached to a r-pi is doing the mining.

Quote
cgminer version 3.1.1 - Started: [2013-11-16 20:19:12]
--------------------------------------------------------------------------------
 (5s):573.9M (avg):1.141Gh/s | A:0  R:0  HW:4  U:0.0/m  WU:14.1/m
 ST: 6  SS: 0  NB: 66  LW: 0  GF: 0  RF: 0
 Connected to 192.168.178.31 diff 2.06K without LP as user trepex
 Block: 107cc80348bd3c9e...  Diff:2.06K  Started: [01:01:18]  Best share: 466
--------------------------------------------------------------------------------
 [P]ool management [ S ]ettings [D]isplay options [Q]uit
 ZTX 0: 04A36E0780-1 | 196.0MHz | 388.3M/392.8Mh/s | A:0 R:0 HW:  0 U:0.00/m
 ZTX 1: 04A36E0780-2 | 196.0MHz | 390.3M/392.8Mh/s | A:0 R:0 HW:  1 U:0.00/m
 ZTX 2: 04A36E0780-3 | 180.0MHz | 359.5M/361.7Mh/s | A:0 R:0 HW: 76 U:0.00/m
 ZTX 3: OFF   / 0.000h/s | A:0 R:0 HW:  0 U:0.00/m
--------------------------------------------------------------------------------

If anyone is interested, I could compile a binary of the blakecoind with static libraries and upload it to MEGA.
I would like to get the GUI as binary, I failed to compile the GUI for another altcoin (DEM, Deutsche eMark)
and will not even try to compile to BlakeCoin version.

trepex

not tried to compile for Mac OSX myself and the makefile is almost untouched and should be very similar to Bitcoin 0.8.5

it is best to check how others are building Bitcoin 0.8.5 on Mac OSX and apply the same build method and any tweaks to the makefile to get it working

please report your results here as you are first to try and build on Mac as far as I know Smiley
legendary
Activity: 1509
Merit: 1030
Solutions Architect
and I dont see here using blake algo to generate merkleroot - maybe here is the problem?

The merkleroot is a double SHA-256 and uses the same ecdsa curve as Bitcoin like I have said in pm to you but the stratum pool software does not just do a single doublesha on the merkleroot  Huh

also the cpu miner uses the getwork2 for mining the wallet?
sr. member
Activity: 266
Merit: 250
Hi,

I just compiled the blakecoind under Mac OSX 10.8.5 and testing it for Solo Mining.
Time to retire my big & loud Win8 GPU system. A Ztex 1.15y attached to a r-pi is doing the mining.

Quote
cgminer version 3.1.1 - Started: [2013-11-16 20:19:12]
--------------------------------------------------------------------------------
 (5s):573.9M (avg):1.141Gh/s | A:0  R:0  HW:4  U:0.0/m  WU:14.1/m
 ST: 6  SS: 0  NB: 66  LW: 0  GF: 0  RF: 0
 Connected to 192.168.178.31 diff 2.06K without LP as user trepex
 Block: 107cc80348bd3c9e...  Diff:2.06K  Started: [01:01:18]  Best share: 466
--------------------------------------------------------------------------------
 [P]ool management [ S ]ettings [D]isplay options [Q]uit
 ZTX 0: 04A36E0780-1 | 196.0MHz | 388.3M/392.8Mh/s | A:0 R:0 HW:  0 U:0.00/m
 ZTX 1: 04A36E0780-2 | 196.0MHz | 390.3M/392.8Mh/s | A:0 R:0 HW:  1 U:0.00/m
 ZTX 2: 04A36E0780-3 | 180.0MHz | 359.5M/361.7Mh/s | A:0 R:0 HW: 76 U:0.00/m
 ZTX 3: OFF   / 0.000h/s | A:0 R:0 HW:  0 U:0.00/m
--------------------------------------------------------------------------------

If anyone is interested, I could compile a binary of the blakecoind with static libraries and upload it to MEGA.
I would like to get the GUI as binary, I failed to compile the GUI for another altcoin (DEM, Deutsche eMark)
and will not even try to compile to BlakeCoin version.

trepex
legendary
Activity: 1197
Merit: 1000
sr. member
Activity: 384
Merit: 250
Enterpoint Cainmore CM1 port https://github.com/kramble/FPGA-Blakecoin-Miner/tree/master/experimental/CM1

This code is derived from the HashVoodoo FPGA Bitcoin Miner Project
https://github.com/pmumby/hashvoodoo-fpga-bitcoin-miner

Licensed under GPL. My thanks to Paul Mumby (Glasswalker), makomk and TheSeven.

Test bitstream https://www.dropbox.com/s/m901icq7pt9nl4l/CM1-hv-v04a-80MHz-ucf-75-fmax-78.bit
Faster version https://www.dropbox.com/s/xm8gjm7b2qnhgig/CM1-hv-v04a-120MHz-ucf-100-fmax-103.bit
Faster version https://www.dropbox.com/s/ledl95oolt7lgts/CM1-hv-v04a-150MHz-ucf-130-fmax-140.bit
Faster version https://www.dropbox.com/s/bbevqb8792emll9/CM1-hv-v04a-175MHz-ucf-150-fmax-161.bit

NB This requires the hashvoodo firmware from https://github.com/pmumby/hashvoodoo-fpga-bitcoin-miner/downloads
Use hashvoodoo_controller_25.bit from any of the later releases, NOT the 08_04_2012.

Some useful instructions at https://en.bitcoin.it/wiki/CM1Quickstart (these are for bitcoin but the programming guide is relevant). It was rather temperamental and may require multiple attempts at programming to get the bitstreams to load. I would recommend just loading the bitstream and not attempting to flash the configuration ROMs.

What I find to work is the following [EDIT Embarrassed After RTFM I took out the -I switch which was causing most of my problems, it works a lot better now] ...
Boot the VirtualBox machine and copy the bitstream (I use "nc" rather than fiddling with usb sticks, ftp also works but needs passive mode).
Power up the CM1 board wait for it to fully load
Set switch 3 OFF (configuration mode) then connect the USB cable.
Execute "xc3sprog -c cm1 -v -p0 CM1-hv-v04a-80MHz-ucf-75-fmax-78.bit" for each fpga in turn p0, p1, p2, p3
This takes about 20 seconds, successful loading is indicated by bright red and yellow LEDs, with a short flash of green.
Return switch 3 to "on", the red LEDs will now flash slowly.
Shutdown VirtualBox (run "init 0"), disconnect then reconnect the USB cable, then start cgminer. I have supplied two windows versions and also on github (uses updated driver_icarus.c).

https://www.dropbox.com/s/m18kr3kgrl102w2/cgminer-311-2013-11-16-CM1.exe

https://www.dropbox.com/s/d3gbhpqboo9itei/cgminer-311-2013-11-16-CM1-notest.exe

The second one is a fallback if the fpgas are not detected as valid icarus devices (the icarus detect result is ignored).

NOTE, these are rather buggy (the -T switch is required else it crashes in libcurses). Run them as follows on windows (using the relevant COM ports for your system) ...

cgminer -T --disable-gpu --icarus-timing long -S \\.\COM20 -S \\.\COM21 -S \\.\COM22 -S \\.\COM23 --url localhost:8772 --userpass username:password 2>log.txt

I've swapped the green and blue LED designations, green is now the I/O indicator and blue is a valid hash (it made more sense as blue is much brighter).

Its all very rough and the current speed is very slow (80MHz) but this will improve in future builds. Dynamic clock is enabled in the bitstream but not supported by this version of of cgminer.

Good Luck!

[Edited for typos etc, I was a bit rushed yesterday]
legendary
Activity: 1470
Merit: 1001
Use Coinbase Account almosanywhere with Shift card
As I said no rush. A family day is very good idea. Smiley

I am very much a noon on this  and fumbling in Linux adds to the fun. Do not have the xilinx tools installed yet jI am running it on bfgminer right now but have the virtual box.

That sounds like my next step then hashvoodo.  Should I install 14.1 or 14.2? What to be on the same version just in case the is a subtle difference that could bite us.

 I am running it on bfgminer ATM but have Blake version and current cgminer available.
sr. member
Activity: 384
Merit: 250
Well have CM1 up and running on SHA256. So I know it's working.
So I'm ready for when ever kramble has something he wants tested (I think I can figure out SW1 and SW6 setting for a bitstream update. but take your time I'm in no rush at all.

I'm very close. I've got a working bitstream and driver for cgminer 3.1.1 however both are currently very buggy. The bitstream is only hashing at about a quarter of the expected rate, but I think I fixed that in the overnight build which I'll be testing later today/tomorrow (Saturday is family day in the kramble household, so not much development will get done today). Seems I was caught out by clock domain crossing again (novice error, I thought I could use the hasvoodo top as-is, but the timing is slightly different on the golden_ticket strobe in the bitcoin and blakecoin cores). Cgminer is a more serious problem as it crashes in the curses module on windows, so needs to be run with the -T flag, strangely it works OK with ztex though. I'm seriously considering abandoning cgminer in favour of bfgminer, though the change to the mingw build environment is putting me off at the moment.

the board I sent kramble has the hashvoodoo project on the controller and the fpga's you might want to play with that Wink
https://github.com/pmumby/hashvoodoo-fpga-bitcoin-miner

are you using the xilinx usb programmer and loading the bitstream via the jtag ports?

As bluedragon suggested I'm currently using the hashvoodo firmware as this was already installed and I didn't want to take the risk of reflashing it at this early stage (hashvoodo also has better clock distribution as it uses LVDS). I'm currently using the onboard programmer via VirtualBox/xc3prog which to be honest is a right dog's breakfast. It is just so temperamental as to be almost unusable, but I'm persevering as this is how its going to be programmed by the end users. I can usually manage to get the bitstreams loaded up OK after a bit of a fight, but I've never once had a confirmed verification that the load succeeded. I'm also getting drop-outs of the USB driver while mining which require a complete power cycle to reset which is very frustrating due to the need to reload the bitstreams (I'm not yet at the stage where I want to reflash the configuration ROMs).

EDIT Embarrassed Having finally taken the time to RTFM I now understand why I was having such problems. The -I switch is only used to load the bitstream used to flash the MCS ROMs, but I was using it for the main bitstream. It works much more reliably without it  Embarrassed

Anyway hopefully I'll have something for you to test in the next couple of days, though the clock speed is lower than I'd like to see (only getting 100MHz ATM, compared with 200MHz for the ztex). I'll also look to getting a port for the official 1.5 firmware based on makomk's code (it needs more than just swapping the clock source, as this version retains the icarus chaining of the fpgas, so only two serial ports rather then the four for hashvoodo), though as I'll have to flash the firmware I want to get the hashvoodo mostly complete before risking this.

legendary
Activity: 1509
Merit: 1030
Solutions Architect
Well have CM1 up and running on SHA256. So I know it's working.
Code:
bfgminer version 3.6.0 - Started: [2013-11-15 22:29:35] - [  0 days 00:03:56]
 [M]anage devices [P]ool management [S]ettings [D]isplay options  [H]elp [Q]uit
 Connected to btcminers.net diff 2 with stratum as user 1PjYqkPYD1qiLQY3jjQJX4kQ
 Block: ...28f79cf4 #269890  Diff:511M ( 3.66Ph/s)  Started: [22:30:50]
 ST:2  F:0  NB:2  AS:1  BW:[ 22/ 22 B/s]  E:9.99  I:38.68uBTC/hr  BS:661
 2            |  0.57/ 0.62/ 1.03Gh/s | A:26 R:0+0(none) HW:2/3.4%
--------------------------------------------------------------------------------
 ECM 0:       | 260.0/297.3/489.6Mh/s | A:13 R:0+0(none) HW:0/none
 ECM 1:       | 260.1/320.3/544.0Mh/s | A:13 R:0+0(none) HW:2/6.3%
--------------------------------------------------------------------------------
 [2013-11-15 22:31:34] Accepted 125bf3f5 ECM 0  Diff 13/2

So I'm ready for when ever kramble has something he wants tested (I think I can figure out SW1 and SW6 setting for a bitstream update. but take your time I'm in no rush at all.

the board I sent kramble has the hashvoodoo project on the controller and the fpga's you might want to play with that Wink
https://github.com/pmumby/hashvoodoo-fpga-bitcoin-miner

are you using the xilinx usb programmer and loading the bitstream via the jtag ports?
legendary
Activity: 1470
Merit: 1001
Use Coinbase Account almosanywhere with Shift card
Well have CM1 up and running on SHA256. So I know it's working.
Code:
bfgminer version 3.6.0 - Started: [2013-11-15 22:29:35] - [  0 days 00:03:56]
 [M]anage devices [P]ool management [S]ettings [D]isplay options  [H]elp [Q]uit
 Connected to btcminers.net diff 2 with stratum as user 1PjYqkPYD1qiLQY3jjQJX4kQ
 Block: ...28f79cf4 #269890  Diff:511M ( 3.66Ph/s)  Started: [22:30:50]
 ST:2  F:0  NB:2  AS:1  BW:[ 22/ 22 B/s]  E:9.99  I:38.68uBTC/hr  BS:661
 2            |  0.57/ 0.62/ 1.03Gh/s | A:26 R:0+0(none) HW:2/3.4%
--------------------------------------------------------------------------------
 ECM 0:       | 260.0/297.3/489.6Mh/s | A:13 R:0+0(none) HW:0/none
 ECM 1:       | 260.1/320.3/544.0Mh/s | A:13 R:0+0(none) HW:2/6.3%
--------------------------------------------------------------------------------
 [2013-11-15 22:31:34] Accepted 125bf3f5 ECM 0  Diff 13/2

So I'm ready for when ever kramble has something he wants tested (I think I can figure out SW1 and SW6 setting for a bitstream update. but take your time I'm in no rush at all.
hero member
Activity: 518
Merit: 500
Bitrated user: ahmedbodi.
im finished on my pool code almost. it just needs db functions adding inside for auth and saving shares and im ready, ill give u guys the code when im done (doesnt support stratum im afraid)

if you have it finding blocks then its better than my results so far  Wink
found 150 on testnet
legendary
Activity: 1470
Merit: 1001
Use Coinbase Account almosanywhere with Shift card
https://openex.pw/  had
Certificate errors, about us is empty, most last trades were for under 1 coin.

Seems legit  Huh

Post if you actually used the site


No comment on this:


Actually feel better about that.  Site is in alpha with test data, certs not yet ready and so on.  may make a test account and try it over the weekend
sr. member
Activity: 266
Merit: 250
https://openex.pw/  had
Certificate errors, about us is empty, most last trades were for under 1 coin.

Seems legit  Huh

Post if you actually used the site


No comment on this:
legendary
Activity: 1470
Merit: 1001
Use Coinbase Account almosanywhere with Shift card
https://openex.pw/  had
Certificate errors, about us is empty, most last trades were for under 1 coin.

Seems legit  Huh

Post if you actually used the site
legendary
Activity: 1509
Merit: 1030
Solutions Architect
im finished on my pool code almost. it just needs db functions adding inside for auth and saving shares and im ready, ill give u guys the code when im done (doesnt support stratum im afraid)

if you have it finding blocks then its better than my results so far  Wink
legendary
Activity: 1509
Merit: 1030
Solutions Architect
Maybe a stupid question, but why do those numbers differ?

cgminer reports: Network diff set to 324K
getinfo (performed against the wallet): 'difficulty' => '1264.37669219',     1:256

In the past I did observe

cgminer: Network diff set to 546K
getinfo: 'difficulty' => '2133.63558956',     1:256

So there seems to be a constant of 256 involved.  network diff / getinfo diff = 256

Yeah it is a graphical issues with the cgminer port from melnikalex the difficulty in the display is shifted too many and thus is out by a multiple of 256

not sure about the newmint feature which wallet was this for and why is it useful?

also worth looking at this exchange they added BLC but not sure about any trust issues as I have never traded on that platform?
https://openex.pw/

I am going to hold all my coin for now as Blakecoin is based on long term rewards and not just short term gains, I do feel that many have under valued the price but time will tell  Wink

not had much spare time this week as I have been working on the kickstarter for the first game to use Blakecoin as an exchangeable currency for game world credits and mine while you play MMO platform that me and another developer are working on, I did also look into using Blakecoin as the main currency for the game but it would require a major rewrite and has some security concerns but it is a possible stretch goal  Cool

I was also trying to get some more help with the pool software, fixed the submit bug but found a few bigger bugs in the work generation that is resulting in invalid nonce being generated by the miners on the pool Embarrassed
 

can you post your function for merkleroot calculation?

I will put stratum-mining-blakecoin code on Github this weekend but it is highly experimental and not fully functional also it imports stratum which might also have bugs that have not been found yet!

the merkleroot calculation is not done in one place in the stratum pool software but try this:

Code:
class MerkleTree:
    def __init__(self, data, detailed=False):
        self.data = data
        self.recalculate(detailed)
        self._hash_steps = None
    
    def recalculate(self, detailed=False):
        L = self.data
        steps = []
        if detailed:
            detail = []
            PreL = []
            StartL = 0
        else:
            detail = None
            PreL = [None]
            StartL = 2
        Ll = len(L)
        if detailed or Ll > 1:
            while True:
                if detailed:
                    detail += L
                if Ll == 1:
                    break
                steps.append(L[1])
                if Ll % 2:
                    L += [L[-1]]
                L = PreL + [doublesha(L[i] + L[i + 1]) for i in range(StartL, Ll, 2)]
                Ll = len(L)
        self._steps = steps
        self.detail = detail
    
    def hash_steps(self):
        if self._hash_steps == None:
            self._hash_steps = doublesha(''.join(self._steps))
        return self._hash_steps
        
    def withFirst(self, f):
        steps = self._steps
        for s in steps:
            f = BLAKE(256).digest(f + s)
        return f
    
    def merkleRoot(self):
        return self.withFirst(self.data[0])

this should be Blake-256(SHA-256(SHA-256(merkleRoot))) as it is in the wallet code?
hero member
Activity: 518
Merit: 500
Bitrated user: ahmedbodi.
im finished on my pool code almost. it just needs db functions adding inside for auth and saving shares and im ready, ill give u guys the code when im done (doesnt support stratum im afraid)
legendary
Activity: 1197
Merit: 1000
Maybe a stupid question, but why do those numbers differ?

cgminer reports: Network diff set to 324K
getinfo (performed against the wallet): 'difficulty' => '1264.37669219',     1:256

In the past I did observe

cgminer: Network diff set to 546K
getinfo: 'difficulty' => '2133.63558956',     1:256

So there seems to be a constant of 256 involved.  network diff / getinfo diff = 256

Yeah it is a graphical issues with the cgminer port from melnikalex the difficulty in the display is shifted too many and thus is out by a multiple of 256

not sure about the newmint feature which wallet was this for and why is it useful?

also worth looking at this exchange they added BLC but not sure about any trust issues as I have never traded on that platform?
https://openex.pw/

I am going to hold all my coin for now as Blakecoin is based on long term rewards and not just short term gains, I do feel that many have under valued the price but time will tell  Wink

not had much spare time this week as I have been working on the kickstarter for the first game to use Blakecoin as an exchangeable currency for game world credits and mine while you play MMO platform that me and another developer are working on, I did also look into using Blakecoin as the main currency for the game but it would require a major rewrite and has some security concerns but it is a possible stretch goal  Cool

I was also trying to get some more help with the pool software, fixed the submit bug but found a few bigger bugs in the work generation that is resulting in invalid nonce being generated by the miners on the pool Embarrassed
 

can you post your function for merkleroot calculation?
legendary
Activity: 1509
Merit: 1030
Solutions Architect
Maybe a stupid question, but why do those numbers differ?

cgminer reports: Network diff set to 324K
getinfo (performed against the wallet): 'difficulty' => '1264.37669219',     1:256

In the past I did observe

cgminer: Network diff set to 546K
getinfo: 'difficulty' => '2133.63558956',     1:256

So there seems to be a constant of 256 involved.  network diff / getinfo diff = 256

Yeah it is a graphical issues with the cgminer port from melnikalex the difficulty in the display is shifted too many and thus is out by a multiple of 256

not sure about the newmint feature which wallet was this for and why is it useful?

also worth looking at this exchange they added BLC but not sure about any trust issues as I have never traded on that platform as it is new?
https://openex.pw/

I am going to hold all my coin for now as Blakecoin is based on long term rewards and not just short term gains, I do feel that many have under valued the price but time will tell  Wink

not had much spare time this week as I have been working on the kickstarter for the first game to use Blakecoin as an exchangeable currency for game world credits and mine while you play MMO platform that me and another developer are working on, I did also look into using Blakecoin as the main currency for the game but it would require a major rewrite and has some security concerns but it is a possible stretch goal  Cool

I was also trying to get some more help with the pool software, fixed the submit bug but found a few bigger bugs in the work generation that is resulting in invalid nonce being generated by the miners on the pool Embarrassed
 
sr. member
Activity: 266
Merit: 250
Getting a price fixing for BLC : BTC or BLC : EUR !
I like those experiments!

https://bitcointalksearch.org/topic/m.3589343
Jump to: