導航:首頁 > 源碼編譯 > 比特幣編譯流程

比特幣編譯流程

發布時間:2022-10-18 11:13:46

1. 如何在windows平台下編譯比特幣bitcoin客戶端

第一步:安裝變編譯環境QT和MINGW,msys
1、msys是一個在windows平台模擬shell的程序。

訪問http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
下載安裝程序之後,通過安裝管理程序,按安裝以下內容:
From MinGW installation manager -> All packages -> MSYS
選中以下安裝包

msys-base-bin
msys-autoconf-bin
msys-automake-bin
msys-libtool-bin
點 apply changes開始安裝。他會自動下載安裝好。
需要注意的是,確保不要安裝msys-gcc和msys-w32api ,因為這兩個包和我們的編譯系統發生沖突。
很多人出現一些莫名其妙的問題,就是因為這兩個包。
2、安裝 MinGW-builds
訪問
http://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/4.8.2/threads-posix/dwarf/i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z/download
下載並解壓縮 i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z 到C盤根目錄 C:\
注意我的目錄結構。你盡量和我一樣。

3、設置PATH環境變數,將C:\mingw32\bin;添加到第一個。
4、在命令行模式下輸入 gc -v 會得到以下內容
c:\gcc -v
Using built-in specs.
COLLECT_GCC=c:\mingw32\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.8.2/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../../../src/gcc-4.8.2/configure --host=i686-w64-mingw32 --build=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/mingw32 --with-sysroot=/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32 --with-gxx-include-dir=/mingw32/i686-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-sjlj-exceptions --with-dwarf2 --disable-isl-version-check --disable-cloog-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-libiconv --with-system-zlib --with-gmp=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-mpfr=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-mpc=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-isl=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-cloog=/c/mingw482/prerequisites/i686-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='i686-posix-dwarf-rev3, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include -I/c/mingw482/prerequisites/i686-zlib-static/include -I/c/mingw482/prerequisites/i686-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include -I/c/mingw482/prerequisites/i686-zlib-static/include -I/c/mingw482/prerequisites/i686-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/lib -L/c/mingw482/prerequisites/i686-zlib-static/lib -L/c/mingw482/prerequisites/i686-w64-mingw32-static/lib -Wl,--large-address-aware'
Thread model: posix
gcc version 4.8.2 (i686-posix-dwarf-rev3, Built by MinGW-W64 project)
至此,你的開發環境已經搭建好了,很簡單吧

第二部分:下載bitcoin引用的外部庫
我們把它們全部放在 C:\deps目錄下
2.1 安裝OpenSSL下載:http://www.openssl.org/source/openssl-1.0.1g.tar.gz
進入啟動 MinGw shell 比如目錄:(C:\MinGW\msys\1.0\msys.bat)運行這個msys.bat,就會啟動一個shell環境,提示符是$
輸入命令
cd /c/deps/
tar xvfz openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
Configure no-shared no-dso mingw
make

等待幾分鍾後,就把openssl編譯好了。

2.2 下載Berkeley DB 訪問: http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
我們推薦使用 4.8版本
同樣在msys shell環境下輸入以下命令
cd /c/deps/
tar xvfz db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix
../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication
make
等待編譯

2.3 安裝Boost,下載地址: http://sourceforge.net/projects/boost/files/boost/1.55.0/

msys命令:
cd C:\deps\boost_1_55_0\
bootstrap.bat mingw
b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage

2.4 安裝Miniupnpc 下載地址: http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.tar.gz

cd C:\deps\miniupnpc
mingw32-make -f Makefile.mingw init upnpc-static

2.5下載 protoc 和 libprotobuf:
Download and unpack http://protobuf.googlecode.com/files/protobuf-2.5.0.zip
msys shell命令

cd /c/deps/protobuf-2.5.0
configure --disable-shared
make

2.6 qrencode:
下載地址: http://prdownloads.sourceforge.net/libpng/libpng-1.6.10.tar.gz?download
命令
cd /c/deps/libpng-1.6.10
configure --disable-shared
make

下載 http://fukuchi.org/works/qrencode/qrencode-3.4.3.tar.gz ode:
cd /c/deps/qrencode-3.4.3

LIBS="../libpng-1.6.10/.libs/libpng16.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \
png_CFLAGS="-I../libpng-1.6.10" \
png_LIBS="-L../libpng-1.6.10/.libs" \
configure --enable-static --disable-shared --without-tools

make

2.7 安裝 Qt 5 庫
下載和解壓
http://download.qt-project.org/official_releases/qt/5.2/5.2.1/submoles/qtbase-opensource-src-5.2.1.7z
http://download.qt-project.org/official_releases/qt/5.2/5.2.1/submoles/qttools-opensource-src-5.2.1.7z
在 windows命令行輸入:
set INCLUDE=C:\deps\libpng-1.6.10;C:\deps\openssl-1.0.1g\include
set LIB=C:\deps\libpng-1.6.10\.libs;C:\deps\openssl-1.0.1g

cd C:\Qt\5.2.1
configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl-linked -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug

mingw32-make

set PATH=%PATH%;C:\Qt\5.2.1\bin

cd C:\Qt\qttools-opensource-src-5.2.1
qmake qttools.pro
mingw32-make

3. 下載Bitcoin 0.9.1 地址: https://github.com/bitcoin/bitcoin/archive/v0.9.1.zip

