Complete Windows system installation update:
modified: A-word-on-text-editors.md modified: Editing-the-user-path-in-Windows.md modified: Getting-Started-with-MMGen.md modified: Install-Bitcoind.md modified: Install-MMGen-and-Its-Dependencies-on-Microsoft-Windows.md modified: Install-MMGen-on-Microsoft-Windows.md modified: Install-MinGW-and-MSYS-on-Microsoft-Windows.md modified: Required-MinGW-Archives.md
parent
bad9e3936d
commit
10dd3d9d9f
8 changed files with 244 additions and 184 deletions
|
|
@ -1,22 +1,24 @@
|
|||
The text file editors that come with Windows, "edit" and "notepad", are
|
||||
unsuitable for editing source code for many reasons, but above all because they
|
||||
don't handle the line endings in Unix text files properly. Therefore, you'll
|
||||
need to install a Unix-capable text editor such as nano or Vim.
|
||||
The text file editors that come with Windows, “edit” and “notepad”, are
|
||||
unsuitable for editing files in an MSYS environment for many reasons, but above
|
||||
all because they can't handle Unix text-file line endings. So it's imperative
|
||||
you install a Unix-capable text editor such as Nano or Vim.
|
||||
|
||||
[Nano][00] is an easy-to-use editor designed for less experienced users. It's
|
||||
available [here][04] as a precompiled Windows binary. Just extract `nano.exe`
|
||||
from the archive and copy it to your path.
|
||||
and `cygwin1.dll` from the archive and copy them to `C:\windows` or some other
|
||||
location on your execution path.
|
||||
|
||||
For advanced users with some knowledge of vi commands, [Vim][01], a full-featured
|
||||
editor with advanced text highlighting capabilities, will be a better choice.
|
||||
Grab the Windows installer [here][05] and run it, accepting the defaults.
|
||||
A better choice for more advanced users is [Vim][01], a full-featured editor
|
||||
with syntax highlighting capability. You can find the Windows installer
|
||||
[here][05].
|
||||
|
||||
After installing Vim, you should add its executable directory `C:\Program
|
||||
Files\Vim\vim74` (your version number may be different) to your user path.
|
||||
Editing user paths is explained [here][06].
|
||||
After installing Vim, you should add its executable path
|
||||
`C:\Program Files\Vim\vim80` (this may be different for your version)
|
||||
to your PATH variable. Editing user paths is explained [here][06].
|
||||
|
||||
[06]: Editing-the-user-path-in-Windows
|
||||
[04]: http://mingw-and-ndk.googlecode.com/files/win-mingw-nano.7z
|
||||
[04x]: http://mingw-and-ndk.googlecode.com/files/win-mingw-nano.7z
|
||||
[04]: https://www.nano-editor.org/dist/v1.0/NT/nano-1.0.9.zip
|
||||
[05]: http://www.vim.org/download.php
|
||||
[00]: http://www.nano-editor.org/
|
||||
[01]: http://www.vim.org/
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
> 1. Right-click on your "My Computer" icon and select "Properties".
|
||||
> 2. Click on the "Advanced" tab, then on the "Environment Variables" button.
|
||||
> 1. Right-click (Windows XP) or double-click (Windows 7) on the “My Computer”
|
||||
> icon and select “Properties” or “System Properties”.
|
||||
> 2. Click on the “Advanced” tab, then on the “Environment Variables” button.
|
||||
> 3. A dialogue window will pop up. Edit the path variable in the **top** text
|
||||
> box, adding your entry (`c:\mingw\bin`, for example) to the end. If
|
||||
> there is no PATH variable listed there, create it. Path entries are
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
## Table of Contents
|
||||
|
||||
#### <a href=#01>Basic Operations</a>
|
||||
* <a href=#02>Generate a wallet</a>
|
||||
* <a href=#03>Generate addresses</a>
|
||||
* <a href=#04>Import addresses</a>
|
||||
* <a href=#05>Create a transaction</a>
|
||||
* <a href=#06>Sign a transaction</a>
|
||||
* <a href=#07>Send a transaction</a>
|
||||
#### <a href='#a_bo'>Basic Operations</a>
|
||||
* <a href='#a_gw'>Generate a wallet</a>
|
||||
* <a href='#a_ga'>Generate addresses</a>
|
||||
* <a href='#a_ia'>Import addresses</a>
|
||||
* <a href='#a_ct'>Create a transaction</a>
|
||||
* <a href='#a_sg'>Sign a transaction</a>
|
||||
* <a href='#a_st'>Send a transaction</a>
|
||||
|
||||
#### <a href=#10>Additional Features</a>
|
||||
* <a href=#11>Using the mnemonic and seed features</a>
|
||||
* <a href=#12>Mnemonics and seeds: additional information</a>
|
||||
* <a href=#13>Incognito wallets</a>
|
||||
* <a href=#13a>Hidden incognito wallets</a>
|
||||
#### <a href='#a_af'>Additional Features</a>
|
||||
* <a href='#a_ms'>Using the mnemonic and seed features</a>
|
||||
* <a href='#a_ai'>Mnemonics and seeds: additional information</a>
|
||||
* <a href='#a_ic'>Incognito wallets</a>
|
||||
* <a href='#a_hi'>Hidden incognito wallets</a>
|
||||
|
||||
The following primer presupposes you have MMGen installed on two computers, one
|
||||
offline and one online. However, if you have an online computer and a few
|
||||
|
|
@ -38,22 +38,23 @@ this primer are fake and for purposes of illustration only. The up arrow (for
|
|||
repeating commands) and tab key (or Ctrl-I) (for completing commands and
|
||||
filenames) will speed up your work at the command line greatly.
|
||||
|
||||
### <a name=01>Basic Operations</a>
|
||||
### <a name='a_bo'>Basic Operations</a>
|
||||
|
||||
#### <a name=02>Generate a wallet (offline computer):</a>
|
||||
#### <a name='a_gw'>Generate a wallet (offline computer):</a>
|
||||
|
||||
*NOTE: Beginning with v0.8.8, MMGen supports a “default wallet” feature. After
|
||||
creating your wallet, MMGen will prompt you to make it your default. If you
|
||||
answer 'y', the wallet will be stored in your MMGen data directory and used for
|
||||
all future commands that require a wallet or other seed source.*
|
||||
|
||||
*If you don't want your MMGen wallet stored in your MMGen data directory, then
|
||||
you may not to want to use this feature. Otherwise, it's recommended, as it
|
||||
saves you from having to type your wallet on the command line.*
|
||||
*You may not want this feature if you plan to store your MMGen wallet in another
|
||||
location than your MMGen data directory. Otherwise, it's recommended, as it
|
||||
frees you from having to type your wallet on the command line.*
|
||||
|
||||
*The following examples suppose that you've chosen to use a default wallet.
|
||||
Bear in mind that if you hadn't, the wallet would need to be specified as an
|
||||
argument to all commands where it's relevant.*
|
||||
Bear in mind that in the absence of a default wallet, the path to a wallet file
|
||||
or other seed source needs to be included in all commands where it's
|
||||
applicable.*
|
||||
|
||||
On your offline computer, generate a wallet:
|
||||
|
||||
|
|
@ -83,7 +84,7 @@ printed out on paper. It can also be exported to more compact forms, the seed
|
|||
file and mnemonic (discussed below). These formats are short enough to be
|
||||
written out by hand or memorized.
|
||||
|
||||
#### <a name=03>Generate addresses (offline computer):</a>
|
||||
#### <a name='a_ga'>Generate addresses (offline computer):</a>
|
||||
|
||||
Now generate ten addresses with your just-created wallet:
|
||||
|
||||
|
|
@ -149,7 +150,7 @@ of lines as well.
|
|||
|
||||
Save the file, copy it onto a USB stick and transfer it to your online computer.
|
||||
|
||||
#### <a name=04>Import addresses (online computer):</a>
|
||||
#### <a name='a_ia'>Import addresses (online computer):</a>
|
||||
|
||||
On your online computer, go to your bitcoind data directory and move any
|
||||
existing 'wallet.dat' file out of harm’s way. Start bitcoind and let it
|
||||
|
|
@ -193,7 +194,7 @@ after the transactions have been confirmed:
|
|||
89ABCDEF:4 Storage 3 0.4
|
||||
TOTAL: 1 BTC
|
||||
|
||||
#### <a name=05>Create a transaction (online computer):</a>
|
||||
#### <a name='a_ct'>Create a transaction (online computer):</a>
|
||||
|
||||
Now that you have some BTC under MMGen’s control, you’re ready to create a
|
||||
transaction. Note that transactions are harmless until they’re signed and
|
||||
|
|
@ -262,7 +263,7 @@ amount.
|
|||
As you can see, MMGen gives you complete control over your transaction inputs
|
||||
and change addresses. This feature will be appreciated by privacy-conscious users.
|
||||
|
||||
#### <a name=06>Sign a transaction (offline computer):</a>
|
||||
#### <a name='a_sg'>Sign a transaction (offline computer):</a>
|
||||
|
||||
Now transfer the the raw transaction file to your offline computer and sign it
|
||||
using your default wallet:
|
||||
|
|
@ -273,7 +274,7 @@ using your default wallet:
|
|||
|
||||
Note that the signed transaction file has a new extension, '.sigtx'.
|
||||
|
||||
#### <a name=07>Send a transaction (online computer):</a>
|
||||
#### <a name='a_st'>Send a transaction (online computer):</a>
|
||||
|
||||
Now you’re ready for the final step: broadcasting the transaction to the
|
||||
network. Copy the signed transaction file to your online computer, start
|
||||
|
|
@ -305,9 +306,9 @@ Some of MMGen’s more advanced features are discussed below. Others are
|
|||
documented in the help screens of the individual MMGen commands: display these
|
||||
by invoking the desired command with the `-h` or `--help` switch.
|
||||
|
||||
### <a name=10>Additional Features</a>
|
||||
### <a name='a_af'>Additional Features</a>
|
||||
|
||||
#### <a name=11>Using the mnemonic and seed features:</a>
|
||||
#### <a name='a_ms'>Using the mnemonic and seed features:</a>
|
||||
|
||||
Continuing our example above, generate a mnemonic from the default wallet:
|
||||
|
||||
|
|
@ -386,7 +387,7 @@ Or you can do the same thing with 'mmgen-tool':
|
|||
$ mmgen-tool str2id6 'XnyC NfPH piuW dQ2d nM47 VU'
|
||||
0fe02f
|
||||
|
||||
#### <a name=12>Mnemonics and seeds: additional information</a>
|
||||
#### <a name='a_ai'>Mnemonics and seeds: additional information</a>
|
||||
|
||||
MMGen commands that take mnemonic and seed data may receive the data from a
|
||||
prompt instead of a file. Just omit the file name and specify the input format:
|
||||
|
|
@ -407,7 +408,7 @@ using the `-d` option. For example, on a Linux system you can use
|
|||
ensuring that no trace of this sensitive data remains once your computer’s been
|
||||
powered down.
|
||||
|
||||
#### <a name=13><a name=incog>Incognito wallets</a>
|
||||
#### <a name='a_ic'>Incognito wallets</a>
|
||||
|
||||
An incognito format wallet is indistinguishable from random data, allowing you
|
||||
to hide your wallet at an offset within a random-data-filled file or partition.
|
||||
|
|
@ -485,7 +486,7 @@ MMGen wallet, mnemonic or seed file to generate addresses and sign transactions:
|
|||
...
|
||||
Signed transaction written to file FABCDE[0.3].sigtx
|
||||
|
||||
##### <a name=13a><a name=incog>Hidden incognito wallets</a>
|
||||
##### <a name='a_hi'>Hidden incognito wallets</a>
|
||||
|
||||
With the `-o hincog` option, incognito wallet data can be created and hidden at
|
||||
a specified offset in a file or partition in a single convenient operation, with
|
||||
|
|
|
|||
|
|
@ -1,59 +1,86 @@
|
|||
#### Note:
|
||||
## Installing the Bitcoin daemon
|
||||
|
||||
> The bitcoin daemon on the **offline computer** is used solely to sign
|
||||
> transactions and runs without a blockchain. Thus even a low-powered computer
|
||||
> such as a netbook will suffice as your offline machine.
|
||||
>
|
||||
> The bitcoin daemon on the **online computer** requires a complete and
|
||||
> up-to-date blockchain for tracking addresses. Since its work is more CPU and
|
||||
> disk intensive, a more powerful computer is recommended here. You'll also
|
||||
> need plenty of free disk space for the rapidly growing blockchain (~30GB at
|
||||
> the time of writing).
|
||||
>
|
||||
> Two blockchain operations are especially resource-intensive: **synchronizing
|
||||
> the blockchain** and **importing existing addresses with balances**. If you
|
||||
> synchronize often (once a week, for example) and take care to import your
|
||||
> addresses **before** spending into them, then it's possible to use a
|
||||
> low-powered netbook as your online machine.
|
||||
The bitcoin daemon on the **offline computer** is used solely to sign
|
||||
transactions and runs without a blockchain. Thus even a low-powered computer
|
||||
such as a netbook will suffice as your offline machine.
|
||||
|
||||
#### Download:
|
||||
The bitcoin daemon on the **online computer** requires a complete and
|
||||
up-to-date blockchain for tracking addresses. Since its work is more CPU and
|
||||
disk intensive, a more powerful computer is recommended here. You'll also
|
||||
need plenty of free disk space for the rapidly growing blockchain (~100GB at
|
||||
the time of writing).
|
||||
|
||||
Two blockchain operations are especially resource-intensive: **synchronizing
|
||||
the blockchain** and **importing existing addresses with balances**. If you
|
||||
synchronize often (once a week, for example) and take care to import your
|
||||
addresses **before** spending into them, then it's possible to use a
|
||||
low-powered netbook as your online machine.
|
||||
|
||||
### Download:
|
||||
|
||||
> Go to the Bitcoin Core [main download page][01]. Choose the 32-bit or 64-bit
|
||||
> versions appropriate for your respective computers.
|
||||
> versions appropriate for your online and offline computers.
|
||||
|
||||
#### Install:
|
||||
### Install (both online and offline computers):
|
||||
|
||||
> **On both the online and offline computers:**
|
||||
> **Windows users:**
|
||||
|
||||
> Windows users: run the Windows installer. Linux users: unpack the tar archive
|
||||
> and copy the bitcoind executable in bin/ to your execution path or just run it
|
||||
> in place.
|
||||
>> Run the Windows installer. When setup is finished, append the following path
|
||||
>> to your PATH variable: `C:\Program Files\Bitcoin\daemon`
|
||||
|
||||
#### Run:
|
||||
>> From your MSYS environment, create a new bitcoin configuration file in your
|
||||
>> text editor:
|
||||
|
||||
$ cd $APPDATA
|
||||
$ nano Bitcoin/bitcoin.conf
|
||||
|
||||
>> and add the following two lines to it:
|
||||
|
||||
rpcuser=<some username>
|
||||
rpcpassword=<some password>
|
||||
|
||||
>> Save the file and exit the editor. Create a bitcoin datadir in your MSYS
|
||||
>> environment:
|
||||
|
||||
$ mkdir ~/.bitcoin
|
||||
|
||||
>> and copy your just-created file to it:
|
||||
|
||||
$ cp Bitcoin/bitcoin.conf ~/.bitcoin
|
||||
|
||||
> **Linux users:**
|
||||
|
||||
>> Unpack the tar archive and copy the bitcoind executable in bin/ to your
|
||||
>> execution path or just run it in place.
|
||||
|
||||
### Run (both Windows and Linux):
|
||||
|
||||
> **On the online computer:**
|
||||
|
||||
> Open a terminal and start bitcoind with the command:
|
||||
>> Open a terminal and start bitcoind with the command:
|
||||
|
||||
$ bitcoind -daemon
|
||||
|
||||
> Warning: If you already have Bitcoin Core installed, **move your existing
|
||||
> wallet.dat out of harm's way** before starting bitcoind. The new wallet
|
||||
> now created will be used as your **tracking wallet**.
|
||||
>> Warning: If you're using an existing Bitcoin Core installation, **move your
|
||||
>> wallet.dat out of harm's way** before starting bitcoind. The new wallet now
|
||||
>> created will be used as your **tracking wallet**.
|
||||
|
||||
> If you're connected to the Internet, bitcoind will begin downloading and
|
||||
> verifying the blockchain. This can take from several hours to several days
|
||||
> (depending on the speed of your computer) if you're downloading the blockchain
|
||||
> from scratch.
|
||||
>> If you're connected to the Internet, bitcoind will begin downloading and
|
||||
>> verifying the blockchain. This can take from several hours to several days
|
||||
>> (depending on the speed of your computer) for an initial download.
|
||||
|
||||
> **On the offline computer:**
|
||||
|
||||
> Open a terminal and start bitcoind with the command:
|
||||
>> Open a terminal and start bitcoind with the command:
|
||||
|
||||
$ bitcoind -daemon -maxconnections=0 -listen=0
|
||||
|
||||
> Note that in the absence of a blockchain the daemon starts very quickly and
|
||||
> uses practically no CPU once running.
|
||||
>> Note that in the absence of a blockchain the offline daemon starts very
|
||||
>> quickly and uses practically no CPU once running.
|
||||
|
||||
>> *Note for Windows users:* Under Windows, the bitcoind daemon doesn't fork to
|
||||
>> run as a background process, so you'll have to keep a separate terminal window
|
||||
>> open for it.
|
||||
|
||||
[01]: https://bitcoin.org/en/download
|
||||
[bd]: https://bitcoin.org/bin/blockchain/
|
||||
|
|
|
|||
|
|
@ -1,115 +1,127 @@
|
|||
***Warning: the MMGen installation process on Windows is not for the faint of
|
||||
heart, success is not guaranteed and the user experience is less than optimal.
|
||||
You're urged to use the prebuilt [MMGenLive][20] USB image instead. It's now
|
||||
the preferred way for all non-Linux users to run MMGen.***
|
||||
***Warning: the MMGen installation process on Windows is not easy, and the user
|
||||
experience is less than optimal. You're urged to use the prebuilt
|
||||
[MMGenLive][20] USB image instead. It's now the preferred way for all non-Linux
|
||||
users to run MMGen.***
|
||||
|
||||
##### Note: The following instructions assume you'll be unpacking all archives to `C:\`, the root directory on most Windows installations. If you choose to unpack to another location, the `cd` commands must be adjusted accordingly.
|
||||
|
||||
#### 1. Install the Python interpreter:
|
||||
### 1. Install the Python interpreter:
|
||||
|
||||
Grab the [Windows 32-bit installer][09] and run it, accepting the defaults.
|
||||
Add the Python base and Scripts directories to your [path][08], e.g.
|
||||
`C:\Python27;C:\Python27\Scripts`.
|
||||
|
||||
#### 2. Build OpenSSL:
|
||||
### 1. Create the build directory:
|
||||
|
||||
Grab the [latest tarball][06] from the [openssl.org download page][05] and unpack
|
||||
it. At the MSYS prompt, run:
|
||||
Enter your MSYS environment, create the directory `/c/build` and move to it.
|
||||
This is where you'll be unpacking and building archives:
|
||||
|
||||
$ cd /c/openssl-1.0.1g
|
||||
$ mkdir /c/build
|
||||
$ cd /c/build
|
||||
|
||||
### 2. Build OpenSSL:
|
||||
|
||||
Grab the v1.0.x [tarball][06sc] from openssl.org, unpack and build:
|
||||
|
||||
$ tar.exe -xzf <path to openssl archive>/openssl-1.0.2j.tar.gz
|
||||
$ cd openssl-1.0.2j
|
||||
$ ./config --openssldir=/usr
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
#### 3. Build the Scrypt Python module:
|
||||
### 3. Build the Scrypt Python module:
|
||||
|
||||
Grab the [latest tarball][07] from python.org and unpack it. At the MSYS prompt,
|
||||
run:
|
||||
The latest scrypt tarball available from [Python][07] at this writing
|
||||
(scrypt-0.8.0.tar.gz) has missing files and doesn't build, so unless this has
|
||||
been fixed, you must grab the source from the scrypt repository using mercurial
|
||||
(you'll have to install mercurial for Windows if it's not installed) and copy it
|
||||
to your build directory:
|
||||
|
||||
$ cd /c/scrypt-0.6.1
|
||||
From Windows:
|
||||
> hg clone https://bitbucket.org/mhallin/py-scrypt
|
||||
... copy to c:\build
|
||||
|
||||
Open `setup.py` in your text editor and make the following changes:
|
||||
From MSYS:
|
||||
$ cd /c/build/py-script
|
||||
|
||||
> Change the line:
|
||||
Open the file `setup.py` in your text editor. Right before the line beginning
|
||||
with
|
||||
|
||||
library_dirs = ['c:\OpenSSL-Win32\lib\MinGW']
|
||||
scrypt_module = Extension(
|
||||
|
||||
> to read:
|
||||
add the following lines (with no indentation):
|
||||
|
||||
library_dirs = ['c:\msys\lib','c:\WINDOWS\system32']
|
||||
library_dirs = ['c:\msys\lib','c:\windows\system32']
|
||||
includes = ['c:\msys\include']
|
||||
|
||||
> Change the line:
|
||||
|
||||
includes = ['c:\OpenSSL-Win32\include']
|
||||
|
||||
> to read:
|
||||
|
||||
includes = ['c:\msys\include']
|
||||
|
||||
Save the file. At the MSYS prompt, run:
|
||||
Save `setup.py`, build and install:
|
||||
|
||||
$ python setup.py build --compiler=mingw32
|
||||
|
||||
Ignore the warning messages at the end and run:
|
||||
|
||||
$ python setup.py install
|
||||
|
||||
#### 4. Install the Pycrypto Python module:
|
||||
You can ignore the error messages at the end of the build.
|
||||
|
||||
Source code is available from the [Pycrypto home page][00], but it appears to
|
||||
build only with MS Visual Studio, not MinGW. Until this situation is fixed,
|
||||
you can install the precompiled binaries available from [Voidspace][01].
|
||||
Download and run the [Windows installer][02], accepting the defaults.
|
||||
Now, to solve a problem with the interpreter not finding the scrypt extension
|
||||
module, we have to do this little workaround:
|
||||
|
||||
#### 5. Install the ecdsa Python module:
|
||||
$ cd /c/Python27/lib/site-packages
|
||||
$ unzip scrypt*.egg
|
||||
|
||||
Grab the [tarball][03] and unpack it. At the MSYS prompt, run:
|
||||
### 4. Build the pycrypto Python module:
|
||||
|
||||
$ cd /c/ecdsa-0.11
|
||||
Download the latest pycrypto [tarball][02sc] from the Python website, unpack and build:
|
||||
|
||||
$ cd /c/build
|
||||
$ tar -xzf <path to pycrypto archive>/pycrypto-2.6.1.tar.gz
|
||||
$ cd pycrypto-2.6.1
|
||||
$ python setup.py build --compiler=mingw32
|
||||
$ python setup.py install
|
||||
|
||||
#### 6. Install the bitcoin-python Python module:
|
||||
### 5. Install the ecdsa Python module:
|
||||
|
||||
Grab the [tarball][04] and unpack it. At the MSYS prompt, run:
|
||||
Grab the latest python-ecdsa [tarball][03sc], unpack and build:
|
||||
|
||||
$ cd /c/bitcoin-python-0.3
|
||||
$ cp -a src/bitcoinrpc /c/Python27/Lib/site-packages
|
||||
|
||||
This is a workaround for a dependency issue with the package's setup script.
|
||||
If your Python is installed in a different location, you'll have to adjust the
|
||||
destination path accordingly.
|
||||
|
||||
#### 7. Install the colorama Python module (optional but recommended):
|
||||
|
||||
Grab the [tarball][14] and unpack it. At the MSYS prompt, run:
|
||||
|
||||
$ cd /c/colorama-0.3.3
|
||||
$ cd /c/build
|
||||
$ tar -xzf <path to ecdsa archive>/ecdsa-0.13.tar.gz
|
||||
$ cd ecdsa-0.13
|
||||
$ python setup.py install
|
||||
|
||||
#### 8. Install MMGen:
|
||||
### 7. Install the colorama Python module (optional but recommended):
|
||||
|
||||
Get the [zip archive][10b] from GitHub and unpack it. At the MSYS prompt, run:
|
||||
Grab the colorama [tarball][14sc], unpack and build:
|
||||
|
||||
$ cd /c/mmgen-stable_mswin
|
||||
$ cd /c/build
|
||||
$ tar -xzf <path to colorama archive>/colorama-0.3.7.tar.gz
|
||||
$ cd /c/colorama-0.3.7
|
||||
$ python setup.py install
|
||||
|
||||
### 8. Install MMGen:
|
||||
|
||||
Get the [zip archive][10b] from GitHub, unpack and install:
|
||||
|
||||
$ cd /c/build
|
||||
$ unzip.exe <path to mmgen archive>/stable_mswin.zip
|
||||
$ cd mmgen-stable_mswin
|
||||
$ sudo ./setup.py install
|
||||
|
||||
Type:
|
||||
If you wish, you may run the MMGen test suite to make sure everything's working:
|
||||
|
||||
$ echo $PATH
|
||||
|
||||
The `C:\Python27;C:\Python27\Scripts` you added to your path in Step 1 of this
|
||||
page should be included in your PATH variable. If not, then exit MSYS and open
|
||||
a new MSYS window to update your path.
|
||||
$ test/test.py
|
||||
|
||||
[00]: https://www.dlitz.net/software/pycrypto/
|
||||
[01]: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
|
||||
[02]: http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe)
|
||||
[02x]: http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe)
|
||||
[02]: https://pypi.python.org/pypi/pycrypto
|
||||
[02sc]: https://pypi.python.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz#md5=55a61a054aa66812daf5161a0d5d7eda
|
||||
[03]: https://pypi.python.org/pypi/ecdsa
|
||||
[03sc]: https://pypi.python.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz#md5=1f60eda9cb5c46722856db41a3ae6670
|
||||
[04]: https://pypi.python.org/pypi/bitcoin-python/0.3
|
||||
[09]: https://www.python.org/ftp/python/2.7.6/python-2.7.6.msi
|
||||
[09]: https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi
|
||||
[08]: Editing-the-user-path-in-Windows
|
||||
[07]: https://pypi.python.org/pypi/scrypt/
|
||||
[06]: http://www.openssl.org/source/openssl-1.0.1g.tar.gz
|
||||
[07exe]: https://pypi.python.org/packages/b7/4b/b11eac2aa846231ade35f323e7ad5c98f3c5f77c3b6b2ca33e24afe9518c/scrypt-0.8.0.win32-py2.7.exe#md5=db04ef2223c0594e4429698744690d99
|
||||
[07exe64]: https://pypi.python.org/packages/3e/b8/e09f4f557ce21459a691d8bf3072affac31379941586229f857788b2034a/scrypt-0.8.0.win-amd64-py2.7.exe#md5=f5faeecfcd9be3412a6d10ec2e5a373b
|
||||
[07sc]: https://pypi.python.org/packages/af/82/44b030646b9de44ba5a5c7e87b0419a4d44318ba18468f5292b9c16737ac/scrypt-0.8.0.tar.gz#md5=0704e59cc3afb3845c27bb3827baeea9
|
||||
[06sc]: https://www.openssl.org/source/openssl-1.0.2j.tar.gz
|
||||
[06x]: https://www.openssl.org/source/openssl-1.1.0c.tar.gz
|
||||
[05]: http://www.openssl.org/source/
|
||||
[10]: https://github.com/mmgen/mmgen/archive/master.zip
|
||||
[10b]: https://github.com/mmgen/mmgen/archive/stable_mswin.zip
|
||||
|
|
@ -117,4 +129,5 @@ a new MSYS window to update your path.
|
|||
[12]: http://www.openssl.org/related/binaries.html
|
||||
[13]: Getting-Started-with-MMGen
|
||||
[14]: https://pypi.python.org/pypi/colorama
|
||||
[14sc]: https://pypi.python.org/packages/f0/d0/21c6449df0ca9da74859edc40208b3a57df9aca7323118c913e58d442030/colorama-0.3.7.tar.gz#md5=349d2b02618d3d39e5c6aede36fe3c1a
|
||||
[20]: https://github.com/mmgen/MMGenLive
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
***Warning: the MMGen installation process on Windows is not for the faint of
|
||||
heart, success is not guaranteed and the user experience is less than optimal.
|
||||
You're urged to use the prebuilt [MMGenLive][00] USB image instead. It's now
|
||||
the preferred way for all non-Linux users to run MMGen.***
|
||||
***Warning: the MMGen installation process on Windows is not easy, and the user
|
||||
experience is less than optimal. You're urged to use the prebuilt
|
||||
[MMGenLive][00] USB image instead. It's now the preferred way for all non-Linux
|
||||
users to run MMGen.***
|
||||
|
||||
Install MMGen on Windows by completing the following three steps:
|
||||
|
||||
|
|
@ -10,8 +10,8 @@ Install MMGen on Windows by completing the following three steps:
|
|||
> MMGen itself][02]; and
|
||||
> 3. [Install the offline and online bitcoin daemons (bitcoind)][07].
|
||||
|
||||
Congratulations, your MMGen installation is now complete! Now move on to
|
||||
[**Getting Started with MMGen**][08].
|
||||
Congratulations, your MMGen installation is now complete! Now you can
|
||||
proceed to [**Getting Started with MMGen**][08].
|
||||
|
||||
[01]: Install-MinGW-and-MSYS-on-Microsoft-Windows
|
||||
[02]: Install-MMGen-and-Its-Dependencies-on-Microsoft-Windows
|
||||
|
|
|
|||
|
|
@ -1,46 +1,57 @@
|
|||
MinGW (Minimal GNU for Windows) provides the gcc compiler and related tools for
|
||||
compiling source code into Windows binaries. MSYS provides a Unix-like
|
||||
environment with basic Unix shell commands. MinGW and MSYS are part of the
|
||||
same project and are designed to be used together.
|
||||
environment with basic Unix shell commands. MinGW and MSYS are part of the same
|
||||
project and are designed to be used together.
|
||||
|
||||
Complete hypertexed lists of the required MinGW and MSYS archive files are
|
||||
provided below for convenient downloading. Save the archives into two separate
|
||||
temporary directories (`mingw` and `msys`, for example).
|
||||
|
||||
These lists were checked and known to work at the time of this writing (November
|
||||
2016). More recent versions of the files are available in the [MinGW
|
||||
repository][01], and an auto-installer can be found there as well. However,
|
||||
these instructions are designed to work on an offline computer, for which the
|
||||
auto-installer cannot be used.
|
||||
|
||||
> * [MinGW archive list][02]
|
||||
> * [MSYS archive list][03]
|
||||
|
||||
##### Note: these lists were up to date at the time of writing (April 2014). More recent versions may be available in the [MinGW repository][01] as you read this, but hunting for them isn't likely to be worth your time.
|
||||
|
||||
|
||||
Unpack the basic-bsdtar archive (in the MinGW archives) and copy the executable
|
||||
`basic-bsdtar.exe` to your path (e.g. `C:\WINDOWS\system32`).
|
||||
`basic-bsdtar.exe` to your path (e.g. `C:\windows\system32`).
|
||||
|
||||
From the DOS prompt, run `mkdir C:\mingw` to create the directory `C:\mingw`.
|
||||
Run `cd C:\mingw` to move to the directory. Unpack each of the MinGW archives
|
||||
(except for `basic-bsdtar`) as follows:
|
||||
From the DOS prompt (a.k.a “Power Shell” or “Command Line”), create the two
|
||||
base directories and move to the first of them:
|
||||
|
||||
basic-bsdtar -xf <path to archive>
|
||||
> mkdir C:\mingw
|
||||
> mkdir C:\msys
|
||||
> cd C:\mingw
|
||||
|
||||
Create a `C:\msys` directory the same way, move to it and repeat the above
|
||||
unpacking procedure with the MSYS archives.
|
||||
Unpack all the MinGW archives (except basic-bsdtar) by executing the following
|
||||
command for each archive:
|
||||
|
||||
> basic-bsdtar.exe -xf <path to MinGW archives>/<archive name>
|
||||
|
||||
Now move the MSYS base directory:
|
||||
|
||||
> cd C:\msys
|
||||
|
||||
and unpack each MSYS archive in the same way:
|
||||
|
||||
> basic-bsdtar.exe -xf <path to MSYS archives>/<archive name>
|
||||
|
||||
Add `C:\mingw\bin` to your user path. Consult [this page][05] for instructions
|
||||
on editing your user path.
|
||||
on how to do that.
|
||||
|
||||
Close the command prompt window and open a new one. Launch the MSYS shell with
|
||||
the command `C:\msys\bin\bash.exe --login`. You'll now be in the home
|
||||
directory of your MSYS environment.
|
||||
|
||||
If you want be able to launch MSYS from an icon instead of typing the above
|
||||
command all the time, then do the following: Make a copy of the "Command Line"
|
||||
icon on your desktop and rename it to "MSYS". Right click on the icon, select
|
||||
"Properties" and change the highlighted command path to `C:\msys\bin\bash.exe
|
||||
--login`. You may also want to change the "Home Folder" field to your MSYS home
|
||||
directory, `C:\msys\home\Admin` for the Admin user.
|
||||
To avoid having to launch your MSYS shell like this each time, you're advised to
|
||||
copy the “PowerShell” icon, rename the copy to “MSYS”, right click on the icon,
|
||||
and add the shell launch command to the end of the command line after a space.
|
||||
|
||||
Note: At this point you're advised to read [**A word on text editors**][00]
|
||||
before proceeding further with your installation.
|
||||
Note: At this point you should install a [text editor][00] before proceeding
|
||||
further with your installation.
|
||||
|
||||
Run the command `mount c:/mingw /mingw` to include your MinGW installation in
|
||||
the MSYS tree. So you won't have to run this command every time you log in to
|
||||
|
|
@ -51,25 +62,28 @@ MSYS, open the file `/etc/fstab` in your text editor and add the line `c:/mingw
|
|||
|
||||
If you're new to Unix, you should learn a few key commands:
|
||||
|
||||
> * `ls` - view directory contents (`ls -l` for a long view)
|
||||
> * `rm` - remove files (`rm -r` to remove entire directory trees)
|
||||
> * `rmdir` - remove an empty directory
|
||||
> * `cp` - copy a file (`cp -a` to copy directory trees)
|
||||
> * `mv` - move a file or directory
|
||||
> * `cat` - output a file to screen
|
||||
> * `less` - view a file page-by-page, with scrollback
|
||||
| Command | Action |
|
||||
|:--------|:--------------------------------------------------------|
|
||||
| `ls` | view directory contents (`ls -l` for a long view) |
|
||||
| `rm` | remove files (`rm -r` to remove entire directory trees) |
|
||||
| `rmdir` | remove an empty directory |
|
||||
| `cp` | copy a file (`cp -a` to copy directory trees) |
|
||||
| `mv` | move a file or directory |
|
||||
| `cat` | output a file to screen |
|
||||
| `less` | view a file page-by-page, with scrollback |
|
||||
|
||||
Command help texts can be accessed with the `--help` switch. The MSYS root
|
||||
directory is `/`. Drive letter `C:` can be accessed as `/c/`.
|
||||
Command help texts can be accessed with the `--help` switch. Directories are
|
||||
separated by `/`, not `\`. The root of the filesystem is `/`. Drive letter
|
||||
`C:` is expressed as `/c/`.
|
||||
|
||||
Environmental variables may be viewed with the `env` command. Individual
|
||||
variables may be displayed like this:
|
||||
variables may be viewed like this:
|
||||
|
||||
$ echo $PATH
|
||||
|
||||
and set like this:
|
||||
|
||||
$ set PATH=$PATH:/home/Admin/bin
|
||||
$ PATH=$PATH:/home/<username>/bin
|
||||
|
||||
Sometimes variables must be exported to be visible to called programs:
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
> * [autoconf2.5-bin][]
|
||||
> * [automake1.11-bin][]
|
||||
> * [libtool-2.4-1-bin][]
|
||||
> * [xz-bin][]
|
||||
|
||||
[bsdtar]: https://sourceforge.net/projects/mingw/files/MinGW/Extension/bsdtar/basic-bsdtar-2.8.3-1/basic-bsdtar-2.8.3-1-mingw32-bin.zip
|
||||
[gcc-core-bin]: https://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.8.1-4/gcc-core-4.8.1-4-mingw32-bin.tar.lzma
|
||||
|
|
@ -46,18 +47,19 @@
|
|||
[gmp-dll]: https://sourceforge.net/projects/mingw/files/MinGW/Base/gmp/gmp-5.1.2/gmp-5.1.2-1-mingw32-dll.tar.lzma
|
||||
[libiconv-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/libiconv/libiconv-1.14-3/libiconv-1.14-3-mingw32-dev.tar.lzma
|
||||
[libiconv-dll]: https://sourceforge.net/projects/mingw/files/MinGW/Base/libiconv/libiconv-1.14-3/libiconv-1.14-3-mingw32-dll.tar.lzma
|
||||
[mingwrt-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/mingw-rt/mingwrt-4.0.3/mingwrt-4.0.3-1-mingw32-dev.tar.lzma
|
||||
[mingwrt-dll]: https://sourceforge.net/projects/mingw/files/MinGW/Base/mingw-rt/mingwrt-4.0.3/mingwrt-4.0.3-1-mingw32-dll.tar.lzma
|
||||
[mingwrt-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/mingwrt/mingwrt-3.22/mingwrt-3.22.4-mingw32-dev.tar.xz
|
||||
[mingwrt-dll]: https://sourceforge.net/projects/mingw/files/MinGW/Base/mingwrt/mingwrt-3.22/mingwrt-3.22.4-mingw32-dll.tar.xz
|
||||
[mpc-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/mpc/mpc-1.0.1-2/mpc-1.0.1-2-mingw32-dev.tar.lzma
|
||||
[mpc-dll]: https://sourceforge.net/projects/mingw/files/MinGW/Base/mpc/mpc-1.0.1-2/mpc-1.0.1-2-mingw32-dll.tar.lzma
|
||||
[mpfr-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/mpfr/mpfr-3.1.2-2/mpfr-3.1.2-2-mingw32-dev.tar.lzma
|
||||
[mpfr-dll]: https://sourceforge.net/projects/mingw/files/MinGW/Base/mpfr/mpfr-3.1.2-2/mpfr-3.1.2-2-mingw32-dll.tar.lzma
|
||||
[pthreads-w32-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/pthreads-w32/pthreads-w32-2.9.1/pthreads-w32-2.9.1-1-mingw32-dev.tar.lzma
|
||||
[pthreads-w32-dll]: https://sourceforge.net/projects/mingw/files/MinGW/Base/pthreads-w32/pthreads-w32-2.9.1/pthreads-w32-2.9.1-1-mingw32-dll.tar.lzma
|
||||
[w32api-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/w32api-4.0.3/w32api-4.0.3-1-mingw32-dev.tar.lzma
|
||||
[w32api-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/w32api/w32api-3.18/w32api-3.18.2-mingw32-dev.tar.xz
|
||||
[zlib-dev]: https://sourceforge.net/projects/mingw/files/MinGW/Base/zlib/zlib-1.2.8/zlib-1.2.8-1-mingw32-dev.tar.lzma
|
||||
[zlib-dll]: https://sourceforge.net/projects/mingw/files/MinGW/Base/zlib/zlib-1.2.8/zlib-1.2.8-1-mingw32-dll.tar.lzma
|
||||
[gettext-bin]: https://sourceforge.net/projects/mingw/files/MinGW/Base/gettext/gettext-0.18.3.1-1/gettext-0.18.3.1-1-mingw32-bin.tar.lzma
|
||||
[autoconf2.5-bin]: https://sourceforge.net/projects/mingw/files/MinGW/Extension/autoconf/autoconf2.5/autoconf2.5-2.68-1/autoconf2.5-2.68-1-mingw32-bin.tar.lzma
|
||||
[automake1.11-bin]: https://sourceforge.net/projects/mingw/files/MinGW/Extension/automake/automake1.11/automake1.11-1.11.1-1/automake1.11-1.11.1-1-mingw32-bin.tar.lzma
|
||||
[libtool-2.4-1-bin]: https://sourceforge.net/projects/mingw/files/MinGW/Extension/libtool/libtool-2.4-1/libtool-2.4-1-mingw32-bin.tar.lzma
|
||||
[xz-bin]: https://sourceforge.net/projects/mingw/files/MinGW/Extension/xz/xz-5.0.3-2/xz-5.0.3-2-mingw32-bin.tar.lzma
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue