mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-19 09:53:47 +01:00
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
|
||||
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
|
||||
-----
|
||||
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/64/bitcoin (GUI, 64-bit)
|
||||
bin/64/bitcoin-qt (GUI, 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:
|
||||
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
|
||||
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
|
||||
-----
|
||||
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
|
||||
"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
|
||||
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,
|
||||
incoming connections. Bitcoin works without incoming connections,
|
||||
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.
|
||||
|
@ -5,65 +5,55 @@
|
||||
* update (commit) version in OSX app bundle
|
||||
contrib/Bitcoin.app/Contents/Info.plist
|
||||
|
||||
* CFBundleShortVersionString should have value like 0.3.23
|
||||
* CFBundleVersion should have value like 323
|
||||
* CFBundleShortVersionString should have value like 0.5.0
|
||||
* CFBundleVersion should have value like 500
|
||||
|
||||
* tag version in git
|
||||
|
||||
$ git tag -a v0.3.23
|
||||
$ git tag -a v0.5.0
|
||||
|
||||
* 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
|
||||
|
||||
$ git archive --format=tar --prefix=bitcoin-0.3.23/ HEAD | \
|
||||
gzip -9c > ~/tmp/bitcoin-0.3.23-src.tar.gz
|
||||
$ git archive --format=tar --prefix=bitcoin-0.5.0/ HEAD | \
|
||||
gzip -9c > ~/tmp/bitcoin-0.5.0-src.tar.gz
|
||||
|
||||
* perform gitian builds
|
||||
|
||||
* 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
|
||||
$ ./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
|
||||
$ cd build/out
|
||||
$ zip 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
|
||||
$ cd build/out
|
||||
$ zip bitcoin-$VERSION-win32-gitian.zip *
|
||||
$ mv bitcoin-$VERSION-win32-gitian.zip ../../
|
||||
|
||||
|
||||
* NOTE: gitian cross-compiled builds for Windows is broken, we are building
|
||||
Windows binaries using a public Amazon AWS instance for this release.
|
||||
|
||||
Build output expected:
|
||||
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)
|
||||
3. Gitian signatures (in gitian.sigs/$VERSION[-win32]/(your gitian key)/
|
||||
2. Gitian signatures (in gitian.sigs/$VERSION[-win32]/(your gitian key)/
|
||||
|
||||
* 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:
|
||||
$ mkdir bitcoin-$VERSION-linux
|
||||
$ cd bitcoin-$VERSION-linux
|
||||
$ unzip bitcoin-$VERSION-linux-gitian.zip
|
||||
$ cd ..; tar czvf bitcoin-$VERSION-linux.tar.gz bitcoin-$VERSION-linux
|
||||
|
||||
* perform Mac build
|
||||
* From the bitcoin source dir
|
||||
$ cd contrib
|
||||
$ ./create_osx_dmg.sh
|
||||
$ mv Bitcoin.dmg bitcoin-$VERSION-macosx.dmg
|
||||
* Compile Windows .zip and setup.exe on Amazon EC2 instance
|
||||
TODO: document process
|
||||
|
||||
* 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
|
||||
|
||||
@ -80,18 +70,7 @@
|
||||
* 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
|
||||
$ export VERSION=0.3.23
|
||||
$ 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 ..
|
||||
$ export VERSION=0.5.0
|
||||
$ mkdir bitcoin-$VERSION-linux-gitian; cd bitcoin-$VERSION-linux-gitian
|
||||
$ unzip ../bitcoin-$VERSION-linux-gitian.zip
|
||||
$ mkdir gitian
|
||||
@ -103,6 +82,6 @@
|
||||
$ zip 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