Dash - Reinventing Cryptocurrency
Go to file
Tim Flynn de7b2b6c51 Merge #944: V0.12.1.x governance pr - part 1 - base functionality
068c178 Added DBG macro in util.h to facilitate debugging

    - This macro allows debugging statements (typically printf's or cout's) to
      be activated or deactivated with a single comment.  Uncomment the line:
      //#define ENABLE_DASH_DEBUG
      in util.h to enable debugging statements.

    - When commented any code wrapped with the DBG() macro will simply be removed
      by the preprocessor.  When not commented all such wrapped statements will
      be present.

    - For maximum effectiveness it is best that util.h be the first effective include
      in all source files.  It is also possible to enable the macro for a single file
      by temporarily adding #define ENABLE_DASH_DEBUG to the top of the file.

    - Code committed to non-development branches should always have the define
      commented.

d125d9b V0.12.1.x -- merging trigger/generic object/superblock changes for testnet phase II

    - This commit contains the core governance system changes for 0.12.1.  Any unrelated
      changes have either been removed or moved to separate commits.

120724c File mode fixes

    - Changed mode 0755->0644 on several source files.

c7f9e11 Updated todo reminders

    - Added reminder to revert temporary reduction of number of votes
      required to trigger superblock to 1 for testing

92adc98 Made CSuperblockManager::IsValidSuperblockHeight an inline function

    - This is for efficiency since this function is called often and is
      only 1 line of code.

c050ed7 Added comment explaining rationale for no LOCK(cs) in CSuperblock::IsValid

dc933fe Removed unused CSuperblockManager::IsBlockValid function

decec88 Moved calls to SuperblockManager::IsValidSuperblockHeight into IsSuperblockTriggered.

    - Since calls to the later function are always protected by the former there's
      no reason to keep these separate and this simplifies the code in
      masternode-payments.cpp.

8672885 Reestablished expected value check for non-superblocks in IsBlockValueValid

b01cbe0 Changes to IsBlockValueValid to fix rpc test failure

a937c76 Changed include order to allow per file activation of the DBG macro

d116aa5 Fixed IsValidSuperblockHeight logic

    - Note this has an effect on testing because we can now only create
      1 superblock per day.  Devs may need to temporarily change testnet params
      for easier testing.

2d0c2de Convert superblock payments to CAmount

    - We assume that payment values in JSON are in units of DASH
      for consistency with other RPC functions, such as
      createrawtransaction.

376b833 Revert temporary testing value for nAbsVoteReq

    - Also ensure that number of votes required is never smaller than 1

8c89f4b Cleaned up CSuperblock error handling

    - Exceptions are now thrown consistently rather than using a mix of
      exceptions and return code checking.  Exceptions are now caught only
      in AddNewTrigger when the CSuperblock constructor is called.  Unnecessary object
      status members have been removed.

d7c8a6b Removed utilstrencodings header

    - This appears to help with travis tests, for unknown reasons.

c4dfc7a Fixed some minor code review issues

63c3580 Reverted locking change in miner.

    - This should have been done in the original PR but was overlooked.

4ab72de Fixed variable name to match common practice and bracket formatting

886a678 Improvements to vote conversion code

    - Replaced redundantly defined function with inclusion of governance-vote.h

    - Replaced magic numbers with their corresponding constant symbols

0a37966 Reordered governance message handling
2016-08-17 09:08:25 +02:00
.tx Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
build-aux/m4 merged and fixed messages 2016-03-03 06:55:32 -07:00
contrib Merge pull request #905 from UdjinM6/dashcoreDatadir 2016-08-08 12:42:35 -07:00
dash-docs add protocol docs 2016-04-19 14:44:47 -07:00
depends Merge remote-tracking branch 'bitpay/0.12.1-bitcore' into dashBitcore1 2016-07-19 08:49:28 +03:00
doc Merge pull request #905 from UdjinM6/dashcoreDatadir 2016-08-08 12:42:35 -07:00
qa Merge pull request #914 from UdjinM6/dashBitcore1 2016-08-08 12:53:34 -07:00
share change default datadir to DashCore(Win,Mac)/.dashcore(Linux) as discussed in #898 2016-07-06 23:26:21 +03:00
src Merge #944: V0.12.1.x governance pr - part 1 - base functionality 2016-08-17 09:08:25 +02:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore update gitignore 2016-04-16 17:29:41 -07:00
.travis.yml Update .travis.yml to use travis's container based with public cache directories 2016-03-17 13:47:25 +01:00
autogen.sh Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems 2014-10-03 23:45:26 +00:00
configure.ac build: Remove unnecessary executables from gitian release 2016-06-20 12:52:05 +02:00
CONTRIBUTING.md more bitcoin -> dash 2016-03-06 18:21:29 +01:00
COPYING Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
INSTALL Merge #921: Fix project name Dash -> Dash Core 2016-07-29 07:30:19 +02:00
libbitcoinconsensus.pc.in libbitcoinconsensus: Add pkg-config support 2014-11-20 21:23:34 +00:00
Makefile.am Merge remote-tracking branch 'bitcoin/0.12' into HEAD 2016-02-06 16:48:04 +03:00
README.md Merge #896: Enable PPA builds 2016-06-30 19:21:00 +02:00

Dash Core staging tree 0.12.1

master: Build Status v0.12.0.x: Build Status v0.12.1.x: Build Status

https://www.dash.org

What is Dash?

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

For more information, as well as an immediately useable, binary version of the Dash Core software, see https://www.dash.org/downloads.

License

Dash 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 meant to be stable. Development is normally done in separate branches. Tags are created to indicate new official, stable release versions of Dash Core.

The contribution workflow is described in CONTRIBUTING.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

There are also regression and integration tests of the RPC interface, written in Python, that are run automatically on the build server. These tests can be run with: qa/pull-tester/rpc-tests.py

The Travis CI system makes sure that every pull request is built for Windows and Linux, OSX, and that unit and sanity tests are automatically run.

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 Dash 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.

Translators should also follow the forum.