區(qū)塊鏈可以用php開發(fā)嗎?
網(wǎng)友解答: 當(dāng)然可以。如果不考慮任何因素只是想做一款區(qū)域鏈的產(chǎn)品,那么采用什么語言都是無所謂的。除了比特幣之外,現(xiàn)在并沒有一款大家公認(rèn)的區(qū)域鏈產(chǎn)品 ,那我們以下的討論就變?yōu)槭欠窨梢允褂肞
當(dāng)然可以。
如果不考慮任何因素只是想做一款區(qū)域鏈的產(chǎn)品,那么采用什么語言都是無所謂的。
除了比特幣之外,現(xiàn)在并沒有一款大家公認(rèn)的區(qū)域鏈產(chǎn)品 ,那我們以下的討論就變?yōu)槭欠窨梢允褂肞HP實現(xiàn)比特幣。
比特幣需要什么技術(shù)實現(xiàn)?比特幣就是一個桌面客戶端程序。
1.該程序需要進行非常繁瑣復(fù)制的計算,對性能要求非常高。
2.比特幣是去中心化的,所以需要跟跟其他的客戶端進行數(shù)據(jù)的同步,因此強大的網(wǎng)絡(luò)功能也是必不可少的。
3.目前比特幣的數(shù)據(jù)已經(jīng)達到了145G以上,這個數(shù)據(jù)大小將會繼續(xù)增加下去。如果不能對硬盤進行高效的操作,IO將會成為一個瓶頸。
PHP適合實現(xiàn)比特幣嗎?完全不適合。
1.PHP是一種腳本語言,每次運行都要一邊運行一邊編譯,效率非常低。
2.PHP就是使用C實現(xiàn)的,這就等于PHP最后實際上調(diào)用的還是C編寫的接口,隔了一層,還不如采用C或C++,這樣不管是IO還是網(wǎng)絡(luò)性能會更高。
3.我查了一下PHP也有一些桌面庫,不過肯定是不如傳統(tǒng)的桌面霸主C++。
非要使用PHP實現(xiàn)呢?1.可以采用php-gtk實現(xiàn)桌面程序。
2.在最后打包的時候借助Facebook的HHVM編譯成機器碼。
總結(jié)請采用合適的技術(shù)實現(xiàn),如果是類似比特幣的區(qū)域鏈產(chǎn)品,C++是最合適的語言。
網(wǎng)友解答:一般公有鏈區(qū)塊鏈項目有屬于自己的語言和編譯器, 比如以太坊的solidity. 但如果有人用php為solidity寫了一個函數(shù)庫的話,就可以用php開發(fā)啦。
為什么以太坊要開發(fā)自己的編譯器,而不直接用現(xiàn)有流行編譯器呢?因為現(xiàn)有的編譯器對于區(qū)塊鏈而言都不夠高效。比如用c++寫出來的程序最小輸出都大于4KB, 對于普通電腦來說,這沒問題,但是對于區(qū)塊鏈來說,這是很不高效,很浪費的,因為這4KB的文件要同步到全球所有的以太坊節(jié)點上。這是為什么V神選擇開發(fā)自己的編譯器。