Skip to content
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

Address indexed, based on v0.9.1ish #1

Closed
wants to merge 247 commits into from

Conversation

dexX7
Copy link

@dexX7 dexX7 commented May 4, 2014

Based on bitcoin#2802 and bitcoin@ab4bd3b, see history for additional changes.

Philip Kaufmann and others added 30 commits February 16, 2014 18:44
A slight improvement over 2d2d8fa -- we don't know that it's the daemon, it could be the GUI.
Now that AddToWallet is called when loading transactions from the
wallet database, BindWallet can be integrated into that and does not
need to be an extra step.

Leaves behaviour unchanged, but makes the
fFromLoadWallet/!fFromLoadWallet paths in AddToWallet a bit more
symmetric.
Forces the block reward to zero when right shift in GetBlockValue() is
undefined, after 64 reward halvings (block height 13,440,000).
Currently only the name of the option is shown for GUI options
overridden by command line (or configuration file). This commit
adds the value of the options as well, which is useful for
troubleshooting.
…ents history

based on whether any entry is selected.
caee92d qt: Enable and disable the Show and Remove buttons for requested payments history based on whether any entry is selected. (Haakon Nilsen)
b40bdd6 qt: Show also value for options overridden on command line (Wladimir J. van der Laan)
0fde3bb [Qt] Fill in label from address book also for URIs (Cozz Lovan)
- Add license headers to source files (years based on commit dates)
  in `src/test` as well as `qa`
- Add `README.md` to `src/test/data` specifying MIT license

Fixes bitcoin#3848
74f66a5 Fixed compile error on Debian jessie (gcc version 4.8.2 (Debian 4.8.2-16)) (Meeh)
Autotools defaults to a depth-first recursion which causes the qt tests
to be built before the executables and libraries.

This is inconvenient as make needs to be called twice to make sure the
tests are up to date after changing a source file.

Update the Makefile.am to change this order.
These come from the enironment, which will be properly setup by Make with
the paths gleaned from configure.
Also don't crash if plugins are static.
For qt5.2 on osx, the qcocoa plugin is mandatory. However, it fails to load
when qt.conf specifies the "plugin" path instead of the expected "Plugin". This
is in line with the documentation:
https://qt-project.org/doc/qt-5.0/qtdoc/qt-conf.html

I'm not sure how the plugins were loading before, unless the case-sensitivity
for OSX is new.
…ools

This should be safe to do for native builds too, but for now it's
specific to cross-builds to avoid possible regressions.
01e5327 build: hook up "make deploy" for cross osx builds (Cory Fields)
c4a10db build: ensure the correct strip is used for osx/win32 (Cory Fields)
b62bbb1 build: if cross-compiling for an apple host, locate some additional tools (Cory Fields)
0f21d39 build: fix qt.conf case-sensitivity in the deployed dmg (Cory Fields)
275d6a3 build: allow correct tools to be used for dmg creation. (Cory Fields)
laanwj and others added 26 commits May 2, 2014 21:31
2364b11 reorder includes to compile on OpenBSD (Fabian Raetz)
> listalltransactions "address" ( verbose skip count )

Returns array of all transactions associated with address.

Arguments:
1. address (string, required) The Bitcoin address
2. verbose (numeric, optional, default=0) If 0, return only transaction
hex
3. skip (numeric, optional, default=0) The number of transactions to
skip
4. count (numeric, optional, default=100) The number of transactions to
return
> listallunspent "address" ( verbose minconf maxconf maxreqsigs )

Returns array of unspent transaction outputs
with between minconf and maxconf (inclusive) confirmations
spendable by the provided address whereby maximal maxreqsigs
signatures are required to redeem the output.

Arguments:
1. address (string, required) The Bitcoin address
2. verbose (numeric, optional, default=0) If 0, exclude reqSigs,
addresses, scriptPubKey (asm, hex), blockhash, blocktime, blockheight
3. minconf (numeric, optional, default=1) The minimum confirmations to
filter
4. maxconf (numeric, optional, default=9999999) The maximum
confirmations to filter
5. maxreqsigs (numeric, optional, default=1) The number of signatures
required to spend the output
> getallbalance "address" ( minconf maxreqsigs )

Returns the sum of spendable transaction outputs by address
with at least minconf confirmations whereby maximal maxreqsigs
signatures are allowed to be required to redeem an output.

Arguments:
1. address (string, required) The Bitcoin address
2. minconf (numeric, optional, default=1) The minimum confirmations to
filter
3. maxreqsigs (numeric, optional, default=1) The number of signatures
required to spend an output
Redundant! There is already "blocktime"
This is the position/index of a transaction within a block
Essential for enabling address index
Fixes "too many open files" error
Prints the actual version of BerkeleyDB that is linked against, if
wallet support is enabled.

Useful for troubleshooting.

For example:

    2014-05-01 07:44:02 Using BerkeleyDB version Berkeley DB 4.8.30: (April 9, 2010)

    2014-05-01 07:54:25 Using BerkeleyDB version Berkeley DB 5.1.29: (October 25, 20 11)
- People were having problems with the .so when installing in
  alternative locations.
  Like gitian, build a static library with -fPIC that can
  be embedded into the executables.

- Add some missing steps

- Add reminder that BerkeleyDB is only needed when wallet support is
  enabled
Syntax Highlighting
From getifaddr(3) manual:
"If both <net/if.h> and <ifaddrs.h> are being
included, <net/if.h> must be included before <ifaddrs.h>"

http://www.openbsd.org/cgi-bin/man.cgi?query=getifaddrs&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
> listalltransactions "address" ( verbose skip count )

Returns array of all transactions associated with address.

Arguments:
1. address (string, required) The Bitcoin address
2. verbose (numeric, optional, default=0) If 0, return only transaction
hex
3. skip (numeric, optional, default=0) The number of transactions to
skip
4. count (numeric, optional, default=100) The number of transactions to
return
> listallunspent "address" ( verbose minconf maxconf maxreqsigs )

Returns array of unspent transaction outputs
with between minconf and maxconf (inclusive) confirmations
spendable by the provided address whereby maximal maxreqsigs
signatures are required to redeem the output.

Arguments:
1. address (string, required) The Bitcoin address
2. verbose (numeric, optional, default=0) If 0, exclude reqSigs,
addresses, scriptPubKey (asm, hex), blockhash, blocktime, blockheight
3. minconf (numeric, optional, default=1) The minimum confirmations to
filter
4. maxconf (numeric, optional, default=9999999) The maximum
confirmations to filter
5. maxreqsigs (numeric, optional, default=1) The number of signatures
required to spend the output
> getallbalance "address" ( minconf maxreqsigs )

Returns the sum of spendable transaction outputs by address
with at least minconf confirmations whereby maximal maxreqsigs
signatures are allowed to be required to redeem an output.

Arguments:
1. address (string, required) The Bitcoin address
2. minconf (numeric, optional, default=1) The minimum confirmations to
filter
3. maxreqsigs (numeric, optional, default=1) The number of signatures
required to spend an output
Redundant! There is already "blocktime"
This is the position/index of a transaction within a block
@dexX7 dexX7 closed this May 8, 2014
@dexX7 dexX7 deleted the v0.9.1ish-address-indexed branch May 8, 2014 10:58
jmcorgan pushed a commit that referenced this pull request Aug 28, 2017
c521b3a Merge bitcoin#11: fixup define checks. Cleans up some oopses from bitcoin#5.
8b1cd37 fixup define checks. Cleans up some oopses from bitcoin#5.
6b1508d Merge bitcoin#6: Fixes typo
fceb805 Merge bitcoin#10: Clean up compile-time warnings (gcc 7.1)
0ec2a34 Clean up compile-time warnings (gcc 7.1)
d4c268a Merge bitcoin#5: Move helper functions out of sse4.2 object
8d4eb08 Add HasAcceleratedCRC32C to port_win.h
77cfbfd25 crc32: move helper functions out of port_posix_sse.cc
4c1e9e0 silence compiler warnings about uninitialized variables
4953164 Merge bitcoin#2: Prefer std::atomic over MemoryBarrier
2953978 Fixes typo
f134284 Merge #1: Merge upstream LevelDB 1.20
ba8a445 Prefer std::atomic over MemoryBarrier

git-subtree-dir: src/leveldb
git-subtree-split: c521b3a
jmcorgan pushed a commit that referenced this pull request Feb 2, 2018
…tion

d31e5c1 Fix shutdown in case of errors during initialization (Wladimir J. van der Laan)

Pull request description:

  PR bitcoin#10286 introduced a few steps which are not robust to early shutdown in initialization.

  Stumbled upon this with bitcoin#11781, not sure if there are other scenarios that can trigger it, but it's good to harden against this in any case.

  E.g.
  ```
  $ src/bitcoind  -debuglogfile=/dfdf
  Error: Could not open debug log file /dfdf
  Program received signal SIGSEGV, Segmentation fault.
  UnregisterValidationInterface (pwalletIn=0x0) at /.../bitcoin/src/validationinterface.cpp:82
  82          g_signals.m_internals->BlockChecked.disconnect(boost::bind(&CValidationInterface::BlockChecked, pwalletIn, _1, _2));
  (gdb) bt
  #0  UnregisterValidationInterface (pwalletIn=0x0) at /.../bitcoin/src/validationinterface.cpp:82
  #1  0x00005555555a11fc in Shutdown () at /.../bitcoin/src/init.cpp:196
  bitcoin#2  0x00005555555961cc in AppInit (argc=<optimized out>, argv=<optimized out>) at /.../bitcoin/src/bitcoind.cpp:183
  bitcoin#3  0x0000555555596249 in main (argc=0, argv=0x555555ecf200) at /.../bitcoin/src/bitcoind.cpp:19
  ```

Tree-SHA512: 7dd9570a9803514a17781bfadf1edde47e96df4e852cce2f423cab422e005fb94d44e777af1a6ea5167b04a4d889e848ae7a61a7e0e94232247ddea32ee70fc8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet