New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
avoid sub-cent change (lost in fees) whenever possible #85
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Looks good at first glance. Can we brainstorm test cases that we think might cause problems? E.g. Wallet with (only) available transactions of +1 +2.0001 +3 : Send 6 bitcoins; what happens? Same wallet, send 2 (I think you'll get a 2.0001+1 spend with 1.0001 change)... Any other tricky edge cases? |
wtogami
added a commit
to wtogami/bitcoin
that referenced
this pull request
Nov 9, 2013
Reduce latency in network processing
rdponticelli
pushed a commit
to Criptomonedas/bitcoin
that referenced
this pull request
Nov 26, 2014
7a8e385 Fix interaction between magnitudes and negation (Pieter Wuille)
maflcko
referenced
this pull request
in maflcko/bitcoin-core
Mar 26, 2016
adding documentation for config params
ptschip
pushed a commit
to ptschip/bitcoin
that referenced
this pull request
Feb 13, 2018
…t on Windows. (bitcoin#85) * Inital scripts to setup mingw build env These are the initial scripts that allow setup of the MinGW build environment on Windows. After some initial manual steps, will download, extract, and build all Bitcoin dependnencies, then build the Bitcoin client with those dependencies statically linked. * Add args to skip some build steps if not needed. 1. Added "--strip" argument. Now this script will only run the strip command on the generated bitcoin binaries if this argument is provided. 2. Added “--no-autogen” argument. If provided, this argument will skip execution of “./autogen.sh” to reduce build times (convenience feature for Windows developers). 3. Added “--no-configure” argument. If provided, this argument will skip execution of “./configure” to reduce build times (convenience feature for Windows developers). If specified, this argument also automatically applies the “—no-autogen” argument as well. NOTE: The “--no-autogen” and “--no-configure” options should only be used if a successful build of the bitcoin binaries has already been completed in this build directory, and no configuration changes have been made. Currently the script doesn't have a safety check these commands have run successfully, and if you have not previously run “./autogen.sh” and/or “./configure” successfully, the script will blow-up if you run with these arguments. * Update Qt download URL Qt dowload has changed from official_releases to archive. REVISIT: Check to see if it is OK to upgrade to a newer version. * Allow building with tests enabled Added the "--check" argument to allow building with tests enabled. NOTE: Not all tests can be run successfully on Windows, but the "make check" and some of the pull-tester RPC tests should work provided that Python has been installed and the development environment configured correctly to access it. 1. Update dependencies to install wahern's Hexdump.exe by building from source. This is required for tests to be able to run. 2. Update the dependencies configuration script to build Boost with tests enabled, if a specific setting is enabled in the header of the file. This is required for the bitcoin executables to build with tests enabled. 3. Added "--check" argument to the bitcoin build script to dynamically turn tests on or off when running ./configure. 4. The "--check" argument is also intended to run "make check" after completion of the build, however due to some recent configuration issues I haven't solved yet, this is currently commented out as the tests fail due to python errors on Windows. * Prevent redownload/extraction of dependency files Mostly to speed up testing, if the files are already downloaded and/or extracted, then don't redownload/extract them. * Deal with paths with whitespace Update scripts to try to handle whitespace in path names. Currently only works completely for the bitcoin build directory, many of the dependency builds are not whitespace safe, external to these scripts, so will have build failures. * Enabled mingw 64-bit building Updated the configuration scripts to support the 64-bit build toolchain in addition to the already working 32-bit build chain. Scripts will now allow from-scratch download, unpack, and build of the entire toolchain, all dependencies, and the bitcoin executables for just 32-bit, just 64-bit, or both in one go. 1. Added user configuration flags to indicate if the 32-bit and/or 64-bit versions should be configured and built. 2. Restructured main configuration script to selectively run the full configuration and build process based on flag settings. 3. Extract and build all dependencies in target specific sub-directories of x86 or x64. 4. Added a section to copy the just built bitcoin executables to an alternate output location, "build-output/x86" or "build-output/x64". This way if both 32 and 64 bit configuration is done in one go, the final statically linked bitcoin outputs for both will be available. 5. Updated toolchain installation script to be able to correctly download and extract the 32-bit or 64-bit toolchain packages. 6. Updated dependency build script to support pulling the correct version of libz.a from the toolchain (32 or 64 bit version). This is necessary for qrencode. 7. Updated openssl to use the proper Configure switch (mingw or mingw64) based on toolchain. 8. Updated bitcoin build script to support "--clean" flag to allow performing a full clean prior to build. * Restructure mingw build scripts Scripts have been restructured to use a single configuration file so the user only needs to edit one file for any of the helper scripts that can be run. This provides: 1. SET_ENV_VARS.bat is the only file that needs to be edited by the user The same settings coming from SET_ENV_VARS are used by all other scripts 2. Eliminate command line argument processing for bash scripts as all values now come from SET_ENV_VARS.bat 3. Eliminate the need for the user to double enter paths in both Windows and POSIX formats. Bash scripts will now automatically convert to POSIX from Windows. 4. Create parity between config-mingw.bat and rebuild-bitcoin.bat in terms of initalization and timing log messages. * Enable make -jN configurable from evn vars * Refactor flag to enable tests in ENV_VARS Instead of passing build flags, just do a check for set. Makes the user edit portion less complex. * Correct PATH init causing 64-bit Qt build failure Build of Qt on 64-bit toolchain has errors if MSYS bin directory is in the path during build. To correct, moved PATH initialization to each individual bash script as well as reset in the main configuration script where necessary. * Prevent double download of dependencies If building both 32-bit and 64-bit versions, don't download the dependencies twice. NOTE: Still extracts twice. * Add option to "install" python and git Since mingw doesn't come with git or python, we can use the Windows executables installed for these utilities by creating a wrapper script in /usr/bin/ folder which simply calls the executable and passes in any parameters that were passed to the script. These wrappers are "installed" as part of the main dependency configuration script. * Add validation/error checking 1. Add in checks to ensure that required environment variables have been set in SET_ENV_VARS.bat. 2. Add checks to ensure paths that were set are valid and the files/directories they point to exist. 3. Add checks to catch errors that occur during build and abort further execution until errors are fixed. 4. Add checks to bitcoin build script to ensure dependencies have been built for the current toolchain. * Update documentation Added more in-depth readme files and reference the automation scripts in the main windows build doc. * Add step to upgrade wget The version of wget (v1.12) which comes from the MinGW package manager is so out of date that it does not support TLSv1.2. This has started causing some dependency downloads to fail where TLSv1.2 is now the only supported secure channel. Added a step to upgrade to wget v1.19.1 which uses OpenSSL 1.1.0e and supports TLSv1.2 connections. * Use minimal base PATH when building dependencies This is because the default PATH value on Windows may have paths that cause conflicts. Specifically after installing Visual Studio 2017 with the R Python plugin, Anaconda3 was installed and included in the PATH which causes Qt builds to fail. * Add ability to specify --enable-debug when building bitcoin * Add helper scripts for performing full clean of bitcoin Does not clean dependencies. * Update miniupnpc dependency to v2.0.20170509 This is for CVE-2017-8798, merged in as part of 5d61cd4 Also updates documentation for building on native windows. * Update file downloads to verify file hash Configuration will error out if the sha256 checksums do not match. * Correct URL & checksum for wget Updated to match changes on download website. Using the same version 1.19.1, 32-bit.
effectsToCause
added a commit
to vericoin/vericoin
that referenced
this pull request
Jun 22, 2018
Fix for incorrect minimum proof of stake difficulty calculation
attilaaf
pushed a commit
to attilaaf/bitcoin
that referenced
this pull request
Jan 13, 2020
…itcoin#85) Feature/CORE-70 Mempool Journal Construction Approved-by: Arkadiusz Kolodziejski <a.kolodziejski@nchain.com>
rajarshimaitra
pushed a commit
to rajarshimaitra/bitcoin
that referenced
this pull request
Aug 5, 2021
line 58: originally: "This mechanism would allow two users to engage into several smaller transactions..." corrected: "This mechanism would allow two users to engage in several smaller transactions..."
This pull request was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Patch from luke-jr