ldoge / LDOGE

LITEDOGE - Proof of Stake: 2.0 Proof, of work: Scrypt
https://litedogeofficial.org
MIT License
40 stars 21 forks source link

Unable to Stake LDOGE using 3.6.0.1 #78

Open nerdcorenet opened 3 weeks ago

nerdcorenet commented 3 weeks ago

I've built 3.6.0.1 on Debian 12. My node is running and synchronized with peers. Bill's wallet bot confirms I am caught up in block height.

I've sent LDOGE to my wallet as per the staking guide: https://litedogeofficial.org/staking-guide/

I've sent over 1M LDOGE to my wallet, and I've waited two months.

There is a passphrase on the wallet.dat and after running litedoged I have unlocked it with the command litedoged walletpassphrase [passphrase] 0 true

The node is running 24/7.

litedoged getstakinginfo always reports "staking: false".

No stakes have been earned by my node.

Vash suggested I downgrade to 3.5.0.0 but this cannot compile on Debian 12 due to https://github.com/ldoge/LDOGE/issues/27 (not resolved in the 3.5.0.0 release)

What am I doing wrong?

How do I stake my ldoge?

nerdcorenet commented 3 weeks ago

The binary release of ldoge-3.5.0.0 does not execute on Debian 12 due to being compiled against an old libboost:

$ ./litedoged-3.5.0.0 
./litedoged-3.5.0.0: error while loading shared libraries: libboost_system.so.1.58.0: cannot open shared object file: No such file or directory
$ dpkg -l libboost-dev
[...]
ii  libboost-dev:amd64 1.74.0.3     amd64        Boost C++ Libraries development files (default version)
vashshawn commented 3 weeks ago

Are you able to build for debain 11?

On Fri, Jun 14, 2024 at 7:58 AM nerdcorenet @.***> wrote:

The binary release of ldoge-3.5.0.0 does not execute on Debian 12 due to being compiled against an old libboost:

$ ./litedoged-3.5.0.0 ./litedoged-3.5.0.0: error while loading shared libraries: libboost_system.so.1.58.0: cannot open shared object file: No such file or directory $ dpkg -l libboost-dev [...] ii libboost-dev:amd64 1.74.0.3 amd64 Boost C++ Libraries development files (default version)

— Reply to this email directly, view it on GitHub https://github.com/ldoge/LDOGE/issues/78#issuecomment-2168221800, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNPMFW45CL2JP6U2LNG6FTZHMAKBAVCNFSM6AAAAABJKQCRLSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRYGIZDCOBQGA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

nerdcorenet commented 3 weeks ago

Are you able to build for debain 11?

Well I would need to reinstall the entire operating system or otherwise purchase a new server.

What would be the benefit of this? Debian 10 packages Boost version 1.67.0.1 which is already ahead of the litedoge-3.5.0.0 requirement.

NoNameDude commented 1 week ago

@vashshawn I think that a very good and structured installation guide would help a lot

nerdcorenet commented 1 day ago

@vashshawn I think that a very good and structured installation guide would help a lot

Agreed 100%

The instruction in the Staking Guide which reads:

"Make sure your wallet stays active (do not exit wallet) and unlocked"

needs more explanation, especially for CLI (non-QT GUI) users.

It Seems I Was Able To Resolve This Issue!

Problems and Solutions:

For the CLI fullnode, the command to "unlock the wallet" is "walletpassphrase". As described in the help in 3.6.0.1:

walletpassphrase <passphrase> <timeout> [stakingonly]
Stores the wallet decryption key in memory for <timeout> seconds.
if [stakingonly] is true sending functions are disabled.

Lacking any instruction for sensible values for timeout I tried "0" (assuming infinite) and also (2^64)-1 which didn't cause any error to be output. NEITHER 0 NOR 18446744073709551615 WILL WORK!

It seems I have enabled staking by using some arbitrary integer for "timeout". I used "100000000" which is approximately 3.16877408 years. I'll have to remember to unlock it again in 3 years' time, I guess.

I would recommend enhancing the documentation for the Staking Guide to include sensible values for "walletpassphrase timeout" parameter. Then this Issue could be closed.

$ litedoged getstakinginfo | grep staking
    "staking" : true,