Skip to content

Commit

Permalink
Merge branch '1.8-dev'
Browse files Browse the repository at this point in the history
Conflicts:
	configure.ac
	contrib/gitian-descriptors/deps-linux.yml
	contrib/gitian-descriptors/deps-win.yml
	contrib/gitian-descriptors/gitian-linux.yml
	contrib/gitian-descriptors/gitian-win.yml
	contrib/gitian-descriptors/qt-win.yml
	doc/release-process.md
	src/clientversion.h
  • Loading branch information
langerhans committed Aug 24, 2014
2 parents e362de3 + 4642b01 commit 6522864
Show file tree
Hide file tree
Showing 395 changed files with 30,368 additions and 70,991 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ src/qt/test/moc*.cpp
*.rej
*.orig
*.o
*.o-*
*.patch
.dogecoin
*.a
Expand Down
6 changes: 5 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ before_install:
- sudo apt-get update -qq
- sudo apt-get install build-essential libtool autotools-dev autoconf libssl-dev pkg-config ccache
- sudo apt-get install libboost1.48-dev libboost-chrono1.48-dev libboost-filesystem1.48-dev libboost-program-options1.48-dev libboost-system1.48-dev libboost-test1.48-dev libboost-thread1.48-dev
- sudo apt-get install libdb++-dev
- sudo apt-get install libdb++-dev bc dc
- sudo apt-get install libqt4-dev
- sudo apt-get install libprotobuf-dev protobuf-compiler
- mkdir $HOME/.ccache
Expand All @@ -17,6 +17,10 @@ script:
- CFLAGS="-O1" CXXFLAGS="-O1" ./configure
- make -j 2
- make check
- qa/rpc-tests/conflictedbalance.sh src
- qa/rpc-tests/txnmall.sh src
- qa/rpc-tests/wallet.sh src
- qa/rpc-tests/walletbackup.sh src
- make clean
- CFLAGS="-O1" CXXFLAGS="-O1" ./configure --disable-wallet
- make -j 2
Expand Down
7 changes: 7 additions & 0 deletions .tx/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[main]
host = https://www.transifex.com

[bitcoin.tx]
file_filter = src/qt/locale/bitcoin_<lang>.ts
source_file = src/qt/locale/bitcoin_en.ts
source_lang = en
1 change: 1 addition & 0 deletions COPYING
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Copyright (c) 2009-2013 Bitcoin Developers
Copyright (c) 2013-2014 Dogecoin Developers

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
6 changes: 3 additions & 3 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Building Bitcoin
Building Dogecoin

See doc/build-*.md for instructions on building bitcoind,
See doc/build-*.md for instructions on building dogecoind,
the intended-for-services, no-graphical-interface, reference
implementation of Bitcoin.
implementation of Dogecoin.
31 changes: 21 additions & 10 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
$(top_srcdir)/doc/README_windows.txt

OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \
$(top_srcdir)/contrib/macdeploy/background.png
$(top_srcdir)/contrib/macdeploy/background.png \
$(top_srcdir)/contrib/macdeploy/DS_Store

COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \
leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \
Expand All @@ -46,9 +47,9 @@ distcleancheck:

$(BITCOIN_WIN_INSTALLER): $(BITCOIND_BIN) $(BITCOIN_QT_BIN) $(BITCOIN_CLI_BIN)
$(MKDIR_P) $(top_builddir)/release
$(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release
$(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release
$(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release
@test -f $(MAKENSIS) && $(MAKENSIS) $(top_builddir)/share/setup.nsi || \
echo error: could not build $@

Expand All @@ -65,23 +66,33 @@ $(OSX_APP)/Contents/Resources/empty.lproj:

$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST)
$(MKDIR_P) $(@D)
$(INSTALL) $< $@
$(INSTALL_DATA) $< $@

$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS)
$(MKDIR_P) $(@D)
$(INSTALL) $< $@
$(INSTALL_DATA) $< $@

$(OSX_APP)/Contents/MacOS/Dogecoin-Qt: $(BITCOIN_QT_BIN)
$(MKDIR_P) $(@D)
$(INSTALL_STRIP_PROGRAM) $< $@
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@

OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
$(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \
$(OSX_APP)/Contents/MacOS/Dogecoin-Qt

if BUILD_DARWIN
$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
$(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2

else
$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2
$(MKDIR_P) dist/.background
$(INSTALL) contrib/macdeploy/background.png dist/.background
$(INSTALL) contrib/macdeploy/DS_Store dist/.DS_Store
cd dist; $(LN_S) /Applications Applications
$(GENISOIMAGE) -no-cache-inodes -l -probe -V "Dogecoin-Qt" -no-pad -r -apple -o $@ dist
endif

if TARGET_DARWIN
appbundle: $(OSX_APP_BUILT)
Expand Down Expand Up @@ -158,11 +169,11 @@ check-local:
@qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS)
endif

EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/pull-tester.sh $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING)
EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/pull-tester.sh qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING)

