Author

Topic: Slimcoin | First Proof of Burn currency | Decentralized Web - page 135. (Read 137076 times)

hero member
Activity: 819
Merit: 502
how i can create a wallet and link it to the command version program?.
Where i can download the blocks remaining?

When I run slimcoind it doesnt show me nothing , where i can see something?

You could find on the page before blockchain, posted by Graham https://minkiz.co/noodlings/slm/slm-datadir-blockfiles.zip

Create a qt you can see on my post above and start with cd Slimcoin, than sudo ./slimcoin-qt



Edit: I could not compile on 14.04 Ubuntu g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

Ubuntu 16.10 g++ (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005 building no problem
newbie
Activity: 14
Merit: 0
how i can create a wallet and link it to the command version program?.
Where i can download the blocks remaining?

When I run slimcoind it doesnt show me nothing , where i can see something?
hero member
Activity: 819
Merit: 502
I have compiled master. I installed new VM on VBox, Ubuntu 16.10

Code:
$ sudo apt-get install git build-essential libssl-dev libdb5.3++-dev libminiupnpc-dev libboost-all-dev qt5-qmake libqt5gui5 qt5-default qtdeclarative5-dev qttools5-dev-tools libqt5dbus5 

Code:
git clone https://github.com/slimcoin-project/Slimcoin/
cd Slimcoin
git checkout master
cd src
make -f makefile.unix USE_UPNP=-

For GUI

Code:
$ cd Slimcoin && qmake -qt=qt5 slimcoin-qt.pro && make

I am syncing from the beginning to test

Edit: Compiled from zip as well. I noticed, with checkout master command, version is 0.4.1, from zip version is 0.5.0.0
legendary
Activity: 2254
Merit: 1290
I can reproduce the error on my OS X Sierra VM. I will check it on 16.10 later (after I've upgraded my laptop), expecting to see the same error there. Likely to be a version-related C++1z issue.

Wrong. Fortunately wrong: looks like it's just a trivial fix of a transcription error.

https://github.com/slimcoin-project/Slimcoin/commit/a73bb282dc7d61a9eaa44902f850cc064d371dd5

Compiles and synchs up to date (from the downloaded datadir tar.gz) on Ubuntu 16.10 and OS X Sierra. (Edit: and Ubuntu 15.04)

There's still some qmake config work yet to be done on getting the Qt moc files automatically generated.

Until then, if “#include optionsdialog.moc” and its ilk proves a compilation-stopper, you will need to run ”moc xxx.h > xxx.moc” for each of optionsdialog, overviewpage, rpcconsole and torrentpage.

Edit: after a make clean, on the initial run, compilation won't proceed until you create them. on the next run they're reported as duplicates and compilation won't proceed until you delete them, sigh.

Cheers

Graham
legendary
Activity: 2254
Merit: 1290
As I already wrote, I was now able to compile with Boost 1.58. Unfortunately, the slimcoind daemon crashes ("Segmentation Fault") now after receiving the first block (in debug.log I see as last message the CBlock line). Maybe it's the same problem like gavrilo77's.

Tried it also with the version before you deleted the line referring to the != operator. Same problem.

I can reproduce the error on my OS X Sierra VM. I will check it on 16.10 later (after I've upgraded my laptop), expecting to see the same error there. Likely to be a version-related C++1z issue.

I believe Debian is still in the process of transitioning to full C++1z support so compilation failures there are to be expected (https://unix.stackexchange.com/questions/284817/how-to-install-gcc-5-on-debian-jessie-8-1).

Travis CI isn't a suitable continuous integration service for Slimcoin master as it stands, it only offers Ubuntu 12.04 or 14.04, both of which are, not to put too fine a point on it, obsolete.

https://travis-ci.org/gjhiggins/slimcoin-dev#L148

g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.

vs

gjh@ashpool:~$ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609


It's worth noting that Slimcoin 0.5 (as it will be, now that I've figured out the build script uses the version number from the git tag) will be a soft fork in that the blockchain structure is unchanged and clients running previous Slimcoin versions (0.3 & 0.4) will continue to function as before.

It's probably possible to avoid the C++[0|1]z issues (specifically the CTxDestination template issue) by paring down the changes to just 1) enabling OP_RETURN tx as standard and 2) disabling the non-functioning sync checkpoint feature.

The rest of the changes that I have made are basically in pursuit of UI improvements and so in principle could be confined to a separate “UI-plus” branch. This would allow Slimcoin to continue to run on heritage OS distros whilst still allowing users of contemporary OS distros to leverage the advertised increased robustness and speed of state-of-the-art compiler technology.

Cheers

Graham

hero member
Activity: 819
Merit: 502
As I already wrote, I was now able to compile with Boost 1.58. Unfortunately, the slimcoind daemon crashes ("Segmentation Fault") now after receiving the first block (in debug.log I see as last message the CBlock line). Maybe it's the same problem like gavrilo77's.

Tried it also with the version before you deleted the line referring to the != operator. Same problem.

My boost version is 1.61.0.2 on Ubuntu 16.10
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
As I already wrote, I was now able to compile with Boost 1.58. Unfortunately, the slimcoind daemon crashes ("Segmentation Fault") now after receiving the first block (in debug.log I see as last message the CBlock line). Maybe it's the same problem like gavrilo77's.

Tried it also with the version before you deleted the line referring to the != operator. Same problem.
hero member
Activity: 819
Merit: 502
I have got now this error with boost 1.58

Code:
obj/walletdb.o: In function `copy_file':
/usr/local/include/boost/filesystem/operations.hpp:497: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, boost::system::error_code*)'
collect2: error: ld returned 1 exit status
make: *** [slimcoind] Error 1

I can't explain it failing under 1.58 but I've pushed a commit lifted from PIVX in which presstab created a fix for earlier versions of boost: “Don't use file_copy with boost < 1.58”:

https://github.com/slimcoin-project/Slimcoin/commit/4218e2071853c2dbd82d15dafd7b71344aed7a8b

Cheers

Graham


That was under Ubuntu 14.04

I did compiling under Ubuntu 16.10 on Vbox and VPS. I did not have error but when i started ./slimcoind i have got Segmentation fault (core dumped)
legendary
Activity: 2254
Merit: 1290
I have got now this error with boost 1.58

Code:
obj/walletdb.o: In function `copy_file':
/usr/local/include/boost/filesystem/operations.hpp:497: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, boost::system::error_code*)'
collect2: error: ld returned 1 exit status
make: *** [slimcoind] Error 1

I can't explain it failing under 1.58 but I've pushed a commit lifted from PIVX in which presstab created a fix for earlier versions of boost: “Don't use file_copy with boost < 1.58”:

https://github.com/slimcoin-project/Slimcoin/commit/4218e2071853c2dbd82d15dafd7b71344aed7a8b

Cheers

Graham
hero member
Activity: 819
Merit: 502
I have got now this error with boost 1.58

Code:
obj/walletdb.o: In function `copy_file':
/usr/local/include/boost/filesystem/operations.hpp:497: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::detail::copy_option, boost::system::error_code*)'
collect2: error: ld returned 1 exit status
make: *** [slimcoind] Error 1
legendary
Activity: 2254
Merit: 1290
Thanks for the input, I can see a few approaches to investigating the issue.

I retro-populated the checkpoint list with checkpoints (the old list ended at block height 121300), resolving the remaining checkpoint test failures. Running test_slimcoin now returns:

Code:
Running 62 test cases...

*** No errors detected

(There is one problematic commented-out basic tx i/o test which results in a low-level error but I suspect that the problem lies with the test code itself rather than what's being tested.)

Next up: configuration of deployment scripting and continuous integration - which will provide a more tractable platform for investigating OS/library-based issues.

Cheers

Graham
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
I've now found a Boost-1.58 PPA and tried it out. main.cpp now compiles successfully and other source code files as well, so I think the original error is solved.

But I get another error now:

Edit: Very probably solved (related to old object files)

Edit2: Solved! Compiled master successfully now with Boost-1.58.
legendary
Activity: 1612
Merit: 1608
精神分析的爸
Thanks for the fast answer! Unfortunately, I think the error is the same. I copy & paste the whole message in a pastebin as it's too long for a forum post:

https://pastebin.com/LHD9YxV4

Will see if I can get an 1.58+ Boost package in some Ubuntu 14.04 PPA.

I can reproduce these errors exactly on both Debian 7 (Wheezy) and Debian 8 (Jessie) when doing:

Code:
git clone https://github.com/slimcoin-project/Slimcoin/
cd Slimcoin
git checkout master
make -f makefile.unix USE_UPNP=- USE_IPV6=1

HTH
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
Thanks for the fast answer! Unfortunately, I think the error is the same. I copy & paste the whole message in a pastebin as it's too long for a forum post:

https://pastebin.com/LHD9YxV4

Will see if I can get an 1.58+ Boost package in some Ubuntu 14.04 PPA.
legendary
Activity: 2254
Merit: 1290
Code:
uint256.h:473:13: note:   no known conversion for argument 1 from ‘CTxDestination {aka boost::variant}’ to ‘const base_uint160& {aka const base_uint<160u>&}’

I wonder ...

Line #319 in src/base58.h showed up as a discrepancy between the PPCoin code (https://github.com/peercoin/peercoin/blob/master/src/base58.h#L250) in which it is absent and the Slimcoin code (https://github.com/slimcoin-project/Slimcoin/blob/master/src/base58.h#L319) in which it is present. Absence/presence made no difference to the success of the compilation or (apparently) to the execution of the binary.

Given that it's a != operator which is the focus “note: bool operator!=(const uint160&, uint64)” and a skim of the DDG search results for similar compiler error messages reveals mentions of duplicate definitions, p'raps it's related to the issue in point.

I've pushed a new commit in which that apparently superfluous line of code is commented out, does that fix the issue?


Cheers

Graham
legendary
Activity: 2254
Merit: 1290
Code:
uint256.h:473:13: note:   no known conversion for argument 1 from ‘CTxDestination {aka boost::variant}’ to ‘const base_uint160& {aka const base_uint<160u>&}’

On this machine (Ubuntu 14.04), Boost 1.54 or 1.55 are available (I tried it with both). On another machine with Boost 1.60 "master" at least compiles fine.

Is there a minimum Boost version for Slimcoin? As there is no backport available, it seems I would have to install the required boost version manually or via a PPA. Haven't found Boost-1.60 as a PPA.

Thanks for testing out the master branch and the issue report, that is most helpful.

I will check out the issue. Locally, I have boost 1.58 (under Ubuntu 16.04) and so has the remote server which is 15.10.

I do have a 14.04 VM and will investigate the issue.


Cheers

Graham
 
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
Thanks gjhiggins again for your updates!

I'm currently experiencing difficulties to compile "master" (updated the git repo at around 0:00 UTC 28/03) and "prerelease" on one of my nodes (in fact it's the most important node as it's the only one that's connected 24/7 and does PoB minting). The error is very probably related to Boost. An excerpt from the failed compilation try in "master" (whole error message is very long):

Code:
uint256.h:473:13: note:   no known conversion for argument 1 from ‘CTxDestination {aka boost::variant}’ to ‘const base_uint160& {aka const base_uint<160u>&}’
uint256.h:456:13: note: bool operator!=(const uint160&, uint64)
 inline bool operator!=(const uint160& a, uint64 b)                           { return (base_uint160)a != b; }
             ^
uint256.h:456:13: note:   no known conversion for argument 1 from ‘CTxDestination {aka boost::variant}’ to ‘const uint160&’
In file included from protocol.h:17:0,
                 from net.h:21,
                 from checkpoints.h:9,
                 from main.cpp:8:
uint256.h:278:24: note: bool operator!=(const base_uint<160u>&, uint64)
     friend inline bool operator!=(const base_uint& a, uint64 b)
                        ^
uint256.h:278:24: note:   no known conversion for argument 1 from ‘CTxDestination {aka boost::variant}’ to ‘const base_uint<160u>&’
uint256.h:273:24: note: bool operator!=(const base_uint<160u>&, const base_uint<160u>&)
     friend inline bool operator!=(const base_uint& a, const base_uint& b)
                        ^
uint256.h:273:24: note:   no known conversion for argument 1 from ‘CTxDestination {aka boost::variant}’ to ‘const base_uint<160u>&’
make: *** [obj/main.o] Error 1


On this machine (Ubuntu 14.04), Boost 1.54 or 1.55 are available (I tried it with both). On another machine with Boost 1.60 "master" at least compiles fine.

Is there a minimum Boost version for Slimcoin? As there is no backport available, it seems I would have to install the required boost version manually or via a PPA. Haven't found Boost-1.60 as a PPA.
legendary
Activity: 2254
Merit: 1290

On the subject of Python, in my wanderings, I came across this bit of Python for converting a compressed pubkey into an uncompressed one:


Code:
"""
  Slimcoin key values produced by src/test/key_tests.cpp:

  * secret (hex): f092e90100000000c693e90100000000c693e901000000000000000000000000
  * : uncompressed
    * secret (base58): 7S78qD9aBwpiCNCZsx9BmMKtsLY58p2zWKftnSPJkyV1SQULjGz
    * pubkey (hex): 0480d647bf15e05abcad608725c56fd7722a76335ad248fcf4032f7ae7d3ae09be4b13b00a4853bbf4cd00a1b1812cd401da8386405613a4927110e1db4cf21f19
    * address (base58): SkM4auwYLe4R59zkXFnVJ3tCzCkZGms9cu
  * : compressed
    * secret (base58): VPp5ZncqVJyaqAa47tP8WkiPwBE9FUbnpRQfZZ3TP6Jcvtmy6WWR
    * pubkey (hex): 0380d647bf15e05abcad608725c56fd7722a76335ad248fcf4032f7ae7d3ae09be
    * address (base58): Siy45aBFsMzqtDEik4taLgDucHm5Tf1BdR
"""


def get_uncompressed_pubkey_from_compressed_pubkey():
    """
    Uncompressed pubkey from compressed pubkey
    """
    def pow_mod(x, y, z):
        "Calculate (x ** y) % z efficiently."
        number = 1
        while y:
            if y & 1:
                number = number * x % z
            y >>= 1
            x = x * x % z
        return number
    compressed_key = "0380d647bf15e05abcad608725c56fd7722a76335ad248fcf4032f7ae7d3ae09be"
    p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
    y_parity = int(compressed_key[:2]) - 2
    x = int(compressed_key[2:], 16)
    a = (pow_mod(x, 3, p) + 7) % p
    y = pow_mod(a, (p + 1) // 4, p)
    if y % 2 != y_parity:
        y = -y % p
    uncompressed_key = '04{:x}{:x}'.format(x, y)
    print(uncompressed_key)
    # 0480d647bf15e05abcad608725c56fd7722a76335ad248fcf4032f7ae7d3ae09be4b13b00a4853bbf4cd00a1b1812cd401da8386405613a4927110e1db4cf21f19


The Slimcoin key values were generated by src/test/key_tests.cpp - it basically generates a new Slimcoin key (the hex secret key) and serializes the priv/pubkey in various familiar output formats. To use it, simply change to the src/test and run BOOST_TEST_LOG_LEVEL=message ./test_slimcoin, then copy the output.

Cheers

Graham
legendary
Activity: 2254
Merit: 1290
Are there any blockchain to download?
WTB slimcoin..
price PM thx.Wink

I managed to nuke my copy of the blockchain during development shenanigans. I didn't notice for a while as I had to close down the started-on-bootup Qt client in order to run the version I was developing. Basically, it just wouldn't synch, the log immediately started filling up with orphans and endless consensus disagreements.

I totally failed to persuade the client to read a copied-down blk0001.dat, even if renamed as bootstrap.dat. In the end, I simply ssh'd into my remote-host server, ran cd ~/.slimcoin; tar -zcf /tmp/slmblock.tar.gz blk* database, copied that and it worked, even going from the remote server's Ubuntu 14.04 to my laptop's 16.04. Seems to need the index, dunno why. It's a bit inelegant but what the hey.

So, if you're on an Ubuntu box, there's a solution, might even work on other distros. I've set up a cron job on the server to make a daily tar gzip dump.

https://minkiz.co/noodlings/slm/slm-datadir-blockfiles.tar.gz (655M)

I can't do much with Windows native (IIRC, wine-hosted is no good because the db files are still wrongly endian). OS X (again, IIRC) is okay using Linux bzips. I have created a zip file just in case: https://minkiz.co/noodlings/slm/slm-datadir-blockfiles.zip

There is, ofc, linearize, the preferred solution, which I'm working on. The trouble is that it's so slooooow (I mean days) that it's computationally infeasible on my local kit. So I shovelled it up to the server and let it run there but it just silently failed after some time. (I suppose I should check whether PyPy makes any difference).

Cheers

Graham

Edit: corrected archive compression & file extension
newbie
Activity: 34
Merit: 0
Is there a way to keep memory requirements low, by configuration option?

I like to fire up a node on a small VPS with only 512MB Ram..
Jump to: