Update documentation to reflect reality (no win32 gitian builds, new Mac process)
This commit is contained in:
parent
472bbb750c
commit
7ec064b88e
95
doc/README
95
doc/README
@ -1,4 +1,4 @@
|
|||||||
Bitcoin 0.4.1 BETA
|
Bitcoin 0.5.0 BETA
|
||||||
|
|
||||||
Copyright (c) 2009-2011 Bitcoin Developers
|
Copyright (c) 2009-2011 Bitcoin Developers
|
||||||
Distributed under the MIT/X11 software license, see the accompanying
|
Distributed under the MIT/X11 software license, see the accompanying
|
||||||
@ -19,99 +19,12 @@ with each other, with the help of a P2P network to check for double-spending.
|
|||||||
Setup
|
Setup
|
||||||
-----
|
-----
|
||||||
Unpack the files into a directory and run:
|
Unpack the files into a directory and run:
|
||||||
bin/32/bitcoin (GUI, 32-bit)
|
bin/32/bitcoin-qt (GUI, 32-bit)
|
||||||
bin/32/bitcoind (headless, 32-bit)
|
bin/32/bitcoind (headless, 32-bit)
|
||||||
bin/64/bitcoin (GUI, 64-bit)
|
bin/64/bitcoin-qt (GUI, 64-bit)
|
||||||
bin/64/bitcoind (headless, 64-bit)
|
bin/64/bitcoind (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.
|
|
||||||
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.
|
|
||||||
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
|
|
||||||
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
|
|
||||||
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.
|
|
||||||
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.
|
|
||||||
|
|
||||||
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.
|
|
||||||
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
|
|
||||||
same passphrase only as your wallet passphrase.
|
|
||||||
|
|
||||||
|
|
||||||
Technical details of wallet encryption
|
|
||||||
--------------------------------------
|
|
||||||
Wallet encryption uses AES-256-CBC to encrypt only the private keys
|
|
||||||
that are held in a wallet. The keys are encrypted with a master key
|
|
||||||
which is entirely random. This master key is then encrypted with
|
|
||||||
AES-256-CBC with a key derived from the passphrase using SHA512 and
|
|
||||||
OpenSSL's EVP_BytesToKey and a dynamic number of rounds determined by
|
|
||||||
the speed of the machine which does the initial encryption (and is
|
|
||||||
updated based on the speed of a computer which does a subsequent
|
|
||||||
passphrase change). Although the underlying code supports multiple
|
|
||||||
encrypted copies of the same master key (and thus multiple passphrases)
|
|
||||||
the client does not yet have a method to add additional passphrases.
|
|
||||||
|
|
||||||
At runtime, the client loads the wallet as it normally would, however
|
|
||||||
the keystore stores the keys in encrypted form. When the passphrase
|
|
||||||
is required (to top up keypool or send coins) it will either be queried
|
|
||||||
by a GUI prompt, or must first be entered with the walletpassphrase
|
|
||||||
RPC command. This will change the wallet to "unlocked" state where the
|
|
||||||
unencrypted master key is stored in memory (in the case of GUI, only for
|
|
||||||
long enough to complete the requested operation, in RPC, for as long as
|
|
||||||
is specified by the second parameter to walletpassphrase). The wallet is
|
|
||||||
then locked (or can be manually locked using the walletlock RPC command)
|
|
||||||
and the unencrypted master key is removed from memory.
|
|
||||||
|
|
||||||
Implementation details of wallet encryption
|
|
||||||
-------------------------------------------
|
|
||||||
When the wallet is locked, calls to sendtoaddress, sendfrom, sendmany,
|
|
||||||
and keypoolrefill will return Error -13: "Error: Please enter the wallet
|
|
||||||
passphrase with walletpassphrase first."
|
|
||||||
|
|
||||||
When the wallet is unlocked, calls to walletpassphrase will fail.
|
|
||||||
|
|
||||||
When a wallet is encrypted, the passphrase is required to top up the
|
|
||||||
keypool, thus, if the passphrase is rarely entered, it is possible that
|
|
||||||
keypool might run out. In this case, the default key will be used as the
|
|
||||||
target for payouts for mining, and calls to getnewaddress and getaccount
|
|
||||||
address will return an error. In order to prevent such cases, the keypool
|
|
||||||
is automatically refilled when walletpassphrase is called with a correct
|
|
||||||
passphrase and when topupkeypool is called (while the wallet is unlocked).
|
|
||||||
Note that the keypool continues to be topped up on various occasions when
|
|
||||||
a new key from pool is used and the wallet is unlocked (or unencrypted).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
See the documentation at the bitcoin wiki:
|
See the documentation at the bitcoin wiki:
|
||||||
https://en.bitcoin.it/wiki/Main_Page
|
https://en.bitcoin.it/wiki/Main_Page
|
||||||
|
for help and more information.
|
||||||
... for help and more information.
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Bitcoin 0.4.1 BETA
|
Bitcoin 0.5.0 BETA
|
||||||
|
|
||||||
Copyright (c) 2009-2011 Bitcoin Developers
|
Copyright (c) 2009-2011 Bitcoin Developers
|
||||||
Distributed under the MIT/X11 software license, see the accompanying
|
Distributed under the MIT/X11 software license, see the accompanying
|
||||||
@ -18,7 +18,7 @@ with each other, with the help of a P2P network to check for double-spending.
|
|||||||
|
|
||||||
Setup
|
Setup
|
||||||
-----
|
-----
|
||||||
Unpack the files into a directory and run bitcoin.exe.
|
Unpack the files into a directory and run bitcoin-qt.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 bitcoin.exe to its
|
||||||
"Excluded processes" list. Microsoft Security Essentials->Settings tab,
|
"Excluded processes" list. Microsoft Security Essentials->Settings tab,
|
||||||
@ -27,8 +27,9 @@ select Excluded processes, press Add, select bitcoin.exe, OK, Save changes.
|
|||||||
The software automatically finds other nodes to connect to. You can
|
The software automatically finds other nodes to connect to. You can
|
||||||
enable Universal Plug and Play using a menu entry or set your firewall
|
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
|
to forward port 8333 (TCP) to your computer so you can receive
|
||||||
incoming connections. Bitcoin work without incoming connections,
|
incoming connections. Bitcoin works without incoming connections,
|
||||||
but allowing incoming connections helps the Bitcoin network.
|
but allowing incoming connections helps the Bitcoin network.
|
||||||
|
|
||||||
See the bitcoin wiki at: https://en.bitcoin.it/wiki/Main_Page
|
See the bitcoin wiki at:
|
||||||
|
https://en.bitcoin.it/wiki/Main_Page
|
||||||
for more help and information.
|
for more help and information.
|
||||||
|
@ -5,65 +5,55 @@
|
|||||||
* update (commit) version in OSX app bundle
|
* update (commit) version in OSX app bundle
|
||||||
contrib/Bitcoin.app/Contents/Info.plist
|
contrib/Bitcoin.app/Contents/Info.plist
|
||||||
|
|
||||||
* CFBundleShortVersionString should have value like 0.3.23
|
* CFBundleShortVersionString should have value like 0.5.0
|
||||||
* CFBundleVersion should have value like 323
|
* CFBundleVersion should have value like 500
|
||||||
|
|
||||||
* tag version in git
|
* tag version in git
|
||||||
|
|
||||||
$ git tag -a v0.3.23
|
$ git tag -a v0.5.0
|
||||||
|
|
||||||
* write release notes. git shortlog helps a lot:
|
* write release notes. git shortlog helps a lot:
|
||||||
|
|
||||||
$ git shortlog --no-merges v0.3.22..
|
$ git shortlog --no-merges v0.4.0..
|
||||||
|
|
||||||
* create source-only archive
|
* create source-only archive
|
||||||
|
|
||||||
$ git archive --format=tar --prefix=bitcoin-0.3.23/ HEAD | \
|
$ git archive --format=tar --prefix=bitcoin-0.5.0/ HEAD | \
|
||||||
gzip -9c > ~/tmp/bitcoin-0.3.23-src.tar.gz
|
gzip -9c > ~/tmp/bitcoin-0.5.0-src.tar.gz
|
||||||
|
|
||||||
* perform gitian builds
|
* perform gitian builds
|
||||||
|
|
||||||
* From a directory containing the bitcoin source, gitian-builder and gitian.sigs
|
* From a directory containing the bitcoin source, gitian-builder and gitian.sigs
|
||||||
$ export VERSION=0.3.23
|
$ export VERSION=0.5.0
|
||||||
$ cd ./gitian-builder
|
$ cd ./gitian-builder
|
||||||
$ ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian.yml
|
$ ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian.yml
|
||||||
$ ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml
|
$ ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml
|
||||||
$ cd build/out
|
$ cd build/out
|
||||||
$ zip bitcoin-$VERSION-linux-gitian.zip *
|
$ zip bitcoin-$VERSION-linux-gitian.zip *
|
||||||
$ mv bitcoin-$VERSION-linux-gitian.zip ../../
|
$ mv bitcoin-$VERSION-linux-gitian.zip ../../
|
||||||
$ ./bin/gbuild --commit bitcoin=v$VERSION ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
|
|
||||||
$ ./bin/gsign --signer (your gitian key, ie bluematt, sipa, etc) --release $VERSION-win32 --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
|
* NOTE: gitian cross-compiled builds for Windows is broken, we are building
|
||||||
$ cd build/out
|
Windows binaries using a public Amazon AWS instance for this release.
|
||||||
$ zip bitcoin-$VERSION-win32-gitian.zip *
|
|
||||||
$ mv bitcoin-$VERSION-win32-gitian.zip ../../
|
|
||||||
|
|
||||||
Build output expected:
|
Build output expected:
|
||||||
1. linux 32-bit and 64-bit binaries + source (bitcoin-$VERSION-linux-gitian.zip)
|
1. linux 32-bit and 64-bit binaries + source (bitcoin-$VERSION-linux-gitian.zip)
|
||||||
2. windows 32-bit binary, installer + source (bitcoin-$VERSION-win32-gitian.zip)
|
2. Gitian signatures (in gitian.sigs/$VERSION[-win32]/(your gitian key)/
|
||||||
3. Gitian signatures (in gitian.sigs/$VERSION[-win32]/(your gitian key)/
|
|
||||||
|
|
||||||
* repackage gitian builds for release as stand-alone zip/tar/installer exe
|
* repackage gitian builds for release as stand-alone zip/tar/installer exe
|
||||||
|
|
||||||
* Windows .zip and setup.exe:
|
|
||||||
$ mkdir bitcoin-$VERSION-win32
|
|
||||||
$ cd bitcoin-$VERSION-win32
|
|
||||||
$ unzip bitcoin-$VERSION-win32-gitian.zip
|
|
||||||
$ mv bitcoin-$VERSION-win32-setup.exe ..
|
|
||||||
$ cd ..; zip bitcoin-$VERSION-win32.zip bitcoin-$VERSION-win32
|
|
||||||
|
|
||||||
* Linux .tar.gz:
|
* Linux .tar.gz:
|
||||||
$ mkdir bitcoin-$VERSION-linux
|
$ mkdir bitcoin-$VERSION-linux
|
||||||
$ cd bitcoin-$VERSION-linux
|
$ cd bitcoin-$VERSION-linux
|
||||||
$ unzip bitcoin-$VERSION-linux-gitian.zip
|
$ unzip bitcoin-$VERSION-linux-gitian.zip
|
||||||
$ cd ..; tar czvf bitcoin-$VERSION-linux.tar.gz bitcoin-$VERSION-linux
|
$ cd ..; tar czvf bitcoin-$VERSION-linux.tar.gz bitcoin-$VERSION-linux
|
||||||
|
|
||||||
* perform Mac build
|
* Compile Windows .zip and setup.exe on Amazon EC2 instance
|
||||||
* From the bitcoin source dir
|
TODO: document process
|
||||||
$ cd contrib
|
|
||||||
$ ./create_osx_dmg.sh
|
|
||||||
$ mv Bitcoin.dmg bitcoin-$VERSION-macosx.dmg
|
|
||||||
|
|
||||||
* upload source and builds to SF
|
* perform Mac build
|
||||||
|
TODO: document process
|
||||||
|
|
||||||
|
* upload source and builds to SourceForge
|
||||||
|
|
||||||
* create SHA1SUMS for builds, and PGP-sign it
|
* create SHA1SUMS for builds, and PGP-sign it
|
||||||
|
|
||||||
@ -80,18 +70,7 @@
|
|||||||
* Collect enough gitian signatures to meet minimum_weight (see contrib/gitian-downloader/*-download-config)
|
* Collect enough gitian signatures to meet minimum_weight (see contrib/gitian-downloader/*-download-config)
|
||||||
|
|
||||||
* From a directory containing bitcoin source, gitian.sigs and gitian zips
|
* From a directory containing bitcoin source, gitian.sigs and gitian zips
|
||||||
$ export VERSION=0.3.23
|
$ export VERSION=0.5.0
|
||||||
$ mkdir bitcoin-$VERSION-win32-gitian; cd bitcoin-$VERSION-win32-gitian
|
|
||||||
$ unzip ../bitcoin-$VERSION-win32-gitian.zip
|
|
||||||
$ mkdir gitian
|
|
||||||
$ cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/
|
|
||||||
$ for file in `ls ../gitian.sigs/$VERSION-win32/`; do
|
|
||||||
$ cp ../gitian.sigs/$VERSION-win32/$file/bitcoin-build.assert ./gitian/$file-build.assert
|
|
||||||
$ cp ../gitian.sigs/$VERSION-win32/$file/bitcoin-build.assert.sig ./gitian/$file-build.assert.sig
|
|
||||||
$ done
|
|
||||||
$ zip bitcoin-$VERSION-win32-gitian.zip *
|
|
||||||
$ cp bitcoin-$VERSION-win32-gitian.zip ../
|
|
||||||
$ cd ..
|
|
||||||
$ mkdir bitcoin-$VERSION-linux-gitian; cd bitcoin-$VERSION-linux-gitian
|
$ mkdir bitcoin-$VERSION-linux-gitian; cd bitcoin-$VERSION-linux-gitian
|
||||||
$ unzip ../bitcoin-$VERSION-linux-gitian.zip
|
$ unzip ../bitcoin-$VERSION-linux-gitian.zip
|
||||||
$ mkdir gitian
|
$ mkdir gitian
|
||||||
@ -103,6 +82,6 @@
|
|||||||
$ zip bitcoin-$VERSION-linux-gitian.zip *
|
$ zip bitcoin-$VERSION-linux-gitian.zip *
|
||||||
$ cp bitcoin-$VERSION-linux-gitian.zip ../
|
$ cp bitcoin-$VERSION-linux-gitian.zip ../
|
||||||
|
|
||||||
* Upload gitian zips to SF
|
* Upload gitian zips to SourceForge
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user