Skip to content

Commit

Permalink
Changes for Litecoin.
Browse files Browse the repository at this point in the history
  • Loading branch information
coblee committed Oct 6, 2011
1 parent c1d557f commit 923b664
Show file tree
Hide file tree
Showing 32 changed files with 983 additions and 392 deletions.
45 changes: 23 additions & 22 deletions doc/README
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Bitcoin 0.4.1 BETA
Litecoin 0.4.1 BETA

Copyright (c) 2009-2011 Bitcoin Developers
Copyright (c) 2011 Litecoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
Expand All @@ -10,7 +11,7 @@ cryptographic software written by Eric Young (eay@cryptsoft.com).

Intro
-----
Bitcoin is a free open source peer-to-peer electronic cash system that is
Litecoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
Expand All @@ -19,51 +20,51 @@ with each other, with the help of a P2P network to check for double-spending.
Setup
-----
Unpack the files into a directory and run:
bin/32/bitcoin (GUI, 32-bit)
bin/32/bitcoind (headless, 32-bit)
bin/64/bitcoin (GUI, 64-bit)
bin/64/bitcoind (headless, 64-bit)
bin/32/litecoin (GUI, 32-bit)
bin/32/litecoind (headless, 32-bit)
bin/64/litecoin (GUI, 64-bit)
bin/64/litecoind (headless, 64-bit)


Wallet Encryption
-----------------
Bitcoin supports native wallet encryption so that people who steal your
wallet file don't automatically get access to all of your Bitcoins.
Litecoin supports native wallet encryption so that people who steal your
wallet file don't automatically get access to all of your litecoins.
In order to enable this feature, chose "Encrypt Wallet" from the
Options menu. You will be prompted to enter a passphrase, which
will be used as the key to encrypt your wallet and will be needed
every time you wish to send Bitcoins. If you lose this passphrase,
you will lose access to spend all of the bitcoins in your wallet,
no one, not even the Bitcoin developers can recover your Bitcoins.
every time you wish to send litecoins. If you lose this passphrase,
you will lose access to spend all of the litecoins in your wallet,
no one, not even the Litecoin developers can recover your litecoins.
This means you are responsible for your own security, store your
passphrase in a secure location and do not forget it.

Remember that the encryption built into bitcoin only encrypts the
actual keys which are required to send your bitcoins, not the full
Remember that the encryption built into litecoin only encrypts the
actual keys which are required to send your litecoins, not the full
wallet. This means that someone who steals your wallet file will
be able to see all the addresses which belong to you, as well as the
relevant transactions, you are only protected from someone spending
your coins.

It is recommended that you backup your wallet file before you
encrypt your wallet. To do this, close the Bitcoin client and
copy the wallet.dat file from ~/.bitcoin/ on Linux, /Users/(user
name)/Application Support/Bitcoin/ on Mac OSX, and %APPDATA%/Bitcoin/
on Windows (that is /Users/(user name)/AppData/Roaming/Bitcoin on
encrypt your wallet. To do this, close the Litecoin client and
copy the wallet.dat file from ~/.litecoin/ on Linux, /Users/(user
name)/Application Support/Litecoin/ on Mac OSX, and %APPDATA%/Litecoin/
on Windows (that is /Users/(user name)/AppData/Roaming/Litecoin on
Windows Vista and 7 and /Documents and Settings/(user name)/Application
Data/Bitcoin on Windows XP). Once you have copied that file to a
safe location, reopen the Bitcoin client and Encrypt your wallet.
Data/Litecoin on Windows XP). Once you have copied that file to a
safe location, reopen the Litecoin client and Encrypt your wallet.
If everything goes fine, delete the backup and enjoy your encrypted
wallet. Note that once you encrypt your wallet, you will never be
able to go back to a version of the Bitcoin client older than 0.4.
able to go back to a version of the Litecoin client older than 0.4.

Keep in mind that you are always responsible for your own security.
All it takes is a slightly more advanced wallet-stealing trojan which
installs a keylogger to steal your wallet passphrase as you enter it
in addition to your wallet file and you have lost all your Bitcoins.
in addition to your wallet file and you have lost all your litecoins.
Wallet encryption cannot keep you safe if you do not practice
good security, such as running up-to-date antivirus software, only
entering your wallet passphrase in the Bitcoin client and using the
entering your wallet passphrase in the Litecoin client and using the
same passphrase only as your wallet passphrase.


Expand Down
17 changes: 9 additions & 8 deletions doc/README_windows.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Bitcoin 0.4.1 BETA
Litecoin 0.4.1 BETA

Copyright (c) 2009-2011 Bitcoin Developers
Copyright (c) 2011 Litecoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
Expand All @@ -10,25 +11,25 @@ cryptographic software written by Eric Young (eay@cryptsoft.com).

