BiblePay | 10% to Orphan-Charity | RANDOMX MINING | Sanctuaries (Masternodes)

Started by Rob Andrews, April 10, 2020, 12:43:05 PM

Previous topic - Next topic

Budinga

Quote from: Rob Andrews on September 03, 2023, 07:01:12 PM
BiblePay 0.17.4.2
Mandatory Upgrade for Sanctuaries and Home Controller Wallets



- Add more robust POSE ban for investors (keep our quorums intact) and keep investor payments at 50%
- Add Investor pose status to masternodelist UI and masternodelist rpc command
- Added exec versionreport so we can see the % that have upgraded

** Note: On your self compiled sanctuary, you can simply type "git pull origin master && make -j4" to upgrade.  Then stop and restart all instances.

Hi Rob,

Since version 0.17.4.1 my Sanctuary keeps going to invest , i revieveSanc then its fine for  a bit and then after a while it goes back to been Invest, any ideas?

Thanks

Rob Andrews

Quote from: Budinga on September 08, 2023, 04:25:41 AM
Hi Rob,

Since version 0.17.4.1 my Sanctuary keeps going to invest , i revieveSanc then its fine for  a bit and then after a while it goes back to been Invest, any ideas?

Thanks
Hi bro Budinga, hope you have been good!

Could you give me the sanc IP?
You can try this, from the home IP type:
telnet your_sanc_ip your_sanc_port
And see if it answers?

If other nodes can see your sanc it should stay in non investor state.

Oh btw, you have to allow whatever your port is through your VMS firewall too (as a sanc). 



Rob Andrews

Quote from: oncoapop on September 06, 2023, 03:18:04 AM
The Linux binaries in biblepay-lin64.zip appear to only have  BiblePay.BMSD

Thanks bro Oncoapop, I am ready to release 0.17.4.3 now, and will check that and announce it shortly.


Rob Andrews

BiblePay - 0.17.4.4
Mandatory upgrade for Sanctuaries (Leisure Upgrade for Users)



- Ensure investor blocks are always 50% (+7 bbp)
- Help revive our LLMQ Quorums



Budinga

Quote from: Rob Andrews on September 09, 2023, 09:39:30 AM
Hi bro Budinga, hope you have been good!

Could you give me the sanc IP?
You can try this, from the home IP type:
telnet your_sanc_ip your_sanc_port
And see if it answers?

If other nodes can see your sanc it should stay in non investor state.

Oh btw, you have to allow whatever your port is through your VMS firewall too (as a sanc).

Hi Rob,

I am doing great i hope you are too my friend.

Maybe it was my norton, i had it on auto i just set BBP to allow all. and run the command will see how it goes.

Budinga

Quote from: Budinga on September 11, 2023, 02:10:44 AM
Hi Rob,

I am doing great i hope you are too my friend.

Maybe it was my Norton, i had it on auto i just set BBP to allow all. and run the command will see how it goes.

It is definitely doing it again. firewall is completely open and i also forwarded the port to my pc just to check. But for some reason i cannot telnet in to it anymore, since the update.

Rob Andrews

Quote from: Budinga on September 11, 2023, 08:13:28 AM
It is definitely doing it again. firewall is completely open and i also forwarded the port to my pc just to check. But for some reason i cannot telnet in to it anymore, since the update.

Seems fine over here.  Just let me know if you need me to help.


Budinga

Quote from: Rob Andrews on September 14, 2023, 06:25:43 PM
Seems fine over here.  Just let me know if you need me to help.

Ok maybe its my Norton blocking the ports ill have a play with it next week as i don't have the time at the moment.
But 100% i cant telnet in to it.. very strange this just started happening.

Rob Andrews

Quote from: Budinga on September 15, 2023, 01:28:04 AM
Ok maybe its my Norton blocking the ports ill have a play with it next week as i don't have the time at the moment.
But 100% i cant telnet in to it.. very strange this just started happening.

Yeah, the prereq to have an active node is to definitely be able to telnet to it from the outside world.  Heres my config for one of my sancs on a nonstandard port that may help clear this up, in your biblepay.conf:
port=10002
rpcport=50002


