Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    [Dev] Release Candidate Feathercoin 0.9.3.2 - Check List

    Technical Development
    6
    104
    87240
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AcidD
      AcidD Moderators last edited by

      In my previous post it wasnt getting past this test…
      BOOST_AUTO_TEST_CASE(base58_keys_valid_parse)

      I’ve managed to move past this
      Currently I’m getting this error;

      https://i.snag.gy/YsIcuX.jpg

      This is on the test
      BOOST_AUTO_TEST_CASE(base58_keys_valid_gen) (next one in base58_tests)

      • FTC Block Explorer + API @ https://fsight.chain.tips
      • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
      • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
      • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

      1 Reply Last reply Reply Quote 1
      • AcidD
        AcidD Moderators @AcidD last edited by

        @aciddude said:

        @Wellenreiter said:

        @aciddude the class named of some classes have changed and the definitions in the test directory haven’t updated.

        I have checked:

        base58_tests.cpp:155:35: error: ‘class CBitcoinSecret’ has no member named ‘GetKey’
        CKey privkey = secret.GetKey();

        secret.GetKey() now is secret.GetSecret()

        base58_tests.cpp:157:41: error: ‘class CKey’ has no member named ‘size’
        BOOST_CHECK_MESSAGE(privkeBOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())y.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin())…

        privkey now must be of type CPrivKey and not Ckey anymore

        To solve the first problem above I’ve searched for ‘secret.’ in all files and compared the definitions and checked the names of the procedures

        Ok so now line 155 on base58_tests.cpp I’ve changed it to read:

        CPrivKey privkey = secret.GetSecret();  
        
        
        make[4]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test'
          CXX      test_bitcoin-base58_tests.o
        base58_tests.cpp: In member function ‘void base58_tests::base58_keys_valid_parse::test_method()’:
        base58_tests.cpp:155:49: error: no matching function for call to ‘CBitcoinSecret::GetSecret()’
                     CPrivKey privkey = secret.GetSecret();
                                                         ^
        In file included from base58_tests.cpp:5:0:
        ../../src/base58.h:130:13: note: candidate: CSecret CBitcoinSecret::GetSecret(bool&)
             CSecret GetSecret(bool &fCompressedOut);
                     ^
        
        
        

        ideas ?

        To get past this error

        1 - edit base58_tests.cpp (line 156)

        CPrivKey privkey = secret.GetPrivKey();
        

        2 - Edit base58.h and add the below at line 134

          //Added by AcidDude
            bool IsCompressed();
            void SetPrivKey(const CPrivKey& vchPrivKey);
            CPrivKey GetPrivKey();
        
        
        • FTC Block Explorer + API @ https://fsight.chain.tips
        • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
        • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
        • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

        1 Reply Last reply Reply Quote 1
        • wrapper
          wrapper Moderators last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • AcidD
            AcidD Moderators last edited by

            @lizhi @Wellenreiter

            I was working with @wrapper on trying to fix the build tests… can you guys check out my commits below ?
            https://github.com/aciddude/Feathercoin/commits/0.9.3.2

            I also merged @Wellenreiters latest commits from the main Feathercoin github for 0.9.3.2. For me the Wallet Builds with --disable-tests

            if I run it with tests, I get to the (3rd?) base58 test.

            I need some help understanding why CKey was removed and replaced with CSecret and CPrivKey

            • FTC Block Explorer + API @ https://fsight.chain.tips
            • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
            • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
            • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

            1 Reply Last reply Reply Quote 1
            • AcidD
              AcidD Moderators last edited by

              currently getting these errors

              Making all in test
              make[3]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test'
              make  all-am
              make[4]: Entering directory '/home/aciddude/FTC0932/Feathercoin/src/test'
                CXX      test_bitcoin-base58_tests.o
              base58_tests.cpp: In member function ‘void base58_tests::base58_keys_valid_gen::test_method()’:
              base58_tests.cpp:213:79: error: no matching function for call to ‘CBitcoinSecret::SetSecret(std::vector<unsigned char>::iterator, std::vector<unsigned char>::iterator, bool&)’
                           key.SetSecret(exp_payload.begin(), exp_payload.end(), isCompressed);
                                                                                             ^
              In file included from base58_tests.cpp:5:0:
              ../../src/base58.h:131:10: note: candidate: void CBitcoinSecret::SetSecret(const CSecret&, bool)
                   void SetSecret(const CSecret& vchSecret, bool fCompressed);
                        ^
              ../../src/base58.h:131:10: note:   candidate expects 2 arguments, 3 provided
              base58_tests.cpp:216:34: error: no matching function for call to ‘CBitcoinSecret::SetPrivKey(CBitcoinSecret&)’
                           secret.SetPrivKey(key);
                                                ^
              In file included from base58_tests.cpp:5:0:
              ../../src/base58.h:140:10: note: candidate: void CBitcoinSecret::SetPrivKey(const CPrivKey&)
                   void SetPrivKey(const CPrivKey& vchPrivKey);
                        ^
              ../../src/base58.h:140:10: note:   no known conversion for argument 1 from ‘CBitcoinSecret’ to ‘const CPrivKey& {aka const std::vector<unsigned char, secure_allocator<unsigned char> >&}’
              In file included from /usr/include/boost/test/unit_test.hpp:19:0,
                               from base58_tests.cpp:19:
              
              

              I feel like am just missing an #Include…

              also check out this
              http://stackoverflow.com/questions/27951537/how-to-convert-unsigned-char-to-stdvectorunsigned-char

              • FTC Block Explorer + API @ https://fsight.chain.tips
              • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
              • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
              • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

              1 Reply Last reply Reply Quote 1
              • wrapper
                wrapper Moderators last edited by wrapper

                @Lizhi @Wellenreiter @Bushstar

                Re: Testing / Wallet Guide creation.

                What is the current Minimum payment level and where /how is it set on release?
                What is the current Dust fee level and where / how is it set on release?

                How the transition from Litecoin to Bitcoin base effected minimum payments as each has its own system and FTC had a modified version for 0.8.7.x and 0.6.x series?

                1 Reply Last reply Reply Quote 0
                • AcidD
                  AcidD Moderators last edited by AcidD

                  Hi Guys,

                  I’ve managed to fix the base58 test. you can see all my commits, here:
                  https://github.com/aciddude/Feathercoin/commits/0.9.3.2

                  I did a few of them on different days.

                  currently the following tests are passing:

                  CXX test_bitcoin-alert_tests.o
                  CXX test_bitcoin-allocator_tests.o
                  CXX test_bitcoin-base32_tests.o
                  CXX test_bitcoin-base58_tests.o
                  CXX test_bitcoin-base64_tests.o
                  CXX test_bitcoin-bignum_tests.o
                  

                  the next test that fails is

                  test_bitcoin-bloom_tests
                  

                  it fails with these errors:

                  make[4]: Entering directory '/home/aciddude/FTCNEW/Feathercoin/src/test'
                    CXX      test_bitcoin-bloom_tests.o
                  bloom_tests.cpp: In member function ‘void bloom_tests::bloom_create_insert_key::test_method()’:
                  bloom_tests.cpp:84:26: error: ‘class CBitcoinSecret’ has no member named ‘GetKey’
                       CKey key = vchSecret.GetKey();
                                            ^
                  In file included from ../../src/base58.h:18:0,
                                   from bloom_tests.cpp:7:
                  ../../src/key.h:76:20: error: ‘unsigned char* CPubKey::begin()’ is private
                       unsigned char *begin() {
                                      ^
                  bloom_tests.cpp:86:50: error: within this context
                       vector<unsigned char> vchPubKey(pubkey.begin(), pubkey.end());
                                                                    ^
                  bloom_tests.cpp:86:65: error: no matching function for call to ‘std::vector<unsigned char>::vector(unsigned char*, const unsigned char*)’
                       vector<unsigned char> vchPubKey(pubkey.begin(), pubkey.end());
                  
                  

                  most of this seems to involve the CKey class in key.h as well as stuff in base58.h

                  it’s also claiming the CPubKey begin (method?) is private …but from what I can see in key.h it’s public…I could also be blind.

                  anyone who wants to replicate or help can just make the changes I did (you can see my commits in the above link)

                  or clone and build this
                  https://github.com/aciddude/Feathercoin/tree/0.9.3.2

                  I’ve included all the recent fixes @Wellenreiter , @lizhi and @wrapper have done.

                  it seems the main reason for the tests failing is they need to be updated when there is any code changes, to reflect the names of new variables as well as the way things like keys are now created.
                  The remaining warnings are due to type mismatch during “for loops”

                  • FTC Block Explorer + API @ https://fsight.chain.tips
                  • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                  • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                  • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                  1 Reply Last reply Reply Quote 2
                  • AcidD
                    AcidD Moderators last edited by

                    update:

                    I’ve fixed the bloom test! below are the tests which are passing.

                      CXX      test_bitcoin-alert_tests.o
                      CXX      test_bitcoin-allocator_tests.o
                      CXX      test_bitcoin-base32_tests.o
                      CXX      test_bitcoin-base58_tests.o
                      CXX      test_bitcoin-base64_tests.o
                      CXX      test_bitcoin-bignum_tests.o
                      CXX      test_bitcoin-bloom_tests.o
                      CXX      test_bitcoin-canonical_tests.o
                      CXX      test_bitcoin-checkblock_tests.o
                      CXX      test_bitcoin-Checkpoints_tests.o
                      CXX      test_bitcoin-compress_tests.o
                      CXX      test_bitcoin-DoS_tests.o
                      CXX      test_bitcoin-getarg_tests.o
                    
                    

                    It seems to be more of the same, where i’m just updating how things are done and the names of variables.

                    the next test that’s failing is

                    key_tests.cpp
                    
                    • FTC Block Explorer + API @ https://fsight.chain.tips
                    • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                    • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                    • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                    1 Reply Last reply Reply Quote 2
                    • AcidD
                      AcidD Moderators last edited by

                      Here’s my github commit. so you can see what I did.

                      https://github.com/aciddude/Feathercoin/commit/c19b6d4f7740b0b71c076e9745fea59c48709da8

                      • FTC Block Explorer + API @ https://fsight.chain.tips
                      • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                      • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                      • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                      1 Reply Last reply Reply Quote 1
                      • AcidD
                        AcidD Moderators last edited by

                        Hi Guys,

                        the key_tests are now working. I’ll post the fix this evening.

                        it passes a few more tests and the next test that’s broken is the multisig_test

                        • FTC Block Explorer + API @ https://fsight.chain.tips
                        • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                        • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                        • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                        1 Reply Last reply Reply Quote 1
                        • lizhi
                          lizhi last edited by

                          I think all test cpp file are bitcoin not feathercoin. When I compile with disable-tests, I don’t think we can use it .

                          AcidD 1 Reply Last reply Reply Quote 0
                          • wrapper
                            wrapper Moderators last edited by

                            I think the auto test system is relevent, or should be. Other coins such as Dogecoin have fixed their tests.

                            Do we need to update the test data to make them Feathercoin specific?

                            1 Reply Last reply Reply Quote 0
                            • AcidD
                              AcidD Moderators @lizhi last edited by

                              @lizhi said in [Dev] Release Candidate Feathercoin 0.9.3.2 - Check List:

                              I think all test cpp file are bitcoin not feathercoin. When I compile with disable-tests, I don’t think we can use it .

                              Yeah I believe so to.

                              With some of the tests, it has hard coded strings that I believe relate to Bitcoin, like some hard coded private keys for testing etc. I’m sure those need to be changed to relate to Feathercoin.

                              • FTC Block Explorer + API @ https://fsight.chain.tips
                              • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                              • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                              • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                              1 Reply Last reply Reply Quote 1
                              • Wellenreiter
                                Wellenreiter Moderators last edited by Wellenreiter

                                Then we should adapt the tests to feathercoin.
                                We could avoid problems like the sync problem we had with 0.9.3.2, if we have suficient tests coded.
                                Tests that we need to have:

                                • switch to block version 2
                                  • select the first 5 or 10 blocks with block version 2 and see if the code accepts the blocks
                                • switch from 2.5 minute time to block to 1 Minute time to block
                                  • select the last 5 blocks bfore the fork and after the fork and check, if the code accepts the blocks
                                • switch to neoscrypt
                                  • select the last 5 blocks bfore the fork and after the fork and check, if the code accepts the blocks

                                Probably there are more, but these are important ones and can be done without interaction with other clients.

                                in additon we should replace the bitcoin specific tests with the Feathercoin equivalents.

                                Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                                Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                                1 Reply Last reply Reply Quote 2
                                • wrapper
                                  wrapper Moderators last edited by wrapper

                                  A friend of mine who does graphic art is helping do a subtle and “tested with different Desktop Themes” update to the wallet.

                                  The graduated background image was not tilling well, so we will be testing some alternatives. Here is the first test of white with a blue logo, matching the forum.

                                  I’ve set him up a development environment and we have now found all the places / images need to be adjusted to try make some improvements …

                                  We also have also produced a Green alternate that matches the Chinese FTC forum that colour scheme that @Lizhi runs, that he could include in his window builds.

                                  At the moment the priority is to replace the background screen with a more subtle look.

                                  We have been discussing ideas such as to use the shadow from the FTC graphics library, and have the Logo as “Water mark”.

                                  I’ve made a Github, for swapping test images :
                                  https://github.com/wrapperband/FTC-Wallet-Layout-Examples

                                  Feathercoin wallet overveiw with White background image & Forum Blue Logo
                                  White Backgound, Blue Logo

                                  There is a resource directory with the current graphics files from Feathercoin/src/qt/res/images including any new or possible options.

                                  https://github.com/wrapperband/FTC-Wallet-Layout-Examples

                                  Blue Logo

                                  Wellenreiter 1 Reply Last reply Reply Quote 1
                                  • AcidD
                                    AcidD Moderators last edited by

                                    Love that new look. It looks cleaner.

                                    How about have a few colours and have the user pick their fav. The default one should be blue and matching the forum…that matching idea was a great idea.

                                    If you can use the forum icons in the wallet as well or get an icon set together and use them for both ?

                                    Exciting time ahead !!!

                                    • FTC Block Explorer + API @ https://fsight.chain.tips
                                    • FTC Beer Money: 6x4LEQV88zRnBvZoH6ZNK6SeRxx4KiTyJs
                                    • FTC bech32 address: fc1q4tclm3cv4v86ez6el76ewmharexfapxhek5a03
                                    • BTC bech32 address: bc1qk8umuccapuafspk9e5szahvp0detafuzugv4ay

                                    1 Reply Last reply Reply Quote 0
                                    • wrapper
                                      wrapper Moderators last edited by

                                      You can find the standard graphics and vector versions here :

                                      Feathercoin Graphics and Logos : https://www.feathercoin.com/feathercoin-graphic-resources/

                                      I’ve added a new section to the Wallet guide to point to external features such as graphics :

                                      Links, External features and further information

                                      Feathercoin forum : find support

                                      http://forum.feathercoin.com/category/18/support

                                      Feathercoin Block Explorer

                                      http://explorer.feathercoin.com/chain/Feathercoin

                                      Feathercoin API

                                      The Feathercoin API is a set of function calls you can make to the Feathercoin server to return the status of various parameters, such as difficult, block height

                                      https://www.feathercoin.com/feathercoin-api/

                                      Using Feathercoin with other Cryptographic currencies, pchMessageStart

                                      In most circumstance, alternative currencies coexist on a system by their name and the port they communicate on. When exchanges or pools deal with multiple currencies they can use pchMessageStart to destinguish between them.

                                      Feathercoin was originally forked from the Litecoin project and shared the same pchMessageStart. in order to identify Feathercoin a second pchMassageStart was added which Feathercoin will use preferentially,if given.

                                      Feathercoin specific pchMessageStart

                                      0xfe 0x46 0x54 0x43

                                      Feathercoin Graphics and Logos

                                      https://www.feathercoin.com/feathercoin-graphic-resources/

                                      Feathercoin Merchent tools

                                      Website Button generator.

                                      https://www.feathercoin.com/feathercoin-button-generator/

                                      Broadcast Transaction Service

                                      Feathercoin Broadcast Transaction Service :

                                      block.ftc-c.com/tx/send
                                      

                                      If you wish to accelerate a transaction getting onto the blockchain or it is a stealth transaction, you may wish to us the Broadcast service.

                                      How to use the broadcast service :

                                      First Step : Find your transaction binary code :

                                      feathercoind.exe getrawtransaction 53519a8f97038728a72a80bcc4d07919165617deb2142e588a9dca6e95d43043 
                                      
                                      0100000002c2936c0ccf2b2ab10740ee769ac10739da513d508f500e7ec9294617d62a94c2000000006a473044022002ed821998221aebc12bb994c00a8f9e6a6d8132ef0ae0d237dc31b01c54be6a022027d574128ac65ea1ec25a37c715bddba15f4827980b11ad6246bc933a50785f6012102c5a97cc1094c30da8351d5b288b7c89e375361eef6c947e7f671c26f9a6e3a3bffffffff2de0b2e003f5147ef8152bacacee9a481786a04c5e202fa7f0577fc9cc3b2702000000006b4830450220693e02092dc4eeb53abeaa834c05624f223aa09bb75858607f72b1d41a5ce47902210097075c48ccaa5088c0c563e4334400954bd127580d3753420b79b83d57e3caa6012103652bc983297937e0ceaf72eabad43ea3123333e85430332bcb4da37bcc3e59c7ffffffff0280969800000000001976a914affb568d0a05e0be72b682c7ced6bf2ca064870288ac0000000000000000236a21028726aae1c0ffe6138b70284519f09266f1ab6d7d7e4511f1a1d359045f26d42a00000000
                                      

                                      Second Step : Broadcast it :

                                      Go to http://block.ftc-c.com/tx/send 
                                      
                                      copy binary code , click “Send transaction” .
                                      

                                      Wait confirmation, until a mining pool makes a block.

                                      Advanced Checkpointing ACP

                                      What is Advanced Checkpointing?

                                      Advanced Checkpointing allows Feathercoin to send out checkpoints without having to release a new version Feathercoin software. This works by having ‘master nodes’ which checkpoints each block it sees on the network protecting it from specifically from being double spent.

                                      The ACP checkpointing for Feathercoin has been set at every 5 blocks. ACP does not dictate the blockchain, it provides checkpoints and helps prevent double spends, if the checkpoint is on a short branch it will be rejected.

                                      1 Reply Last reply Reply Quote 0
                                      • lizhi
                                        lizhi last edited by

                                        blue theme is better
                                        https://github.com/wrapperband/FTC-Wallet-Layout-Examples/blob/master/images/FTCWallet.LightTheme.KDE.overveiw.01.png

                                        1 Reply Last reply Reply Quote 1
                                        • Wellenreiter
                                          Wellenreiter Moderators @wrapper last edited by

                                          @wrapper
                                          Can we make the look ‘user changable’?

                                          I’ve opened an enhancement request some month ago on github already.

                                          It shouldn’t be to compilcated

                                          Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                                          Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                                          1 Reply Last reply Reply Quote 2
                                          • wrapper
                                            wrapper Moderators last edited by wrapper

                                            This is the result of testing the White background with a KDE dark theme, it will need at least a slight grey, which would still not show dark themes great.

                                            An enhancement would be to look how the backgroud should be done,; Currently if a transparent image is used, the background shows black ( with a light desktop theme. )

                                            https://wiki.qt.io/How_to_Change_the_Background_Color_of_QWidget

                                            Feathercoin wallet with Dark KDE Theme, White Back Ground
                                            White Backgound, Dark Desktop

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post