⑴ 關於比特幣的幾個問題的研究
018年,區塊鏈技術井噴式的發展,同1997年那會兒的互聯網何其相像。筆者相信,區塊鏈技術的發展,肯定會快過互聯網。如果再不攝入點區塊鏈方面的知識,也許你將落後一個時代。本文將回答關於比特幣的幾個問題。
問題一:比特幣怎麼誕生的?
2008年11月1日,一個自稱中本聰(Satoshi Nakamoto)的人在一個隱秘的密碼學評論組(密碼朋克)上貼出了一篇研討微V-BQ爾無吧疤Y陳述,陳述了他對電子貨幣的新設想——比特幣就此面世。
問題二:比特幣如何生產?
比特幣網路通過「挖礦」來生成新的比特幣。所謂「挖礦」實質上是用計算機解決一項復雜的數學問題,來保證比特幣網路分布式記賬系統的微V-BQ爾無吧疤Y一致性。比特幣每10分鍾產生一個區塊,包含過去十分鍾所有的交易信息。誰能算出數字,誰就獲得記賬權。獲得記賬權後,將向全網廣播、存儲。由誰獲得記賬權是不確定的,當然,你運算能力越強,獲得記賬權的幾率越高。隨後比特幣網路會新生成一定量的比特幣作為賞金,獎勵獲得記賬權的人。
問題三:比特幣的特點?
完全去處中心化,沒有發行機構,也就不可能操縱發行數量。比特幣不需要第三方機構,彼此信任的點對點交易。信任的建立不再基於大型機構,而是基於密碼技術和代碼。比特幣可以在任意一台接入互聯網的電腦上管理。不管身處何方,任何人都可以挖掘、購買、出售或收取比特幣。操控比特幣需要私鑰,它可以被隔離保存在任何存儲介質,除了用戶自己之外無人可以獲取。作為由A到B的支付手段,比特幣沒有繁瑣的額度與手續限制,知道對方比特幣地址就可以進行支付。
問題四:比特幣能被仿造嗎?
山寨者難以生存。由於比特幣演算法是完全開源的,誰都可以下載到源碼,修改些參數,重新編譯下,就能創造一種新的p2p貨幣。但這些山寨貨幣微V-BQ爾無吧疤Y很脆弱,極易遭到51%攻擊。任何個人或組織,只要控制一種p2p貨幣網路51%的運算能力,就可以隨意操縱交易、幣值,這會對p2p貨幣構成毀滅性打擊。很多山寨幣,就是死在了這一環節上。而比特幣網路已經足夠健壯,想要控制比特幣網路51%的運算力,所需要的cpu/gpu數量將是一個天文數字。
問題五:為什麼比特幣總量為2100萬?
2009年比特幣誕生的時候,每筆賞金是50個比特幣。誕生10分鍾後,第一批50個比特幣生成了,而此時的貨幣總量就是50。隨後比特幣就以約每10分鍾50個的速度增長。當總量達到1050萬時(2100萬的50%),賞金減半為25個。當總量達到1575萬(新產出525萬,即1050的50%)時,賞金再減半為12.5個。依此類推。根據其設計原理,比特幣的總量會持續增長,直至100多年後達到2100萬的那一天。但比特幣貨幣微V-BQ爾無吧疤Y總量後期增長的速度會非常緩慢。簡單來說,比特幣產量每4年減半,目前每10分鍾產生12.5個比特幣。事實上,87.5%的比特幣都將在頭12年內被「挖」出來。而且,2100萬也只是理論數據,現實中,由於初期比特幣不受重視,不少比特幣遺失。
問題六:比特幣礦工有哪些收益?
首先是通過運算,獲得記賬權後,直接獎勵比特幣。但按照比特幣規則,隨著時間增長,獎勵會越來越少。將來的收益,主要通過收取比特幣交易產生的手續費。
問題七:為什麼比特幣不可修改?
舉個例子,假如A和B進行交易,A需要付給B一百個比特幣。但如果A想要賴賬,只想付給B一個比特幣。按照比特幣的規則,他就必須要獲得下一個10分鍾微V-BQ爾無吧疤Y的記賬權,才能修改;同樣,他也必須要再獲得下下個10分鍾的記賬權,以此類推。所以,修改是幾乎不可能的。
問題八:比特幣交易速率?
理論上講,比特幣交易速率是每秒7筆。實際上,比特幣目前交易速度只有每秒一筆。
問題九:比特幣為什麼有如此強的生命力?
把比特幣比作一個公司,那麼他沒有股東會、董事會、管理層,沒有嚴厲的領導,沒有HR,沒有部門經理,沒有員工,沒有經營場地,沒有收入。但比特幣公司成功運行了9年時間,從沒有出現任何問題,並且市值數千億,網路的運行時依靠一套數學演算法、激勵機制和社區來進行管理和治理。
問題十:比特幣面臨的問題?
一是交易確認時間長。比特幣錢包初次安裝微V-BQ爾無吧疤Y時,會消耗大量時間下載歷史交易數據塊。而比特幣交易時,為了確認數據准確性,會消耗一些時間,與p2p網路進行交互,得到全網確認後,交易才算完成。
二是大眾對原理不理解,以及傳統金融從業人員的抵制。懂原理的人,知道比特幣無法人為操縱和控制。但大眾並不理解,很多人甚至無法分清比特幣和Q幣的區別。「沒有發行者」是比特幣的優點,但在傳統金融從業人員看來,「沒有發行者」的貨幣毫無價值。
⑵ 比特幣源代碼如何修改可以變成一個新的虛擬幣
改一下名字就行了,狗狗幣就是這麽來的,這東西最主要看你怎麽炒作。
⑶ 比特幣到底是什麼
比特幣(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幣的區別。「沒有發行者」是比特幣的優點,但在傳統金融從業人員看來,「沒有發行者」的貨幣毫無價值。
⑷ 如何開發數字貨幣
謝邀~
為何要開發數字貨幣?從中央銀行的角度來看有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分鍾,找到該密鑰的人獲得一定數量的硬幣作為獎勵。一旦創建了鏈的新塊,就不可能將其從資料庫中刪除或以某種方式更改信息。因此,區塊鏈交易是最終且不可逆的。
數字貨幣的三大核心優點:
第一點、數字貨幣是公平的貨幣
數字貨幣沒有特定的發行機構,不是由某一國家發行的,僅僅是依靠特定演算法產生的,這就意味著無法通過操縱發行數量來操縱數字貨幣,因此數字貨幣是一種自由的、非國家的貨幣。
我們可以看到現在有許多國家是直接認可了虛擬貨幣,那麼有需求,就需要交易的平台。
我們現在許多想搭建虛擬貨幣交易平台的投資者,為什麼不能去這些地區搭建交易平台呢?搭建虛擬貨幣交易平台,這不就是一個很好的商機嗎?
第二點、數字貨幣的安全系數更高
紙幣的出現雖然方便了我們日常生活中的交易,但是會有被偷盜以及收到的風險。電子貨幣雖然可以避免這些風險,但是會出現諸如被盜刷、等新的問題。
數字貨幣則可以避免以上問題。並且將每一筆交易記錄在網路上進行廣播,是的所有節點都保存全部貨幣的流通信息,這樣任意一個節點在交易之前就可以輕易地發現貨幣的流通。
第三點、數字貨幣的交易可以實現匿名交易
由於沒有傳統銀行開戶和身份認證的過程,數字貨幣是純匿名的。雖然可以根據本地完整的交易記錄查詢到每個賬號的流水信息。
但卻無法知道這個賬號的主人是誰,同樣也沒有任何人有能力操縱他人賬號上的數字貨幣,這樣很好的保護了使用人的隱私。
如果您也在持有交易數字貨幣、外匯黃金原油、合約期貨:
⑸ 《白話區塊鏈》pdf下載在線閱讀,求百度網盤雲資源
《白話區塊鏈》(蔣勇)電子書網盤下載免費在線閱讀
鏈接:https://pan..com/s/1dpppPspwDoo9wWd0m4ODJw 密碼:65p3
書名:白話區塊鏈
作者:蔣勇
譯者:文延
豆瓣評分:7.6
出版社:機械工業出版社
出版年份:2017-10-1
頁數:236
內容簡介:
由淺入深:從比特幣開始,到區塊鏈技術的骨骼(密碼演算法)和靈魂(共識演算法),再到目前知名的區塊鏈框架介紹,到最後從零構建一個微型區塊鏈系統(微鏈),循序漸進。
多圖多表:各種示例以及圖表,通過流程圖與示意圖介紹比特幣的源碼編譯、以太坊智能合約的開發部署、超級賬本Fabric的配置使用、模擬比特幣的微型區塊鏈系統的設計實現等,形象而直觀。
白話通俗:通過「村民賬本記賬」、「百花村選舉記賬」等生活化示例,避免多技術組合與新概念上的理解障礙與閱讀枯燥感。
作者簡介:
蔣勇,某集團企業信息技術開發部主管。12年軟體設計開發經歷,專注於分布式系統設計,2012年始接觸比特幣底層技術,熟悉比特幣、以太坊、超級賬本等區塊鏈技術實現,並進行過源碼級原理研究。
文延(覃文延),某知名私募投行區塊鏈事業部總經理,是多個自有知識產權的區塊鏈底層技術構架專家委員會和技術白皮書組織者和參與者,北京某央企基金公司區塊鏈研究院副院長。著名DB2DBA和大數據專家。
嘉文,某知名慕課網站架構師,曾長期擔任加拿大貝爾在線營銷部門與大數據產品部門的經理和技術架構師。目前從事基於區塊鏈的量化交易系統的設計和開發。
⑹ 誰能成功編譯比特幣源碼
友情提醒一下:現在的比特幣基本上被開採到末段了。比特幣的程序原理決定了它越到後期生成間隔越長,所以現在生成一個比特幣的時間可能已經超過比特幣的價值了。畢竟還要考慮到挖礦電腦的功耗和時間等。雖然現在比特幣還是很火,但是現在才開始入手的話就有點遲了,不太可能賺到錢了。
⑺ 如何在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圖形界面的錢包軟體)
⑻ 如何在windows平台下編譯比特幣bi
比特幣(BitCoin)的概念最初由中本聰在2009年提出,根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。
與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。
⑼ 如何在區域網重新搭建一套比特幣系統,從第一個區塊開始運行。
必須要2台機子以上,將2台config中的IP互相改成對方的內網IP,要注意有無防火牆的攔截,建議第一次把所有防火牆關掉進行實驗。只要發現鏈接上就可以開始挖礦了,錢包需要沒有老舊區塊
⑽ 如何在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圖形界面的錢包軟體)