在msys shell下輸入以下命令行:
cp /c/deps/libpng-1.6.10/.libs/libpng16.a /c/deps/libpng-1.6.10/.libs/libpng.a

cd /c/bitcoin-0.9.1

./autogen.sh

CPPFLAGS="-I/c/deps/boost_1_55_0 \
-I/c/deps/db-4.8.30.NC/build_unix \
-I/c/deps/openssl-1.0.1g/include \
-I/c/deps \
-I/c/deps/protobuf-2.5.0/src \
-I/c/deps/libpng-1.6.10 \
-I/c/deps/qrencode-3.4.3" \
LDFLAGS="-L/c/deps/boost_1_55_0/stage/lib \
-L/c/deps/db-4.8.30.NC/build_unix \
-L/c/deps/openssl-1.0.1g \
-L/c/deps/miniupnpc \
-L/c/deps/protobuf-2.5.0/src/.libs \
-L/c/deps/libpng-1.6.10/.libs \
-L/c/deps/qrencode-3.4.3/.libs" \
./configure \
--disable-upnp-default \
--disable-tests \
--with-qt-incdir=/c/Qt/5.2.1/include \
--with-qt-libdir=/c/Qt/5.2.1/lib \
--with-qt-bindir=/c/Qt/5.2.1/bin \
--with-qt-plugindir=/c/Qt/5.2.1/plugins \
--with-boost-system=mgw48-mt-s-1_55 \
--with-boost-filesystem=mgw48-mt-s-1_55 \
--with-boost-program-options=mgw48-mt-s-1_55 \
--with-boost-thread=mgw48-mt-s-1_55 \
--with-boost-chrono=mgw48-mt-s-1_55 \
--with-protoc-bindir=/c/deps/protobuf-2.5.0/src

make

strip src/bitcoin-cli.exe
strip src/bitcoind.exe
strip src/qt/bitcoin-qt.exe

這樣,你就得到了變異好的 bitcoin-cli.exe和bitcoind.exe ,bitcoin-qt.exe(windows QT圖形界面的錢包軟體)

2. 如何開發數字貨幣

謝邀~

為何要開發數字貨幣?從中央銀行的角度來看有6個好處:

第一、提升經濟交易活動的便利性和透明度

第二、降低傳統紙幣發行、流通的高昂成本

第三、更好地支持經濟和社會發展

第四、助力普惠金融的全面實現

第五、 減少洗錢、逃漏稅等違法犯罪行為

第六、提升央行對貨幣供給和貨幣流通的控制力


數字貨幣開發步驟:

第一步、

首先我們要從git 上下載某套區塊鏈體系的源碼,比如選擇比特幣的主幹代碼下載好

相關源碼。

同時准備好對應的編譯環境(C + +的建議在linux)和安裝好對應開發環境和工具。

第二步、

代碼都是需要編譯的,因此需要准備編譯環境和工具,需要下載環境編譯工具、配

好系統環境變數, qt環境等文件,編譯命令在Itc源代碼里的文件里有詳細說明。

不過系統和開發環境的搭建、程序編譯等過程都比較繁瑣,不建議普通用戶自己製作。對於開發人員,第一次可能要預計2-3天的安裝配置時間。

第三步、

拿比特幣開發來說,他是Q的開發環境,下載好源碼並配置好環境後,在QtCreator內打開該比特幣核心的源碼,配置相關文件和編譯器,開始嘗試編譯比特幣核心的客戶端。

第四步、

改造成自己的數字貨幣,打開各個源文件,找到對應的地方調整參數即可,如調整

每個區塊出幣數,總產量,調整難度等等,然後就到最關鍵的點,就是改名為自己的幣名。

想怎麼取名就怎麼取名,別忘記在資源文件夾里替換掉相關圖標。如果一切順利,經過重新

編譯,你的新幣就順利發明了。

對於這個數字貨幣的開發,還是屬於技術比較專業的,因此最好有-個專業的團隊協助。

數字貨幣開發大致需要學習的框架:

1、搭建以太坊私鏈測試環境以及公鏈節點環境配置

2、以太坊中以太幣的交易、確認原理

3、以太坊中json rpc介面

4、以太幣轉賬與提現原理

5、伺服器對接以太坊公鏈介面,自有伺服器存儲業務數據,公鏈存儲交易可匿名數據

6、私鑰的安全處理

以下是開發的代碼示例:

舉例下市場上常用的數字貨幣錢包有:

APP類:kcash、imtokenweb:myEthereumWalletgoogle 瀏覽器插件:metaMask

其中最常用的就是imToken

區塊鏈交易技術概念:

讓我們來看看區塊鏈交易是如何以比特幣為例進行處理的。為了將一定數量的比特幣發送到另一個錢包,您需要以下信息:將資金發送到您的錢包的地址,您想要發送的加密貨幣數量

接收者的錢包的ID。

每筆交易都使用唯一的機密私人密鑰進行簽名。一旦付款由發件人簽署,它就變為公開可用。交易仍需要確認,以便收款人可以得到這筆錢為了確認交易,有必要生成一個新的鏈條塊。

這些塊是通過進行復雜的數學計算來找到唯一的密鑰而生成的。創建一個新塊需要10分鍾,找到該密鑰的人獲得一定數量的硬幣作為獎勵。一旦創建了鏈的新塊,就不可能將其從資料庫中刪除或以某種方式更改信息。因此,區塊鏈交易是最終且不可逆的。

