Author

Topic: [ANN][YAC] YACoin ongoing development - page 158. (Read 379876 times)

hero member
Activity: 802
Merit: 1003
GCVMMWH
June 01, 2013, 01:38:41 PM
sr. member
Activity: 406
Merit: 250
One does not simply mine Bitcoins
June 01, 2013, 10:56:01 AM
Rise Nfactor RISE !

Here comes 3x longer confirmation time Cheesy
hero member
Activity: 637
Merit: 500
June 01, 2013, 10:34:27 AM
I you are trying to build yacoind on windows you will find out a lot of errors because of the windows makefile (makefile.mingw) is untouched from novacoin, so the new scrypt version is not getting compiled (blame pocopoco).

I used this makefile ( added some comments for the changed lines) :
Code:
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

# No UPNP for this make file
USE_UPNP:=
USE_IPV6:=1

# Change the gcc version and boost version with the ones you have
# I used gcc 4.7 and boost 1.53
INCLUDEPATHS= \
 -I"/home/user/boost_1_53_0" \
 -I"/home/user/db-4.8.30.NC/build_unix" \
 -I"/home/user/openssl-1.0.1e/include"

LIBPATHS= \
 -L"/home/user/boost_1_53_0/stage/lib" \
 -L"/home/user/db-4.8.30.NC/build_unix" \
 -L"/home/user/openssl-1.0.1e"

LIBS= \
 -l boost_system-mgw47-mt-s-1_53 \
 -l boost_filesystem-mgw47-mt-s-1_53 \
 -l boost_program_options-mgw47-mt-s-1_53 \
 -l boost_thread-mgw47-mt-s-1_53 \
 -l boost_chrono-mgw47-mt-s-1_53 \
 -l db_cxx \
 -l ssl \
 -l crypto

DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
CFLAGS=-static -mthreads -O2 -msse2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)

LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat

# This are the scrypt-jane specific parameters needed to compile you can use -msse2 if you don't have sse3
DEFS_JANE=-DSCRYPT_KECCAK512 -DSCRYPT_CHACHA -DSCRYPT_CHOOSE_COMPILETIME -O3 -msse3

TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)

ifndef USE_UPNP
override USE_UPNP = -
endif
ifneq (${USE_UPNP}, -)
 INCLUDEPATHS += -I"C:\miniupnpc-1.6-mgw"
 LIBPATHS += -L"C:\miniupnpc-1.6-mgw"
 LIBS += -l miniupnpc -l iphlpapi
 DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
endif

ifneq (${USE_IPV6}, -)
DEFS += -DUSE_IPV6=$(USE_IPV6)
endif

LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi

# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
HEADERS = $(wildcard *.h)

# Notice I added the scrypt-jane obj at the end
OBJS= \
    obj/alert.o \
    obj/version.o \
    obj/checkpoints.o \
    obj/netbase.o \
    obj/addrman.o \
    obj/crypter.o \
    obj/key.o \
    obj/db.o \
    obj/init.o \
    obj/irc.o \
    obj/keystore.o \
    obj/main.o \
    obj/net.o \
    obj/protocol.o \
    obj/bitcoinrpc.o \
    obj/rpcdump.o \
    obj/rpcnet.o \
    obj/rpcmining.o \
    obj/rpcwallet.o \
    obj/rpcblockchain.o \
    obj/rpcrawtransaction.o \
    obj/script.o \
    obj/sync.o \
    obj/util.o \
    obj/wallet.o \
    obj/walletdb.o \
    obj/noui.o \
    obj/kernel.o \
    obj/pbkdf2.o \
    obj/scrypt_mine.o \
    obj/scrypt-x86.o \
    obj/scrypt-x86_64.o \
obj/scrypt-jane.o

all: yacoind.exe

test check: test_yacoin.exe FORCE
test_yacoin.exe

obj/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<

obj/scrypt-x86.o: scrypt-x86.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<

obj/scrypt-x86_64.o: scrypt-x86_64.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<

# This is needed to compile scrypt-jane with the DEFS_JANE we set before
obj/scrypt-jane.o: scrypt-jane/scrypt-jane.c
gcc -c $(xCXXFLAGS_SCRYPT_JANE) $(DEFS_JANE) -MMD -o $@ $<

yacoind.exe: $(OBJS:obj/%=obj/%)
g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)

TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))

obj-test/%.o: test/%.cpp $(HEADERS)
g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $<

test_bitcoin.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework $(LIBS)

clean:
rm yacoind.exe -f
rm obj/*.*
rm obj-test/*.*

FORCE:


EDIT 1: Fixed the clean section, you can't use del under mingw.

hero member
Activity: 637
Merit: 500
June 01, 2013, 10:21:21 AM
Rise Nfactor RISE !

    "blocks" : 77242,
    "currentblocksize" : 1527,
    "currentblocktx" : 1,
    "difficulty" : 1.39981203,
    "errors" : "",
    "generate" : false,
    "genproclimit" : -1,
    "hashespersec" : 0,
    "networkhashps" : 56745133, <- 56Mh the network hash is rising
    "pooledtx" : 1,
    "testnet" : false,
    "Nfactor" : 9,
    "N" : 1024,
    "powreward" : 23.64000000
sr. member
Activity: 686
Merit: 259
June 01, 2013, 09:09:58 AM
If you are doing solo mining and have to leave it unencrypted, I suggest making two wallets and transfer coins to the encrypted wallet from time to time. As always, backup your data before running any random downloads from teh interwebs.

Sorry if this is offtopic but can't I solo-mine with my wallet encrypted?
My wallet is encrypted and I'm solo-mining with the minerd and I'm not getting any errors.. Huh

You won't find any block if you have your wallet encrypted and locked. Either unlock it for a long time period (walletpassphrase 99999999) or remove encryption.
Oh fuck..I forgot my wallet password and wasted hours of mining on nothing..
Bye 140 YACs ;_;
newbie
Activity: 22
Merit: 0
June 01, 2013, 08:59:02 AM
Hanzac already released a 64-bit Windows build based on my GitHub repository about 2 weeks ago after I fixed the checkpoint warning.  Multiple people have checked it out and haven't observed it to do anything suspicious or unusual:
https://bitcointalksearch.org/topic/m.2207446

Yea, I even sent him a question or two. I was already working on it when I saw that. I was also trying to enable all the options on Windows, qrencode was the only one I couldn't get going. *shrug*
newbie
Activity: 22
Merit: 0
June 01, 2013, 08:55:16 AM
Thank you for posting that it is possible - I've been pondering away most of the night without a terrible amount of success.  Any chance you could link me your Makefile.mingw?  I know there are some problems in there (as the included one wasn't even including scrypt-jane.o in the objects and didn't have the algorithms chosen in the compiler flags like the unix makefile has).

The only dependancy differences I'm noting is that you used boost 1.50 and I've used boost 1.53 - I'm still getting the error I mentioned above, but now that it's actually trying to include scrypt-jane, I've got a whole host of other errors for that which don't make a lot of sense...

Sure. This only gets you so far, have to do the qt pro build afterwards. I think I wasted a lot of time trying to build from within MSYS but ultimately ran this from CMD.

Code:
mingw32-make -f makefile.mingw

Code:
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

USE_UPNP:=0
USE_IPV6:=1

INCLUDEPATHS= \
 -I"d:\boost-1.50.0-mgw" \
 -I"d:\db-4.8.30.NC-mgw\build_unix" \
 -I"d:\openssl-1.0.1e-mgw\include"
 
LIBPATHS= \
 -L"d:\boost-1.50.0-mgw\stage\lib" \
 -L"d:\db-4.8.30.NC-mgw\build_unix" \
 -L"d:\openssl-1.0.1e-mgw"

LIBS= \
 -l boost_system-mgw46-mt-s-1_50 \
 -l boost_filesystem-mgw46-mt-s-1_50 \
 -l boost_program_options-mgw46-mt-s-1_50 \
 -l boost_thread-mgw46-mt-s-1_50 \
 -l boost_chrono-mgw46-mt-s-1_50 \
 -l db_cxx \
 -l ssl \
 -l crypto

DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
CFLAGS=-mthreads -O2 -msse2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat

# scrypt-jane specific parameters
DEFS+=-DSCRYPT_KECCAK512 -DSCRYPT_CHACHA -DSCRYPT_CHOOSE_COMPILETIME

xCXXFLAGS_SCRYPT_JANE=-O3 -msse2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
    $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)

TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)

ifndef USE_UPNP
override USE_UPNP = -
endif
ifneq (${USE_UPNP}, -)
 INCLUDEPATHS += -I"d:\miniupnpc-1.8-mgw"
 LIBPATHS += -L"d:\miniupnpc-1.8-mgw\miniupnpc"
 LIBS += -l miniupnpc -l iphlpapi
 DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
endif

ifneq (${USE_IPV6}, -)
DEFS += -DUSE_IPV6=$(USE_IPV6)
endif

LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi

# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
HEADERS = $(wildcard *.h)

OBJS= \
    obj/alert.o \
    obj/version.o \
    obj/checkpoints.o \
    obj/netbase.o \
    obj/addrman.o \
    obj/crypter.o \
    obj/key.o \
    obj/db.o \
    obj/init.o \
    obj/irc.o \
    obj/keystore.o \
    obj/main.o \
    obj/net.o \
    obj/protocol.o \
    obj/bitcoinrpc.o \
    obj/rpcdump.o \
    obj/rpcnet.o \
    obj/rpcmining.o \
    obj/rpcwallet.o \
    obj/rpcblockchain.o \
    obj/rpcrawtransaction.o \
    obj/script.o \
    obj/sync.o \
    obj/util.o \
    obj/wallet.o \
    obj/walletdb.o \
    obj/noui.o \
    obj/kernel.o \
    obj/pbkdf2.o \
    obj/scrypt_mine.o \
    obj/scrypt-x86.o \
    obj/scrypt-x86_64.o \
obj/scrypt-jane.o

all: yacoind.exe

test check: test_yacoin.exe FORCE
test_yacoin.exe

obj/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<

obj/scrypt-x86.o: scrypt-x86.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<

obj/scrypt-x86_64.o: scrypt-x86_64.S
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<

obj/scrypt-jane.o: scrypt-jane/scrypt-jane.c
gcc -c $(xCXXFLAGS_SCRYPT_JANE) -MMD -o $@ $<

yacoind.exe: $(OBJS:obj/%=obj/%)
g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)

TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))

obj-test/%.o: test/%.cpp $(HEADERS)
g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $<

test_bitcoin.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework $(LIBS)

clean:
-del /Q yacoind test_yacoin
-del /Q obj\*
-del /Q obj-test\*

FORCE:
sr. member
Activity: 406
Merit: 250
One does not simply mine Bitcoins
June 01, 2013, 06:31:56 AM
If you are doing solo mining and have to leave it unencrypted, I suggest making two wallets and transfer coins to the encrypted wallet from time to time. As always, backup your data before running any random downloads from teh interwebs.

Sorry if this is offtopic but can't I solo-mine with my wallet encrypted?
My wallet is encrypted and I'm solo-mining with the minerd and I'm not getting any errors.. Huh

You won't find any block if you have your wallet encrypted and locked. Either unlock it for a long time period (walletpassphrase 99999999) or remove encryption.
sr. member
Activity: 686
Merit: 259
June 01, 2013, 04:37:53 AM
If you are doing solo mining and have to leave it unencrypted, I suggest making two wallets and transfer coins to the encrypted wallet from time to time. As always, backup your data before running any random downloads from teh interwebs.

Sorry if this is offtopic but can't I solo-mine with my wallet encrypted?
My wallet is encrypted and I'm solo-mining with the minerd and I'm not getting any errors.. Huh
sr. member
Activity: 347
Merit: 250
June 01, 2013, 03:03:33 AM
If it helps anybody, last weekend I was finally able to build the client on x64 windows (using windmaster and floodyberry's github projects). I'm not sure why people say scrypt won't compile on windows, I don't recall having issues with that part.

If you were working from floodberry's github repository, that's a newer version of the scrypt-jane library that reportedly has been corrected to compile cleanly.  Previous version did not, due to the SSE instructions.


If nothing else it gets rid of the checkpoint message.
...
I didn't post it right away because nobody knows me and I didn't want to be accused of adding malware. Maybe someone trusted in the community could check it out. If you have any doubts, don't download it please.

Hanzac already released a 64-bit Windows build based on my GitHub repository about 2 weeks ago after I fixed the checkpoint warning.  Multiple people have checked it out and haven't observed it to do anything suspicious or unusual:
https://bitcointalksearch.org/topic/m.2207446
sr. member
Activity: 381
Merit: 250
June 01, 2013, 02:43:56 AM
colors are too soft though

Heres a psd file so anyone can modify the colours, this one also has slightly stronger colours to start with :

https://mega.co.nz/#!VhYm3bbT!HluFg2Gner_jFDWU4lDII2RHKg1XtvWx5CAqrb0LkCk

Example : http://imgur.com/scPsMZi & http://imgur.com/n5oCmJO


hero member
Activity: 693
Merit: 500
June 01, 2013, 01:53:21 AM
newbie
Activity: 22
Merit: 0
June 01, 2013, 01:21:58 AM
If it helps anybody, last weekend I was finally able to build the client on x64 windows (using windmaster and floodyberry's github projects). I'm not sure why people say scrypt won't compile on windows, I don't recall having issues with that part. Dependencies were a b*tch though. I think I got upnp linked in but couldn't get qrencode working due to pthread linking errors that I can't figure out (yet). If nothing else it gets rid of the checkpoint message. It also uses a different icon for the exe (public domain by bitdwarf), but it only really shows in explorer and I didn't bother replacing any other graphics. It is using these dependencies:

BOOST_LIB_SUFFIX=-mgw46-mt-s-1_50
BOOST_INCLUDE_PATH=d:\\boost-1.50.0-mgw
BOOST_LIB_PATH=d:\\boost-1.50.0-mgw\\stage\\lib
BDB_INCLUDE_PATH=d:\\db-4.8.30.NC-mgw\\build_unix
BDB_LIB_PATH=d:\\db-4.8.30.NC-mgw\\build_unix
OPENSSL_INCLUDE_PATH=d:\\openssl-1.0.1e-mgw\\include
OPENSSL_LIB_PATH=d:\\openssl-1.0.1e-mgw
MINIUPNPC_INCLUDE_PATH=d:\\miniupnpc-1.8-mgw
MINIUPNPC_LIB_PATH=d:\\miniupnpc-1.8-mgw\\miniupnpc

I didn't post it right away because nobody knows me and I didn't want to be accused of adding malware. Maybe someone trusted in the community could check it out. If you have any doubts, don't download it please. Also, you really should encrypt your main wallets to protect yourself this sort of thing. If you are doing solo mining and have to leave it unencrypted, I suggest making two wallets and transfer coins to the encrypted wallet from time to time. As always, backup your data before running any random downloads from teh interwebs.

http://tig.org/crypto/yacoin-qt.zip

I also recompiled the minerd_scrypt_jane_avx that god3 posted for x64, with the single change to not print the LONGPOLL messages when running in quite (-q) mode. Again, I don't know how to prove it isn't malware.

http://tig.org/crypto/minerd_avx.zip
hero member
Activity: 693
Merit: 500
I was doing some digging, and saw that there were commits to scrypt-jane a couple weeks ago labelled as "fixes so it will compile and run under mingw" - if you pulled that, could we get updated Windows binaries and get them posted?

https://github.com/floodyberry/scrypt-jane


Only one way to find out! I will add the changes to my repo and you (or someone with Windows) can test from there - if everything looks good I will send a pull request to WM to request that it's added.

Keep me updated on what happens there.  If you're working on it, I'll work on other things.  I had blocked out some time during the weekend to look at the updated commits to scrypt-jane and see about cranking out a full Windows installer package.  If you check on the scrypt-jane update and whether it fixes Windows builds, I'll concentrate on the other things that need to get wrapped up.

would the following errors be the weirdness you saw when trying to get it to compile under mingw?

Code:
obj/scrypt_mine.o: In function `Z11scrypt_hashPKvjPjh':
C:\yacoin\src/scrypt_mine.cpp:101: undefined reference to `scrypt'
obj/scrypt_mine.o: In function `Z15scanhash_scryptP12block_headerjRjPvS0_h':
C:\yacoin\src/scrypt_mine.cpp:202: undefined reference to `scrypt'
collect2.exe: error: ld returned 1 exit status
hero member
Activity: 693
Merit: 500
I was doing some digging, and saw that there were commits to scrypt-jane a couple weeks ago labelled as "fixes so it will compile and run under mingw" - if you pulled that, could we get updated Windows binaries and get them posted?

https://github.com/floodyberry/scrypt-jane


Only one way to find out! I will add the changes to my repo and you (or someone with Windows) can test from there - if everything looks good I will send a pull request to WM to request that it's added.

Keep me updated on what happens there.  If you're working on it, I'll work on other things.  I had blocked out some time during the weekend to look at the updated commits to scrypt-jane and see about cranking out a full Windows installer package.  If you check on the scrypt-jane update and whether it fixes Windows builds, I'll concentrate on the other things that need to get wrapped up.

OK, all of floodyberry's changes have been merged to  https://github.com/joebauers/yacoin.git   I compiled in Debian and everything still works great.

*** Someone with windows will need to see if they can get everything compiled from my changes. ***

Note: That https://github.com/yacoin/yacoin is what everyone will want to use for Production builds - https://github.com/joebauers/yacoin.git is just to test the changes from floodyberry.

I'm giving this a shot - hopefully the guide to building bitcoin-qt with mingw applies here.  I hate to say it, but I was spoiled by the ease of adding dependencies and packages under ubuntu... this seems antiquated
hero member
Activity: 802
Merit: 1003
GCVMMWH
I was doing some digging, and saw that there were commits to scrypt-jane a couple weeks ago labelled as "fixes so it will compile and run under mingw" - if you pulled that, could we get updated Windows binaries and get them posted?

https://github.com/floodyberry/scrypt-jane


Only one way to find out! I will add the changes to my repo and you (or someone with Windows) can test from there - if everything looks good I will send a pull request to WM to request that it's added.

Keep me updated on what happens there.  If you're working on it, I'll work on other things.  I had blocked out some time during the weekend to look at the updated commits to scrypt-jane and see about cranking out a full Windows installer package.  If you check on the scrypt-jane update and whether it fixes Windows builds, I'll concentrate on the other things that need to get wrapped up.

OK, all of floodyberry's changes have been merged to  https://github.com/joebauers/yacoin.git   I compiled in Debian and everything still works great.

*** Someone with windows will need to see if they can get everything compiled from my changes. ***

Note: That https://github.com/yacoin/yacoin is what everyone will want to use for Production builds - https://github.com/joebauers/yacoin.git is just to test the changes from floodyberry.
sr. member
Activity: 347
Merit: 250
I was doing some digging, and saw that there were commits to scrypt-jane a couple weeks ago labelled as "fixes so it will compile and run under mingw" - if you pulled that, could we get updated Windows binaries and get them posted?

https://github.com/floodyberry/scrypt-jane


Only one way to find out! I will add the changes to my repo and you (or someone with Windows) can test from there - if everything looks good I will send a pull request to WM to request that it's added.

Keep me updated on what happens there.  If you're working on it, I'll work on other things.  I had blocked out some time during the weekend to look at the updated commits to scrypt-jane and see about cranking out a full Windows installer package.  If you check on the scrypt-jane update and whether it fixes Windows builds, I'll concentrate on the other things that need to get wrapped up.
hero member
Activity: 693
Merit: 500
NOTE: No binaries are posted at this point.  You'll need to build from source from my GitHub repository during these early stages of development.  Windows client build is still problematic, as the scrypt-jane library does not compile cleanly with mingw.

I was doing some digging, and saw that there were commits to scrypt-jane a couple weeks ago labelled as "fixes so it will compile and run under mingw" - if you pulled that, could we get updated Windows binaries and get them posted?

https://github.com/floodyberry/scrypt-jane


Only one way to find out! I will add the changes to my repo and you (or someone with Windows) can test from there - if everything looks good I will send a pull request to WM to request that it's added.

PM me when you've compiled, I'll get a VM spun up for testing
legendary
Activity: 2772
Merit: 1028
Duelbits.com
colors are too soft though
sr. member
Activity: 406
Merit: 250
The cryptocoin watcher
Made some here: http://imgur.com/hq9J1OT,UWl7yoB,BDVfAPk (3 sizes)

Example:



I love it! It looks kinda industrial, like something related to real, solid goods.
Jump to: