Pages:
Author

Topic: Pooled/Remote Mining - Open Source - Updated 2010-12-24 (Read 58986 times)

full member
Activity: 203
Merit: 100
I have been trying to compile the latest source downloaded from this topic ((Updated 2010-12-24), based on SVN 205), and have been having a lot of problems. And while some of them were due to my lack of knowledge and have fixed themselves as soon as I learned the right stuff, some of the problems seem to be just things that have to be fixed in the source.

I am compiling on x64 windows with MINGW. (not x64 executables, just running on a x64 os. The executables are compiled to x86 arch.)

1. I am getting very strange compile errors in src/remote/remoteminer.cpp
Code:
bitcoin-remote-rpc-20110122-src\src\remote\remoteminer.cpp:751:27: error: no match for 'operator=' in 'i = ((BitcoinMinerRemoteServer*)this)->BitcoinMinerRemoteServer::m_receiverate.std::map<_Key, _Tp, _Compare, _Alloc>::erase [with _Key = long int, _Tp = unsigned int, _Compare = std::less, _Alloc = std::allocator >, std::map<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator >](i)'
Assuming the author has compiled this somehow and it's not just a wrong version of the file or something, it looks to me like there are different versions of stl out there, and the one I have (in mingw) does not support = operator on stl container.
This does not look too difficult to fix, just rewrite that line in a way that doesn't use the =operator.
This is like this in just 2 places, no biggie

2.
errors
Code:
C:\Users\heavydist\Downloads\jelcin\build\bitcoin-remote-rpc-20110122-src\src\remote\remoteminer.cpp:929:66: error: 'getaddrinfo' was not declared in this scope
C:\Users\heavydist\Downloads\jelcin\build\bitcoin-remote-rpc-20110122-src\src\remote\remoteminer.cpp:962:22: error: 'freeaddrinfo' was not declared in this scope

After searching "the internets" something like this http://www.developpez.net/forums/d734362/c-cpp/c/getaddrinfo-was-not-declared-in-this-scope/ comes up, and so the error is easily fixed by modifying the src/headers.h file

instead of "#define _WIN32_WINNT 0x0500" insert  "#define _WIN32_WINNT 0x0501" and these errors go away

3.
but now when the compilation errors about getaddrinfo and freeaddrinfo go away, the linker cannot find them either. By looking through CMakeFiles.txt in the project I couldn't find any library that should hold these functions, so I added it
(to files cmake-bitcoin/CMakeLists.txt, cmake-bitcoind/CMakeLitst.txt and such. NOT the root CMakeLists.txt)
change
Code:
IF(WIN32)
TARGET_LINK_LIBRARIES(bitcoin winmm.lib shlwapi.lib)
ENDIF(WIN32)
to
Code:
IF(WIN32)
TARGET_LINK_LIBRARIES(bitcoin winmm.lib shlwapi.lib ws2_32.lib)
ENDIF(WIN32)

After that the program links just fine.

4.
Now actually the main problem: now bitcoin.exe is produced, but cannot be run...
I get the "The application was unable to start correctly (0xc000007b)."
If that code is the standard windows error code, it's
"ERROR_INVALID_NAME 123 (0x7B) The filename, directory name, or volume label syntax is incorrect."

What could this mean? Any ideas?
member
Activity: 65
Merit: 10
Ok I made it Cool

What me helped:
- doku at https://github.com/doublec/bitcoin-pool/blob/master/src/build-unix.txt
- post #170 in this thread

Thanks a lot!
member
Activity: 65
Merit: 10
Hi,

can you give me a short instruction how to install the package from github on my debian server?
Doing this did output too many errors Sad  :
Code:
# cd /home/
# git clone git://github.com/doublec/bitcoin-pool
# cd /home/bitcoin-pool/
# cmake .
# make

Between cmake and make I had to install a lot of packages to make it run through:

Errors now:
Code:

Linking CXX executable bitcoind
CMakeFiles/bitcoind.dir/__/src/db.cpp.o: In function `CDB::CDB(char const*, char const*)':
db.cpp:(.text+0x21b): undefined reference to `DbEnv::set_lg_dir(char const*)'
db.cpp:(.text+0x22a): undefined reference to `DbEnv::set_lg_max(unsigned int)'
db.cpp:(.text+0x239): undefined reference to `DbEnv::set_lk_max_locks(unsigned int)'
db.cpp:(.text+0x248): undefined reference to `DbEnv::set_lk_max_objects(unsigned int)'
db.cpp:(.text+0x271): undefined reference to `DbEnv::set_errfile(_IO_FILE*)'
db.cpp:(.text+0x285): undefined reference to `DbEnv::set_flags(unsigned int, int)'
db.cpp:(.text+0x2ab): undefined reference to `DbEnv::open(char const*, unsigned int, int)'
db.cpp:(.text+0x4a0): undefined reference to `Db::Db(DbEnv*, unsigned int)'


.........

Thanks!

deti
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
doublec, thank you! I will try it. Smiley
legendary
Activity: 1078
Merit: 1005
First, the remote server should be bitcoind or bitcoinr ?
I've tried both, and none of them seem to work.

I've grabbed the strings from bitcoind and bitcoinr binaries, and I found out that the remote server commands (-remoteserver, -remoteserverpassword, -remotebindport and stuff) are inside bitcoind.
So, I've tried running bitcoind -remoteserver -remotebindaddr=myip -remotebindaddr=8800, and after all, bitcoind runs but port 8800 was not being listened on.
It looks like all the server arguments that I've setted are not working.

What am I doing wrong ?
The server is 'bitcoind'. The miner is 'bitcoinr'. Run the server with something like:

Code:
bitcoind -remoteserver -remotebindaddr=0.0.0.0 -distributiontype=contributed
newbie
Activity: 14
Merit: 0
Will be an update here? It will be great if gethashespersec will show total hashps for all connected miners. Smiley
I added this to puddinpop's code in a branch of my github repository mirroring his code: https://github.com/doublec/bitcoin-pool/tree/lowcpu

With this code 'gethashespersec' will show the total server hash rate. It also adds a command line option '-distributionpercent' allowing the server operator to set the percentage of the generated coins that are available for distribution (the rest go to the server operator). It rounds the generated coin amounts to 3dp as well to help prevent dust accumulation in miners wallets. Feel free to cherry-pick the commits that interest you.
I have tried running the server from your github, but it does not seem to be working at all.

First, the remote server should be bitcoind or bitcoinr ?
I've tried both, and none of them seem to work.

I've grabbed the strings from bitcoind and bitcoinr binaries, and I found out that the remote server commands (-remoteserver, -remoteserverpassword, -remotebindport and stuff) are inside bitcoind.
So, I've tried running bitcoind -remoteserver -remotebindaddr=myip -remotebindaddr=8800, and after all, bitcoind runs but port 8800 was not being listened on.
It looks like all the server arguments that I've setted are not working.

What am I doing wrong ?
legendary
Activity: 1078
Merit: 1005
Will be an update here? It will be great if gethashespersec will show total hashps for all connected miners. Smiley
I added this to puddinpop's code in a branch of my github repository mirroring his code: https://github.com/doublec/bitcoin-pool/tree/lowcpu

With this code 'gethashespersec' will show the total server hash rate. It also adds a command line option '-distributionpercent' allowing the server operator to set the percentage of the generated coins that are available for distribution (the rest go to the server operator). It rounds the generated coin amounts to 3dp as well to help prevent dust accumulation in miners wallets. Feel free to cherry-pick the commits that interest you.
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
Will be an update here? It will be great if gethashespersec will show total hashps for all connected miners. Smiley
member
Activity: 103
Merit: 17
The first post has been updated with the latest release.  The source was updated to SVN 205 and there's just some other minor code changes.  No need to update unless you really like having the latest release.
legendary
Activity: 1386
Merit: 1097
You may be interested that we started another mining pool yesterday. Works with all standard CPU/GPU miners and we already found three blocks in one day. First block was already paid (it works differently than yours pool, transactions to users aren't directly inside block). https://bitcointalksearch.org/topic/4-eh-slush-pool-slushpoolcom-overt-asicboost-world-first-mining-pool-1976. You are welcome!
legendary
Activity: 1078
Merit: 1005
I had 4.7 installed as it was mentioned in the build-unix.txt . I now installed 4.8 and tried again.

I now get

Edit CMakeCache.txt. Change the line that references libdb.so to libdb_cxx.so.
newbie
Activity: 27
Merit: 0
Hi,

is anyone of you able to build a statically linked version of the bitcoin-pool server...

Hey, jiffy, did you install ibdb4.8++-dev before trying to compile on Ubuntu 10.10?

Hey, thanks for your reply.

I had 4.7 installed as it was mentioned in the build-unix.txt . I now installed 4.8 and tried again.

I now get

Code:
make
Linking CXX executable bitcoind
CMakeFiles/bitcoind.dir/__/src/db.cpp.o: In function `CDB::CDB(char const*, char const*)':
db.cpp:(.text+0x1c5): undefined reference to `DbEnv::set_lg_dir(char const*)'
db.cpp:(.text+0x1d9): undefined reference to `DbEnv::set_lg_max(unsigned int)'
db.cpp:(.text+0x1ed): undefined reference to `DbEnv::set_lk_max_locks(unsigned int)'
db.cpp:(.text+0x201): undefined reference to `DbEnv::set_lk_max_objects(unsigned int)'
db.cpp:(.text+0x22c): undefined reference to `DbEnv::set_errfile(_IO_FILE*)'
db.cpp:(.text+0x248): undefined reference to `DbEnv::set_flags(unsigned int, int)'
db.cpp:(.text+0x273): undefined reference to `DbEnv::open(char const*, unsigned int, int)'
db.cpp:(.text+0x428): undefined reference to `Db::Db(DbEnv*, unsigned int)'
CMakeFiles/bitcoind.dir/__/src/db.cpp.o: In function `CDB::CDB(char const*, char const*)':
db.cpp:(.text+0xa5d): undefined reference to `DbEnv::set_lg_dir(char const*)'
db.cpp:(.text+0xa71): undefined reference to `DbEnv::set_lg_max(unsigned int)'
db.cpp:(.text+0xa85): undefined reference to `DbEnv::set_lk_max_locks(unsigned int)'
db.cpp:(.text+0xa99): undefined reference to `DbEnv::set_lk_max_objects(unsigned int)'
db.cpp:(.text+0xac4): undefined reference to `DbEnv::set_errfile(_IO_FILE*)'
db.cpp:(.text+0xae0): undefined reference to `DbEnv::set_flags(unsigned int, int)'
db.cpp:(.text+0xb0b): undefined reference to `DbEnv::open(char const*, unsigned int, int)'
db.cpp:(.text+0xcc0): undefined reference to `Db::Db(DbEnv*, unsigned int)'
CMakeFiles/bitcoind.dir/__/src/db.cpp.o: In function `CDB::Close()':
db.cpp:(.text+0x116e): undefined reference to `DbTxn::abort()'
db.cpp:(.text+0x1237): undefined reference to `DbEnv::txn_checkpoint(unsigned int, unsigned int, unsigned int)'
newbie
Activity: 35
Merit: 0
Hi,

is anyone of you able to build a statically linked version of the bitcoin-pool server? I found a static one of the client but not of the server. The reason is I GAVE UP! Sad I tried compiling the sources since the last weekend without success. As soon as I solved an issue the next one was rising up.

The machine on which I like to use the server is 64 bits Ubuntu 8.04. But, just as a sidenote, I also tried to build it on Ubuntu 10.10 32 Bits which doesn't work better.


73!

Hey, jiffy, did you install ibdb4.8++-dev before trying to compile on Ubuntu 10.10?
member
Activity: 103
Merit: 17
The fist post has been updated with a new release.  In addition to some small code tweaks, the server now displays the bandwidth being used in the GUI, and there is a miner client using the 4way hash code.
newbie
Activity: 27
Merit: 0
Hi,

is anyone of you able to build a statically linked version of the bitcoin-pool server? I found a static one of the client but not of the server. The reason is I GAVE UP! Sad I tried compiling the sources since the last weekend without success. As soon as I solved an issue the next one was rising up.

The machine on which I like to use the server is 64 bits Ubuntu 8.04. But, just as a sidenote, I also tried to build it on Ubuntu 10.10 32 Bits which doesn't work better.


73!
newbie
Activity: 6
Merit: 0
Does anyone know how to obtain working stats directly from the server without having to start mining?

The code suggests so, but I don't know C[++].
hero member
Activity: 489
Merit: 504
I'd be willing to host one of the pool miners, but I'm a bit strapped for time in near time. Also I'm wondering what resources I need. I can create a virtual machine with quite some resources but I cannot use all of the resources. May I host it through Tor?

Hey,

A new server was proposed in another thread: https://bitcointalksearch.org/topic/m.30042
That's settled then ^^
Looking forward to join the pool.
newbie
Activity: 2
Merit: 0
I'd be willing to host one of the pool miners, but I'm a bit strapped for time in near time. Also I'm wondering what resources I need. I can create a virtual machine with quite some resources but I cannot use all of the resources. May I host it through Tor?

Hey,

A new server was proposed in another thread: https://bitcointalksearch.org/topic/m.30042
hero member
Activity: 489
Merit: 504
I'd be willing to host one of the pool miners, but I'm a bit strapped for time in near time. Also I'm wondering what resources I need. I can create a virtual machine with quite some resources but I cannot use all of the resources. May I host it through Tor?
sr. member
Activity: 254
Merit: 250
I joined the remote server at 173.255.205.10 with a Nvidia 8800 GTS 512mb DDR3 (448 cores at 750mhz)
i have an average of 17400 khash/sec, not bad compared to 4400 Khash/sec of my intel Q6600 2.4ghz quadcore.

the log:
Client will start 1 miner threads
Attempting to connect to 173.255.205.10:8335
Connected to 173.255.205.10:8335
Got message 2 from server.
Server version 1.2.1
Setting CUDA device to Max GFlops device at index 0
Device info for GeForce 8800 GTS 512 :
Compute Capability : 1.1
Clock Rate (hz) : 1750000
CUDA finding best kernel configuration
Done allocating CUDA resources for (16,16)
Got message 4 from server.
Finding best configuration step end (16,16) 1609ms  prev best=9223372036854775807ms
Done allocating CUDA resources for (16,32)
Finding best configuration step end (16,32) 844ms  prev best=1609ms
Done allocating CUDA resources for (16,64)
Finding best configuration step end (16,64) 438ms  prev best=844ms
Done allocating CUDA resources for (16,128)
Finding best configuration step end (16,128) 250ms  prev best=438ms
Done allocating CUDA resources for (16,256)
Finding best configuration step end (16,256) 172ms  prev best=250ms
Done allocating CUDA resources for (32,16)
Finding best configuration step end (32,16) 844ms  prev best=172ms
Done allocating CUDA resources for (32,32)
Finding best configuration step end (32,32) 437ms  prev best=172ms
Done allocating CUDA resources for (32,64)
Finding best configuration step end (32,64) 250ms  prev best=172ms
Done allocating CUDA resources for (32,128)
Finding best configuration step end (32,128) 188ms  prev best=172ms
Done allocating CUDA resources for (32,256)
Finding best configuration step end (32,256) 172ms  prev best=172ms
Done allocating CUDA resources for (64,16)
Got message 10 from server.
Server Status : 92 clients, 186538 khash/s
Pages:
Jump to: