Bitcoin Core integration/staging tree

Related tags

Cryptography gui-qml
Overview

Bitcoin Core integration/staging tree

https://bitcoincore.org

For an immediately usable, binary version of the Bitcoin Core software, see https://bitcoincore.org/en/download/.

Further information about Bitcoin Core is available in the doc folder.

What is Bitcoin?

Bitcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Bitcoin Core is the name of open source software which enables the use of this currency.

For more information read the original Bitcoin whitepaper.

License

Bitcoin Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Development Process

The master branch is regularly built (see doc/build-*.md for instructions) and tested, but it is not guaranteed to be completely stable. Tags are created regularly from release branches to indicate new official, stable release versions of Bitcoin Core.

The https://github.com/bitcoin-core/gui repository is used exclusively for the development of the GUI. Its master branch is identical in all monotree repositories. Release branches and tags do not exist, so please do not fork that repository unless it is for development reasons.

The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The CI (Continuous Integration) systems make sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

Translations

Changes to translations as well as new translations can be submitted to Bitcoin Core's Transifex page.

Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.

Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.

Comments
  • Onboarding views

    Onboarding views

    This PR adds the views for the onboarding wizard.

    Aim:

    The main aim of this PR is to introduce the onboarding views and the interactions in it.

    Details:

    • The First commit:
      • modifies the Header.qml and TextButton.qml files.
      • It adds options not to wrap text in Header.qml. This is used later in the Introduction.qml file, which needs text in a straight line.
      • It adds options to bold the text and right-align it in the TextButton.qml. This feature is used later to properly align the button’s text on the Developer Options page.
    • The Second commit:
      • Adds the Information.qml file
      • This is a modified version of Settings.qml.
      • Instead of a switch button, this allows having text in its place.
      • The text could also double as a hyperlink if the link is provided.
    • The Third commit:
      • Adds the first three pages of onboarding wizard:
        • Onboarding01a.qml: Bitcoin core App

    Screenshot from 2022-06-01 18-58-49

        - Onboarding01b.qml: About Options
    

    Screenshot from 2022-06-01 19-00-52

        - Onboarding01c.qml: Developer Options
    

    Screenshot from 2022-06-01 19-01-24

    - This also adds the onboarding01.qml file, which works as the connector between the above 3 pages.
    - Adds the AboutOptions.qml and DeveloperOptions.qml file:
        - The AboutOptions.qml file displays the list of options present on the About Options page. And it utilizes the Information.qml file mentioned above to create those sets of options.
        - The DeveloperOptions.qml file creates options on the 01c page.
    
    • The Fourth commit:
      • Adds the onboarding02.qml: Strengthen the bitcoin page

    Screenshot from 2022-06-01 19-30-50

    - The node web image is temporarily replaced with the Bitcoin core App icon.
    
    • The Fifth commit:
      • Adds the onboarding03.qml: The block clock page

    Screenshot from 2022-06-01 19-09-04

    - The block clock image is temporarily replaced with the Bitcoin core App icon.
    
    • The Sixth commit:
      • Adds the onboarding04.qml: Storage Locations

    image

    - This commit also adds StorageLocation.qml component file. This file contains the two options displayed on the page.
    
    • The Seventh commit:
      • Adds the following two pages in the onboarding wizard:
        • onboarding05a.qml: “Storage”

    image

        - onboarding05b.qml: “Storage settings.”
    

    image

    - The onboarding05.qml page works as the connector between the above two pages.
    - This commit also adds the StorageSettings.qml component page, which contains the list of settings for the 05b.qml page.
    
    • The Eight commit:
      • Adds the last two pages on the onboarding wizard.
        • onboarding06a.qml: “Connection”

    image

        - onboarding06b.qml: “Connection settings”
    

    image

    - This also adds the onboarding06.qml file, which functions as the connector between the abovementioned pages.
    - This commit updates the ConnectionSettings.qml file to display all the list of settings mentioned in the design file.
    
    • The Ninth commit:
      • Updates the stub.qml file to display the onboarding wizard.

    Windows macOS x86_64 macOS arm64_64 Android

    UX 
    opened by shaavan 53
  • ci: Prefix artifacts names with insecure_ as CI cannot be trusted

    ci: Prefix artifacts names with insecure_ as CI cannot be trusted

    https://github.com/bitcoin-core/gui-qml/pull/73#discussion_r738302994:

    wouldn't it be good to prefix the artifact name with insecure_, as the CI can't be trusted?

    https://github.com/bitcoin-core/gui-qml/pull/73#discussion_r738303781:

    Wouldn't it be a better UX to move the file to a top level directory first?

    Wouldn't it be better to name the file insecure_gui.exe or so?

    All of the comments above are addressed in this PR.

    Links to compressed executable binaries for this PR:

    • Windows: https://api.cirrus-ci.com/v1/artifact/build/4507530693967872/insecure_win_gui.zip
    • macOS: https://api.cirrus-ci.com/v1/artifact/build/4507530693967872/macOS%2010.15%20[gui,%20no%20tests]%20[focal]/insecure_mac_gui/insecure_mac_gui.tar.gz
    opened by hebasto 15
  • Add ProgressIndicator control

    Add ProgressIndicator control

    Add and use the ProgressIndicator control. It can be seen as a more light version of the ProgressBar control.

    The example captures mouse clicks to update the progress.

    Windows macOS

    UX 
    opened by promag 15
  • QML GUI Reproducibility Tracker

    QML GUI Reproducibility Tracker

    We've had several build system changes (#2, #19, #23, #27, #30) and since the merge of #27 and #30, GUIX builds should work for all targets. Let's test this here, and confirm that hashes match up at this stage.

    Build system 
    opened by jarolrod 14
  • Cleanup available settings, stage for proper options handling

    Cleanup available settings, stage for proper options handling

    based on bitcoin-core/gui-qml#156 and bitcoin-core/gui-qml#157 This primarily cleans up settings/options that cannot be modified by the OptionsModel we will use; thus staging the gui for proper options handling.

    Introduces a static backup for the storage lottie element. The SVG was provided by @GBKS, and the png generated with inkscape. The resulting png was then run through the optimize python script, the output of the script is as follows:

    optimizing storage-dark.png... done
    optimizing storage-light.png... done
    summary:
    +++++++++++++++++
    storage-dark.png
      size diff from: 10942 to: 8412
      old sha256: ff0937aabffa949a241df90ff3a61d9e3cb35a836a11e497718196097b0e68fb
      new sha256: 8a3c195ee3b44624c89ab648020005a0e955b7e6086a89c966de0547f337b98b
    
    storage-light.png
      size diff from: 11205 to: 8693
      old sha256: f7e707cd997f8acf3ac273f6680611f420375ed40cdbacb0a18e2003d49496d4
      new sha256: 38ad2e515a55980d01cfeaeee0bb7264005a739e65fc57f4bb99cdb92e39f3c6
    
    completed. Checksum stable: False. Total reduction: 5042 bytes
    

    Master

    | Developer Options | Storage Location | Storage | | ------------------------- | ----------------------- | ----------- | | master-2 | master-3 | master-4 |

    | Storage Settings | Connection | Connection Settings | | --------------------- | --------------- | --------------------------- | | master-5 | master-6 | master-7 |

    PR

    | Developer Options | Storage Location | Storage | | ------------------------- | ----------------------- | ----------- | | newdev-screen | pr-3 | pr-4 |

    | Storage Settings | Connection | Connection Settings | | --------------------- | --------------- | --------------------------- | | pr-5 | new-ibd-screen | newcon-screen |

    Windows Intel macOS Apple Silicon macOS ARM64 Android

    opened by jarolrod 11
  • Introduce Wizard control

    Introduce Wizard control

    Introduces the wizard control which will hold all of the onboarding views. A convenient demo can be found here: onboarding-wizard-demo

    The demo shows the following views: onboarding-flow

    Windows macOS Android

    opened by jarolrod 11
  • Introduce the StorageOptions component and TextButton control

    Introduce the StorageOptions component and TextButton control

    This introduces the StorageOptions component which represents the storage options page as designed in the main design file.

    This component reuses the OptionButton control by making modifications to it. We refactor the OptionButton control to reuse the Header control instead of specifying separate labels. This simplifies the control itself.

    The demo of this component can be found here: storageoptions-demo. In the demo, theStorageOptions component is added to our stack. Now that there are several elements in the stack, we need some navigation. Therefore, this also introduces the TextButton control which represents text based buttons such as the "back" navigation button and the "detailed settings" button. This added TextButton control is then given the text "< Back" and added to the header of our ApplicationWindow. When clicked, this button will rewind the stack. Only visible when the currentIndex of the stack is < 0.

    Images of added elements | StorageOptions | Back Button | |-----------------|--------------| | Screen Shot 2022-01-04 at 12 26 53 PM | Screen Shot 2022-01-04 at 12 26 57 PM |

    Windows macOS Android

    opened by jarolrod 10
  • Adjust Onboarding's ContinueButton layout based on Mobile/Desktop target

    Adjust Onboarding's ContinueButton layout based on Mobile/Desktop target

    This change registers a new QObject that can be used to check if the app is running in DESKTOP or MOBILE mode. Based on that value, adjustments to the ContinueButton's anchors will be made to match the spec for each configuration.

    Windows Intel macOS Apple Silicon macOS ARM64 Android

    opened by johnny9 9
  • Sync with the main repo

    Sync with the main repo

    Sync with the main repo up to https://github.com/bitcoin/bitcoin/commit/369978686e156ad34df703f1e60bd90aeaa8f2d6.

    To avoid merge conflicts, 22 commits have been reverted following the commit history. The first 15 of them belong to bitcoin-core/gui-qml#87.

    20 of them have been cherry-picked back in order of their initial appearance in the commit history.

    Commit 7fd3c9181892cba2841ec3cfa56551039d971610 "build, qt: Add RISC-V detection" is no longer needed as it has been implemented in the upstream.

    Commits 26ce35fbe0d1b34641d0f885f8a5217e41b246b4 "build, qml: Fix compiling with GCC 11" and 95b80c07206e0354061feb58b7578d519ce0e05b "Avoid applying of a patch with fuzz 1" have been combined into a new single commit "build, qml: Fix compiling with GCC 11".

    A "build" part of the commit "qml, build, doc: Allow import QtQuick.Layouts" has been moved into the "build, qml: Add qtdeclarative module" commit.

    Also Qt Quick module versions were bumped according to Qt 5.15.2.

    An excerpt from Qt "Configure summary" on Fedora 35:

    Qt QML:
      QML network support .................... no
      QML debugging and profiling support .... no
      QML just-in-time compiler .............. yes
      QML sequence object .................... yes
      QML XML http request ................... no
      QML Locale ............................. yes
    Qt QML Models:
      QML list model ......................... yes
      QML delegate model ..................... yes
    Qt Quick:
      Direct3D 12 ............................ no
      AnimatedImage item ..................... yes
      Canvas item ............................ yes
      Support for Qt Quick Designer .......... yes
      Flipable item .......................... yes
      GridView item .......................... yes
      ListView item .......................... yes
      TableView item ......................... yes
      Path support ........................... yes
      PathView item .......................... yes
      Positioner items ....................... yes
      Repeater item .......................... yes
      ShaderEffect item ...................... yes
      Sprite item ............................ yes
    Qt Quick Controls 2:
      Styles ................................. Default Fusion Imagine Material Universal
    Qt Quick Templates 2:
      Hover support .......................... yes
      Multi-touch support .................... yes
    

    Guix builds:

    $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
    69492cd3777954f2771cfe8e733c8dba18a9182310a3fbd16b04e3663c846e46  guix-build-c8f4e0398d0e/output/aarch64-linux-gnu/SHA256SUMS.part
    b2b3a06024980b83e9c8277fdb0f70ec7d5d15ada04124e13d1746baf5c6ba95  guix-build-c8f4e0398d0e/output/aarch64-linux-gnu/bitcoin-c8f4e0398d0e-aarch64-linux-gnu-debug.tar.gz
    cc0404ba6c5161a7da72fe1905d4476209ad2e43796df3d667b844c74f313f2e  guix-build-c8f4e0398d0e/output/aarch64-linux-gnu/bitcoin-c8f4e0398d0e-aarch64-linux-gnu.tar.gz
    c14a4f1cee523117be00863b5751c03b9ca24cddf76920adf28cf29adef5016c  guix-build-c8f4e0398d0e/output/arm-linux-gnueabihf/SHA256SUMS.part
    f1d0b7202223296bcdde9878c9bfd60253c2d2530a74a3c94ed82b90568cc866  guix-build-c8f4e0398d0e/output/arm-linux-gnueabihf/bitcoin-c8f4e0398d0e-arm-linux-gnueabihf-debug.tar.gz
    d07722b96f07166328d218716e3ff7dabcf8f6d35f906378214a97b88f6cbb09  guix-build-c8f4e0398d0e/output/arm-linux-gnueabihf/bitcoin-c8f4e0398d0e-arm-linux-gnueabihf.tar.gz
    89ba246d916d5805159bd92d23bd620a3cf6c6bdee962214120c5005eabd4b75  guix-build-c8f4e0398d0e/output/dist-archive/bitcoin-c8f4e0398d0e.tar.gz
    1dcf2101a3c766724d0fdbeca7c61b3d501081d3c166b3b9d9e52418f6f34bb0  guix-build-c8f4e0398d0e/output/powerpc64-linux-gnu/SHA256SUMS.part
    b563412fc17fc5189a8e8320096113f4d5c42011904c78e92db21929e8c565f5  guix-build-c8f4e0398d0e/output/powerpc64-linux-gnu/bitcoin-c8f4e0398d0e-powerpc64-linux-gnu-debug.tar.gz
    fa38f1520dc04e2fca68031bbd13ff67c42c7bf26003e93a7927dde8e904da6b  guix-build-c8f4e0398d0e/output/powerpc64-linux-gnu/bitcoin-c8f4e0398d0e-powerpc64-linux-gnu.tar.gz
    beac355a65c78c93963c23707667ce7a96e2550edcdad37dfc7c1ce6dbc5bf14  guix-build-c8f4e0398d0e/output/powerpc64le-linux-gnu/SHA256SUMS.part
    c813ba3b3de89d331138cdcec609efe0fd7e3320b3c28a7c4fcf5537bb05c614  guix-build-c8f4e0398d0e/output/powerpc64le-linux-gnu/bitcoin-c8f4e0398d0e-powerpc64le-linux-gnu-debug.tar.gz
    2d22178891c3a605a1a4e2a35797bf4e38dfea0245189605d7baf7165227ce75  guix-build-c8f4e0398d0e/output/powerpc64le-linux-gnu/bitcoin-c8f4e0398d0e-powerpc64le-linux-gnu.tar.gz
    9290ceb49f237f78ae0aa1ff746f4a36d0cfe0db2caf82811c263133b4dab9d6  guix-build-c8f4e0398d0e/output/riscv64-linux-gnu/SHA256SUMS.part
    562ddb5af2cd8d605bb933d516210525459398f52e7a6070e930c93fd2861b80  guix-build-c8f4e0398d0e/output/riscv64-linux-gnu/bitcoin-c8f4e0398d0e-riscv64-linux-gnu-debug.tar.gz
    65c6faa6a69e288ff1cf26d2f57dc407ef398e6eb86aac9f38035037960b4472  guix-build-c8f4e0398d0e/output/riscv64-linux-gnu/bitcoin-c8f4e0398d0e-riscv64-linux-gnu.tar.gz
    647c127b1b656e667bcb4435a4472ee680027515f6cecd7b0a07f022dc7cf5e3  guix-build-c8f4e0398d0e/output/x86_64-apple-darwin/SHA256SUMS.part
    3eeb8449b9cb350ff442211df7b4f6858fbff610ed4157d1585800efc16bab81  guix-build-c8f4e0398d0e/output/x86_64-apple-darwin/bitcoin-c8f4e0398d0e-osx-unsigned.dmg
    b5f9b759fb69a349f41557d0f78df2367f7d52f56d3c2e8f71ee4533b5be4bc7  guix-build-c8f4e0398d0e/output/x86_64-apple-darwin/bitcoin-c8f4e0398d0e-osx-unsigned.tar.gz
    83b98e6c298dbf32997d90d1001d8257eeffec51a3feea7df454d122b5d512a5  guix-build-c8f4e0398d0e/output/x86_64-apple-darwin/bitcoin-c8f4e0398d0e-osx64.tar.gz
    ad7a69cba6a331e36a7069f2391903b4f63584eccbd74009dffc2dd135d18efe  guix-build-c8f4e0398d0e/output/x86_64-linux-gnu/SHA256SUMS.part
    290ace50b1049a8494370a68191b86e4beab15b0afe0947ea2090f98bc1c037c  guix-build-c8f4e0398d0e/output/x86_64-linux-gnu/bitcoin-c8f4e0398d0e-x86_64-linux-gnu-debug.tar.gz
    6713f955a9d4ab488cfaf3b97d4d59a0a11c6bdaeba27ddbb15a2d1fb82e3c7c  guix-build-c8f4e0398d0e/output/x86_64-linux-gnu/bitcoin-c8f4e0398d0e-x86_64-linux-gnu.tar.gz
    f85f19a7437a3eec7597cb6e855d6e529051634bdea74b94e2d17fb1862d810e  guix-build-c8f4e0398d0e/output/x86_64-w64-mingw32/SHA256SUMS.part
    d307ecae13388ed373d8252971d5b9949a21e016d03bd2726a4455a7af35f8ba  guix-build-c8f4e0398d0e/output/x86_64-w64-mingw32/bitcoin-c8f4e0398d0e-win-unsigned.tar.gz
    1f281e0e42cf8350ec9d51c875b8fff7f20b11e5e33dda08dcb2ee8a2c33615a  guix-build-c8f4e0398d0e/output/x86_64-w64-mingw32/bitcoin-c8f4e0398d0e-win64-debug.zip
    a8c04d2a61852ed9bbd9a01ed9419c3eb52c788d942a5b24f8e45c2d29d0df69  guix-build-c8f4e0398d0e/output/x86_64-w64-mingw32/bitcoin-c8f4e0398d0e-win64-setup-unsigned.exe
    a67317e2ef08346858aa766176a79449639c1780ed4499d7a14e2ebcf7ab9ffc  guix-build-c8f4e0398d0e/output/x86_64-w64-mingw32/bitcoin-c8f4e0398d0e-win64.zip
    

    Windows macOS Android

    opened by hebasto 9
  • Update block tip in the gui thread

    Update block tip in the gui thread

    This takes commit https://github.com/bitcoin-core/gui-qml/pull/38/commits/cf8a278e7a8bb5aaabef60b9345deff4c3d3c792 from https://github.com/bitcoin-core/gui-qml/pull/38/ and rebases it over changes on master; namely that we've dropped GUIUtil::ObjectInvoke in favor of QMetaObject::invokeMethod.

    This avoids non-thread-safe errors. I ran into a segfault here while running some data intensive monkey-code related to blocks, this change prevented it. I'm not going to actually use the code that caused the segfault, just to illustrate that this is useful here anyways.

    Windows Intel macOS Apple Silicon macOS ARM64 Android

    opened by jarolrod 8
  • Make working progress bar

    Make working progress bar

    • This PR makes the progress bar on the block sync page work.
    • This was done by introducing a new private member in the NodeModel class.

    Screenshots:

    Master

    Screenshot from 2021-12-28 11-38-51

    PR (at different instances)

    |60680 Blocks|65344 Blocks|69744 Blocks| |----|----|----| |Screenshot from 2021-12-28 11-35-27|Screenshot from 2021-12-28 11-35-34|Screenshot from 2021-12-28 11-35-41|

    opened by shaavan 8
  • [DO NOT MERGE] 148 rebased over recent changes

    [DO NOT MERGE] 148 rebased over recent changes

    This is https://github.com/bitcoin-core/gui-qml/pull/148 with the lint issue fixed and rebased over recent changes for ease of testing for our designers.

    Screen Shot 2022-12-14 at 5 20 58 AM

    Windows Intel macOS Apple Silicon macOS ARM64 Android

    Needs rebase 
    opened by jarolrod 0
  • Introduce OptionsModel backend, Wire up Storage Amount settings to backend

    Introduce OptionsModel backend, Wire up Storage Amount settings to backend

    This re-uses https://github.com/bitcoin-core/gui-qml/pull/184, with changes, to introduce an OptionsModel backend, while also wiring the Storage Amount settings; as the first settings to be wired to the options backend.

    Both the "easy configuration" and "advanced configuration" methods for configuring the storage amount are wired to the backend. While on the fifth view of the onboarding wizard, the view with the header "Storage", if you click on the "Reduce Storage" button, your Settings.json file will show:

    {
        "prune": 1907
    }
    

    and if you click on the "Store all data" button, your Settings.json file will show:

    {
        "prune": 0
    }
    

    Within "Detailed Settings", you can examine that the prune target specified within the Settings.json file will only be non-zero if a non-zero value is set in storage limit and if the "Store recent blocks only" switch is enabled, as it should be.

    The values you configure while onboarding will then be visible within the NodeSettings view when you click on "Storage".

    Note: This doesn't complete the entire feature set around the setting, enabling, or disabling of this feature. There is still work to be done, this is the initial introduction and wiring.

    The screenshots below highlight the functionality of this PR. | configuring while onboarding | correct values available within the node settings window | | ---------------------------- | -------------------------------------------------------- | | Screen Shot 2022-12-14 at 4 32 48 AM | Screen Shot 2022-12-14 at 4 32 57 AM |

    Windows Intel macOS Apple Silicon macOS ARM64 Android

    Needs rebase 
    opened by jarolrod 2
  • Handle landscape rotation on mobile devices?

    Handle landscape rotation on mobile devices?

    Mobile devices can display apps in portrait or landscape mode. We should either decide to not support mobile landscape mode or keep landscape mode in mind and design & develop the GUI to handle landscape rotation.

    Below are screenshots as to how landscape mode is currently handled as of ea267ebb183c6bec57a255e89e277d0125939f5b:

    | a | b | | --- | --- | | Screenshot_20221107-162342 | Screenshot_20221107-162427 |

    opened by jarolrod 1
  • Adjust the UI/Set minimum width&height values for mobile multitasking

    Adjust the UI/Set minimum width&height values for mobile multitasking

    On Android, applications can be opened in multitasking mode. This allows more than one application open to be displayed on the screen at one time; each app taking up a portion of the screen. There are many use-cases as to why the Bitcoin Core App would be opened in multitasking mode on a mobile device, including but not limited to, copy-pasting and address from another app into the GUI.

    As of right now, the GUI doesn't work well in multitasking mode. We need to set constraints and possibly minimum width&height values to allow for the GUI to work well in multitasking mode.

    This isn't a priority as of right now, but something that we should address at some point as it is not exactly possible to prevent the app from being opened in multitask mode. A quick fix is to allow for scrolling up and down through the window and setting minimum widths

    See screenshots below:

    Android Tablet The following screenshots represent the UI issues with opening the GUI in multitask mode on an Android Tablet. Notice that the UI just gets clipped, with elements being outside of the clickable visual area given to the GUI.

    | a | b | c | | --- | --- | --- | |Screenshot_20221106_230526 | Screenshot_20221106_230559 | Screenshot_20221106_230624 |

    Android Phone | a | b | c | | --- | --- | --- | | Screenshot_20221107-161209_Gmail | Screenshot_20221107-162723_Apps |Screenshot_20221107-161126 |

    opened by jarolrod 1
