BitShares Forum
Other => Graveyard => BitShares PTS => Topic started by: rando on November 04, 2013, 09:05:07 pm
-
Can someone help me figure how to mine Protoshares on Linux (Debian/Ubuntu) please? Here is what I think I know so far:
# Install dependencies
sudo apt-get install build-essential
sudo apt-get install libssl-dev
# Download
git clone https://github.com/InvictusInnovations/ProtoShares.git protoshares
cd protoshares
# Compile
cd src
make -f makefile.unix protosharesd
# Usage
protosharesd start
protosharesd stop
protosharesd --help
What dependencies are needed?
Do I need to add/alter a configuration anywhere (port, etc)?
How do I generate a protoshares public/private key pair and set it to send the mining proceeds to that address?
How do I configure UFW (uncomplicated firewall) for P2P software like this? Deny all TCP and allow xxx UDP?
How can I see that it's working?
-
Assuming all dependencies are installed....
qmake-qt4 protosharesd.pro
make
More details will follow...
-
Here is the relevant subset of my command history for setting up a fresh Digital Ocean machine:
2 apt-get install git
5 apt-get install qt4
9 apt-get install libboost-all-dev
15 apt-get install qt4-dev-tools libqt4-dev libqt4-core libqt4-gui
18 apt-get install make
20 apt-get install libssl-dev
24 apt-get install libdb-dev
28 apt-get install libdb++-dev
34 wget http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.5.tar.gz
35 mv download.php\?file\=miniupnpc-1.5.tar.gz miniupnpc-1.5.tar.gz
36 tar -xzvf miniupnpc-1.5.tar.gz
37 cd miniupnpc-1.5/
39 make
40 make install
11 git clone https://github.com/InvictusInnovations/ProtoShares.git
12 cd ProtoShares/
16 qmake-qt4 protosharesd.pro
29 make
30 make -j2
31 export LC_ALL=C
./protosharesd .................
-
Fantastic. I'll give that a try. Would you be able to answer my other questions too please?
1.) Do I need to alter any configuration settings (port #, etc) before running it?
2.) How do I generate a Protoshares public/private key pair and set it to send the mining proceeds to that address?
3.) What are the correct firewall setting for this? (Deny all, allow 3888 out only?)
4.) How can I verify that it's working?
Thanks!
-
As far as I know it operates just like Bitcoin. FreeTrade set this up and the only changes from Bitcoin 8.5 are to the proof of work and mining rewards.
You should be able to use the command line API to report your hash rate and report the number of connected nodes and block depth.
As far as ports go... 3888 simply replaced bitcoins default port.
-
Okay. Thanks!
-
I'm failing with the following error when executing --- 'line 29 make' from the instructions. Ironically, I got the same error will trying to build this with MinWG on Windows.
home/mike/ProtoShares/src/rpcwallet.cpp:77: undefined reference to `nBestHeight'
/home/mike/ProtoShares/src/rpcwallet.cpp:85: undefined reference to `nTransactionFee'
/home/mike/ProtoShares/src/rpcwallet.cpp:88: undefined reference to `GetWarnings(std::string)'
build/rpcwallet.o: In function `signmessage(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcwallet.cpp:338: undefined reference to `strMessageMagic'
build/rpcwallet.o: In function `verifymessage(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcwallet.cpp:374: undefined reference to `strMessageMagic'
build/rpcwallet.o: In function `ListTransactions(CWalletTx const&, std::string const&, int, bool, std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > >&)':
/home/mike/ProtoShares/src/rpcwallet.cpp:987: undefined reference to `CMerkleTx::GetBlocksToMaturity() const'
build/rpcwallet.o: In function `listsinceblock(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcwallet.cpp:1154: undefined reference to `nBestHeight'
/home/mike/ProtoShares/src/rpcwallet.cpp:1170: undefined reference to `hashBestChain'
/home/mike/ProtoShares/src/rpcwallet.cpp:1170: undefined reference to `hashBestChain'
/home/mike/ProtoShares/src/rpcwallet.cpp:1170: undefined reference to `hashBestChain'
/home/mike/ProtoShares/src/rpcwallet.cpp:1170: undefined reference to `hashBestChain'
/home/mike/ProtoShares/src/rpcwallet.cpp:1174: undefined reference to `pindexBest'
/home/mike/ProtoShares/src/rpcwallet.cpp:1177: undefined reference to `pindexBest'
build/rpcwallet.o: In function `CBlockLocator::CBlockLocator(uint256)':
/home/mike/ProtoShares/src/main.h:1979: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/main.h:1980: undefined reference to `mapBlockIndex'
build/rpcblockchain.o: In function `GetDifficulty(CBlockIndex const*)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:20: undefined reference to `pindexBest'
/home/mike/ProtoShares/src/rpcblockchain.cpp:23: undefined reference to `pindexBest'
build/rpcblockchain.o: In function `blockToJSON(CBlock const&, CBlockIndex const*)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:49: undefined reference to `CBlockHeader::GetHash() const'
/home/mike/ProtoShares/src/rpcblockchain.cpp:51: undefined reference to `CMerkleTx::SetMerkleBranch(CBlock const*)'
build/rpcblockchain.o: In function `getblockcount(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:81: undefined reference to `nBestHeight'
build/rpcblockchain.o: In function `settxfee(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:108: undefined reference to `nTransactionFee'
build/rpcblockchain.o: In function `getrawmempool(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:120: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcblockchain.cpp:120: undefined reference to `CTxMemPool::queryHashes(std::vector<uint256, std::allocator<uint256> >&)'
build/rpcblockchain.o: In function `getblockhash(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:137: undefined reference to `nBestHeight'
/home/mike/ProtoShares/src/rpcblockchain.cpp:140: undefined reference to `FindBlockByHeight(int)'
build/rpcblockchain.o: In function `getblock(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:154: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/rpcblockchain.cpp:158: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/rpcblockchain.cpp:159: undefined reference to `CBlock::ReadFromDisk(CBlockIndex const*)'
build/rpcblockchain.o: In function `gettxoutsetinfo(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:174: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:174: undefined reference to `pcoinsTip'
build/rpcblockchain.o: In function `gettxout(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcblockchain.cpp:204: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcblockchain.cpp:205: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:205: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcblockchain.cpp:205: undefined reference to `CCoinsViewMemPool::CCoinsViewMemPool(CCoinsView&, CTxMemPool&)'
/home/mike/ProtoShares/src/rpcblockchain.cpp:206: undefined reference to `CCoinsViewMemPool::GetCoins(uint256 const&, CCoins&)'
/home/mike/ProtoShares/src/rpcblockchain.cpp:208: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcblockchain.cpp:208: undefined reference to `CTxMemPool::pruneSpent(uint256 const&, CCoins&)'
/home/mike/ProtoShares/src/rpcblockchain.cpp:210: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:210: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:216: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:216: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcblockchain.cpp:220: undefined reference to `pcoinsTip'
build/rpcblockchain.o:/home/mike/ProtoShares/src/rpcblockchain.cpp:220: more undefined references to `pcoinsTip' follow
build/rpcblockchain.o: In function `CCoinsView::~CCoinsView()':
/home/mike/ProtoShares/src/main.h:2166: undefined reference to `vtable for CCoinsView'
build/rpcblockchain.o: In function `CCoinsViewBacked::~CCoinsViewBacked()':
/home/mike/ProtoShares/src/main.h:2170: undefined reference to `vtable for CCoinsViewBacked'
build/rpcblockchain.o: In function `CCoinsViewMemPool::~CCoinsViewMemPool()':
/home/mike/ProtoShares/src/main.h:2223: undefined reference to `vtable for CCoinsViewMemPool'
build/rpcrawtransaction.o: In function `TxToJSON(CTransaction const&, uint256, std::vector<json_spirit::Pair_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Pair_impl<json_spirit::Config_vector<std::string> > > >&)':
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:119: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:120: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:125: undefined reference to `nBestHeight'
build/rpcrawtransaction.o: In function `getrawtransaction(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:153: undefined reference to `GetTransaction(uint256 const&, CTransaction&, uint256&, bool)'
build/rpcrawtransaction.o: In function `signrawtransaction(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:382: undefined reference to `CCoinsViewCache::CCoinsViewCache(CCoinsView&, bool)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:384: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:385: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:386: undefined reference to `mempool'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:386: undefined reference to `CCoinsViewMemPool::CCoinsViewMemPool(CCoinsView&, CTxMemPool&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:387: undefined reference to `CCoinsViewBacked::SetBackend(CCoinsView&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:392: undefined reference to `CCoinsViewCache::GetCoins(uint256 const&, CCoins&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:395: undefined reference to `CCoinsViewBacked::SetBackend(CCoinsView&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:443: undefined reference to `CCoinsViewCache::GetCoins(uint256 const&, CCoins&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:456: undefined reference to `CCoinsViewCache::SetCoins(uint256 const&, CCoins const&)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:502: undefined reference to `CCoinsViewCache::GetCoins(uint256 const&, CCoins&)'
build/rpcrawtransaction.o: In function `sendrawtransaction(std::vector<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >, std::allocator<json_spirit::Value_impl<json_spirit::Config_vector<std::string> > > > const&, bool)':
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:554: undefined reference to `pcoinsTip'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:561: undefined reference to `CTransaction::AcceptToMemoryPool(CValidationState&, bool, bool, bool*)'
/home/mike/ProtoShares/src/rpcrawtransaction.cpp:571: undefined reference to `SyncWithWallets(uint256 const&, CTransaction const&, CBlock const*, bool)'
build/rpcrawtransaction.o: In function `CCoinsView::CCoinsView()':
/home/mike/ProtoShares/src/main.h:2140: undefined reference to `vtable for CCoinsView'
build/rpcrawtransaction.o: In function `CCoinsViewCache::~CCoinsViewCache()':
/home/mike/ProtoShares/src/main.h:2188: undefined reference to `vtable for CCoinsViewCache'
build/protocol.o: In function `CMessageHeader::CMessageHeader()':
/home/mike/ProtoShares/src/protocol.cpp:25: undefined reference to `pchMessageStart'
build/protocol.o: In function `CMessageHeader::CMessageHeader(char const*, unsigned int)':
/home/mike/ProtoShares/src/protocol.cpp:34: undefined reference to `pchMessageStart'
build/protocol.o: In function `CMessageHeader::IsValid() const':
/home/mike/ProtoShares/src/protocol.cpp:51: undefined reference to `pchMessageStart'
build/txdb.o: In function `CCoinsViewDB::GetBestBlock()':
/home/mike/ProtoShares/src/txdb.cpp:44: undefined reference to `mapBlockIndex'
/home/mike/ProtoShares/src/txdb.cpp:45: undefined reference to `mapBlockIndex'
build/txdb.o: In function `CBlockTreeDB::LoadBlockIndexGuts()':
/home/mike/ProtoShares/src/txdb.cpp:211: undefined reference to `InsertBlockIndex(uint256)'
/home/mike/ProtoShares/src/txdb.cpp:212: undefined reference to `InsertBlockIndex(uint256)'
/home/mike/ProtoShares/src/txdb.cpp:226: undefined reference to `pindexGenesisBlock'
/home/mike/ProtoShares/src/txdb.cpp:226: undefined reference to `hashGenesisBlock'
/home/mike/ProtoShares/src/txdb.cpp:227: undefined reference to `pindexGenesisBlock'
build/txdb.o: In function `CTxOutCompressor::GetSerializeSize(int, int) const':
/home/mike/ProtoShares/src/main.h:687: undefined reference to `CTxOutCompressor::CompressAmount(unsigned long long)'
build/txdb.o: In function `CBlockIndex::CheckIndex() const':
/home/mike/ProtoShares/src/main.h:1766: undefined reference to `CheckProofOfWork(uint256, unsigned int)'
build/txdb.o: In function `CDiskBlockIndex::GetBlockHash() const':
/home/mike/ProtoShares/src/main.h:1885: undefined reference to `CBlockHeader::GetHash() const'
build/txdb.o: In function `void CTxOutCompressor::Unserialize<CDataStream>(CDataStream&, int, int)':
/home/mike/ProtoShares/src/main.h:687: undefined reference to `CTxOutCompressor::DecompressAmount(unsigned long long)'
build/txdb.o: In function `void CTxOutCompressor::Serialize<CDataStream>(CDataStream&, int, int) const':
/home/mike/ProtoShares/src/main.h:687: undefined reference to `CTxOutCompressor::CompressAmount(unsigned long long)'
build/txdb.o:(.rodata._ZTI12CCoinsViewDB[_ZTI12CCoinsViewDB]+0x10): undefined reference to `typeinfo for CCoinsView'
collect2: error: ld returned 1 exit status
make: *** [protosharesd] Error 1
-
Very interesting error... looks like something didn't link.
I just followed the steps above and everything built for me. Only thing I changed was installing boost 1.54 from source rather than using the built in version.
-
bytemaster, when you created your droplet in digital ocean what parameters did you use? Maybe that has something to do with it.
-
I compiled src from makefile.unix, got bitcoind.
when I tried to run it, got following
bitcoind: main.cpp:2839: bool InitBlockIndex(): Assertion `hash == hashGenesisBlock' failed.
Aborted (core dumped)
Am I on the good track?
Even I changed system time, it still give me same error. I just want to test speed.
-
You are on the right track... once we publish the proper commit you will be good to go.
-
bytemaster, when you created your droplet in digital ocean what parameters did you use? Maybe that has something to do with it.
2 GB 2 Core.
-
I got the same error in mac. Waiting for pull ;)
Is "./bitcoind -gen -daemon &" the right command to go?
Do we need some special configuration in "protoshares.conf"?
-
The only thing I can vouch for is protsharesd.pro using qmake.
Mining will not work unless you can connect to a network so it is hard to do a speed test :).
I will post a benchmark tool for everyone here in a bit :)
-
bool InitBlockIndex(): Assertion `hash == hashGenesisBlock' failed.
I think I figured it out.
-
In case anyone in the future also encounters this error... If you're trying to compile on a 512mb vps to try it out, it will probably fail because not enough memory. You can add swap space to get past that error:
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
-
The only thing I can vouch for is protsharesd.pro using qmake.
Mining will not work unless you can connect to a network so it is hard to do a speed test :).
I will post a benchmark tool for everyone here in a bit :)
Thank you for all the hard work! I've compiled everything, looks great. Minus benchmark tool... :)
Staying up late here, fun times.
-
Got this error:
protosharesd: src/main.cpp:1810: bool SetBestChain(CValidationState&, CBlockIndex*): Assertion `pfork != __null' failed.
EDIT: Now it works. Done: git clone, qmake protsharesd.pro and make again
-
How do you know if it's working? I pulled down the new code and ran the make process again, but when I run ./protosharesd, there is no output. Checking top, shows:
0.7% CPU 5.2 MEMORY protosharesd
Is it working?
-
you need to pass the -gen argument to run from the command line.
-
Whoa. CPU shot way up to 100%. I'd say it's working now. Thank you.
Is there a command to view the hash rate?
EDIT: The new post below me answers it: ./protosharesd -gethashpersec
-
all my cores are maxed out, but is there any way to verify it's mining correctly?
hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0
And is there any way to find out how many blocks you've found other than checking your balance?
./protosharesd getmininginfo
{
"blocks" : 38,
"currentblocksize" : 1000,
"currentblocktx" : 0,
"difficulty" : 0.00000095,
"errors" : "",
"generate" : true,
"genproclimit" : -1,
"hashespermin" : 0,
"pooledtx" : 0,
"testnet" : false
}
./protosharesd gethashespersec
0
P.S. I love the idea of ProtoShares and BitShares
-
all my cores are maxed out, but is there any way to verify it's mining correctly?
hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0
And is there any way to find out how many blocks you've found other than checking your balance?
./protosharesd getmininginfo
{
"blocks" : 38,
"currentblocksize" : 1000,
"currentblocktx" : 0,
"difficulty" : 0.00000095,
"errors" : "",
"generate" : true,
"genproclimit" : -1,
"hashespermin" : 0,
"pooledtx" : 0,
"testnet" : false
}
./protosharesd gethashespersec
0
P.S. I love the idea of ProtoShares and BitShares
There are known bugs in reporting mining performance... I am checking with FreeTrade about getting those bugs fixed. If your CPUs are pegged then it is working.
We currently have 159+ connections on the network at one of our seed nodes.
-
all my cores are maxed out, but is there any way to verify it's mining correctly?
hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0
And is there any way to find out how many blocks you've found other than checking your balance?
./protosharesd getmininginfo
{
"blocks" : 38,
"currentblocksize" : 1000,
"currentblocktx" : 0,
"difficulty" : 0.00000095,
"errors" : "",
"generate" : true,
"genproclimit" : -1,
"hashespermin" : 0,
"pooledtx" : 0,
"testnet" : false
}
./protosharesd gethashespersec
0
P.S. I love the idea of ProtoShares and BitShares
Yes, this should work, but takes 4 or 5 minutes before it reports figures.
-
Which part says how many blocks we've found? currentblocktx? (I'm assuming because it's zero :))
-
"blocks" : 38,
Which is now... 80. There are 5x as many people mining as we expected so far.
-
I have some difficulty importing a private key. I am sure the private key is correct. QT gives me error.
-
all my cores are maxed out, but is there any way to verify it's mining correctly?
hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0
And is there any way to find out how many blocks you've found other than checking your balance?
./protosharesd getmininginfo
{
"blocks" : 38,
"currentblocksize" : 1000,
"currentblocktx" : 0,
"difficulty" : 0.00000095,
"errors" : "",
"generate" : true,
"genproclimit" : -1,
"hashespermin" : 0,
"pooledtx" : 0,
"testnet" : false
}
./protosharesd gethashespersec
0
P.S. I love the idea of ProtoShares and BitShares
Yes, this should work, but takes 4 or 5 minutes before it reports figures.
find a block yet? i've been running (from hashespermin) sum of 14.5 or so. no block yet. hah keep digging. :)
-
"blocks" : 38,
Which is now... 80. There are 5x as many people mining as we expected so far.
Oh. I meant how many I have found.
-
"blocks" : 38,
Which is now... 80. There are 5x as many people mining as we expected so far.
Oh. I meant how many I have found.
I found it.
./protosharesd getbalance
shows how many protoshares your miner has generated
-
all my cores are maxed out, but is there any way to verify it's mining correctly?
hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0
And is there any way to find out how many blocks you've found other than checking your balance?
./protosharesd getmininginfo
{
"blocks" : 38,
"currentblocksize" : 1000,
"currentblocktx" : 0,
"difficulty" : 0.00000095,
"errors" : "",
"generate" : true,
"genproclimit" : -1,
"hashespermin" : 0,
"pooledtx" : 0,
"testnet" : false
}
./protosharesd gethashespersec
0
P.S. I love the idea of ProtoShares and BitShares
Yes, this should work, but takes 4 or 5 minutes before it reports figures.
find a block yet? i've been running (from hashespermin) sum of 14.5 or so. no block yet. hah keep digging. :)
Nope. It'd be real nice to have the hashrate in getmininginfo fixed for Linux. I'm running both a Linux and win32 miners. The Linux machine is way way more powerful than the windows one yet the Windows miner shows about 12 HPM whereas the Linux one is usually 0, but sometimes shows 1.xx or 0.xx. Just making me worried theres a bug and it's not actually mining with the full power of the machine.
-
And now the windows box has found one while the Linux miners which have waaaay more power still have nothing and have been running more than 3x as long. I'm getting pretty convinced at this point that something actually is causing them to be mining extremely slow. Even though they're all maxing all CPUs.
Is anyone running a Linux miner consistently reporting a HPM that isn't 0 or is over 10?
-
Is anyone running a Linux miner consistently reporting a HPM that isn't 0 or is over 10?
Currently mining on x86-64 Linux and got about 4 HPM. No luck yet :-\
-
For fun I even tried a 16core/32GB Linux, and it's hash rate is only 7.96353365. It's actually worse than my 8core/16GB instance running just over 8 hashespermin. CPU's are maxed out and memory usage is about 30%; it's running and connected to the network. Found 0 blocks in the past 10 hours.
Something seems wrong with the linux miner or there is some crucial config setting missing. Some guy on bitcointalk.org said he was getting 60 HPM on a 16core/32GB instance. That's 6x my rate!
My conf contains just the RPC user and password and addnode=xxx with one of the IP addresses. Any tips?
-
For fun I even tried a 16core/32GB Linux, and it's hash rate is only 7.96353365. It's actually worse than my 8core/16GB instance running just over 8 hashespermin. CPU's are maxed out and memory usage is about 30%; it's running and connected to the network. Found 0 blocks in the past 10 hours.
Something seems wrong with the linux miner or there is some crucial config setting missing. Some guy on bitcointalk.org said he was getting 60 HPM on a 16core/32GB instance. That's 6x my rate!
My conf contains just the RPC user and password and addnode=xxx with one of the IP addresses. Any tips?
Wich I could help. Last night when this thing went live I launched a couple of servers, one a Windows using only one of the cores, and was getting 2-5. But on my linux server which has 24 cores, I was only getting maybe 10. And I also found no blocks. I am wondering if people are already throwing botnets at this...? Wouldn't be surprised. I am fairly sure that also the code is more Intel happy? My windows server is a Xeon.
-
For fun I even tried a 16core/32GB Linux, and it's hash rate is only 7.96353365. It's actually worse than my 8core/16GB instance running just over 8 hashespermin. CPU's are maxed out and memory usage is about 30%; it's running and connected to the network. Found 0 blocks in the past 10 hours.
Something seems wrong with the linux miner or there is some crucial config setting missing. Some guy on bitcointalk.org said he was getting 60 HPM on a 16core/32GB instance. That's 6x my rate!
My conf contains just the RPC user and password and addnode=xxx with one of the IP addresses. Any tips?
Thats because you probabl did the config incorrect. You have to launch multiple instances to utilize all 24 cores. So in reality you are using only about 3 of your 24 cores which is why you haven't found a block yet.
Wich I could help. Last night when this thing went live I launched a couple of servers, one a Windows using only one of the cores, and was getting 2-5. But on my linux server which has 24 cores, I was only getting maybe 10. And I also found no blocks. I am wondering if people are already throwing botnets at this...? Wouldn't be surprised. I am fairly sure that also the code is more Intel happy? My windows server is a Xeon.
-
For fun I even tried a 16core/32GB Linux, and it's hash rate is only 7.96353365. It's actually worse than my 8core/16GB instance running just over 8 hashespermin. CPU's are maxed out and memory usage is about 30%; it's running and connected to the network. Found 0 blocks in the past 10 hours.
Something seems wrong with the linux miner or there is some crucial config setting missing. Some guy on bitcointalk.org said he was getting 60 HPM on a 16core/32GB instance. That's 6x my rate!
My conf contains just the RPC user and password and addnode=xxx with one of the IP addresses. Any tips?
Thats because you probabl did the config incorrect. You have to launch multiple instances to utilize all 24 cores. So in reality you are using only about 3 of your 24 cores which is why you haven't found a block yet.
Wich I could help. Last night when this thing went live I launched a couple of servers, one a Windows using only one of the cores, and was getting 2-5. But on my linux server which has 24 cores, I was only getting maybe 10. And I also found no blocks. I am wondering if people are already throwing botnets at this...? Wouldn't be surprised. I am fairly sure that also the code is more Intel happy? My windows server is a Xeon.
I could see this happening. In config I told to use 24. May I ask how to launch multiple instances? I am assuming setup multiple directories with daemon running from each...? Thanks.
*By the way in TOP I could see all cores busy with all cpu usage coming from ProtoSharesd...
-
You are memory bandwidth constrained. It doesn't matter how much memory you have if the CPU cannot move data to and from it fast enough.
-
I just found lots of 'generated block is stale' in my debug logs. Is this normal? I'm assuming this means the miner found a block but right before it found it someone else found a block. I wouldn't expect to see this very often unless blocks were comin g really fast? But I found like 10 of these errors.
-
I just found lots of 'generated block is stale' in my debug logs. Is this normal? I'm assuming this means the miner found a block but right before it found it someone else found a block. I wouldn't expect to see this very often unless blocks were comin g really fast? But I found like 10 of these errors.
This is the nature of the proof of work. Unlike all existing POW systems, this system has momentum to it and so it cannot 'turn on a dime' when a new block comes in. Some of these things may be because of fast proof-of-concept implementation, but some of it is the nature of the hash search taking several seconds to get any result.
-
I'm gonna go with implementation issue, considering kill -9 can stop anything dead in its tracks. Once you see a valid block all current mining instructions should be halted and restarted with new latest block.
-
I'm gonna go with implementation issue, considering kill -9 can stop anything dead in its tracks. Once you see a valid block all current mining instructions should be halted and restarted with new latest block.
Yes, there is much work to be done on the algorithm implementation. It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.
-
So then does the current implementation have any implications for preferring less cores or anything like that? Does mining with a higher # of cores result in more "stale blocks" for some reason? Or would that not make a difference.
-
So then does the current implementation have any implications for preferring less cores or anything like that? Does mining with a higher # of cores result in more "stale blocks" for some reason? Or would that not make a difference.
To be honest, I did not look at what FreeTrade implemented very closely. I only verified that his results matched my reference design which had only half the HPM as FreeTrade managed to achieve. Of course my reference design was written for clarity rather than performance and our white paper on Momentum talks about potential optimization strategies. I am sure it won't be long until someone comes up with something better.
-
I just found lots of 'generated block is stale' in my debug logs. Is this normal? I'm assuming this means the miner found a block but right before it found it someone else found a block. I wouldn't expect to see this very often unless blocks were comin g really fast? But I found like 10 of these errors.
This is due to a combination of the long hash time and the fast block time currently being experienced. When the difficulty adjusts, and we're seeing 5 minute blocks, you'll see a lot fewer staler blocks.
Also I agree killing threads as soon as new blocks are found would be a good improvement and result in fewer stale blocks too.
-
So then does the current implementation have any implications for preferring less cores or anything like that? Does mining with a higher # of cores result in more "stale blocks" for some reason? Or would that not make a difference.
Yes, higher number of cores will mean more collisions, but longer hash time . . . longer hash time means blocks are more likely to be stale. It should be a fairly small effect after the first re-adjustment.
-
Yes, there is much work to be done on the algorithm implementation. It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.
The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.
-
Yes, there is much work to be done on the algorithm implementation. It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.
The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.
very good to know, thanks. when do you estimate difficulty change? which block approx?
-
Yes, there is much work to be done on the algorithm implementation. It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.
The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.
very good to know, thanks. when do you estimate difficulty change? which block approx?
2016, about 5 to 10 minutes :)
-
Difficulty did not change...
-
Yes, there is much work to be done on the algorithm implementation. It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.
The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.
very good to know, thanks. when do you estimate difficulty change? which block approx?
2016, about 5 to 10 minutes :)
excellent! :)
-
Yes, there is much work to be done on the algorithm implementation. It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.
The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.
very good to know, thanks. when do you estimate difficulty change? which block approx?
2016, about 5 to 10 minutes :)
excellent! :)
We forgot to adjust to from bitcoins default... it will adjust at block 4032, another 22 hours or less.
-
Yes, there is much work to be done on the algorithm implementation. It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.
The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.
very good to know, thanks. when do you estimate difficulty change? which block approx?
2016, about 5 to 10 minutes :)
excellent! :)
We forgot to adjust to from bitcoins default... it will adjust at block 4032, another 22 hours or less.
ok good good. gives me time to sleep and work on my new setup. i strongly support this, kind of reminds me of when bitcoin launched. the nostalgia i suppose.
-
Having issues compiling on Ubuntu 13.10. All dependencies listed in doc/readme-qt.rst have been installed.
qmake protoshares-qt.pro
Project MESSAGE: Building with UPNP support
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
Project MESSAGE: Warning: unknown QT: widgets
build/bitcoin.o: In function `boost::thread_group::join_all()':
bitcoin.cpp:(.text._ZN5boost12thread_group8join_allEv[_ZN5boost12thread_group8join_allEv]+0x45): undefined reference to `boost::thread::join()'
build/bitcoin.o: In function `main':
bitcoin.cpp:(.text.startup+0x19b): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
build/alert.o: In function `boost::thread::thread<void (*)(std::string), std::string>(void (*)(std::string), std::string)':
alert.cpp:(.text._ZN5boost6threadC2IPFvSsESsEET_T0_[_ZN5boost6threadC5IPFvSsESsEET_T0_]+0x2f7): undefined reference to `boost::thread::start_thread()'
build/util.o: In function `GetDefaultDataDir()':
util.cpp:(.text+0x1533): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
util.cpp:(.text+0x15a2): undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
build/util.o: In function `GetTempPath()':
util.cpp:(.text+0x1d0b): undefined reference to `boost::filesystem3::detail::temp_directory_path(boost::system::error_code*)'
build/util.o: In function `GetDataDir(bool)':
util.cpp:(.text+0x301f): undefined reference to `boost::filesystem3::detail::system_complete(boost::filesystem3::path const&, boost::system::error_code*)'
util.cpp:(.text+0x3069): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
util.cpp:(.text+0x30d4): undefined reference to `boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)'
util.cpp:(.text+0x31e4): undefined reference to `boost::filesystem3::path::operator/=(char const*)'
build/util.o: In function `OutputDebugStringF(char const*, ...)':
util.cpp:(.text+0x356d): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/util.o: In function `NewThread(void (*)(void*), void*)':
util.cpp:(.text+0x3c09): undefined reference to `boost::thread::start_thread()'
build/util.o: In function `DebugPrintInit()':
util.cpp:(.text+0x3f78): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/util.o: In function `GetConfigFile()':
util.cpp:(.text+0x4199): undefined reference to `boost::filesystem3::path::root_directory() const'
util.cpp:(.text+0x41f5): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/util.o: In function `GetPidFile()':
util.cpp:(.text+0x4399): undefined reference to `boost::filesystem3::path::root_directory() const'
util.cpp:(.text+0x43f8): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/util.o: In function `ShrinkDebugFile()':
util.cpp:(.text+0x4542): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/main.o: In function `OpenDiskFile(CDiskBlockPos const&, char const*, bool)':
main.cpp:(.text+0x21d4): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
main.cpp:(.text+0x2212): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
main.cpp:(.text+0x228d): undefined reference to `boost::filesystem3::path::parent_path() const'
main.cpp:(.text+0x2299): undefined reference to `boost::filesystem3::detail::create_directories(boost::filesystem3::path const&, boost::system::error_code*)'
build/main.o: In function `GenerateBitcoins(bool, CWallet*)':
main.cpp:(.text+0x5dd8): undefined reference to `boost::thread::start_thread()'
build/main.o: In function `CheckDiskSpace(unsigned long long)':
main.cpp:(.text+0x10b24): undefined reference to `boost::filesystem3::detail::space(boost::filesystem3::path const&, boost::system::error_code*)'
build/main.o: In function `BitcoinMiner(CWallet*)':
main.cpp:(.text+0x1d192): undefined reference to `boost::this_thread::sleep(boost::posix_time::ptime const&)'
build/init.o: In function `Shutdown()':
init.cpp:(.text+0xe65): undefined reference to `boost::filesystem3::detail::remove(boost::filesystem3::path const&, boost::system::error_code*)'
build/init.o: In function `DetectShutdownThread(boost::thread_group*)':
init.cpp:(.text+0x1222): undefined reference to `boost::this_thread::sleep(boost::posix_time::ptime const&)'
build/init.o: In function `AppInit2(boost::thread_group&)':
init.cpp:(.text+0x7948): undefined reference to `boost::thread::start_thread()'
init.cpp:(.text+0x7ac0): undefined reference to `CDBEnv::Open(boost::filesystem3::path const&)'
init.cpp:(.text+0x7bb8): undefined reference to `boost::filesystem3::detail::rename(boost::filesystem3::path const&, boost::filesystem3::path const&, boost::system::error_code*)'
init.cpp:(.text+0x7beb): undefined reference to `CDBEnv::Open(boost::filesystem3::path const&)'
init.cpp:(.text+0x8e67): undefined reference to `boost::filesystem3::detail::create_directories(boost::filesystem3::path const&, boost::system::error_code*)'
init.cpp:(.text+0x8f10): undefined reference to `boost::filesystem3::detail::create_hard_link(boost::filesystem3::path const&, boost::filesystem3::path const&, boost::system::error_code*)'
build/init.o: In function `boost::filesystem3::operator/(boost::filesystem3::path const&, boost::filesystem3::path const&)':
init.cpp:(.text._ZN5boost11filesystem3dvERKNS0_4pathES3_[_ZN5boost11filesystem3dvERKNS0_4pathES3_]+0x2f): undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
build/init.o: In function `boost::filesystem3::exists(boost::filesystem3::path const&)':
init.cpp:(.text._ZN5boost11filesystem36existsERKNS0_4pathE[_ZN5boost11filesystem36existsERKNS0_4pathE]+0x17): undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
build/init.o: In function `boost::thread* boost::thread_group::create_thread<boost::_bi::bind_t<void, void (*)(std::vector<boost::filesystem3::path, std::allocator<boost::filesystem3::path> >), boost::_bi::list1<boost::_bi::value<std::vector<boost::filesystem3::path, std::allocator<boost::filesystem3::path> > > > > >(boost::_bi::bind_t<void, void (*)(std::vector<boost::filesystem3::path, std::allocator<boost::filesystem3::path> >), boost::_bi::list1<boost::_bi::value<std::vector<boost::filesystem3::path, std::allocator<boost::filesystem3::path> > > > >)':
init.cpp:(.text._ZN5boost12thread_group13create_threadINS_3_bi6bind_tIvPFvSt6vectorINS_11filesystem34pathESaIS6_EEENS2_5list1INS2_5valueIS8_EEEEEEEEPNS_6threadET_[_ZN5boost12thread_group13create_threadINS_3_bi6bind_tIvPFvSt6vectorINS_11filesystem34pathESaIS6_EEENS2_5list1INS2_5valueIS8_EEEEEEEEPNS_6threadET_]+0x166): undefined reference to `boost::thread::start_thread()'
build/init.o: In function `boost::thread* boost::thread_group::create_thread<boost::_bi::bind_t<void, void (*)(std::string const&), boost::_bi::list1<boost::reference_wrapper<std::string> > > >(boost::_bi::bind_t<void, void (*)(std::string const&), boost::_bi::list1<boost::reference_wrapper<std::string> > >)':
init.cpp:(.text._ZN5boost12thread_group13create_threadINS_3_bi6bind_tIvPFvRKSsENS2_5list1INS_17reference_wrapperISsEEEEEEEEPNS_6threadET_[_ZN5boost12thread_group13create_threadINS_3_bi6bind_tIvPFvRKSsENS2_5list1INS_17reference_wrapperISsEEEEEEEEPNS_6threadET_]+0xec): undefined reference to `boost::thread::start_thread()'
build/db.o: In function `CAddrDB::Write(CAddrMan const&)':
db.cpp:(.text+0xbb3): undefined reference to `RenameOver(boost::filesystem::path, boost::filesystem::path)'
collect2: error: ld returned 1 exit status
make: *** [protoshares-qt] Error 1
-
After further investigation, it appears some of the libraries in Ubuntu 13.10 are too new and incompatible with Bitcoin. Unfortunately, the maintainer of the Ubuntu PPA for the correct versions has not yet added a package for 13.10. https://launchpad.net/~bitcoin/+archive/bitcoin
-
Is there anybody know how to install protoshares on Centos Os? Only I find the instruction on Debian or Ubutu.
-
I have got this running on Ubuntu 12.04 but it seems unable to connect to the network, I just get heaps of
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 162.243.***.4:3888 lastseen=90.7hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
(I censored a little the IPs)
Is there a new peers.dat file?
-
I have got this running on Ubuntu 12.04 but it seems unable to connect to the network, I just get heaps of
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 162.243.***.4:3888 lastseen=90.7hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
trying connection 37.139.29.***:3888 lastseen=137.1hrs
connect() failed after select(): Connection refused
(I censored a little the IPs)
Is there a new peers.dat file?
Hi Bob,
Check this: http://bitsharestalk.org/index.php?topic=78.msg824#msg824
-
After further investigation, it appears some of the libraries in Ubuntu 13.10 are too new and incompatible with Bitcoin. Unfortunately, the maintainer of the Ubuntu PPA for the correct versions has not yet added a package for 13.10. https://launchpad.net/~bitcoin/+archive/bitcoin
Hello,
can anyone tell what linux version should I use ?
the last Ubuntu doesn't work so which one please ?
-
qmake protoshares-qt.pro
Project MESSAGE: Building with UPNP support
Removed plural forms as the target language has less forms.
If this sounds wrong, possibly the target language is not set or recognized.
I still got this on :
Ubuntu 12.04 x32
Ubuntu 13.10 x64
Ubuntu 10.04 x64 can't even get the git.