智能合約开發者路线圖
通過學習Solidity和开發堆棧,就可以同時精通多個區塊鏈。從以太坊,到Polygon, Binance Smart Chain, Avalanche等等,Solidity涵蓋了所有這些。
這個路线圖是一項長期投資,不是我們在一天內可以完成的事情。但是按照這裏介紹的方法,我們將學習所有的基礎知識,包括先進的概念。
廢話少說,直奔主題。
CS50:計算機科學概論
根據目前自己的技能水平,可能首先需要對CS進行全面了解。
哈佛提供免費的CS50,這需要花費一段時間,但值得。基礎至關重要,特別是因為稍後將學習的許多高級概念建立在它們的基礎上。
freeCodeCamp
JavaScript是以太坊生態系統中許多工具的基礎。在學習Solidity之前,我們應該對JavaScript有一定的了解。
至少需要在這裏學習JavaScript課程。這也將花費相當長的時間,但是了解JavaScript也會幫助以後學習Solidity。
Public Key Cryptography
區塊鏈的核心是公鑰加密。我們應該了解它是什么,它是如何工作的,以及為什么以後要做的事情是有意義的。
這個視頻是一個很好的介紹。別忘了做些筆記。
Cryptography Digital signatures
使用密碼學,需要开始籤名消息和驗證身份。區塊鏈經常使用它。沒有籤名消息,就沒有安全交易。
例如,本文將使我們更好地了解交易是如何啓動的,以及為什么這樣做是安全的。
區塊鏈上的哈希是什么?
哈希是區塊鏈使用的一個核心概念。作為一名智能合約开發者,我們可能也會經常使用它。
本視頻很好地介紹了哈希算法及其在區塊鏈中的應用。像以前一樣,記筆記。
區塊鏈定義
現在知道了密碼學實際上是關於什么的,是時候了解更多關於區塊鏈的一般知識了。區塊鏈將是我們工作的地方,所以我們最好清楚我們將使用什么。
以太坊是如何工作的呢?
了解以太坊是非常有必要的,主要是因為需要努力在未來能夠使用類似以太坊的區塊鏈進行編碼。讀完本文時,我們就將對以太坊有一個大致的了解。
這是最後一個理論材料了。當完成這些之後,就將能夠再次進入代碼。這一次,我們將使用 Solidity。
The Hitchhiker’s Guide to Smart Contracts in Ethereum
是時候將我們的腳趾浸入 Solidity 的水域了。雖然這個指南已經有點老了,但這個指南指引我們最終完成我們的第一個智能合約。
Solidity對我們來說可能是新的,所以最好是真正地消化學習材料。
Crypto Zombies
CryptoZombies是一款遊戲,但它教會我們Solidity。在本教程中,我們將編寫更高級的邏輯並熟悉該語言。
Time-locked Wallets: An Introduction to Ethereum Smart Contracts
是時候進行更多練習了。本教程將引導我們創建一個完整的dApp,包括我們自己的ERC 20代幣。
以本課程為契機,更深入地學習 Solidity 並應用以前學到的知識。實踐就是一切,因此在 Solidity 中編寫代碼的所有機會都是寶貴的。
以太坊dapp开發的最終介紹
這是一個關於dApp开發的系列視頻。專注於智能合約,我們將獲得更有價值的Solidity實踐。
Ethernaut
Ethernaut是另一款教我們Solidity的遊戲。這篇文章主要關注安全性,這是一個對智能合約开發者非常重要的話題。
安全性實際上是目前智能合約开發中最大的問題之一,這也是為什么我們應該非常密切地關注這個問題並做很多筆記的原因。行業喜歡那些知道自己在做什么的开發人員,他們也會高度重視在智能合約安全方面有經驗的人。
ethgas
我們編寫的每一行代碼都會對用戶產生影響。他們支付 gas 調用我們的智能合約的功能。所以是時候了解gas是什么、為什么和如何產生的了。
我們現在又有了一些理論,而且是一個非常重要的理論。理解gas的概念,可以幫助我們更高地評價好的代碼設計,並且它有希望在我們編寫Solidity時觸發不同的思維過程。
Blockchain Oracles, Explained
我們不能在區塊鏈上做所有的事情。所以是時候學習Oracle了,這是智能合約與外部世界溝通的一種方式。
Oracle是一個先進的概念,每個Solidity开發者都應該理解。了解Oracle是一個相當大的優勢。我們以後要做的項目將或多或少地與他們接觸。
合約 ABI 規範
每個智能合約都有一個ABI。當有人想要使用我們的合約時,他們需要知道ABI,我們也應該知道我們在那裏實際創建了什么。
在我們已經構建了相當多的合約之後,現在是時候了解我們實際創建的內容了。ABI是區塊鏈客戶端使用的核心。沒有ABI,就沒有客戶能夠調用鏈上的合約。
Keccak
Keccak是Solidity开發人員的重要哈希算法。我們會經常使用它,所以我們最好知道我們在使用什么。
Hardhat
是時候選擇我們要使用的堆棧了。
推薦的开發環境是:Hardhat。
仔細閱讀文檔,了解關於這個以太坊开發環境的更多信息。現在我們可能已經明白為什么一开始必須學習JavaScript。Hardhat和其他許多Solidity工具一樣,是用JavaScript實現的。
Waffle
測試是至關重要的,特別是對於智能合約。
我的建議:Waffle。
Waffle是驅動測試的引擎。它使我們能夠編寫JavaScript並作為客戶端測試智能合約。
ethers.js
除了Waffle,我們還需要一個客戶端庫來調用我們的合約。
我的建議:ethers.js。
ethers是一個緩慢完成堆棧的庫。
OpenZeppelin
OpenZeppelin提供了許多已經實現的有用的標准。
許多專業項目都經常使用OpenZeppelin。
Ethereum改進建議
以太坊已經定義了許多標准,尤其是在代幣方面。標准化的A(B/P)Is是使生態系統正常工作的關鍵。把它們都瀏覽一遍,學習最重要的幾個,比如ERC20, ERC721等等。
Solidity Patterns
既然我們可以在不使用瀏覽器的情況下自由構建內容,那么現在就可以在此過程中構建和學習重要的Solidity模式了。
模式可以應用於某些地方,並幫助我們以可識別和可維護的方式實現特定的目標。這是在我們擴展到創建自己的項目和使用自己的想象力之前,我們應該真正了解的最後一件事。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC一個引...
悅盈:比特幣68000的空完美落地反彈繼續看跌 以太坊破前高看回撤
一個人的自律中,藏着無限的可能性,你自律的程度,決定着你人生的高度。 人生沒有近路可走,但你走的每...