Owner
Bitcoin Core
Bitcoin Core
An EDA toolchain for integrated core-memory interval thermal simulations of 2D, 2.5, and 3D multi-/many-core processors

CoMeT: An Integrated Interval Thermal Simulation Toolchain for 2D, 2.5D, and 3D Processor-Memory Systems With the growing power density in both cores

MARG 11 Sep 25, 2022
BTCU Wallet is the original Bitcoin Ultimatum client and it builds the backbone of the network.

The concept of BTCU is similar to the concept of the second cryptocurrency by capitalization - Ethereum.

Bitcoin Ultimatum (BTCU) 31 Jul 1, 2022
A high-performance distributed Bitcoin mining pool server.

Viabtc Mining Server ViaBTC Mining Server is a high-performance distributed Bitcoin mining pool server. We have made a lot of optimizations for Bitcoi

ViaBTC 96 Nov 22, 2022
Dogecoin is a cryptocurrency like Bitcoin

Dogecoin is a cryptocurrency like Bitcoin, although it does not use SHA256 as its proof of work (POW). Taking development cues from Tenebrix and Litecoin, Dogecoin currently employs a simplified variant of scrypt.

Dogecoin 14.2k Jan 3, 2023
Bitcoin Point of Sale

LNPoS Hardware https://shop.pimoroni.com/products/m5stack-faces-kit-pocket-computer-with-keyboard-game-calculator Installation Install Arduino IDE: ht