This one listens on port 10002 instead of 40000, and the reason for setting rpcport is to simply make them distinct per sanc.
Then I also do the 'sudo ufw allow 10002/tcp' on my sanc and now I can telnet to it from my home machine when its running and it doesnt get pose banned.


Rob Andrews

** Update for Mining Sanctuaries that have Lagging Blocks **


So I've been pulling my hair out trying to find out why 'sometimes' (and this also was reported by Oncoapop recently) out of 10 nodes in a Temple, 1 or 2 will start lagging behind on the block count and eventually they need restarted with -erasechain=1 (that was the recommended current solution at least).

Today I finally got the raw logs from one sanc that was doing that and I found part of the root cause:
2023-09-15T23:47:39Z CChainLocksHandler::EnforceBestChainLock -- CLSIG (CChainLockSig(nHeight=447722, blockHash=b6202fdf5ffdf1b315577a2d4ab53f141212f2b8652b7aaff426d781c956bff9)) marked block 494b4e05928fd613d1d831c40fbeb3c2af0044333e793c5ae09e15fbfcddc91e as conflicting
2023-09-15T23:47:39Z ConflictingChainFound: conflicting block=494b4e05928fd613d1d831c40fbeb3c2af0044333e793c5ae09e15fbfcddc91e  height=447720  log2_work=60.28583982  date=2023-09-15T23:40:31Z
2023-09-15T23:47:39Z ConflictingChainFound:  current best=dd261ab9c7215d3e4acde9d8b4fa2e24c7dccd822b294734798b8f406220b81d  height=447717  log2_work=60.28583982  date=2023-09-15T23:25:08Z
2023-09-15T23:47:39Z CChainLocksHandler::EnforceBestChainLock -- CLSIG (CChainLockSig(nHeight=447722, blockHash=b6202fdf5ffdf1b315577a2d4ab53f141212f2b8652b7aaff426d781c956bff9)) marked block 494b4e05928fd613d1d831c40fbeb3c2af0044333e793c5ae09e15fbfcddc91e as conflicting


In llmq for chainlocks we go round robin around all the sancs and form quorums.  When the chainlocks is Active, blocks must be enforced by the whole quorum for the best chain.  Now we have a unique scenario where the actual sancs are mining also.  So if a sanc finds two blocks in a row, I believe quicker than those can be locked by the rest of the network, while another sanc solves a block at the same height that gets locked before the first sanc, it ends up in an internal conflicting state (its pindex status for the conflicting blocks keep getting stored in memory as a conflict and does not get updated).  The real question is why does it not reorganize when the main chain grows larger (the chainlocked chain).  That part is still is not solved.

But I have a partial solution for now:

If this happens to your node, you can simply stop it with './biblepay-cli -conf=/configs/yournodenumber.conf stop\r\n./biblepayd -conf=/configs/yournodenumber.conf &' to stop and start the node, and when it restarts, the conflicting block will be purged from ram and it will sync to the tip (which is a big relief because I did not want to recommend resyncing the chain in this case as that gets old pretty quick).

I will keep looking into the root cause to see if we can make the node recover when this happens.


Rob Andrews


Rob Andrews

Coming Soon : Dynamically Sized Sanctuaries

https://forum.biblepay.org/index.php?topic=945.new#new



Rob Andrews

BiblePay - 0.17.4.7 - Mandatory Upgrade for Entire Network


Cutover Height : 449485

- We now have Dynamically Sized Sancs (Temple,Sanctuary,Altar)
- LLMQ Quorums now work with Temples to maximize reliability of chainlocks
- Masternodelist returns the Tribe of the Temple
- Ensure governance monthly emission amount is correct per schedule
- Passive Sancs still get 50% reward due to being POSE banned

Github:
https://github.com/biblepay/biblepay/releases/tag/0.17.4.7

You can now create an Altar (455,001), Sanctuary (4,500,001) or a Temple (45,000,001).
Use the existing documentation for creating a sanctuary; then execute 'exec upgradesanc sancname' and your new sanctuary should register.
Be sure to do this after the cutover height.




MIP

I am announcing the new release in Reddit/Telegram/LinkedIn/Discord channels.

BTW --disable-wallet compile (like the one I used to do for the Blockbook explorer node) yields some linker errors.