CLEANFILES = $(OSX_DMG) $(OSX_APP) $(BITCOIN_WIN_INSTALLER)
CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER)

.INTERMEDIATE: $(COVERAGE_INFO)

clean-local:
rm -rf test_bitcoin.coverage/ total.coverage/
rm -rf test_bitcoin.coverage/ total.coverage/ $(OSX_APP)
61 changes: 60 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

![Dogecoin](http://static.tumblr.com/ppdj5y9/Ae9mxmxtp/300coin.png)

[![Build Status](https://travis-ci.org/dogecoin/dogecoin.svg?branch=1.7-dev)](https://travis-ci.org/dogecoin/dogecoin)
[![Build Status](https://travis-ci.org/dogecoin/dogecoin.svg?branch=1.7-dev)](https://travis-ci.org/dogecoin/dogecoin) [![tip for next commit](https://tip4commit.com/projects/702.svg)](https://tip4commit.com/github/dogecoin/dogecoin)

## What is Dogecoin? – Such coin
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.
Expand All @@ -17,6 +17,18 @@ for more information or see http://opensource.org/licenses/MIT.
## Development and contributions – omg developers
Development is ongoing and the development team as well as other volunteers can freely work in their own trees and submit pull requests when features or bug fixes are ready.

#### Version strategy
Version numbers are following ```major.minor.patch``` semantics.

#### Branches
There are 3 types of branches in this repository:

- **master:** Stable, contains the latest version of the latest *major.minor* release.
- **maintenance:** Stable, contains the latest version of previous releases, which are still under active maintenance. Format: ```<version>-maint```
- **development:** Unstable, contains new code for planned releases. Format: ```<version>-dev```

*Master and maintenance branches are exclusively mutable by release. Planned releases will always have a development branch and pull requests should be submitted against those. Maintenance branches are there for* ***bug fixes only,*** *please submit new features against the development branch with the highest version.*

## Very Much Frequently Asked Questions

### How much doge can exist? – So many puppies!
Expand Down Expand Up @@ -75,3 +87,50 @@ RPC 22555
P2P 22556

![](http://dogesay.com/wow//////such/coin)

Translations
------------

Changes to translations as well as new translations can be submitted to
[Bitcoin Core's Transifex page](https://www.transifex.com/projects/p/bitcoin/).

Periodically the translations are pulled from Transifex and merged into the git repository. See the
[translation process](doc/translation_process.md) for details on how this works.

If the changes are Dogecoin specific, they can be submitted as pull request against this repository.
If it is a general translation, consider submitting it through upstream, as we will pull these changes later on.

Development tips and tricks
---------------------------

**compiling for debugging**

Run configure with the --enable-debug option, then make. Or run configure with
CXXFLAGS="-g -ggdb -O0" or whatever debug flags you need.

**debug.log**

If the code is behaving strangely, take a look in the debug.log file in the data directory;
error and debugging message are written there.

The -debug=... command-line option controls debugging; running with just -debug will turn
on all categories (and give you a very large debug.log file).

The Qt code routes qDebug() output to debug.log under category "qt": run with -debug=qt
to see it.

**testnet and regtest modes**

Run with the -testnet option to run with "play dogecoins" on the test network, if you
are testing multi-machine code that needs to operate across the internet.

If you are testing something that can run on one machine, run with the -regtest option.
In regression test mode blocks can be created on-demand; see qa/rpc-tests/ for tests
that run in -regest mode.

**DEBUG_LOCKORDER**

Dogecoin Core is a multithreaded application, and deadlocks or other multithreading bugs
can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure
CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of what locks
are held, and adds warning to the debug.log file if inconsistencies are detected.
99 changes: 99 additions & 0 deletions RELEASE_NOTES_1_8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Dogecoin Core 1.8
===================

Dogecoin Core 1.8 introduces AuxPoW from block 371,337. AuxPoW is a technology
which enables miners to submit work done while mining other coins, as work
on the Dogecoin block chain. Dogecoin Core 1.8 also enables payment protocol
support for Dogecoin (note that Dogecoin's implementation of payment protocol is
not compatible with Bitcoin's protocol). Lastly, 1.8 also includes all fixes
from Bitcoin Core 0.9.2, whose release notes you can read at
https://bitcoin.org/en/release/v0.9.2 (this is a summary, and the release includes
around 150 bugfixes from Bitcoin Core).

Note that all users MUST upgrade to 1.8. If you're unable to update before the
switchover block (371,337, expected around 12 September 2014), you MUST update
as soon as possible afterwards in order to be able to continue to use Dogecoin.
Users remaining on the previous client **will not** be able to receive or spend
Dogecoin (with the exception of with other nodes who have not upgraded).

## Upgrading

Before upgrading, back up your wallet.dat file just in case of any problems; you
can back up the wallet.dat file by using the "Backup Wallet" option from the "File"
menu. Ensure your existing wallet software is closed before upgrading.

Note that a full reindex is required as part of the upgrade to 1.8, and this
will typically take around an hour to complete. If you are running the Qt client
you will be prompted to reindex when first running the software, while if you
use "dogecoind" you must run it the first time with the "-reindex" command line
option.

To ensure a smooth switchover to AuxPoW, 1.8 has safe mode disabled 1 hour before
until 24 hours after the switch block. This ensures the actually legit fork will not
trigger safe mode and halt mining. If you don't want to have this behavior, then
refer to the 1.8-safemode branch. This one doesn't include the patch to disable safe mode.

## Downgrading

As 1.8 includes a substantial change to the mining protocol, downgrading to previous
clients is not possible.

## AuxPoW

AuxPoW is enabled from block 371,337. Until that block the RPC commands for using AuxPoW
will not function, and AuxPoW blocks will be rejected.

AuxPoW benefits Dogecoin in two ways; firstly, the effective hashrate of the coin is
increased by these additional miners, making it harder to perform a 51% attack against
the coin, and secondly it reduces conflict for resources (Scrypt miners), demotivating
multipools from switching between Dogecoin and other Scrypt coins.

AuxPoW blocks are mined using the "getauxblock" and "getworkaux" RPC commands. Support
for AuxPoW mining is included in Powerpool ( https://github.com/simplecrypto/powerpool/ )
and p2pool ( http://p2pool.in/ ).

In comparison to the AuxPoW implementation in United Scrypt Coin, Dogecoin uses a
different coinbase transaction input script format which includes block height in
compliance with BIP0034.

## Payment Protocol

Dogecoin Core 1.8 adds payment protocol support, which is used to streamline payments
being made to merchants.

This protocol is defined in DIP0070-DIP0072, based on the BIP standards with the same
assigned numbers. DIP standards can be found at https://github.com/dogecoin/dips/ .
The key differencs between the Bitcoin and Dogecoin payment protocols are that
the Dogecoin payment request uses a "genesis" field containing the hash of the network's
genesis block to identify networks instead of the "network" field. Further, MIME types
for the request, payment and response are modified to identify the files as distinct
types from the Bitcoin files.

## Transaction Fees

As of 1.8 all transactions have fees applied by defaults, with no exemptions made for
"old" coins. This ensures fees are consistent, while remaining extremely competitive
(typically 1 Doge, or around $0.00012 per transaction).

## RPC Allow IP

The format of IP masks supplied to the "rpcallowip" command line option has changed.
It no longer accepts subnets like '192.168.*.*', and the format '192.168/16" should
be used instead.

## Other Changes

The Chinese and Korean translations have been updated.

Protocol version has been updated to 70003, meaning that a later release of the client
can block access to all old clients (70002 and below).

In case of an error reading the block database from disk, the database cursor could be
left open, which caused an assertion error later. The database cursor is now correctly
disposed of in all cases.

Tweaked trigger conditions for safe mode to take into account the much faster block time
of Dogecoin compared to Bitcoin. This should lead to less false positives.

A problem in parsing mangled dogecoin: URIs under Windows has been resolved, and as
part of this work network detection for dogecoin: URIs is now more robust.
Loading

0 comments on commit 6522864

Please sign in to comment.