數字貨幣的三大核心優點:

第一點、數字貨幣是公平的貨幣

數字貨幣沒有特定的發行機構,不是由某一國家發行的,僅僅是依靠特定演算法產生的,這就意味著無法通過操縱發行數量來操縱數字貨幣,因此數字貨幣是一種自由的、非國家的貨幣。

我們可以看到現在有許多國家是直接認可了虛擬貨幣,那麼有需求,就需要交易的平台。

我們現在許多想搭建虛擬貨幣交易平台的投資者,為什麼不能去這些地區搭建交易平台呢?搭建虛擬貨幣交易平台,這不就是一個很好的商機嗎?

第二點、數字貨幣的安全系數更高

紙幣的出現雖然方便了我們日常生活中的交易,但是會有被偷盜以及收到的風險。電子貨幣雖然可以避免這些風險,但是會出現諸如被盜刷、等新的問題。

數字貨幣則可以避免以上問題。並且將每一筆交易記錄在網路上進行廣播,是的所有節點都保存全部貨幣的流通信息,這樣任意一個節點在交易之前就可以輕易地發現貨幣的流通。

第三點、數字貨幣的交易可以實現匿名交易

由於沒有傳統銀行開戶和身份認證的過程,數字貨幣是純匿名的。雖然可以根據本地完整的交易記錄查詢到每個賬號的流水信息。

但卻無法知道這個賬號的主人是誰,同樣也沒有任何人有能力操縱他人賬號上的數字貨幣,這樣很好的保護了使用人的隱私。


如果您也在持有交易數字貨幣、外匯黃金原油、合約期貨:

3. 比特幣是怎麼產生的

比特幣是一種P2P形式的虛擬的加密的數字貨幣,它並不依靠特定的貨幣機構發行。比特幣於2009年1月3日正式誕生,最初是由中本聰在2008年11月1日首次提出的。它是依據特定的演算法,通過大量復雜的計算所產生的。比特幣誕生之後遭到了很多人的不認可,但是發展到今天,比特幣已經成為了全球投資市場上最熱的點之一。
拓展資料:一.挖礦比特幣的基本流程:
1.買一張像樣的GPU卡,注冊一個比特幣錢包,然後下載一個免費的挖礦應用。
2.選擇一個比特幣礦池注冊並建立賬戶。
3.選擇一個交易平台進行注冊,並將挖出的比特幣暫時存儲在這里。
4.挖出比特幣後,通過平台導入國內網站,將想要出售的比特幣掛在網站上或留待升值。
操作環境:UC瀏覽器13.6版本
二.比特幣的價值,意思及原理
1.價值:(1)比特幣是一種數字虛擬貨幣,它的數量有限的,但是可以兌換大多數國家的貨幣,這是比特幣目前的最大價值。(2)可以用比特幣進行充值和購買游戲中的設備,在虛擬世界中,比特幣的價值是高於真實貨幣。
2.含義:(1)比特幣設計者的初衷是建立一個自由、沒有中心中心但是卻有秩序的貨幣兌換世界。比特幣的出現實現了設計者的這一最初想法。(2)比特幣的計算時間是無限的,而人的生命是有限的,這在一定程度上維持了比特幣長期而永恆的發展。(3)系統的加密技術保證了比特幣的安全性,而且使用和包裝也很好。
3.原理:與真正的貨幣不同,比特幣不是由特定的貨幣機構發行的。它是由基於特定演算法的大量計算產生的。就其本質而言,比特幣是由一些復雜演算法生成的特殊解決方案。每個特解都是方程的唯一解,一旦解出來,你就擁有了這種特殊的貨幣。

4. 虛擬貨幣全線崩盤,比特幣是如何製造出來的

比特幣是一種P2P形式的虛擬加密數字貨幣。點對點傳輸意味著去中心化的支付系統。比特幣是一種虛擬的數字貨幣,是通過特定程序進行大量計算而產生的。此過程稱為“采礦”,而進行采礦的人員稱為“礦工”。實際上,使用計算機來解決復雜的數學問題,以確保比特幣網路的分布式記帳系統的一致性。比特幣網路將自動調整數學問題的難度,以便整個網路大約每10分鍾獲得一個合格的答案。然後,比特幣網路將產生一定數量的比特幣作為獎勵,以獎勵那些得到答案的人。用外行的話說,比特幣不依賴特定的貨幣機構發行,而是通過基於特定演算法的大量計算生成的。

最多可以將256個0或1s組合為2到256的不同數字的冪。這個龐大的集合可以滿足任何與比特幣相關的代幣。哈希的另一個重要特徵是。如果要生成特殊的輸出編號,則只能通過隨機嘗試一個接一個地進行正向計算,並且不能從輸出結果中反轉輸入信息。此功能是比特幣平穩運行的重要基礎。挖掘是通過更改隨機數直到滿足要求來生成不同的哈希值。隨著整個網路計算能力的提高,查找哈希值的難度將增加,從而保持每10分鍾查找一次哈希值的頻率。

5. 比特幣是怎麼挖出來的

