最近這些天,區塊鏈是每一個開發人員的談資。來自各個領域的許多軟件開發商如今正試圖進入區塊鏈市場。咱們與Mobilunity的區塊鏈軟件開發人員Eugene Kyselev 討論了他是如何走出區塊鏈開發方面的第一步的,但願對你們有所幫助。php
JAXenter:Eugene,請告訴咱們您在區塊鏈開發方面的經驗。你是怎麼開始的?html
Eugene Kyselev:提及來很平淡,一切都在正確的時間出現,對我來講,區塊鏈開發是一個合乎邏輯的延續。我從JavaScript和其餘框架開始,我想繼續朝這個方向發展。幾年前,隨着各類ICO和採礦趨勢的開始,我堅決果斷地決定嘗試區塊鏈開發。java
區塊鏈開發如今正在以光速發展。區塊鏈技術引發了政府和各國央行的注意;簡而言之,一切都代表區塊鏈前景光明。node
JAXenter:你認爲「區塊鏈時代」將持續多久?python
Eugene Kyselev:很難說,這就像問「全球化時代將持續多久?」android
我認爲,只要對加密貨幣和其餘區塊鏈解決方案的需求不斷增長,就須要持續一段時間。全部的一切,每件事物都會經歷本身的發展,最終出現了加密貨幣和各類ICO,我很肯定如今就是「區塊鏈時代」,區塊鏈技術還有許多其餘重要的發現和創新應用。能夠帶來整個行業的新突破。git
JAXenter:爲何要將技術專長轉變爲區塊鏈開發?程序員
Eugene Kyselev:沒有所謂的技術技能轉變這樣的東西。Blockchain使用常見的編程語言,如C++,Java,Python,Go。可是像Solidity這樣的新技術也會出現。Solidity是一種面向對象的編程語言,用於爲以太坊區塊鏈平臺開發智能合約。另外一項有前途的技術是Hyperledger,一種由開源技術組成的區塊鏈平臺。Hyperledger容許你建立分佈式分類賬或你本身的區塊鏈框架。github
JAXenter:許多開發人員都在問「你須要作些什麼來成爲區塊鏈或加密貨幣開發人員?」你會推薦他們怎麼作?web
Eugene Kyselev:憑着堅強的意志,你能夠實現並學習一切。做爲快速指南,我推薦IBM Blockchain 101課程。但對於初學者來講,你必須具有紮實的算法和數據結構知識,最重要的是加密算法。若是你是區塊鏈工程師,那麼深刻了解Java/C或Python/Go也是必須的。
若是你專一於開發智能合約,則須要具有JavaScript開發經驗,下一步是掌握Solidity。
JAXenter:你如何開始Java編寫區塊鏈程序?
Eugene Kyselev:這很簡單。以Hyperledger Fabric Chaincode爲例,要開始使用,你須要如下工具:
首先,啓動chaincode部署:
peer chaincode deploy - l java - n map - p /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java - c '{"Function": "init", "Args": ["a", "100", "b", "200"]}
而後,查詢交易:
/opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java $ peer chaincode invoke - l java \ - n 6d9a704d95284593fe802a5de89f84e86fb975f00830bc6488713f9441b835cf32d9cd07b087b90e5cb57a88360f90a4de39521a5595545ad689cd64791679e9 \ - c '{"Function": "transfer", "Args": [ "a", "b", "20"]}'
查詢後,初始化變量「a」和「b」:
/opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java $ peer chaincode query - l java \ - n 6d9a704d95284593fe802a5de89f84e86fb975f00830bc6488713f9441b835cf32d9cd07b087b90e5cb57a88360f90a4de39521a5595545ad689cd64791679e9 \ - c '{"Function": "query", "Args": ["a"]}' { "Name" : "a" , "Amount" : "80" } /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/shim/java $ peer chaincode query - l java \ - n 6d9a704d95284593fe802a5de89f84e86fb975f00830bc6488713f9441b835cf32d9cd07b087b90e5cb57a88360f90a4de39521a5595545ad689cd64791679e9 \ - c '{"Function": "query", "Args": ["b"]}' { "Name" : "b" , "Amount" : "220" }
JAXenter:告訴咱們更多關於Hyperledger,R3 DLT和Solidity的信息。
Eugene Kyselev:讓咱們從Hyperledger開始吧。如上所述,它是區塊鏈應用程序的開源平臺(中心)。總的來講,Hyperledger不支持比特幣和其餘加密貨幣。Hyperledger是一組旨在促進區塊鏈應用程序開發的項目。
自從互聯網出現以來,沒有一種技術像這項技術那樣具備前景和開創性。互聯網和區塊鏈能夠一塊兒使用,以建立新一代的交易性應用程序,在業務流程的核心建立信任,創建問責制和透明度。
R3 DLT不是一項技術,而是一個區塊鏈聯盟,其中包括100多家銀行,金融機構,監管機構,專業機構,服務公司和技術公司。
目標是利用該平臺探索區塊鏈技術的可能性,區域鏈技術被認爲是創新的,同時總結已創建的參與者的想法和數據,並使國際支付更快,更可靠。
Solidity是一種強烈的面向JavaScript的語言,旨在開發在以太坊虛擬機(EVM)中運行的智能合約。因爲Solidity具備相似JavaScript的語法,所以我能夠輕鬆快速掌握該語言。主要缺點是還沒有實現該語言的完整版本。所以,它仍然具備至關有限的功能集,而且受到許多錯誤的困擾。
JAXenter:如今有不少關於區塊鏈的炒做。這項技術能夠解決哪些問題?
Eugene Kyselev:
至少會對下面這些問題有很大的幫助:
1.確保銀行存款的安全
每一年,銀行都會因欺詐而損失鉅額資金。區塊鏈具備幾乎無可挑剔的安全性,能夠幫助他們解決這個問題。轉換到區塊鏈錢包的銀行客戶由惟一標識號而不是名稱標識。此外,他們使用私鑰來獲取資金。在他們的幫助下,只有他們的全部者能夠處置資金——即便銀行也沒法得到這些資金。這些安全措施確保了比特幣和其餘加密貨幣的安全性,以便他們能夠輕鬆保護存款。
區塊鏈上的雲存儲將可以更好地抵禦黑客攻擊
雲存儲公司使用集中式服務器來存儲數據。出於這個緣由,黑客能夠從中竊取信息的風險增長——經過訪問服務器,黑客自動滲透到整個網絡。一個區塊鏈上的雲存儲能夠分散地保護你的數據,而且它們的節點也會斷開鏈接。所以,它們不易受到攻擊,甚至攻擊節點也不會破壞整個網絡。
2.貨物運輸速度更快
在物流方面,須要正確,快速地組織貨物運輸。關鍵是可以在整個供應鏈中跟蹤貨物。藉助區塊鏈技術,這一過程將變得更加安全和透明。此外,在去中心化的連續的記錄將減小人類的做用和延遲的可能性。
3.選舉舞弊
選舉欺詐,僞造簽名和舉行會議,而不通知全部成員是在公司治理中最廣泛的問題。全部這些問題都經過區塊鏈技術的整合獲得部分解決。例如,它能夠跟蹤和計算投票,從而消除任何人的聲音不會被計算或僞造的。相反,每一個投票參與者將收到一個惟一的密鑰來作出決定。
謝謝!
======================================================================
分享一些以太坊、EOS、比特幣等區塊鏈相關的交互式在線編程實戰教程:
java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
- java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
- python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
- php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
- 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
- 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
- C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
- EOS教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
- php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
匯智網原創翻譯,轉載請標明出處。這裏是原文