Feathercoin daemon and wallet production version 0.17.0.2

[Dev] Release Candidate Feathercoin 0.9.3.2 - Check List


  • Moderators | Tip AcidD

    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 !!!


  • Moderators | Tip wrapper

    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.


  • | Tip lizhi


  • Moderators | Tip Wellenreiter

    @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


  • Moderators | Tip 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


  • Moderators | Tip AcidD


  • Moderators | Tip wrapper

    We’re experimenting with changes the UI code to remove the background image, it works better with a light grey background but is still incompatible with “Desktop Themes” :

    Here is the Dark Theme now with code changes we made :

    Dark Theme Overveiw

    Here is the new transaction screen with Dark Theme showing correctly :

    Dark Theme Transactions


  • Moderators | Tip wrapper

    The next priority is to look at consistency of the dialog box, although we do want to try some other Logo ideas, the blue one is looking pretty neat, it’s clean, crisp, bright and mirrors the forum / project colours… …

    We’re just experimenting with adding a frame around the status bar to define that better…

    Here is how the Main screen now looks with the UI code changes.:

    Blue Logo on Light Theme


  • Moderators | Tip Wellenreiter

    @wrapper the dark grey one looks nice and is like some dark themes available for the desktop


  • Moderators | Tip wrapper

    @uncle_muddy @Wellenreiter @Lizhi @MrWyrm @Aciddude @Ghostlander @RIPPEDDRAGON

    Feathercoin-qt : Graphic User Interface, Development / Testing progress.

    I have now spent a number of days going over the Feathercoin 0.9.3.2 GUI, how it is programmed, which files / variables / classes are involved.

    AFB has assisted me and I have set him up a development environment.

    We have done / identified a number of small changes, mainly removing things that weren’t done “generically”. We found yesterday, every time we made the system more “open” it looked better.

    The Dark and Light theme are just KDE. We have done some work removing “specific” settings (eg mainbg.png) and doing the extra work to make the system be “Operating System Theme Aware”, then tested on various operating system themes.

    We can understand now why this was awkward to customize the GUI code in the Feathercoin / Bitcoin core program.

    It’s Qt widget uses the status bar (Statusbar()) at a higher (parent) level that the rest of the screen, which is handled by straight GUI coding. I think it’s because they need to pass information to the status at a parent level.

    AFB and I both agreed, we’d have tried to make the status a graphics object that could be designed with style sheet and be removable by the user, like the toolbar.
    That took us about 10 man hours to work out why we couldn’t put a box around the status bar, or why in the end it looked better without it.

    But then we need to add a line at the bottom of overview.ui - to differentiate the status bar on the main screen. The rest of the windows are already differentiated from the status bar).

    It then takes 14 min’s to do a compile, to see how that looked, every time you make a change.

    Results of tests
    There are a lot of small changes need to finish that work, some of which we still need to study to see which method to apply across the program. Also, although it makes it a lot more difficult for AFB I have been insisting on documenting “failure” so the forum can appreciate why we are doing anything, or assist if they would like to.

    We have considered a number of other things such as, wither it is viable to add customization, like alternate “Feathercoin Logo” HOWEVER, AFB and I were still impressed how the “forum blue” Logo already fitted with system blues such as the status / progress bar, or button mouse over highlight, so we don’t want an option that takes extra work but makes it look worse.

    A point of the Graphics work is to make sure it works across Distributions and even on windows or the MAC, so I will do the work to push intermediate changes to my Github Distro, in a form they can be pulled in by Wellenreiter, either to 0.9.3.2 or a new 0.9.6.2-GUI

    What next
    I will be continuing to implement some of the details we have already found and research how to do some more things in C++ and Qt. Currently we have replace the background image with common grey, the code that adds the image : needs removing, and the actual background set to OS system “default”.

    However, it did pass the Operating System Dark Theme test of KDE, so awaiting tests on other OSs. AFB suggested other artistic uses of the background, worth letting him review.

    The other main work is improving the new forms and enforcing a common look and feel. Making the system use operating system defaults will help do that and automatically benefits from the “art work” the distribution put into those icons and effects. Investigate an alternative Light Blue Logo style.

    We require the 0.9.3.2 Test versions to be built for Gnome, Unity, Windows and Mac etc, and reviewed now, and again when any significant further change has been included. Specifically looking at, Theme / icon compatibility. It is hoped to use system Icons, so it envisaged mods to specific icons may be required.

    The splash screen needs a review in line with Light Blue Logo FTC default, and wither the Logo colour theme is going to be an option.)

    Example UI improvement required
    A common problem on all panes is that frame and button markers aren’t handled consistency with “mouse over”, some go blue others stay black. To be consistent with themes they all need to be system.

    Frame Colour Mouse Over

    I’ve already done work in 0.9.3.2 to improve the new forms, that’s been pulled into the Feathercoin version.

    I’ve also added help and more logically / reposition fields, however, all the new forms require lot more work to provide a consistent look and feel and basic frame sizing options.

    AFB came up with an idea to simplify this Frame on the multisig wallet. It is also little things, we also spotted this, that need to be perfect to look good. :

    Frame misalignment

    Information
    Source Code with GUI review test changes / Logo
    git clone https://github.com/wrapperband/Feathercoin
    cd Feathercoin
    git checkout 0.9.3.2

    Source Code Graphics Files are stored
    /src/qt/res/images

    Form Design : view with Qt Creator.
    /src/qt/overveiw.ui

    Main Graphics Widget initiation, status bar
    /src/qt/bitcoingui.cpp

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

    Graphics resources and reporting
    https://github.com/wrapperband/FTC-Wallet-Layout-Examples


  • Moderators | Tip AcidD

    Amazing work @wrapper !


  • Moderators | Tip wrapper

    Thanx @aciddue, I couldn’t have made the progress without AFBs help. I’ve been doing GUI background work, to make that happen, including bring AFB up to speed on where I was up to previously as well.

    But as you know I am fragile physically with spine damage, we’ve done quites lot because we we’re making progress, I need a rest and AFB needs a chance to ponder what we’ve learned so far.


  • Moderators | Tip wrapper

    Here’s the Wallet Overviewpage.ui screen with a plain divider line added :
    updated with divider line moved down

    Overview with divider


  • Moderators | Tip wrapper

    @AFB 's done a new Feathercoin bar logo, and we’ve improved the layout of the “About box.” Using a graduated image is a temporary solution. It would be nice / we’d like to have a logo on a drawn graduated background so the window would scale. Scaling is not a priority with the about box, but the techniques would be worthwhile to find how to achieve that in Qt/C++, as it could be applied to improve other panels.

    About Box


  • Moderators | Tip wrapper

    I’m just testing a build with the first part of an updated icon set AFB is developing :

    New Icons on Wallet Menu
    Wallet Blue Icons

    New Icons Settings Menu
    Settings Blue Icons

    New Button Icons, so far
    New Blue Icons


  • Moderators | Tip wrapper

    First off, thanx and kudos to @IawgoM for his previous graphics work on FTC; including buttons, icons and graphics used in the FTC wallet, like the 0.8.7 series splashscreen.

    I have made a new splash screen to identify 0.9.3.2 versions, based on the new Logo, unless someone comes up with something better. AFB has enough to do making icons and giving him a chance to look at the more interesting jobs, like improving the FTC specific forms.

    We will need a better / another new splash screen for the 0.11 release, so there is slightly longer time to work on fresher ideas for that…

    Splash Screen 0.9.3.2


  • Moderators | Tip wrapper

    AFB has done some additional icons. MultiSig, reports, connection status. MultiSig is a first draft.

    Updated Icons Test


  • Moderators | Tip AcidD

    @wrapper @Wellenreiter

    so I’ve gotten to the point where the following tests are compiling…NOT passing…compiling…(i should go back and edit my previous posts…

      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
      CXX      test_bitcoin-key_tests.o
      CXX      test_bitcoin-main_tests.o
      CXX      test_bitcoin-miner_tests.o
      CXX      test_bitcoin-mruset_tests.o
      CXX      test_bitcoin-multisig_tests.o
      CXX      test_bitcoin-netbase_tests.o
      CXX      test_bitcoin-pmt_tests.o
      CXX      test_bitcoin-rpc_tests.o
      CXX      test_bitcoin-script_P2SH_tests.o
      CXX      test_bitcoin-script_tests.o
      CXX      test_bitcoin-serialize_tests.o
      CXX      test_bitcoin-sigopcount_tests.o
      CXX      test_bitcoin-test_bitcoin.o
      CXX      test_bitcoin-transaction_tests.o
      CXX      test_bitcoin-uint256_tests.o
      CXX      test_bitcoin-util_tests.o
      CXX      test_bitcoin-sighash_tests.o
      CXX      test_bitcoin-accounting_tests.o
      CXX      test_bitcoin-wallet_tests.o
      CXX      test_bitcoin-rpc_wallet_tests.o
    
    

    when it comes time to test “feathercoin” … (it’s still referenced as “bitcoin”)

      CXXLD    test_bitcoin
    test_bitcoin-base58_tests.o: In function `base58_tests::base58_keys_valid_parse::test_method()':
    /home/aciddude/FTCNEW/Feathercoin/src/test/base58_tests.cpp:160: undefined reference to `CBitcoinSecret::GetPrivKey()'
    /home/aciddude/FTCNEW/Feathercoin/src/test/base58_tests.cpp:161: undefined reference to `CBitcoinSecret::IsCompressed()'
    test_bitcoin-DoS_tests.o: In function `DoS_tests::DoS_mapOrphans::test_method()':
    /home/aciddude/FTCNEW/Feathercoin/src/test/DoS_tests.cpp:180: undefined reference to `AddOrphanTx(CTransaction const&)'
    /home/aciddude/FTCNEW/Feathercoin/src/test/DoS_tests.cpp:197: undefined reference to `AddOrphanTx(CTransaction const&)'
    /home/aciddude/FTCNEW/Feathercoin/src/test/DoS_tests.cpp:221: undefined reference to `AddOrphanTx(CTransaction const&)'
    test_bitcoin-DoS_tests.o: In function `DoS_tests::DoS_checkSig::test_method()':
    /home/aciddude/FTCNEW/Feathercoin/src/test/DoS_tests.cpp:258: undefined reference to `AddOrphanTx(CTransaction const&)'
    test_bitcoin-key_tests.o: In function `key_tests::key_test1::test_method()':
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:73: undefined reference to `CBitcoinSecret::GetPrivKey()'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:79: undefined reference to `CBitcoinSecret::GetPrivKey()'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:121: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:122: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:123: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:124: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:126: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const'
    test_bitcoin-key_tests.o:/home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:127: more undefined references to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const' follow
    test_bitcoin-key_tests.o: In function `key_tests::key_test1::test_method()':
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:152: undefined reference to `CPubKey::RecoverCompact(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:153: undefined reference to `CPubKey::RecoverCompact(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:154: undefined reference to `CPubKey::RecoverCompact(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)'
    /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:155: undefined reference to `CPubKey::RecoverCompact(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)'
    collect2: error: ld returned 1 exit status
    Makefile:789: recipe for target 'test_bitcoin' failed
    
    
    

    The base 58 and key test stuff seems to be referencing changes I’ve made…the DoS Tests were not touched…


  • Moderators | Tip wrapper

    It’s sensible to keep the core code the same, it just makes more work to go wrong. The test should be testing the core functionality.


  • Moderators | Tip Wellenreiter

    I think, there have been changes in the procdure names of CBitcoinSecret, and you need to make these changes consistent in base58*.* and base58_tests*.*

    By the way, can we split this thread in at least two ones?

    • Gui development
    • Test development/bug fixing

    I have problems to follow the flow on the discussion in this long thread here, as Gui and test posts are mixed and the thread becomes very long