從比特幣的本質說起,比特幣的本質其實就是一堆復雜演算法所生成的特解。特解是指方程組所能得到無限個(其實比特幣是有限個)解中的一組。而每一個特解都能解開方程並且是唯一的。
以人民幣來比喻的話,比特幣就是人民幣的序列號,你知道了某張鈔票上的序列號,你就擁有了這張鈔票。而挖礦的過程就是通過龐大的計算量不斷的去尋求這個方程組的特解,這個方程組被設計成了只有 2100 萬個特解,所以比特幣的上限就是 2100 萬。
要挖掘比特幣可以下載專用的比特幣運算工具,然後注冊各種合作網站,把注冊來的用戶名和密碼填入計算程序中,再點擊運算就正式開始。
完成Bitcoin客戶端安裝後,可以直接獲得一個Bitcoin地址,當別人付錢的時候,只需要自己把地址貼給別人,就能通過同樣的客戶端進行付款。在安裝好比特幣客戶端後,它將會分配一個私有密鑰和一個公開密鑰。需要備份你包含私有密鑰的錢包數據,才能保證財產不丟失。如果不幸完全格式化硬碟,個人的比特幣將會完全丟失。

6. 比特幣到底是什麼

比特幣(Bitcoin)是一種基於去中心化,採用點對點網路與共識主動性,開放源代碼,以區塊鏈作為底層技術的虛擬加密貨幣,由中本聰在2008年提出,2009年誕生。 比特幣沒有一個集中的發行方,由網路節點的計算生成,可以在任意一台接入互聯網的電腦上買賣,並且具有極強的稀缺性。

從比特幣的本質說起,比特幣的本質其實就是一堆復雜演算法所生成的特解。特解是指方程組所能得到有限個解中的一組。而每一個特解都能解開方程並且是唯一的。以鈔票來比喻的話,比特幣就是鈔票的冠字型大小碼,你知道了某張鈔票上的冠字型大小碼,你就擁有了這張鈔票。而挖礦的過程就是通過龐大的計算量不斷的去尋求這個方程組的特解,這個方程組被設計成了只有 2100 萬個特解,所以比特幣的上限就是 2100 萬個。

要挖掘比特幣可以下載專用的比特幣運算工具,然後注冊各種合作網站,把注冊來的用戶名和密碼填入計算程序中,再點擊運算就正式開始。完成Bitcoin客戶端安裝後,可以直接獲得一個Bitcoin地址,當別人付錢的時候,只需要自己把地址貼給別人,就能通過同樣的客戶端進行付款。在安裝好比特幣客戶端後,它將會分配一個私鑰和一個公鑰。需要備份你包含私鑰的錢包數據,才能保證財產不丟失。如果不幸完全格式化硬碟,個人的比特幣將會完全丟失。

貨幣特徵
去中心化:比特幣是第一種分布式的虛擬貨幣,整個網路由用戶構成,沒有中央銀行。去中心化是比特幣安全與自由的保證 。

全世界流通:比特幣可以在任意一台接入互聯網的電腦上管理。不管身處何方,任何人都可以挖掘、購買、出售或收取比特幣。

專屬所有權:操控比特幣需要私鑰,它可以被隔離保存在任何存儲介質。除了用戶自己之外無人可以獲取。

低交易費用:可以免費匯出比特幣,但最終對每筆交易將收取約1比特分的交易費以確保交易更快執行。

無隱藏成本:作為由A到B的支付手段,比特幣沒有繁瑣的額度與手續限制。知道對方比特幣地址就可以進行支付。

跨平台挖掘:用戶可以在眾多平台上發掘不同硬體的計算能力。

優點
完全去處中心化,沒有發行機構,也就不可能操縱發行數量。其發行與流通,是通過開源的p2p演算法實現。

匿名、免稅、免監管。

健壯性。比特幣完全依賴p2p網路,無發行中心,所以外部無法關閉它。比特幣價格可能波動、崩盤,多國政府可能宣布它非法,但比特幣和比特幣龐大的p2p網路不會消失。

無國界、跨境。跨國匯款,會經過層層外匯管制機構,而且交易記錄會被多方記錄在案。但如果用比特幣交易,直接輸入數字地址,點一下滑鼠,等待p2p網路確認交易後,大量資金就過去了。不經過任何管控機構,也不會留下任何跨境交易記錄。

山寨者難於生存。由於比特幣演算法是完全開源的,誰都可以下載到源碼,修改些參數,重新編譯下,就能創造一種新的p2p貨幣。但這些山寨貨幣很脆弱,極易遭到51%攻擊。任何個人或組織,只要控制一種p2p貨幣網路51%的運算能力,就可以隨意操縱交易、幣值,這會對p2p貨幣構成毀滅性打擊。很多山寨幣,就是死在了這一環節上。而比特幣網路已經足夠健壯,想要控制比特幣網路51%的運算力,所需要的CPU/GPU數量將是一個天文數字。

缺點
交易平台的脆弱性。比特幣網路很健壯,但比特幣交易平台很脆弱。交易平台通常是一個網站,而網站會遭到黑客攻擊,或者遭到主管部門的關閉。

交易確認時間長。比特幣錢包初次安裝時,會消耗大量時間下載歷史交易數據塊。而比特幣交易時,為了確認數據准確性,會消耗一些時間,與p2p網路進行交互,得到全網確認後,交易才算完成。

價格波動極大。由於大量炒家介入,導致比特幣兌換現金的價格如過山車一般起伏。使得比特幣更適合投機,而不是匿名交易。

大眾對原理不理解,以及傳統金融從業人員的抵制。活躍網民了解p2p網路的原理,知道比特幣無法人為操縱和控制。但大眾並不理解,很多人甚至無法分清比特幣和Q幣的區別。「沒有發行者」是比特幣的優點,但在傳統金融從業人員看來,「沒有發行者」的貨幣毫無價值。