/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetWalletBalance()':
/home/ubuntu/biblepay/src/rpcpog.cpp:190: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:192: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:194: undefined reference to `CWallet::GetBalance(unsigned char const&, int, bool) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetScriptForMining()':
/home/ubuntu/biblepay/src/rpcpog.cpp:971: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:972: undefined reference to `CWallet::GetScriptForMining(std::shared_ptr<CReserveScript>&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `LockStakes()':
/home/ubuntu/biblepay/src/rpcpog.cpp:2048: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:2050: undefined reference to `CWallet::LockByMask(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `IsMyAddress(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:287: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:289: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `DefaultRecAddress(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/ubuntu/biblepay/src/rpcpog.cpp:300: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:302: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:331: undefined reference to `CWallet::GetKeyFromPool(CPubKey&, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:338: undefined reference to `CWallet::MarkDirty()'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:339: undefined reference to `CWallet::SetAddressBook(boost::variant<CNoDestination, CKeyID, CScriptID> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `ReviveSanctuariesJob[abi:cxx11]()':
/home/ubuntu/biblepay/src/rpcpog.cpp:2571: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:2573: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `RPCSendMoney(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:225: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:227: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:259: undefined reference to `CWallet::CreateTransaction(std::vector<CRecipient, std::allocator<CRecipient> > const&, std::shared_ptr<CTransaction const>&, CReserveKey&, long&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CCoinControl const&, bool, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:265: undefined reference to `CWallet::CommitTransaction(std::shared_ptr<CTransaction const>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CReserveKey&, CConnman*, CValidationState&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `SendManyXML(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:491: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:535: undefined reference to `CWallet::CreateTransaction(std::vector<CRecipient, std::allocator<CRecipient> > const&, std::shared_ptr<CTransaction const>&, CReserveKey&, long&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CCoinControl const&, bool, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:541: undefined reference to `CWallet::CommitTransaction(std::shared_ptr<CTransaction const>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CReserveKey&, CConnman*, CValidationState&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetPrivKey2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:201: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:203: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:214: undefined reference to `CWallet::GetKey(CKeyID const&, CKey&) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `SignMessageEvo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:351: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:353: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:357: undefined reference to `CCryptoKeyStore::IsLocked(bool) const'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:374: undefined reference to `CWallet::GetKey(CKeyID const&, CKey&) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::KeepScript()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1298: undefined reference to `CReserveKey::KeepKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:4935: biblepayd] Error 1
make[2]: *** Waiting for unfinished jobs....
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetWalletBalance()':
/home/ubuntu/biblepay/src/rpcpog.cpp:190: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:192: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:194: undefined reference to `CWallet::GetBalance(unsigned char const&, int, bool) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetScriptForMining()':
/home/ubuntu/biblepay/src/rpcpog.cpp:971: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:972: undefined reference to `CWallet::GetScriptForMining(std::shared_ptr<CReserveScript>&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `LockStakes()':
/home/ubuntu/biblepay/src/rpcpog.cpp:2048: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:2050: undefined reference to `CWallet::LockByMask(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `IsMyAddress(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:287: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:289: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `DefaultRecAddress(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/ubuntu/biblepay/src/rpcpog.cpp:300: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:302: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:331: undefined reference to `CWallet::GetKeyFromPool(CPubKey&, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:338: undefined reference to `CWallet::MarkDirty()'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:339: undefined reference to `CWallet::SetAddressBook(boost::variant<CNoDestination, CKeyID, CScriptID> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `ReviveSanctuariesJob[abi:cxx11]()':
/home/ubuntu/biblepay/src/rpcpog.cpp:2571: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:2573: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `RPCSendMoney(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:225: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:227: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:259: undefined reference to `CWallet::CreateTransaction(std::vector<CRecipient, std::allocator<CRecipient> > const&, std::shared_ptr<CTransaction const>&, CReserveKey&, long&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CCoinControl const&, bool, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:265: undefined reference to `CWallet::CommitTransaction(std::shared_ptr<CTransaction const>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CReserveKey&, CConnman*, CValidationState&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `SendManyXML(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:491: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:535: undefined reference to `CWallet::CreateTransaction(std::vector<CRecipient, std::allocator<CRecipient> > const&, std::shared_ptr<CTransaction const>&, CReserveKey&, long&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CCoinControl const&, bool, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:541: undefined reference to `CWallet::CommitTransaction(std::shared_ptr<CTransaction const>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CReserveKey&, CConnman*, CValidationState&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetPrivKey2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:201: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:203: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:214: undefined reference to `CWallet::GetKey(CKeyID const&, CKey&) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `SignMessageEvo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:351: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:353: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:357: undefined reference to `CCryptoKeyStore::IsLocked(bool) const'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:374: undefined reference to `CWallet::GetKey(CKeyID const&, CKey&) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::KeepScript()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1298: undefined reference to `CReserveKey::KeepKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:4923: bench/bench_biblepay] Error 1
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetWalletBalance()':
/home/ubuntu/biblepay/src/rpcpog.cpp:190: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:192: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:194: undefined reference to `CWallet::GetBalance(unsigned char const&, int, bool) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetScriptForMining()':
/home/ubuntu/biblepay/src/rpcpog.cpp:971: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:972: undefined reference to `CWallet::GetScriptForMining(std::shared_ptr<CReserveScript>&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `LockStakes()':
/home/ubuntu/biblepay/src/rpcpog.cpp:2048: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:2050: undefined reference to `CWallet::LockByMask(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `IsMyAddress(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:287: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:289: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `DefaultRecAddress(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/home/ubuntu/biblepay/src/rpcpog.cpp:300: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:302: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:331: undefined reference to `CWallet::GetKeyFromPool(CPubKey&, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:338: undefined reference to `CWallet::MarkDirty()'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:339: undefined reference to `CWallet::SetAddressBook(boost::variant<CNoDestination, CKeyID, CScriptID> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `ReviveSanctuariesJob[abi:cxx11]()':
/home/ubuntu/biblepay/src/rpcpog.cpp:2571: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:2573: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `RPCSendMoney(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:225: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:227: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:259: undefined reference to `CWallet::CreateTransaction(std::vector<CRecipient, std::allocator<CRecipient> > const&, std::shared_ptr<CTransaction const>&, CReserveKey&, long&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CCoinControl const&, bool, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:265: undefined reference to `CWallet::CommitTransaction(std::shared_ptr<CTransaction const>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CReserveKey&, CConnman*, CValidationState&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `SendManyXML(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:491: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:535: undefined reference to `CWallet::CreateTransaction(std::vector<CRecipient, std::allocator<CRecipient> > const&, std::shared_ptr<CTransaction const>&, CReserveKey&, long&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, CCoinControl const&, bool, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:541: undefined reference to `CWallet::CommitTransaction(std::shared_ptr<CTransaction const>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, CReserveKey&, CConnman*, CValidationState&)'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `GetPrivKey2(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:201: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:203: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:214: undefined reference to `CWallet::GetKey(CKeyID const&, CKey&) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `SignMessageEvo(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)':
/home/ubuntu/biblepay/src/rpcpog.cpp:351: undefined reference to `GetWalletForJSONRPCRequest(JSONRPCRequest const&)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:353: undefined reference to `EnsureWalletIsAvailable(CWallet*, bool)'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:357: undefined reference to `CCryptoKeyStore::IsLocked(bool) const'
/usr/bin/ld: /home/ubuntu/biblepay/src/rpcpog.cpp:374: undefined reference to `CWallet::GetKey(CKeyID const&, CKey&) const'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::KeepScript()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1298: undefined reference to `CReserveKey::KeepKey()'
/usr/bin/ld: libbiblepay_server.a(libbiblepay_server_a-rpcpog.o): in function `CReserveKey::~CReserveKey()':
/home/ubuntu/biblepay/src/./wallet/wallet.h:1292: undefined reference to `CReserveKey::ReturnKey()'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:5182: test/test_biblepay] Error 1
make[2]: Leaving directory '/home/ubuntu/biblepay/src'
make[1]: *** [Makefile:12659: all-recursive] Error 1
make[1]: Leaving directory '/home/ubuntu/biblepay/src'
make: *** [Makefile:762: all-recursive] Error 1

Rob Andrews

Hey All,

A bug has been found in the newest release and since our exchanges have not upgraded yet, I am re-releasing tonight.

Thank you all for your understanding.