Intro
-----
Bitcoin is a free open source peer-to-peer electronic cash system that is
Litecoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.


Setup
-----
Unpack the files into a directory and run bitcoin.exe.
Unpack the files into a directory and run litecoin.exe.

If you have Microsoft Security Essentials, you need to add bitcoin.exe to its
If you have Microsoft Security Essentials, you need to add litecoin.exe to its
"Excluded processes" list. Microsoft Security Essentials->Settings tab,
select Excluded processes, press Add, select bitcoin.exe, OK, Save changes.
select Excluded processes, press Add, select litecoin.exe, OK, Save changes.

The software automatically finds other nodes to connect to. You can
enable Universal Plug and Play using a menu entry or set your firewall
to forward port 8333 (TCP) to your computer so you can receive
incoming connections. Bitcoin work without incoming connections,
but allowing incoming connections helps the Bitcoin network.
to forward port 9333 (TCP) to your computer so you can receive
incoming connections. Litecoin work without incoming connections,
but allowing incoming connections helps the Litecoin network.

See the bitcoin wiki at: https://en.bitcoin.it/wiki/Main_Page
for more help and information.
13 changes: 7 additions & 6 deletions doc/build-msw.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Copyright (c) 2009-2011 Bitcoin Developers
Copyright (c) 2011 Litecoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
Expand All @@ -7,7 +8,7 @@ cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP
software written by Thomas Bernard.


See readme-qt.rst for instructions on building Bitcoin QT, the
See readme-qt.rst for instructions on building Litecoin QT, the
graphical user interface.

WINDOWS BUILD NOTES
Expand All @@ -22,7 +23,7 @@ MSYS 1.0.11 was also used (sh needed to compile some dependencies)

Candidate releases were built with MSVC 10.0 (2010), but
compiling with Visual C++ caused rendering artifacts when
bitcoin was run.
litecoin was run.


Dependencies
Expand Down Expand Up @@ -82,9 +83,9 @@ make -f Makefile.mingw
mkdir miniupnpc
cp *.h miniupnpc/

Bitcoin
Litecoin
-------
DOS prompt:
cd \bitcoin\src
mingw32-make bitcoind.exe -f makefile.mingw
strip bitcoind.exe
cd \litecoin\src
mingw32-make litecoind.exe -f makefile.mingw
strip litecoind.exe
19 changes: 10 additions & 9 deletions doc/build-osx.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Copyright (c) 2011 Bitcoin Developers
Copyright (c) 2011 Litecoin Developers
Distributed under the MIT/X11 software license, see the accompanying file
license.txt or http://www.opensource.org/licenses/mit-license.php. This
product includes software developed by the OpenSSL Project for use in the
Expand All @@ -7,12 +8,12 @@ software written by Eric Young (eay@cryptsoft.com) and UPnP software written by
Thomas Bernard.


Mac OS X bitcoind build instructions
Mac OS X litecoind build instructions
Laszlo Hanyecz <solar@heliacal.net>
Douglas Huff <dhuff@jrbobdobbs.org>


See readme-qt.rst for instructions on building Bitcoin QT, the
See readme-qt.rst for instructions on building Litecoin QT, the
graphical user interface.

Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
Expand All @@ -27,7 +28,7 @@ but you can get the current version from http://developer.apple.com

1. Clone the github tree to get the source code:

git clone git@github.com:bitcoin/bitcoin.git bitcoin
git clone git@github.com:coblee/litecoin.git litecoin

2. Download and install MacPorts from http://www.macports.org/

Expand All @@ -36,18 +37,18 @@ git clone git@github.com:bitcoin/bitcoin.git bitcoin
sudo port install boost db48 openssl

Install the right version of miniupnpc:
pushd bitcoin/contrib/minipupnpc; sudo port install; popd
pushd litecoin/contrib/minipupnpc; sudo port install; popd
(this will be unnecessary soon, you will just port install miniupnpc
along with the rest of the dependencies).

4. Now you should be able to build bitcoind:
4. Now you should be able to build litecoind:

cd bitcoin/src
cd litecoin/src
make -f makefile.osx

Run:
./bitcoind --help # for a list of command-line options.
./litecoind --help # for a list of command-line options.
Run
./bitcoind -daemon # to start the bitcoin daemon.
./litecoind -daemon # to start the litecoin daemon.
Run
./bitcoind help # When the daemon is running, to get a list of RPC commands
./litecoind help # When the daemon is running, to get a list of RPC commands
17 changes: 9 additions & 8 deletions doc/build-unix.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Copyright (c) 2009-2010 Satoshi Nakamoto
Copyright (c) 2011 Bitcoin Developers
Copyright (c) 2011 Litecoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
Expand All @@ -15,10 +16,10 @@ To Build
--------

cd src/
make -f makefile.unix # Headless bitcoin
make -f makefile.unix # Headless litecoin

