a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 專題 > 區(qū)塊鏈 > 正文

區(qū)塊鏈應(yīng)用開發(fā)入門

2020-02-25 19:26:19
字體:
供稿:網(wǎng)友

  區(qū)塊鏈技術(shù)如今是非?;馃?,不僅讓金融家和創(chuàng)投家趨之若鶩,如今已經(jīng)在多個領(lǐng)域遍地播種。作為擁有銳利觸角的創(chuàng)業(yè)家們,是否也想將區(qū)塊鏈集成到你們現(xiàn)有的應(yīng)用中去,而作為IT技術(shù)工程師的你,是否也是躍躍欲試,想基于區(qū)塊鏈來練一下手,以免日后被新技術(shù)淘汰?不過,區(qū)塊鏈涉及如密碼學和P2P等多種技術(shù),區(qū)塊鏈的技術(shù)門派眾多,新鮮概念層出不窮;而另一方面,區(qū)塊鏈技術(shù)的發(fā)展在全球范圍內(nèi)還都尚處在早期階段,各種技術(shù)方案和應(yīng)用場景等還需要進一步地探索和完善,導致很多人想運用區(qū)塊鏈,都找不到突破口,應(yīng)該學習哪些知識和技術(shù)呢,應(yīng)該用什么樣的區(qū)塊鏈呢?

  就區(qū)塊鏈技術(shù)而言,武林技術(shù)小編只能算是新司機,但我仍然嘗試從開發(fā)工程師的角度,給區(qū)塊鏈有興趣的工程師分享一下區(qū)塊鏈應(yīng)用開發(fā)入門的經(jīng)驗。

  我們大多數(shù)人的使用和開發(fā)區(qū)塊鏈的目標來說,并不是要真的自己重新創(chuàng)建一套區(qū)塊鏈,只是希望基于現(xiàn)有的區(qū)塊鏈底層或技術(shù)框架去開發(fā)自己的應(yīng)用。因此,對于類似加密算法、 P2P技術(shù)、共識算法等我們只需要有個基本了解就可以了,暫時不需要深入研究。而我們?nèi)腴T區(qū)塊鏈應(yīng)用開發(fā)的首要目標,是尋找一個相對成熟的區(qū)塊鏈底層去做我們的應(yīng)用開發(fā)的基礎(chǔ),其次,這個區(qū)塊鏈底層需要配套強大易用的開發(fā)接口或開發(fā)框架,此外,這個區(qū)塊鏈底層如果要考慮以后真正商用,還需要符合一些區(qū)塊鏈的技術(shù)指標,如擴展性、燃料費用、交易頻率等等。

  就這兩點目標,Elwin走遍天涯海角,最終挑選出認為符合要求的幾個區(qū)塊鏈底層平臺給大家參考:

  一、比特幣

  最早的區(qū)塊鏈開發(fā)便是基于比特幣的區(qū)塊鏈網(wǎng)絡(luò)進行開發(fā)了,由于比特幣是全球最廣泛使用和真正意義的去中心化,就區(qū)塊鏈應(yīng)用來說,比特幣就是世上最強大的錨,擁有最大的權(quán)威性。因此,圍繞比特幣的各種區(qū)塊鏈技術(shù)非常多,這里不一一描述,只針對入門級別開發(fā)的介紹。

  基于比特幣的區(qū)塊鏈網(wǎng)絡(luò)開發(fā)介紹兩種方式,一種相對比較簡單,基于Blockchain.info的API進行開發(fā)。Blockchain.info是比特幣的最流行的比特幣錢包和區(qū)塊查詢網(wǎng)站,同時也提供的比特幣及其區(qū)塊相關(guān)API。 Blockchain.info 提供了多種主流語言的API庫,包括了比特幣的錢包、支付、區(qū)塊、交易數(shù)據(jù)、市場數(shù)據(jù)等多方面的API。

  ?安裝和使用Blockchain.info的API比較簡單,首先你的機器需要有Node環(huán)境,在Blockchain.info的申請接口授權(quán)碼,安裝Blockchain Wallet API服務(wù)程序,就可以開始配置和測試Blockchain Wallet API服務(wù)程序了,要進一步開發(fā),可以根據(jù)你的開發(fā)語言選擇安裝API的客戶端支持庫。

  進一步的探索,可以采用Docker容器來快速安裝和配置私有節(jié)點的比特幣測試網(wǎng)絡(luò)(bitcoin-testnet)作為開發(fā)試驗環(huán)境,這樣可以更深入了解、調(diào)試和使用比特幣區(qū)塊鏈網(wǎng)絡(luò)。在Bitcoin的wiki網(wǎng)頁上面,提供很多種語言都可以調(diào)用Bitcoin的RPC,大家選擇適合自己的語言具體去試驗,當然,Elwin仍然推薦你使用NodeJS。

  具體流程是下載比特幣測試網(wǎng)絡(luò)的Docker鏡像,運行Docker鏡像并啟動比特幣測試網(wǎng)絡(luò),初始化和測試區(qū)塊鏈數(shù)據(jù),當然為了測試少不了要先挖礦儲備一下。然后安裝相關(guān)開發(fā)語言的RPC支持庫后,就可以調(diào)試你的區(qū)塊鏈程序了。

  二、以太坊

  可以說除了比特幣外,以太坊目前在區(qū)塊鏈平臺是最吸引眼球的。 以太坊是一個圖靈完備的區(qū)塊鏈一站式開發(fā)平臺,采用多種編程語言實現(xiàn)協(xié)議,采用Go語言寫的客戶端作為默認客戶端(即與以太坊網(wǎng)絡(luò)交互的方法, 支持其他多種語言的客戶端)。

  基于以太坊平臺之上的應(yīng)用是智能合約,這是以太坊的核心。每個智能合約有一個唯一的以太幣地址,當用戶向合約的地址里發(fā)送一筆交易后(這個時候就要消耗燃料費用,也就是手續(xù)費用),該合約就被激活,然后根據(jù)交易中的額外信息,合約會運行自身的代碼,最后返回一個結(jié)果。以太坊社區(qū)把基于智能合約的應(yīng)用稱為去中心化的應(yīng)用程序(Decentralized App),相對于冷冰冰的智能合約代碼,DApp擁有一個友好的界面和外加一些額外的東西,配合上圖靈完備的語言,可以讓用戶基于合約搭建各種千變?nèi)f化的DApp應(yīng)用,實際上,在以太坊APP展區(qū),已經(jīng)有大大小小280個的DApp應(yīng)用在展示(雖然只有一部分應(yīng)用在真正運行)。

  要寫以太坊的智能合約有好幾種語言可選,有類Javascript的Solidity,Python接近的Serpent,還有類Lisp的LLL,目前比較主流的是Solidity,推薦大家使用。當Solidity合約編譯好并且發(fā)送到網(wǎng)絡(luò)上之后,你可以通過以太坊的Mist客戶端對智能合約進行測試和使用,也可以使用以太坊的web3.js JavaScript API來調(diào)用它,構(gòu)建能與之交互的web應(yīng)用。

  由于以太坊的知名度,所以很多社區(qū)大牛創(chuàng)造更加便捷的DApp開發(fā)框架和工具,包括Truffle、Embark、Meteor、BlockApps.net APIs,使得你可以快速開發(fā)你的Dapp。我的另外一篇文章《微軟的那些區(qū)塊鏈云服務(wù)》有提及,Embark和BlockApps.net兩個區(qū)塊鏈工具已經(jīng)給整合到微軟Azure BAAS服務(wù)中了。這幾個框架和工具中,Elwin更推薦Embark,使用起來非常簡單。

  通過以太坊,你既可以搭建基于屬于自己私鏈,也可以和合作伙伴一起搭建聯(lián)盟鏈,又或者直接將應(yīng)用部署在以太坊的公共網(wǎng)絡(luò)中,Elwin要吐槽的是,使用以太坊Gas費用越來越高了,對于互聯(lián)網(wǎng)的應(yīng)用,是自己搭建以太區(qū)塊鏈,還是使用以太公共網(wǎng)絡(luò),真是兩難境地(以太坊宣稱,以太幣Ether價格上升時,那以太坊燃料的價格應(yīng)該按比例下降,但好像并不是這樣阿)。

  幾個主要入門步驟給大家簡單介紹一下,首先你可以安裝以太坊錢包客戶端Ethereum Wallet,體驗一下以太坊的錢包和智能合約,當中可以選擇公共網(wǎng)絡(luò)或測試網(wǎng)絡(luò)(如果你沒有或不想花費以太幣)。如果你已經(jīng)很熟悉這些了,那好,直接進入正題,準備好Geth和Node的環(huán)境,同時安裝以太坊Mist客戶端(這個是為測試你的智能合約和Dapp準備),配置和啟動Geth(Geth和eth相關(guān)參數(shù)文章,請參考官網(wǎng)文檔),通常我會先用Geth搭建自己的私鏈來測試,Geth啟動后,你可以先在Mist客戶端中熟悉智能合約和Solidity語言(記得在Geth console先挖礦,否則沒有以太幣來測試),然后根據(jù)官網(wǎng)的幾個例子來試煉你的第一個Dapp。上手后,可以嘗試使用web3.js來調(diào)用,或直接安裝Truffle或Embark來開發(fā)自己真正的Dapp應(yīng)用。

  三、IBM HyperLedger

  IBM HyperLedger 又叫 fabric,他的目標是打造成一個由全社會來共同維護的一個超級賬本,fabric源于IBM,初衷為了服務(wù)于工業(yè)生產(chǎn),IBM將44,000行代碼開源,是了不起的貢獻,讓我們可以有機會如此近的去探究區(qū)別于比特幣的區(qū)塊鏈的原理。目前就Elwin所知,fabric還未進入真正的商用階段,更多是試驗和探索,不過相對于很多其他區(qū)塊鏈,從技術(shù)底蘊他又是比較可信和靠譜的。

  要基于HyperLedger進行區(qū)塊鏈開發(fā)比想像中簡單,有兩種途徑,一種是基于超能云(IBM中國研究院開發(fā)的超能云平臺提供了各種云服務(wù)),他給區(qū)塊鏈愛好者、開發(fā)者的區(qū)塊鏈開發(fā)測試環(huán)境,通過超能云平臺,用戶能夠免費、超快速創(chuàng)建基于Hyperledger Fabric的多節(jié)點區(qū)塊鏈、并在自己的鏈上調(diào)試智能合約。Hyperledger Fabric的合約是基于Go語言的,上手比較簡單。

  ?根據(jù)Elwin嘗試,似乎超能云的區(qū)塊鏈只適用于科研測試,要真正運營,還是建議自己搭建Fabric的區(qū)塊鏈網(wǎng)絡(luò)。安裝和運行Hyperledge fabric的運行有幾種方式,比較推薦是下載Fabric區(qū)塊鏈網(wǎng)絡(luò)的Docker鏡像,運行Docker鏡像并啟動Fabric區(qū)塊鏈網(wǎng)絡(luò),但相對于比特幣和以太坊,F(xiàn)abric網(wǎng)絡(luò)的架構(gòu)和安裝相對復雜,除了區(qū)塊鏈服務(wù)外,還需要另外安裝運行validating peer和Certificate Authority (CA) 服務(wù)。搞定后要真正使用,還需要先用戶注冊和登記授權(quán),然后才可以通過CLI 或REST API進行調(diào)試和使用。其中里面智能合約的編寫,跟在超能云的區(qū)塊鏈云服務(wù)的是一樣的。此外,除了CLI或REST API,IBM還提供了gRPC API和 SDK的方式進行應(yīng)用的開發(fā)。

  四、Lisk

  LISK是新一代的區(qū)塊鏈平臺,允許JavaScript(又是Javascript技術(shù),工程師們注意了)的開發(fā)和基于分布的分散的應(yīng)用程序使用一個易于使用的,功能齊全的生態(tài)區(qū)塊鏈系統(tǒng)。

  Elwin覺得LISK相對于前面說的幾個區(qū)塊鏈底層,他的應(yīng)用優(yōu)勢不僅僅在于他是第一個完全寫在Javascript里的去中心化的應(yīng)用解決方案,還在于他把每個應(yīng)用加到LISK的單獨側(cè)鏈上。用過比特幣和以太坊的朋友都知道,由于比特幣和以太坊只有一條主鏈,所有功能和數(shù)據(jù)都加入這條主鏈導致區(qū)塊快速膨脹,超大的區(qū)塊體積,超長的同步時間,這個一個很痛苦的經(jīng)歷。Lisk的側(cè)鏈模式給在處理高交易量下如何解決網(wǎng)絡(luò)擁堵的問題提供了一種方法,用戶只有用到相關(guān)的應(yīng)用時才需要下載對應(yīng)的側(cè)鏈,大大減小了無效的同步數(shù)據(jù),保持了整個Lisk網(wǎng)絡(luò)的高效運行,而且,Lisk網(wǎng)絡(luò)的速度隨著時間的推移會繼續(xù)加快,越顯示他的特別優(yōu)勢。

  其次,相對以太坊和Hyperledge fabric以智能合約為核心的區(qū)塊鏈不同, Lisk區(qū)塊鏈建立的目的并不是為了創(chuàng)建智能合約,而是使用Lisk APP SDK框架來開發(fā)不同的應(yīng)用程序和功能。

  Lisk APP的主要開發(fā)語言是NodeJS,Web開發(fā)者既能夠開發(fā)應(yīng)用程序的后端,也可以開發(fā)前端。通過使用Lisk APP SDK包,Web開發(fā)者可以輕松創(chuàng)建區(qū)塊鏈應(yīng)用。Lisk APP的開發(fā)也比較簡單,跟你之前其他的NodeJS應(yīng)用的開發(fā)是類似的。然而,跟比特幣和以太坊的一樣,Lisk的使用也是要消耗燃料費用的,還好,跟其他區(qū)塊鏈底層網(wǎng)絡(luò)一樣,Lisk 也是有testnet模式的。

  五、布比網(wǎng)絡(luò)

  布比,是國內(nèi)區(qū)塊鏈技術(shù)特別是底層技術(shù)領(lǐng)先者之一,已擁有多項核心技術(shù),并已經(jīng)成熟的應(yīng)用在了商業(yè)積分、游戲幣、游戲道具、預付卡、電子券、保險卡單、證券化資產(chǎn)、互助保險等行業(yè)和領(lǐng)域。

  布比區(qū)塊鏈平臺分為基礎(chǔ)框架層(BubiChain)和應(yīng)用適配層(Bubi Application Adaptors)。底層基礎(chǔ)框架層提供區(qū)塊鏈的基礎(chǔ)服務(wù),應(yīng)用適配層提供上層應(yīng)用所需的功能組件,為具體的應(yīng)用系統(tǒng)開發(fā)提供接口和SDK,降低由于區(qū)塊鏈自身復雜的邏輯所帶來的應(yīng)用開發(fā)的難度。

  ?對于一般開發(fā)的應(yīng)用適配層,布比提供布萌區(qū)塊鏈應(yīng)用開發(fā)平臺,該平臺基于布比區(qū)塊鏈技術(shù),將上層應(yīng)用所需要的功能組件進行封裝,開發(fā)者想實現(xiàn)對應(yīng)的功能,只需要注冊成為布萌開發(fā)者即可獲得接口使用權(quán)限。同時,平臺提供開發(fā)者運維所需要的可視化管理工具。

  就Elwin體驗來說,布萌區(qū)塊鏈的接入應(yīng)該是幾大區(qū)塊鏈底層中最容易的,因為他不僅提供標準REST API,并提供JAVA等主流語言的SDK接入,同時,基于布萌區(qū)塊鏈平臺專注數(shù)字資產(chǎn)應(yīng)用場景,跟其他大部分區(qū)塊鏈接口純技術(shù)和面向廣泛應(yīng)用的方式而言,布萌提供的接口更貼近業(yè)務(wù)場景的,更便于相關(guān)數(shù)字資產(chǎn)的應(yīng)用接入到區(qū)塊鏈。相對以太坊著重區(qū)塊技術(shù)和智能合約的區(qū)塊鏈不同,布比區(qū)塊鏈的接入更務(wù)實和落地,你只需要關(guān)注你實際的業(yè)務(wù),而不需要過多考慮區(qū)塊鏈的技術(shù)細節(jié)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美精品被 | 日本精品免费 | 亚洲精品综合中文字幕 | 国产a久久精品一区二区三区 | 亚洲一区免费 | 日韩午夜在线 | 欧美成人一区二区三区片免费 | 亚洲视频在线一区二区三区 | 亚洲经典自拍 | 日本理论片好看理论片 | 国产91在线播放精品91 | 97香蕉久久国产超碰青草软件 | 蜜桃免费一区二区三区 | 日本免费黄色 | 亚洲国产精品99 | 91在线播 | 人人精品 | 日韩欧美高清dvd碟片 | 亚洲成人免费在线观看 | 成人av网站在线观看 | 亚洲欧美中文日韩v在线观看 | 国产成人在线视频观看 | 超级碰在线视频 | 永久黄网站色视频免费 | 国产欧美日| www.99日本精品片com | 欧美日韩中文字幕在线播放 | 激情欧美一区二区三区中文字幕 | 偷拍自拍网站 | 欧美成人激情视频 | 这里精品| 免费在线一区二区 | 日韩一区二区在线观看 | 国产ts余喵喵和直男多体位 | 懂色一区二区三区免费观看 | 久久99视频精品 | 日韩电影免费 | 三级视频在线 | 久久精品免费观看 | 国产精品国产三级国产有无不卡 | 亚洲无限乱码一二三四麻 |