Bitcoin initial version VC6.0 compilation

Source: Internet
Author: User
Tags openssl win32 wxwidgets
1 Source Download

The initial version on GitHub is bitcoin-0.1.5, which can be downloaded from Github.com/bitcoin/bitcoin, but older versions of bitcoin-0.1.0 can be found on the web, such as those available from the following address:

github.com/dan-mcg/bitcoin-0.1.0

You can find a description of this version of the e-mail, the content is as follows

Announcing the first release of Bitcoin, a new electronic cash

System, uses a Peer-to-peer network to prevent double-spending.

It ' s completely decentralized with no server or central authority.

See bitcoin.org for screenshots.

Download Link:

Http://downloads.sourceforge.net/bitcoin/bitcoin-0.1.0.rar

Windows only for now. Open source C + + code is included.

-Unpack the files into a directory

-Run BITCOIN. Exe

-It automatically connects to other nodes

If you can keep a node running that accepts incoming connections,

You'll really be helping the network a lot. Port 8333 on your

Firewall needs to is open to receive incoming connections.

The software is still alpha and experimental. There ' s no guarantee

The system ' s state won ' t has to be restarted at some point if it

becomes necessary, although I ' ve done everything I can-to-build in

Extensibility and Versioning.

You can get coins by getting someone to send as some, or turn on

Options->generate Coins to run a node and Generate blocks. I made

The Proof-of-work difficulty ridiculously easy-to-start with, so

For a little while in the beginning a typical PC would be is able to

Generate coins in just a few hours. It ' ll get a lot harder when

Competition makes the automatic adjustment drive up the difficulty.

Generated coins must wait blocks to mature before they can be

Spent.

There is the ways to send money. If the recipient is online, you

Can enter their IP address and it'll connect, get a new public

Key and send the transaction with comments. If the recipient is

Not online, it's possible to send to their Bitcoin address, which

is a hash of their public key, that they give. They ' ll receive

The transaction the next time they connect and get the block it ' s

In. This method has the disadvantage that no comment information

is sent, and a bit of privacy are lost if the address is used

multiple times, but it is a useful alternative if both users can ' t

Be online at the same time or the recipient can ' t receive incoming

Connections.

Total circulation'll be 21,000,000 coins. It ' ll be distributed

To network nodes when they make blocks, with the amount cut in half

Every 4 years.

First 4 years:10,500,000 Coins

Next 4 years:5,250,000 Coins

Next 4 years:2,625,000 Coins

Next 4 years:1,312,500 Coins

etc...

When this runs out, the system can support transaction fees if

Needed. It ' s based on open market competition, and there'll

Probably always is nodes willing to process transactions for free.

Satoshi Nakamoto

This version is compiled with VC6.0, combined with the source of the documentation, it is necessary to complete the compilation of the following library

WxWidgets http://www.wxwidgets.org/downloads/

OpenSSL http://www.openssl.org/source/

Berkeley DB http://www.oracle.com/technology/software/products/berkeley-db/index.html

Boost http://www.boost.org/users/download/

2 compiling a dependent Library 2.1 compilation wxwidgets

The initial version of the interface library is wxwidgets, The use of version wxWidgets-2.8.10 here, compile as far as possible and the same version of the article, otherwise there may be problems, the library compilation process is very simple, directly open the diagram with VC6.0 static engineering wx.dsw, and compile the corresponding debug and release version can be,

2.2 Compiling OpenSSL

OpenSSL is a Secure Sockets Layer cipher library that includes the main encryption algorithms, and the Bitcoin source code directly uses the relevant encryption algorithms in the library. Here is the source code description file Readme.txt version openssl-0.9.8h.tar.gz, compile OpenSSL need to install NASM and ActivePerl can refer to the following URL

Www.cnblogs.com/passedbylove/p/5977777.html
7788004

Open the command line and go to the source directory, execute the following command to complete the compilation

Perl Configure Vc-win32
Ms\do_ms.bat
Nmake-f Ms\ntdll.mak

2.3 Compiling Berkeley DB

Berkeley DB is an open source file database, Bitcoin uses the library for file access, the version chosen here is db-4.7.25.tar.gz, directly open the project with VC6.0, and compile it Win32 Debug x86 and Win32 Release x86 version

2.4 Compiling boost

The version boost_1_34_1.tar.gz is selected here, and the updated version compiles with VC6.0 with many compilation errors.
(1) Generate Bjam.exe, open the cmd command line, enter into the BOOST_1_34_1\TOOLS\JAM\SRC directory, run Build.bat,build.bat will run Vcvars32.bat, set environment variables, and compile build Bjam,

If the system installs multiple VS versions, you can select the VC6.0 version to build by commenting on the other versions Bjam.exe

A folder named Bin.ntx86 will eventually be generated in the directory containing a bjam.exe executable file that is copied to the Boost_1_34_1 directory.

(2) After Bjam, run Bjam--toolset=msvc-6.0 to compile, Bjam--toolset=msvc-6.0 install to generate the corresponding header file (include) and library file (Lib), generated by default in C \ Boost below.

3 new VC project and compile 3.1 new project

New WIN32 Application Engineering bitcoin

3.2 Adding source files

Add header file source files and resource files in the source code to the new project

3.3 Modifying compilation options

Copy the 2nd section of the compiled library files and related header files to the project directory (if you do not copy to the project directory, add the header file directory when you fill in the appropriate file path), add the corresponding library header file path to the additional header file directory, add macro definition d__wxmsw__,__wxdebug__ to the predefined Add the appropriate library file directory to the attached file directory, add the corresponding dependent library file, Libeay32.lib libdb47sd.lib wxmsw28d_richtext.lib wxmsw28d_html.lib wxmsw28d_core.lib Wxbase28d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib Gdi32.lib winspool.lib comdlg32.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib Advapi32.lib Ws2_32.lib, change code generation in the use Run-time library for the debug multithreaded DLL, add/zm300 in the compilation options, otherwise compile will have " Compiler limit:internal heap limit reached; Use/zm to specify a higher limit "error prompt, add an attachment to the resources settings containing the path include, the main compilation settings such as

 release version of the compilation requires similar settings, here is not repeated instructions, has uploaded a compiled version on CSDN, there is a need to download the self-download.csdn.net/download/weiwei22844/10642479!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.