日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導讀] 隨著新一波的區(qū)塊鏈熱潮,許多同學懷著巨大的熱情進入了這個領(lǐng)域,同時也會遇到不少疑惑,區(qū)塊鏈開發(fā)需要哪些知識?怎么學習?從哪里學習?遇到問題怎么辦?本文將試圖給區(qū)塊鏈領(lǐng)域新人一個快速實用的指引。

隨著新一波的區(qū)塊鏈熱潮,許多同學懷著巨大的熱情進入了這個領(lǐng)域,同時也會遇到不少疑惑,區(qū)塊鏈開發(fā)需要哪些知識?怎么學習?從哪里學習?遇到問題怎么辦?本文將試圖給區(qū)塊鏈領(lǐng)域新人一個快速實用的指引。

一、基本 IT 技能

區(qū)塊鏈堪稱“黑科技”,本身具有大量的技術(shù)元素,有志于從技術(shù)角度切入?yún)^(qū)塊鏈的人,應該具備或掌握基本的 IT 技能,達到至少是常規(guī)級別“程序員”或“系統(tǒng)管理員”的技能水平。

首先需要熟練的 Linux 操作系統(tǒng)知識

大多數(shù)區(qū)塊鏈系統(tǒng)是可以跑在 Linux 上的,包括 CentOS 和 Ubuntu 等,你至少要會一些基本的 Linux 操作指令,比如 ls 查看目錄、ps 或 top 查看進程、find 查找文件、netstat 查看網(wǎng)絡、ulimit 檢查系統(tǒng)參數(shù)限制、df/du 查看磁盤空間、用 apt/yum 安裝軟件等等,如果這些基本命令都不掌握,在 Linux 上操作肯定是舉步維艱的。

這方面的書和資料都很多,相信一星期就能上手。另外,善于 Linux 的 man 指令,可以獲得每個命令的詳細幫助。如果學會寫 shell 腳本,那更如虎添翼,可以把大量的繁瑣操作給自動化了。

要有清晰的網(wǎng)絡概念

區(qū)塊鏈本來是分布式系統(tǒng),節(jié)點之間一定是通過網(wǎng)絡相連的,只是跑起來的話,不需要多高深的網(wǎng)絡知識,只需要了解什么是 TCP/IP;公網(wǎng)、內(nèi)網(wǎng)、本地地址的區(qū)別;端口如何配置;節(jié)點和節(jié)點、SDK 和節(jié)點之間的互聯(lián)是否會被防火墻和網(wǎng)絡策略擋住;采用 ifconfig、telnet、ping、netstat 等命令檢查網(wǎng)絡信息和進行探測、定位網(wǎng)絡問題。一般來說,Linux 書籍也都會介紹這部分內(nèi)容。

區(qū)塊鏈周邊的支持,如瀏覽器、中間件、業(yè)務應用,會依賴一些第三方基礎軟件,如 MySQL/MariaDB 數(shù)據(jù)庫、Nginx 服務、Tomcat 服務等,至少懂得怎么去安裝指定版本的軟件,掌握修改這些軟件的配置文件并使之生效的基本操作,了解各款軟件的密碼、權(quán)限配置和網(wǎng)絡安全策略,以保護自身安全。

如果是基于云、Docker 或者 k8s 等容器環(huán)境構(gòu)建,需要了解使用的服務商或容器的功能、性能、配置方式,包括對資源的分配:CPU、內(nèi)存、帶寬、存儲等,以及安全和權(quán)限的配置、網(wǎng)絡策略配置、運維方式,達到輕松分發(fā)構(gòu)建的同時,還能保持其穩(wěn)定性和可用性。

各種云服務商和容器解決方案都有周全的文檔和客服服務渠道,可以幫助用戶順暢地使用。

到編程語言階段,可以根據(jù)自己的學習路徑,選擇不同的語言

如果是使用 Java 語言,那就應該熟練掌握 Eclipse、IntelliJ IDEA 等集成 IDE,熟悉 Gradle 為主的工程管理軟件,熟悉 Spring、Springboot 等 Java 的基礎開發(fā)組件,熟悉在 IDE 或命令行下對資源路徑如 ApplicationContext 等路徑的定義,或許還有 myBaTIs 等流行的組件,這些都可以在 Java 相關(guān)的社區(qū)和網(wǎng)站找到資料和書籍。

在熟練使用 Java 語言的情況下,采用 Java SDK 接入到區(qū)塊鏈,跑起一個演示示例,將是非常輕松寫意的事情。

如果是采用其他語言,我們也提供了 Python、Node.js、Golang 等語言的區(qū)塊鏈 SDK。

不同的語言,其安裝包有不同的穩(wěn)定版本,會采用不同的環(huán)境和依賴安裝配置方法,會有不同的 IDE 和調(diào)試方法,就不在本文一一羅列,相信學習和使用語言這件事本身,于程序員已經(jīng)是最基本的技能了。

最后,作為在開源世界里沖浪的玩家,“全球最大同性交友網(wǎng)站”——GitHub 一定是要上的了

注冊 GitHub 賬號,掌握 Git 版本管理工具的基本操作,克隆和拉取開源軟件代碼,提交議題,提交自己的修改,給開源項目提交拉取請求,再順手點個星標,激情而有范兒,在開源世界里留下你的姓名。

二、區(qū)塊鏈領(lǐng)域的基礎知識棧

以下部分的知識和區(qū)塊鏈或區(qū)塊鏈某一個平臺更加相關(guān),從底到上依次是:

HASH(哈希算法)、簽名、證書

嚴格來說,這并不是區(qū)塊鏈領(lǐng)域的專有知識,只是必須具備的基礎知識,包括 SHA3/SHA256/RIPEMD160 等摘要算法,以及這些算法和“區(qū)塊鏈地址”的關(guān)系,基于公私鑰的數(shù)字簽名和驗證方法,數(shù)字證書的概念和格式,比如 X.509 證書,以及保存證書/公私鑰的文件格式,如 PEM 文件、keystore文件等。

基礎應用密碼學

基礎應用密碼學其實范圍很廣,作為入門者,至少要了解對稱和非對稱加密的常見算法,如 AES 對稱加密,RSA、ECDSA 橢圓曲線等非對稱加密算法,以及這些算法在簽名驗簽、數(shù)據(jù)加密、通信協(xié)商和保護方面的作用。如果要使用國密,那么需要了解 SM2~SM9 一系列算法的概念和使用。

分布式網(wǎng)絡結(jié)構(gòu)

區(qū)塊鏈是先天的“分布式網(wǎng)絡系統(tǒng)”,節(jié)點和節(jié)點通過網(wǎng)絡的 P2P 端口互連,客戶端、SDK 通過 RPC/通道端口互連,首先要保證網(wǎng)絡之間是互通的,監(jiān)聽的地址和端口是對的,端口是開放的,防火墻和網(wǎng)絡策略是正確的,用于安全連接的證書已經(jīng)到位,才能保證區(qū)塊鏈的“通則不痛”。

這也要求使用者具備基本的網(wǎng)絡知識、網(wǎng)絡工具,同時了解區(qū)塊鏈特有的節(jié)點類型(共識節(jié)點、觀察節(jié)點、輕節(jié)點等)、互連方式(點對點雙向連接、JSON RPC 的 HTTP 短連接、通道長連接等)。詳情點擊參考 《FISCO BCOS 網(wǎng)絡端口講解》 。

智能合約

智能合約可說是應用開發(fā)者直面區(qū)塊鏈的一道大門,入得此門,精彩無窮。流行的智能合約語言是 Solidity 語言,這門源自以太坊,從誕生開始就是為區(qū)塊鏈而來的。

Solidity 語言更新活躍、文檔完備,具有良好的一致性和事務性,功能足夠?qū)崿F(xiàn)中型的商業(yè)應用。

當然,它在實時調(diào)試、第三庫支持、運行速度等方面還比不上成熟的語言,如果開發(fā)者想要用 C++ 等語言編寫智能合約,那就要對區(qū)塊鏈上的計算范式進行深入了解,避免寫出無法共識的智能合約來,一般是建議有深入的了解后再采用 Solidity 之外的其他語言編寫合約。

要掌握 Solidity 合約,當然是通讀文檔,并動手嘗試。具體參考 該文檔 。

ABI 接口原理

在采用 EVM 作為虛擬機的區(qū)塊鏈上,EVM 執(zhí)行的是 Solidity 語言的合約。合約編譯會生成后綴名為 ABI 的文件,其實里面就是該合約接口定義的 JSON 文本,可以用文本查看器查閱,了解你寫的合約如何翻譯成 ABI 里的接口,接口返回類型,參數(shù)列表,參數(shù)類型等,只要有合約的 ABI 文件,就可以調(diào)用區(qū)塊鏈 SDK 的接口,解析這個合約相關(guān)的交易、返回值、回執(zhí)等。

區(qū)塊數(shù)據(jù)結(jié)構(gòu)

區(qū)塊(Block)有區(qū)塊頭和區(qū)塊體。區(qū)塊體有交易列表,交易列表里的每個 交易(TransacTIon)(Tx)有發(fā)起方、目標地址、調(diào)用方法和參數(shù),以及發(fā)送者簽名。交易的結(jié)果會生成一個“ 回執(zhí)(Receipt)”,回執(zhí)里包含被調(diào)用方法的返回值、運行過程生成的 EventLog 等……

了解這些,基本上就掌握了區(qū)塊鏈數(shù)據(jù)的脈絡,還可以繼續(xù)深究數(shù)據(jù)結(jié)構(gòu)里的梅克爾根以及對應的梅克爾樹是如何生成的,有什么作用(如用于 SPV:Simplified PaymentVerificaTIon)。具體參考 該文檔 。

RPC 接口

這里把區(qū)塊鏈節(jié)點暴露的功能接口統(tǒng)稱為“RPC 接口”。查看鏈上數(shù)據(jù),包括區(qū)塊、交易、回執(zhí)、系統(tǒng)信息、配置信息,向鏈上發(fā)起交易,以調(diào)用智能合約、修改系統(tǒng)配置等,或者通過 AMOP 協(xié)議發(fā)送消息、監(jiān)聽事件,都是通過 RPC 接口。

幾十個 RPC 接口建議一一走讀,或善用搜索,以發(fā)現(xiàn)自己想要的接口。

接口通信采用的協(xié)議可能是 JSON RPC,或者是 FISCO BCOS 獨創(chuàng)的通道協(xié)議,SDK 基本上已經(jīng)對接口和協(xié)議進行了良好的包裝,也可以在深入理解 ABI 和 RLP 等編碼模式前提下自行開發(fā)接口客戶端。具體參考 該文檔 。

準入和權(quán)限模型

聯(lián)盟鏈強調(diào)安全可控,節(jié)點準入是第一步,在鏈初始化后,其他節(jié)點或者 SDK 配置了相應的證書,才能接入到既有的聯(lián)盟鏈上。

鏈上的角色用權(quán)限模型控制,包括管理員權(quán)限、發(fā)布合約的權(quán)限、創(chuàng)建表的權(quán)限、參數(shù)配置權(quán)限等,以避免角色之間操作混淆,某些角色既當運動員又當裁判員。

初學者需要仔細閱讀區(qū)塊鏈平臺提供的技術(shù)文檔了解原理,遵循操作手冊的步驟進行操作。具體參考 該文檔 。

數(shù)據(jù)存儲模型

區(qū)塊鏈節(jié)點會采用文件數(shù)據(jù)庫(LevelDB 或 RocksDB),或者關(guān)系型數(shù)據(jù)庫如 MySQL 保存數(shù)據(jù),所以,鏈上是真的有“數(shù)據(jù)庫”的。

寫入數(shù)據(jù)庫的數(shù)據(jù)包括區(qū)塊、交易、回執(zhí)、合約產(chǎn)生的狀態(tài)數(shù)據(jù)等,是否寫入“調(diào)用合約產(chǎn)生的歷史數(shù)據(jù)”根據(jù)不同的平臺而定, FISCO BCOS 默認只保存最新的狀態(tài)值,可以選擇性地將修改記錄寫入“回執(zhí)”或“歷史表”里進行追蹤。

FISCO BCOS 還提供方案,將歷史數(shù)據(jù)導出到鏈下數(shù)據(jù)庫進行關(guān)聯(lián)分析。具體參考 該文檔 。

共識機制原理

聯(lián)盟鏈通常采用插件化共識機制實現(xiàn),F(xiàn)ISCO BCOS 提供 PBFT 和 RAFT 兩種高效共識算法,而不會采用“挖礦”這些高耗能低效率的共識。

共識機制是區(qū)塊鏈的靈魂,對共識機制進行深入學習,才可以深入理解區(qū)塊鏈通過多方協(xié)作、達成高度一致性、支持交易事務性、防篡改防作惡的功效。具體參考 該文檔 。

區(qū)塊鏈的知識包羅萬象,更深層次的知識還有分布式系統(tǒng)理論、博弈論、前沿密碼學、經(jīng)濟學、社會學等,掌握以上的基礎知識,再深入學習,舉一反三,用場景去驗證和探索創(chuàng)新式應用,方可發(fā)揮技術(shù)的潛力,感受分布式商業(yè)的魅力。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