Arc 132 Dec 4, 2022
Bitcoin and Altcoins Publickey subtracter

keysubtracter Bitcoin and Altcoins Publickey subtracter Generate multiple but different "copies" of a publickey, Actually Added and substracted public

Luis Alberto 23 Dec 27, 2022
Brute Force Bitcoin Private keys, Public keys

Rotor-Cuda This is a modified version of KeyHunt v1.7 by kanhavishva. A lot of gratitude to all the developers whose codes has been used here. Feature

LostCoins 87 Sep 24, 2022
Onix is a decentralized blockchain project built on Bitcoin's UTXO model

What is Onix? Onix is a decentralized blockchain project built on Bitcoin's UTXO model, with support for Ethereum Virtual Machine based smart contract

Onix CryptoCurrency Development 4 Dec 16, 2021
mako - full bitcoin implementation in C

mako - full bitcoin implementation in C

Christopher Jeffrey (JJ) 540 Jan 5, 2023
Small collection of tools written in C for ECC and bitcoin

ecctools Small collection of tools written in C for ECC and bitcoin Why this programs are written in C language? Well i like C language because compil

Luis Alberto 26 Dec 7, 2022
Open-source, airgapped bitcoin hardware signer for the M5StickV.

Krux ✝ Krux is an open-source DIY hardware signer for Bitcoin that can sign for multisignature and single-key wallets. It is a low-cost airgapped devi