7. 如何在windows平台下編譯比特幣bitcoin客戶端

很多朋友都知道如何在linux平台如何編譯比特幣程序,但是,到了windows平台,
就會感覺到無從下手. 其實, 比特幣程序是跨平台的.
你要編譯windows版的比特幣程序,基本上有兩種方法,一種是在linux平台
(推薦ubuntu 13.10)通過交叉編譯的方法來編譯.另外一種,就是直接在windows平台編譯.
我想,你既然要在windows平台使用,我就詳細介紹一下如何在windwows平台編譯比特幣程序.
我的平台:windows7

第一步:安裝變編譯環境QT和MINGW,msys
1、msys是一個在windows平台模擬shell的程序。
下載安裝程序之後,通過安裝管理程序,按安裝以下內容:
From MinGW installation manager -> All packages -> MSYS
選中以下安裝包
msys-base-bin
msys-autoconf-bin
msys-automake-bin
msys-libtool-bin
點 apply changes開始安裝。他會自動下載安裝好。
需要注意的是,確保不要安裝msys-gcc和msys-w32api ,因為這兩個包和我們的編譯系統發生沖突。
很多人出現一些莫名其妙的問題,就是因為這兩個包。
2、安裝 MinGW-builds
下載並解壓縮 i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z 到C盤根目錄 C:\
注意我的目錄結構。你盡量和我一樣。
3、設置PATH環境變數,將C:\mingw32\bin;添加到第一個。
4、在命令行模式下輸入 gc -v 會得到以下內容
c:\gcc -v
Using built-in specs.
COLLECT_GCC=c:\mingw32\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.8.2/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../../../src/gcc-4.8.2/configure --host=i686-w64-mingw32 --build=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/mingw32 --with-sysroot=/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32 --with-gxx-include-dir=/mingw32/i686-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-sjlj-exceptions --with-dwarf2 --disable-isl-version-check --disable-cloog-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-libiconv --with-system-zlib --with-gmp=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-mpfr=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-mpc=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-isl=/c/mingw482/prerequisites/i686-w64-mingw32-static --with-cloog=/c/mingw482/prerequisites/i686-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='i686-posix-dwarf-rev3, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include -I/c/mingw482/prerequisites/i686-zlib-static/include -I/c/mingw482/prerequisites/i686-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include -I/c/mingw482/prerequisites/i686-zlib-static/include -I/c/mingw482/prerequisites/i686-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/lib -L/c/mingw482/prerequisites/i686-zlib-static/lib -L/c/mingw482/prerequisites/i686-w64-mingw32-static/lib -Wl,--large-address-aware'
Thread model: posix
gcc version 4.8.2 (i686-posix-dwarf-rev3, Built by MinGW-W64 project)
至此,你的開發環境已經搭建好了,很簡單吧

第二部分:下載bitcoin引用的外部庫
我們把它們全部放在 C:\deps目錄下

2.1 安裝OpenSSL
進入啟動 MinGw shell 比如目錄:(C:\MinGW\msys\1.0\msys.bat)運行這個msys.bat,就會啟動一個shell環境,提示符是$
輸入命令
cd /c/deps/
tar xvfz openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
Configure no-shared no-dso mingw
make
等待幾分鍾後,就把openssl編譯好了。

2.2 下載Berkeley DB
我們推薦使用 4.8版本
同樣在msys shell環境下輸入以下命令
cd /c/deps/
tar xvfz db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix
../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication
make
等待編譯

2.3 安裝Boost
msys命令:
cd C:\deps\boost_1_55_0\
bootstrap.bat mingw
b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage

2.4 安裝Miniupnpc
cd C:\deps\miniupnpc
mingw32-make -f Makefile.mingw init upnpc-static
msys shell命令
cd /c/deps/protobuf-2.5.0
configure --disable-shared
make

2.6 qrencode:
命令
cd /c/deps/libpng-1.6.10
configure --disable-shared
make
LIBS="../libpng-1.6.10/.libs/libpng16.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \
png_CFLAGS="-I../libpng-1.6.10" \
png_LIBS="-L../libpng-1.6.10/.libs" \
configure --enable-static --disable-shared --without-tools
make

2.7 安裝 Qt 5 庫
下載和解壓縮
在 windows命令行輸入:
set INCLUDE=C:\deps\libpng-1.6.10;C:\deps\openssl-1.0.1g\include
set LIB=C:\deps\libpng-1.6.10\.libs;C:\deps\openssl-1.0.1g
cd C:\Qt\5.2.1
configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl-linked -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug
mingw32-make
set PATH=%PATH%;C:\Qt\5.2.1\bin
cd C:\Qt\qttools-opensource-src-5.2.1
qmake qttools.pro
mingw32-make

3. 下載Bitcoin 0.9.1
在msys shell下輸入以下命令行:
cp /c/deps/libpng-1.6.10/.libs/libpng16.a /c/deps/libpng-1.6.10/.libs/libpng.a
cd /c/bitcoin-0.9.1
./autogen.sh
CPPFLAGS="-I/c/deps/boost_1_55_0 \
-I/c/deps/db-4.8.30.NC/build_unix \
-I/c/deps/openssl-1.0.1g/include \
-I/c/deps \
-I/c/deps/protobuf-2.5.0/src \
-I/c/deps/libpng-1.6.10 \
-I/c/deps/qrencode-3.4.3" \
LDFLAGS="-L/c/deps/boost_1_55_0/stage/lib \
-L/c/deps/db-4.8.30.NC/build_unix \
-L/c/deps/openssl-1.0.1g \
-L/c/deps/miniupnpc \
-L/c/deps/protobuf-2.5.0/src/.libs \
-L/c/deps/libpng-1.6.10/.libs \
-L/c/deps/qrencode-3.4.3/.libs" \
./configure \
--disable-upnp-default \
--disable-tests \
--with-qt-incdir=/c/Qt/5.2.1/include \
--with-qt-libdir=/c/Qt/5.2.1/lib \
--with-qt-bindir=/c/Qt/5.2.1/bin \
--with-qt-plugindir=/c/Qt/5.2.1/plugins \
--with-boost-system=mgw48-mt-s-1_55 \
--with-boost-filesystem=mgw48-mt-s-1_55 \
--with-boost-program-options=mgw48-mt-s-1_55 \
--with-boost-thread=mgw48-mt-s-1_55 \
--with-boost-chrono=mgw48-mt-s-1_55 \
--with-protoc-bindir=/c/deps/protobuf-2.5.0/src
make
strip src/bitcoin-cli.exe
strip src/bitcoind.exe
strip src/qt/bitcoin-qt.exe

這樣,你就得到了變異好的 bitcoin-cli.exe和bitcoind.exe ,bitcoin-qt.exe(windows QT圖形界面的錢包軟體)

8. 比特幣的交易流程

1.賬號,點擊「登錄」, 再參考第四步,如您沒有賬號,點擊「注冊」
2.在注冊頁面,輸入郵箱,然後設置登錄密碼,勾選幣安服務條款,再點「注冊」。
3.先完成身份認證,綁定手機號,再完成支付方式綁定,並激活。
4.選擇左上角買幣
比特幣交易流程:幣安交易所注冊及比特幣交易詳細流程
5.點擊「我要買」,點擊自選區,選擇您想要的幣種(這里以購買BTC為例),考慮價格、支付方式篩選相應的廣告,點擊廣告右邊「購買BTC
6.輸入想購買的金額或數量,點擊「立即購買」,請注意:T+1限制。
7.在訂單詳情頁,確認付款金額(總價)和付款方式。
拓展資料:比特幣交易注意事項:
1、嚴控止損,防範風險。投資可以容許虧損,但是必須把虧損控制在可承受的范圍內,因此嚴格設置止損是投資者盈利的第一步。經常就有人訴苦,虧損嚴重,那麼為何你不做好止損還有的人看行情上漲,就盲目做多,行情下跌,就盲目做空,這種追漲殺跌情況,是投資大忌,彥文一直強調,不管行情波動多少,止損是必須得帶的,一般是60—100點。
2、嚴控止盈,彥文每次在布局的時候多次強調以100~200點利潤為目標,到達目標點位逐步擴大止盈,就不至於像有的人那樣,賺不到多少利潤,賺的少是為什麼?該好好想想了,行情走勢明朗,明明可以獲得更大利潤,為什麼不逐步去獲取呢?跟上文操作策略,逐步盈利,將利潤最大化,然後及時出局落袋為安。短線操作就是要抓住波段行情的利潤。
3、做好計劃,保住盈利。兵馬未動,糧草先行。投資者在入場交易前首先應該對今日的行情走勢作全面的預判,並對自己的盈利和損失范圍作科學的設置。有了一個大的方向和方案,有計劃的去做單,才能有效獲取盈利。有的人不看點位,不看進場時機,什麼單子都想去做,結果一天下來,沒賺到利潤事小,虧損就很郁悶,忙了一整天啥都沒得到,還弄得精神緊張,實在不劃算。所以做好計劃是十分有必要的。
4、順勢操作,總結經驗。投資最重要的原則就是順勢而為,投資者只有順著市場的前進方向才能更安全的獲利,不能看到行情明明是要漲,卻堅持要買空,行情要下跌了,又去做了多單。豈不知順勢者昌,逆勢者亡。

9. 比特幣跑分流程

比特幣跑分流程比:在手機上下載安兔兔,打開之後,點擊開始跑分按鈕。
2021年9月24日,中國人民銀行發布進一步防範和處置虛擬貨幣交易炒作風險的通知。通知指出,虛擬貨幣不具有與法定貨幣等同的法律地位 。
比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。

10. 比特幣挖礦,到底如何挖- 解析虛擬貨幣挖礦流程和原理

網路上有許多種加密貨幣在流通說到底是什麼意思?像是比特幣(Bitcoin)、以太幣(Ether)、瑞波幣(Ripple)等等,但大家最常聽到的還是非比特幣莫屬,可以說是全球的「礦工」們都在想盡辦法獲得它,許多人不只是把它看作是單純的熱潮跟風,甚至有些人將它視為資產在投資,比特幣同時也是造成目前全球顯示卡大缺貨的主因,全世界有無數的礦工、礦場無時無刻不在運作,他們大量購買顯卡,為得就是要搶在其他競爭對手前奪得先機。

然而,到底比特幣挖礦在挖什麼?如果現在想要進場挖礦會不會太晚?又要准備什麼硬體設備才能開始挖礦呢?

身為目前最火紅數位貨幣之一的比特幣,由於獲取難度高,且物以稀為貴的條件下,導致比特幣的相對價值非常高。在數位貨幣市場上,比特幣被當成一種「股票」操作,它可以用來當作保值品投資,也可以將其轉換成各國貨幣並存入現行銀行 帳戶 ,許多網路商店甚至支持直接使用比特幣購買商品。想要獲得比特幣的話,最直接快速的方法就是金錢購買,目前一個比特幣的價值大約等同於30萬左右,這是近一年來,價格最低的一段時間,想要直接用金錢購買比特幣加入這股數位貨幣風潮的話,現在或許是最好的時機。

購買比特幣的方法其實很簡單,首先需要先在網路上建立一個可以儲存比特幣的電子錢包,關於電子錢包的種類網路上十分多樣,本文我們將以「幣托」(BitoEX)為例說明。進入幣托首頁以後,直接點擊畫面中央的「免費申請」並輸入賬號和密碼建立電子錢包,完成信箱帳號認證以後你就會獲得一個專屬於你的電子錢包,登入後即可進入該電子錢包並瀏覽目前的余額,因為是剛申請的緣故,因此賬戶余額為零,這時候可以直接選擇「購買比特幣」功能開始交易。

不過此頁面中最重要的是信息其實是位於右上方的「錢包地址」,這不僅是在交易時會使用到,後續挖礦時也會使用這個錢包地址作為比特幣的儲存目標。

不過,由於比特幣單價價格昂貴,動輒二三十萬以上,如果不想要直接用金錢購買比特幣的話,另一個方法就是用挖礦的方式獲得了。

1.進入幣托網頁以後,點擊畫面中央的「免費申請」開始建立個人電子錢包。

2.輸入用來登入錢包的電子信箱以及密碼,建議使用強度高的各種符號或數字字母作為密碼組合。

3.完成步驟以後即可進入個人的電子錢包頁面,這里可以隨時關注自己錢包內的金額數量。

比特幣的發行有它自己的時間以及數量,大約每十分鍾會由代碼執行新比特幣的發行,並且授予給參與比特幣交易的某(群)人,因此,獲得新發行的比特幣就好比是獲得剛出土的金礦,所以才會將這些獲得比特幣的人比喻為礦工。而礦工們「挖礦」的動作在英文中稱為「mining」,這是一種比特幣使用者可以考慮、但是只有專業挖礦者才「有可能」獲取比特幣的方法。

想要開始挖礦的話,在開始之前有一些事前准備要做,包含硬體投入成本以及運作成本。

前者是指硬體的購入、安裝、電費、折舊、場地以及散熱等等;

而後者則是維持這些硬體持續運作,所需付出的成本。

兩者綜合以後,可以發現其實挖礦所需的成本非常龐大,這也就造成部分擁有大量資金成立挖礦專用硬體設備的以「出租」的方式來回收成本,這種挖礦模式被包裝成一種「商品」並在公開的網路市場上進行買賣,當挖到比特幣時,會依每位承租人的付出比例來分礦,這樣的挖礦模式也就是所謂的「雲端挖礦」。

開采比特幣的做法主要有三種,除了雲端挖礦外,還有「獨立挖礦」以及「合力挖礦」,不過由於目前的挖礦難度不斷提升,且有越來越多競爭者擠入,時至今日想要單靠自己的力量獨立挖到礦的可能已經不大,雖然一旦成功挖礦便可獨自獲得全部利益,但一般比較可行的做法是採用後者「合力挖礦」,也就是團隊挖礦的概念,挖到礦時全團依照每個人付出的比例來分礦。

由於挖礦難度與日俱增,個人想要藉由顯卡挖礦獲得比特幣難如登天。

擁有大量資本的礦工會租挖礦機,最後甚至會把挖礦機承租給其他人,藉此獲利。

雲端挖礦逐漸被塑造成一種金融商品,以月租或年租的方式收取承租費,挖到礦時再按比例分給承租人。

礦池 :早期比特幣還不興盛的時候,大部分人都用自己的電腦來挖礦,最早當然是用盡CPU的能力來運算,接著有人發現用顯示卡的GPU Stream Processors來計算會快更多,可是當大家紛紛投入挖礦以後,出現了很多為挖礦優化的設備,一般個人電腦根本拼不過,因此需要加入礦池(Mining Pool)來挖礦,由伺服器集合所有使用者的運算力量來挖,再由一定比例回饋使用者(礦工),才不會發生挖了老半天卻拼不過專業挖礦機,花了電費卻什麼都得不到的情形。

礦機 :由於顯卡雖然挖礦速度較快,但是顯示晶片原本並不是專門用於挖礦,因此用顯卡挖礦不僅很耗電而且發熱量又高,如果是3、4張顯卡所組成的挖礦電腦,更是耗電,最後計算起來很可能挖比特幣的收益都還不夠付電費呢!因此從2013年開始,挖比特幣的重心逐漸轉移到專業礦機上,這種礦機區分為兩大類型:

挖礦的過程並不復雜,只需要下載「挖礦程序」其實就能開始挖礦。網路上的挖礦軟體百百款,這里我們將以NiceHash Miner 這款軟體舉例說明。

首先,根據手上顯卡廠商下載對應的NiceHash Miner 版本並開啟軟體,在正式開始挖礦以前,有幾個步驟要先設定。

電子錢包頁面中最重要的信息就是錢包地址,這除了是比特幣買賣家交易時須使用的信息以外,同時也是挖礦時比特幣儲存的目標位址,點擊幣托頁面中的錢包地址後,就會獲得一串「未命名的錢包地址」,請復制這串數位碼並好好保存。

接下來在挖礦程序中點擊「錢包」(Wallet)選項,將剛剛復制的數位碼貼上後即可完成儲存目標設定。在左下方的「硬體信息」(Hardware Details)選項中,系統預設會找到你電腦使用的顯卡型號,也可以在這里開啟處理器加入挖礦的行列,可根據需求和喜好設定。

在「錢包」的選項中,貼上個人電子錢包位置,一旦挖到比特幣時便會儲存在該錢包中。

一切都准備就緒後,就可以按下中間的「開始挖礦」(Start),你的電腦會自動開啟命令執行視窗進行挖礦,不同的挖礦軟體無論每次挖礦的動作成功與否,都會釋出不同的通知指令,以NiceHash 為例,成功挖礦時視窗上將會出現的綠色的指令通知。但這時候軟體挖到的比特幣數額其實非常小,需要長時間連續不間斷的挖礦才能挖到完整一個比特幣。

每個軟體在挖礦時,顯示的通知不盡相同,NiceHash是以綠色文字提示挖到比特幣的通知信息。

根據挖礦的規模,每次成功挖礦時獲得的比特幣數額不同,需要長時間不間斷開挖才能獲得完整一個比特幣。

無論你是使用金錢直接購買,還是使用各種不同的挖礦模式,在獲得比特幣以後該如何使用它?首先你可以把它當成是一種投資品保存,由於全世界幾乎無時無刻都有人在進行比特幣交易,因此,它的幣值也在不斷波動,你可以在它未來價格漲到最高點時脫手賣出,以去年一整年最高的平均價格50多萬來看,現在一個比特幣大約是25萬,有可能可以獲得大於成本兩倍的獲利。

如果沒有打算將比特幣當作保值品來看的話,你可以到幣托或是MaiCoin 等網站里,將獲得的比特幣轉換成人民幣,換取現金到現行的銀行帳戶中供其他使用,如果不想換成人民幣的話,也可以將比特幣轉換成其他虛擬貨幣來持有;此外,目前網路上還有許多網站或服務是支持比特幣付款的。

其他還有很多網路零售商也支持買家使用比特幣在平台上購買商品,國外電子產品零售業龍頭之一的newegg 就是其中之一,它們和Bitpay 電子錢包合作,讓消費者可以在購買商品時,選擇使用比特幣進行支付。其他還有像是NASDAQ 的線上百貨零售商Overstock、紐約地產公司邦德紐約或是利用信用卡定世界各國旅館獲得比特幣現金回饋的PointHound 等等,種類非常多。

比特幣過去一年最高曾有突破50萬的可觀價值,將其視為一保值品也是不錯的選擇。

由於比特幣在全世界造成的熱潮至今還未間斷,無論是用團隊挖礦還是雲端挖礦模式,仍有許多比特幣使用者正在挖礦。在這樣的熱潮下,也間接導致了不少問題。

顯卡嚴重缺貨

首先最直接的問題就是顯卡,由於顯卡是礦工們最主要的挖礦工具,它們需要大量顯卡加快挖礦的速度,藉此搶在他人以前獲得比特幣,也導致目前無論是NVIDIA 還是AMD 顯卡在全球都出現缺貨的情形,同時也造成顯卡價格上漲,尤其是高階的顯卡問題更嚴重,常常會需要以比廠商建議售價高出許多的價格購買,也讓想要單買顯卡幫電腦升級的民眾購買困難。

挖礦的過程是將顯卡以及電腦的效能發揮到最極致,如果能成功獲得比特幣那也就罷了,更慘的就是不僅沒挖到礦,甚至還多花冤枉錢。挖礦的過程不僅需要隨時保持電腦主機的溫度,甚至主機還需要放在通風的室內運作來避免主機過熱,長時間連續挖礦下,對於顯卡的產品壽命也有害。

此外,挖礦過程中還必須考量到電費的問題,根據「比特幣能源消耗指數」報告的統計,比特幣在過去一年內挖礦的電力總消耗已累積達29.51兆瓦小時,約佔全球總電力消耗的0.13%,聽起來佔比不大,但該數字已經超過全球近160個國家一年的電力消耗,可見挖礦的耗電量有多大。雖然說比特幣確實有它的吸引力存在,但在通往致富的挖礦路上,礦工們仍要考慮許多成本付出的問題以及帶來的影響。

在零售商的網頁上,可以看到無論是NVIDIA還是AMD的顯卡,高階版本幾乎都為缺貨狀態。

挖礦的過程中,會大量耗費處理器和顯卡的性能,導致其溫度升高,降低其產品壽命。

根據統計,比特幣過去一年的耗電量已超過圖中黃色國家和地區的耗電量。

# 科技 日報#

閱讀全文

與比特幣編譯流程相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:422
個人所得稅java 瀏覽:761
多餘的伺服器滑道還有什麼用 瀏覽:192
pdf劈開合並 瀏覽:28
不能修改的pdf 瀏覽:752
同城公眾源碼 瀏覽:489
一個伺服器2個埠怎麼映射 瀏覽:298
java字元串ascii碼 瀏覽:79
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:946
安卓導航無聲音怎麼維修 瀏覽:333
app怎麼裝視頻 瀏覽:431
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491