See readme-qt.rst for instructions on building Bitcoin QT,
the graphical bitcoin.
See readme-qt.rst for instructions on building Litecoin QT,
the graphical litecoin.

Dependencies
------------
Expand Down Expand Up @@ -53,7 +54,7 @@ miniupnpc 1.6

Notes
-----
The release is built with GCC and then "strip bitcoin" to strip the debug
The release is built with GCC and then "strip litecoin" to strip the debug
symbols, which reduces the executable size by about 90%.


Expand Down Expand Up @@ -83,7 +84,7 @@ sudo su

Security
--------
To help make your bitcoin installation more secure by making certain attacks impossible to
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:

* Position Independent Executable
Expand All @@ -100,21 +101,21 @@ exploit even if a vulnerability is found, you can take the following measures:
make -f makefile.unix ... -e PIE=1

To test that you have built PIE executable, install scanelf, part of paxutils, and use:
scanelf -e ./bitcoin
scanelf -e ./litecoin

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, bitcoin should be built with a non-executable stack
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.

To verify that the stack is non-executable after compiling use:
scanelf -e ./bitcoin
scanelf -e ./litecoin

the output should contain:
STK/REL/PTL
Expand Down
6 changes: 3 additions & 3 deletions doc/coding.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ sends addr message to connected peers when it determines it.
ThreadIRCSeed : Joins IRC bootstrapping channel, watching for new
peers and advertising this node's IP address.

ThreadSocketHandler : Sends/Receives data from peers on port 8333.
ThreadSocketHandler : Sends/Receives data from peers on port 9333.

ThreadMessageHandler : Higher-level message handling (sending and
receiving).
Expand All @@ -87,10 +87,10 @@ ThreadDelayedRepaint : repaint the gui
ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used
in 500ms.

ThreadRPCServer : Remote procedure call handler, listens on port 8332
ThreadRPCServer : Remote procedure call handler, listens on port 9332
for connections and services them.

ThreadBitcoinMiner : Generates bitcoins
ThreadBitcoinMiner : Generates litecoins

ThreadMapPort : Universal plug-and-play startup/shutdown

Expand Down
18 changes: 9 additions & 9 deletions doc/readme-qt.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Bitcoin-qt: Qt4 based GUI replacement for Bitcoin
Litecoin-qt: Qt4 based GUI replacement for Litecoin
=================================================

Features
Expand Down Expand Up @@ -26,13 +26,13 @@ Features

- Sendmany support, send to multiple recipients at the same time

- Multiple unit support, can show subdivided bitcoins (uBTC, mBTC) for users that like large numbers
- Multiple unit support, can show subdivided litecoins (uBTC, mBTC) for users that like large numbers

- Support for English, German, Russian and Dutch languages

- Address books and transaction table can be sorted by any column

- Accepts "bitcoin:" URLs from browsers and other sources through drag and drop
- Accepts "litecoin:" URLs from browsers and other sources through drag and drop

Build instructions
===================
Expand All @@ -56,9 +56,9 @@ then execute the following:
qmake
make

Alternatively, install Qt Creator and open the `bitcoin-qt.pro` file.
Alternatively, install Qt Creator and open the `litecoin-qt.pro` file.

An executable named `bitcoin-qt` will be built.
An executable named `litecoin-qt` will be built.


Windows
Expand Down Expand Up @@ -106,7 +106,7 @@ Build configuration options
UPNnP port forwarding
---------------------

To use UPnP for port forwarding behind a NAT router (recommended, as more connections overall allow for a faster and more stable bitcoin experience), pass the following argument to qmake:
To use UPnP for port forwarding behind a NAT router (recommended, as more connections overall allow for a faster and more stable litecoin experience), pass the following argument to qmake:

::

Expand All @@ -132,7 +132,7 @@ You can execute the following commands in a terminal to install it:

::

cd <location of bitcoin-qt>/contrib/miniupnpc
cd <location of litecoin-qt>/contrib/miniupnpc
sudo port install

Notification support for recent (k)ubuntu versions
Expand All @@ -148,9 +148,9 @@ FreeDesktop notification interface through DBUS using the following qmake option
Berkely DB version warning
==========================

A warning for people using the *static binary* version of Bitcoin on a Linux/UNIX-ish system (tl;dr: **Berkely DB databases are not forward compatible**).
A warning for people using the *static binary* version of Litecoin on a Linux/UNIX-ish system (tl;dr: **Berkely DB databases are not forward compatible**).

The static binary version of Bitcoin is linked against libdb4.7 or libdb4.8 (see also `this Debian issue`_).
The static binary version of Litecoin is linked against libdb4.7 or libdb4.8 (see also `this Debian issue`_).

Now the nasty thing is that databases from 5.X are not compatible with 4.X.

Expand Down
Loading

0 comments on commit 923b664

Please sign in to comment.