diff --git a/README b/README deleted file mode 100644 index 42061c01a..000000000 --- a/README +++ /dev/null @@ -1 +0,0 @@ -README.md \ No newline at end of file diff --git a/README.md b/README.md index 2e6c31bf7..bf6d2d670 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,60 @@ -DogeCoin [DOGE] +# DogeCoin [DOGE, Ð] +http://dogecoin.com/ +![Dogecoin](http://static.tumblr.com/ppdj5y9/Ae9mxmxtp/300coin.png) + +## What is Dogecoin? - Such coin +Dogecoin is like Bitcoin, but based on Litecoin, and also much more wow. +http://dogecoin.com/ + +## License - Much license +Dogecoin is released under the terms of the MIT license. See [COPYING](COPYING) +for more information or see http://opensource.org/licenses/MIT. + +## Development and contributions - omg developers +Developers work in their own trees, then submit pull requests when they think +their feature or bug fix is ready. + +## Very Much Frequently Asked Questions + +### How much doge can exist? +Total of 100,000,000,000 much coins + +### How get doge? Scrypt Proof of Work -RPC 22555 - -P2P 22556 - 1 Minute Block Targets, 4 Hour Diff Readjustments -Total of 100,000,000,000 coins. - Special reward system: Random block rewards -1-100,000: 0-1,000,000 DogeCoin Reward +1-100,000: 0-1,000,000 DogeCoin Reward -100,001 — 200,000: 0-500,000 DogeCoin Reward +100,001 — 200,000: 0-500,000 DogeCoin Reward -200,001 — 300,000: 0-250,000 DogeCoin Reward +200,001 — 300,000: 0-250,000 DogeCoin Reward -300,001 — 400,000: 0-125,000 DogeCoin Reward +300,001 — 400,000: 0-125,000 DogeCoin Reward -400,001 — 500,000: 0-62,500 DogeCoin Reward +400,001 — 500,000: 0-62,500 DogeCoin Reward 500,001 - 600,000: 0-31,250 DogeCoin Reward 600,000+ — 10,000 Reward (flat) +### Wow plz make dogecoind + + sudo apt-get install build-essential \ + libssl-dev \ + libdb5.1++-dev \ + libboost-all-dev \ + libqrencode-dev \ + libminiupnpc-dev + + cd src/ + make -f makefile.unix USE_UPNP=1 USE_IPV6=1 USE_QRCODE=1 + +### Such ports +RPC 22555 +P2P 22556 + ![](http://dogesay.com/wow//////such/coin) diff --git a/doc/build-unix.txt b/doc/build-unix.txt index 2f84827ce..8eb8f21aa 100644 --- a/doc/build-unix.txt +++ b/doc/build-unix.txt @@ -1,5 +1,6 @@ Copyright (c) 2009-2012 Bitcoin Developers Copyright (c) 2011-2012 Litecoin Developers +Copyright (c) 2013 Dogecoin Developers Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in @@ -15,21 +16,30 @@ To Build -------- cd src/ -make -f makefile.unix # Headless litecoin +make -f makefile.unix # Headless dogecoind -See readme-qt.rst for instructions on building Litecoin-Qt, +See readme-qt.rst for instructions on building Dogecoin-Qt, the graphical user interface. -Dependencies ------------- +Build Instructions Ubuntu (13.04 Raring) +---------------------------------------- - Library Purpose Description - ------- ------- ----------- - libssl SSL Support Secure communications - libdb4.8 Berkeley DB Blockchain & wallet storage - libboost Boost C++ Library - miniupnpc UPnP Support Optional firewall-jumping support - libqrencode QRCode generation Optional QRCode generation + sudo apt-get install build-essential \ + libssl-dev \ + libdb5.1++-dev \ + libboost-all-dev \ + libqrencode-dev \ + libminiupnpc-dev + + cd src/ + make -f makefile.unix USE_UPNP=1 USE_IPV6=1 USE_QRCODE=1 + +Unless you're debugging, strip debug symbols + + strip dogecoind + +Options +------- miniupnpc may be used for UPnP port mapping. It can be downloaded from http://miniupnp.tuxfamily.org/files/. UPnP support is compiled in and @@ -47,110 +57,63 @@ your package manager. Set USE_QRCODE to control this: IPv6 support may be enabled by setting USE_IPV6=1 Enable IPv6 support -Licenses of statically linked libraries: - Berkeley DB New BSD license with additional requirement that linked - software must be free open source - Boost MIT-like license - miniupnpc New (3-clause) BSD license +Dependencies +------------ -Versions used in this release: - GCC 4.3.3 - OpenSSL 0.9.8g - Berkeley DB 4.8.30.NC - Boost 1.37 - miniupnpc 1.6 - -Dependency Build Instructions: Ubuntu & Debian ----------------------------------------------- -sudo apt-get install build-essential -sudo apt-get install libssl-dev -sudo apt-get install libdb4.8-dev -sudo apt-get install libdb4.8++-dev - Boost 1.40+: sudo apt-get install libboost-all-dev - or Boost 1.37: sudo apt-get install libboost1.37-dev -sudo apt-get install libqrencode-dev - -If using Boost 1.37, append -mt to the boost libraries in the makefile. - - -Dependency Build Instructions: Gentoo -------------------------------------- - -emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 - -Take the following steps to build (no UPnP support): - cd ${LITECOIN_DIR}/src - make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8' - strip litecoind - - -Notes ------ -The release is built with GCC and then "strip litecoind" to strip the debug -symbols, which reduces the executable size by about 90%. - - -miniupnpc ---------- -tar -xzvf miniupnpc-1.6.tar.gz -cd miniupnpc-1.6 -make -sudo su -make install - - -Berkeley DB ------------ -You need Berkeley DB 4.8. If you have to build Berkeley DB yourself: -../dist/configure --enable-cxx -make - - -Boost ------ -If you need to build Boost yourself: -sudo su -./bootstrap.sh -./bjam install + Library Version Purpose Description + ------- ------- ------- ----------- + libssl 1.0.1c SSL Support Secure communications + libdb 5.1.29 Berkeley DB Blockchain & wallet storage + libboost 1.49.0.1 Boost C++ Library + miniupnpc 1.6.3 UPnP Support Optional firewall-jumping support + libqrencode 3.4.1 QRCode generation Optional QRCode generation + gcc 4:4.7.3 + See licenses.txt for license details Security -------- -To help make your litecoin installation more secure by making certain attacks impossible to -exploit even if a vulnerability is found, you can take the following measures: +To help make your dogecoin installation more secure by making certain attacks +impossible to exploit even if a vulnerability is found, you can take the +following measures: * Position Independent Executable - Build position independent code to take advantage of Address Space Layout Randomization - offered by some kernels. An attacker who is able to cause execution of code at an arbitrary - memory location is thwarted if he doesn't know where anything useful is located. - The stack and heap are randomly located by default but this allows the code section to be - randomly located as well. + Build position independent code to take advantage of Address Space Layout + Randomization offered by some kernels. An attacker who is able to cause + execution of code at an arbitrary memory location is thwarted if he doesn't + know where anything useful is located. The stack and heap are randomly + located by default but this allows the code section to be randomly located + as well. - On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error - such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;" + On an Amd64 processor where a library was not compiled with -fPIC, this + will cause an error such as: "relocation R_X86_64_32 against `......' can + not be used when making a shared object;" To build with PIE, use: make -f makefile.unix ... -e PIE=1 - To test that you have built PIE executable, install scanelf, part of paxutils, and use: - scanelf -e ./litecoin + To test that you have built PIE executable, install scanelf, part of + paxutils, and use: + scanelf -e ./dogecoind The output should contain: TYPE ET_DYN * Non-executable Stack - If the stack is executable then trivial stack based buffer overflow exploits are possible if - vulnerable buffers are found. By default, litecoin should be built with a non-executable stack - but if one of the libraries it uses asks for an executable stack or someone makes a mistake - and uses a compiler extension which requires an executable stack, it will silently build an - executable without the non-executable stack protection. + If the stack is executable then trivial stack based buffer overflow + exploits are possible if vulnerable buffers are found. By default, + dogecoind should be built with a non-executable stack but if one of the + libraries it uses asks for an executable stack or someone makes a mistake + and uses a compiler extension which requires an executable stack, it will + silently build an executable without the non-executable stack protection. To verify that the stack is non-executable after compiling use: - scanelf -e ./litecoin + scanelf -e ./dogecoind the output should contain: STK/REL/PTL RW- R-- RW- - The STK RW- means that the stack is readable and writeable but not executable. + The STK RW- means that the stack is readable and writeable but not + executable. diff --git a/doc/licenses.txt b/doc/licenses.txt new file mode 100644 index 000000000..f894af784 --- /dev/null +++ b/doc/licenses.txt @@ -0,0 +1,6 @@ +Licenses of statically linked libraries: +---------------------------------------- + Berkeley DB New BSD license with additional requirement that linked + software must be free open source + Boost MIT-like license + miniupnpc New (3-clause) BSD license diff --git a/src/init.cpp b/src/init.cpp index b358734f4..45bf9f7ff 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -415,7 +415,7 @@ bool AppInit2() { if (!ParseMoney(mapArgs["-paytxfee"], nTransactionFee)) return InitError(strprintf(_("Invalid amount for -paytxfee=: '%s'"), mapArgs["-paytxfee"].c_str())); - if (nTransactionFee > 0.25 * COIN) + if (nTransactionFee > 25.0 * COIN) InitWarning(_("Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.")); } diff --git a/src/main.cpp b/src/main.cpp index b8a61cce3..bd66a4523 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -61,7 +61,7 @@ int64 nHPSTimerStart; // Settings int64 nTransactionFee = 0; -int64 nMinimumInputValue = CENT / 100; +int64 nMinimumInputValue = CENT; diff --git a/src/main.h b/src/main.h index c5777c615..eaa807b90 100644 --- a/src/main.h +++ b/src/main.h @@ -31,9 +31,9 @@ static const unsigned int MAX_BLOCK_SIZE = 1000000; static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2; static const unsigned int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50; static const unsigned int MAX_ORPHAN_TRANSACTIONS = MAX_BLOCK_SIZE/100; -static const int64 MIN_TX_FEE = 10000; +static const int64 MIN_TX_FEE = 100000000; static const int64 MIN_RELAY_TX_FEE = MIN_TX_FEE; -static const int64 MAX_MONEY = 500000000 * COIN; // DogeCoin: maximum of 100B coins (given some randomness), max transaction 500,000,000 for now +static const int64 MAX_MONEY = 10000000000 * COIN; // DogeCoin: maximum of 100B coins (given some randomness), max transaction 10,000,000,000 for now inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } static const int COINBASE_MATURITY = 30; // Threshold for nLockTime: below this value it is interpreted as block number, otherwise as UNIX timestamp. @@ -540,7 +540,7 @@ public: { // Large (in bytes) low-priority (new, small-coin) transactions // need a fee. - return dPriority > COIN * 1440 / 250; // DogeCoin: 1440 blocks found a day. Priority cutoff is 1 dogecoin day / 250 bytes. + return dPriority > 100 * COIN * 1440 / 250; // DogeCoin: 1440 blocks found a day. Priority cutoff is 100 dogecoin day / 250 bytes. } int64 GetMinFee(unsigned int nBlockSize=1, bool fAllowFree=true, enum GetMinFee_mode mode=GMF_BLOCK) const @@ -571,7 +571,7 @@ public: // To limit dust spam, add MIN_TX_FEE/MIN_RELAY_TX_FEE for any output that is less than 0.01 BOOST_FOREACH(const CTxOut& txout, vout) - if (txout.nValue < CENT) + if (txout.nValue < COIN) nMinFee += nBaseFee; // Raise the price as the block approaches full diff --git a/src/qt/res/images/wallet_bgcoin.png b/src/qt/res/images/wallet_bgcoin.png index a60aca2ee..88a053186 100644 Binary files a/src/qt/res/images/wallet_bgcoin.png and b/src/qt/res/images/wallet_bgcoin.png differ diff --git a/src/util.cpp b/src/util.cpp index 43ed00d13..ef474b837 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1207,7 +1207,7 @@ void AddTimeData(const CNetAddr& ip, int64 nTime) if (!fMatch) { fDone = true; - string strMessage = _("Warning: Please check that your computer's date and time are correct. If your clock is wrong Linkcoin will not work properly."); + string strMessage = _("Warning: Please check that your computer's date and time are correct. If your clock is wrong DogeCoin will not work properly."); strMiscWarning = strMessage; printf("*** %s\n", strMessage.c_str()); uiInterface.ThreadSafeMessageBox(strMessage+" ", string("DogeCoin"), CClientUIInterface::OK | CClientUIInterface::ICON_EXCLAMATION); diff --git a/src/wallet.cpp b/src/wallet.cpp index f828261fe..f710d8321 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1125,7 +1125,7 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW // if sub-cent change is required, the fee must be raised to at least MIN_TX_FEE // or until nChange becomes zero // NOTE: this depends on the exact behaviour of GetMinFee - if (nFeeRet < MIN_TX_FEE && nChange > 0 && nChange < CENT) + if (nFeeRet < MIN_TX_FEE && nChange > 0 && nChange < COIN) { int64 nMoveToFee = min(nChange, MIN_TX_FEE - nFeeRet); nChange -= nMoveToFee;