Jeff 50 Dec 28, 2022
Elecrypt core protocol details

This codes are compatible with esp8266 nodemcu 1.0 on Arduino board.media/esp8266nodemcu.png

null 8 Nov 6, 2022
Core - System components and backend.

Core System backend and start session and more. Compile dependencies sudo pacman -S extra-cmake-modules pkgconf qt5-base qt5-quickcontrols2 qt5-x11ext

CutefishOS 243 Jan 6, 2023
Bitcoin Core integration/staging tree

Bitcoin Core integration/staging tree https://bitcoincore.org For an immediately usable, binary version of the Bitcoin Core software, see https://bitc

Bitcoin Core 47 Dec 22, 2022
RavencoinLite Core integration/staging tree

RavencoinLite Core integration/staging tree https://ravencoinlite.org What is RavencoinLite? RavencoinLite is an experimental digital currency that en

null 24 Oct 12, 2021
Caffeecoin Core integration/staging tree

Caffeecoin Core integration/staging tree https://caffeecoin.com What is Caffeecoin? Caffeecoin is an experimental digital currency that enables instan

null 2 Sep 3, 2022
C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API

libspatialindex Author: Marios Hadjieleftheriou Contact: [email protected] Revision: 1.9.3 Date: 10/23/2019 See http://libspatialindex.org for full doc

null 633 Dec 28, 2022
This is like Inverting Binary Tree, but instead of a Binary Tree it's a File Tree.

Invert File Tree in C++ This is like Inverting Binary Tree, but instead of the Binary Tree it's a File Tree. This is intended as a simple exercise to

Tsoding 12 Nov 23, 2022
An intrusive C++17 implementation of a Red-Black-Tree, a Weight Balanced Tree, a Dynamic Segment Tree and much more!

This is Ygg (short for Yggdrasil), a C++17 implementation of several intrusive data structures: several balanced binary search trees: a red-black Tree

Lukas Barth 98 Dec 25, 2022
crwusiz branch is comma.ai devel-staging base xx979xx HKG_community source add

crwusiz openpilot crwusiz branch is comma.ai devel-staging base xx979xx HKG_community source add v0.8.9 [ allow white panda and gray panda, OP3T suppo

Lee Jong Mun 36 Dec 14, 2022