假期倒計時,這份完整區塊鏈開發資源列表,趕緊收藏!
作者 | Gregory
編譯 | shawn
責編 | Aholiab
今天初四,俗話說不出初七就是年,這裡營長再次祝大家新年快樂!
這幾天身邊的朋友團圓的團圓,旅遊的旅遊,營長的腰圍也大了一圈(錢包小了一圈)。也有些朋友努力從各種應酬中脫身,利用這個難得的假期閉門學習,補充自己的知識短板。
作為區塊鏈技術媒體,營長看到國外大神又開始蒐集和整理區塊鏈技術的學習資源了。 因此營長第一時間把這個資源庫帶給大家,從入門到精通,從開發到職業規劃盡都涵蓋。此外,對於初學者常見的疑問,也給出了詳盡的解答。
當然,像營長這樣的漢子怎麼能不準備福利, 文章最後,營長集結了過去一年來的公開課資源免費大放送,拉到最底掃碼學起來吧!
過年在家不僅要身體豐滿,頭腦豐滿更重要。想成為一名真正的區塊鏈開發者嗎,收藏這篇資源列表就對了!
本資源庫包含以下內容:
一、資源列表
-
開發者工具
-
生態系統工具
-
教程/參考資料
-
以太坊官方資料
-
部落格推薦
-
DApp發現工具
-
以太坊瀏覽器和錢包
-
書籍
-
論壇
-
報刊
-
活動和會議
-
求職
-
Twitter
二、FAQ
-
我該成為哪類開發者?
-
我該選擇哪個鏈?
-
我可以在區塊鏈上構建什麼?是DApp?電子錢包?區塊鏈遊戲?還是其他?
-
我要掌握哪些程式語言?
如果你是剛開始瞭解區塊鏈,可以先從FAQ部分看起,對區塊鏈開發有初步的認識後,再來學習資源庫裡的內容。
好啦,下面就是完整的資源列表!
開發者工具
以下是開發者工具列表,其中包括框架和IDE(整合開發環境),以及可以用於開發以太坊智慧合約區塊鏈應用(DApp)的資源庫:
一、框架
-
Truffle框架
-
Embark框架
-
DApp工具合集
-
Populus
-
Etherlime
-
Cliquebait
框架資源地址:
Truffle官網:
https://www.truffleframework.com/
Truffle GitHub地址:
https://github.com/trufflesuite/truffle
Embark官網:
Embark GitHub:
https://github.com/embark-framework/embark
DApp工具合集地址:
Populus GitHub地址:
https://github.com/ethereum/populus
Etherlime GitHub地址:
https://github.com/LimeChain/etherlime
Cliquebait GitHub地址:
https://github.com/f-o-a-m/cliquebait
二、智慧合約語言
-
Solidity
-
Vyper
-
Bamboo
-
LLL
智慧合約語言資源地址:
Solidity官網:
https://solidity.readthedocs.io/en/latest/
Vyper GitHub地址:
https://github.com/ethereum/vyper
Bamboo GitHub地址:
https://github.com/pirapira/bamboo
LLL地址:
三、整合開發環境和編輯器外掛
-
Remix IDE
-
Eth Fiddle
-
Atom Solidity Linter
-
Etheratom
-
Pragma autocomplete-solidity package
-
Pragma language-solidity
-
Superblocks Studio
-
Vim solidity
-
Studio Code Solidity
-
Intellij Solidity外掛
-
YAKINDU Solidity工具集
整合開發環境和編輯器外掛資源地址:
Remix IDE官網:
Eth Fiddle官網:
Atom Solidity Linter官網:
https://atom.io/packages/atom-solidity-linter
Etheratom官網:
https://atom.io/packages/etheratom
Pragma autocomplete-solidity package官網:
https://atom.io/packages/autocomplete-solidity
Pragma language-solidity官網:
https://atom.io/packages/language-solidity
Superblocks Studio官網:
https://superblocks.com/studio/
Vim solidity GitHub地址:
https://github.com/tomlion/vim-solidity
Studio Code Solidity地址:
https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity
Intellij Solidity外掛GitHub地址:
https://github.com/intellij-solidity/intellij-solidity/wiki
YAKINDU Solidity工具集GitHub地址:
https://github.com/Yakindu/solidity-ide
四、測試區塊鏈
-
Ganache
-
Kaleido
-
Local Raiden
-
私有網路部署指令碼
-
Local Ethereum Network
測試區塊鏈資源地址:
Ganache GitHub地址:
https://github.com/trufflesuite/ganache
Kaleido官網:
Local Raiden GitHub地址:
https://github.com/ConsenSys/Local-Raiden
私有網路部署指令碼 GitHub地址:
https://github.com/ConsenSys/private-networks-deployment-scripts
Local Ethereum Network:
https://github.com/ConsenSys/local_ethereum_network
五、測試以 太網 水龍頭
-
Rinkeby faucet
-
Kovan faucet
-
Ropsten faucet
測試乙太網水龍頭資源地址:
Rinkeby faucet官網:
Kovan faucet GitHub地址:
https://github.com/kovan-testnet/faucet
Ropsten faucet官網:
六、以太坊客戶端
-
Geth
-
Parity
-
Cpp-ethereum
-
Pyethapp
-
Trinity
-
Ethereumjs
-
Ethereumj
-
Harmony
-
Seth
-
Mustekala
-
Exthereum
-
EWF Parity
-
Quorum
以太坊客戶端資源地址:
Geth GitHub地址:
https://github.com/ethereum/go-ethereum/wiki/geth
Parity官網:
Cpp-ethereum GitHub地址:
https://github.com/ethereum/aleth
Pyethapp GitHub地址:
https://github.com/ethereum/pyethapp
Trinity GitHub地址:
https://github.com/ethereum/trinity
Ethereumjs GitHub地址:
https://github.com/ethereumjs/ethereumjs-client
Harmony GitHub地址:
https://github.com/ether-camp/ethereum-harmony
Seth GitHub地址:
h t tps://github.com/dapphub/dapptools/tree/master/src/seth
Mustekala GitHub地址:
https://github.com/MetaMask/mustekala
Exthereum 官網:
https://github.com/exthereum/blockchain
EWF Parity GitHub地址:
https://github.com/energywebfoundation/energyweb-client
Quorum GitHub地址:
https://github.com/jpmorganchase/quorum
七、以太坊互動JavaScrip API
-
Web3.js
-
Eth.js
-
Ethers.js
-
Web3Wrapper
-
Ethereumjs
以太坊互動JavaScrip API資源地址:
Web3.js GitHub地址:
https://github.com/ethereum/web3.js/
Eth.js GitHub地址:
Ethers.js GitHub地址:
https://github.com/ethers-io/ethers.js/
Web3Wrapper GitHub地址:
https://github.com/0xProject/0x-monorepo/tree/v2-prototype/packages/web3-wrapper
Ethereumjs GitHub地址:
https://github.com/ethereumjs/
八、後端以太坊API
-
Web3.py
-
Web3.php
-
Web3j
-
Nethereum
-
Ethereum.rb
-
Web3.hs
-
KEthereum
-
Pyethereum
-
Eventeum
後端以太坊API資源地址:
Web3.py GitHub地址:
https://github.com/ethereum/web3.py
Web3.php GitHub地址:
https://github.com/sc0Vu/web3.php
Web3j GitHub地址:
https://github.com/web3j/web3j
Nethereum官網:
Ethereum.rb GitHub地址:
https://github.com/EthWorks/ethereum.rb
Web3.hs 官網:
http://hackage.haskell.org/package/web3
KEthereum GitHub地址:
https://github.com/walleth/kethereum
Pyethereum GitHub地址:
https://github.com/ethereum/pyethereum
Eventeum GitHub地址:
https://github.com/ConsenSys/eventeum
九、Bootstrap工具
-
Truffle boxes
-
Drizzle by Truffle
-
Local Raiden
-
Private networks deployment scripts
-
Local Ethereum Network
-
Kaleido
-
Cheshire
-
Subproviders
-
web3-webpacked
-
Vortex
Bootstrap工具資源地址:
Truffle boxes官網:
http://truffleframework.com/boxes/
Drizzle by Truffle GitHub地址:
https://github.com/truffle-box/drizzle-box
Local Raiden GitHub地址:
https://github.com/ConsenSys/Local-Raiden
Private networks deployment scripts:
https://github.com/ConsenSys/private-networks-deployment-scripts
Local Ethereum Network:
https://github.com/ConsenSys/local_ethereum_network
Kaleido官網:
Cheshire GitHub地址:
https://github.com/endless-nameless-inc/cheshire
Subproviders GitHub地址:
https://github.com/0xProject/0x-monorepo/tree/v2-prototype/packages/subproviders
web3-webpacked GitHub地址:
https://github.com/NoahZinsmeister/web3-webpacked
Vortex GitHub地址:
https://github.com/Horyus/vortex
十、智慧合約庫
-
OpenZeppelin
-
cryptofin-solidity
-
Modular Libraries
-
DateTime Library
-
Aragon - DAO protocol
-
0x - DEX protocol
-
Token Libraries
智慧合約庫資源地址:
OpenZeppelin GitHub地址:
h ttps://github.com/OpenZeppelin/openzeppelin-solidity
cryptofin-solidity GitHub地址 :
https://github.com/cryptofinlabs/cryptofin-solidity
Modular Libraries GitHub地址:
https://github.com/Modular-Network/ethereum-libraries
DateTime Library:
https://github.com/bokkypoobah/BokkyPooBahsDateTimeLibrary
Aragon - DAO protocol:
https://github.com/aragon/aragon
0x - DEX protocol:
Token Libraries:
https://github.com/sec-bit/tokenlibs-with-proofs
十一、儲存
-
IPFS
-
IPFS-Store
-
OrbitDB
-
JS IPFS API
-
Swarm
儲存資源地址:
IPFS文件:
IPFS-Store:
https://github.com/ConsenSys/IPFS-Store
OrbitDB GitHub地址:
https://github.com/orbitdb/orbit-db
JS IPFS API:
https://github.com/ipfs/js-ipfs-http-client
Swarm官網:
十二、訊息傳遞
-
Whisper
-
DEVp2p Wire Protocol
-
Pydevp2p
訊息傳遞資源地址:
Whisper GitHub地址:
https://github.com/ethereum/wiki/wiki/Whisper
DEVp2p Wire Protocol:
https://github.com/ethereum/wiki/wiki/%C3%90%CE%9EVp2p-Wire-Protocol
Pydevp2p GitHub地址:
https://github.com/ethereum/pydevp2p
生態系統工具
以下是區塊鏈開發者常用生態系統工具列表。
一、以太坊錢包
-
MetaMask
-
Gnosis multisig wallet
-
Mist
-
Exodus
以太坊錢包資源地址:
MetaMask官網:
Gnosis multisig wallet:
https://github.com/gnosis/MultiSigWallet
Mist GitHub地址:
https://github.com/ethereum/mist
Exodus官網:
二、網頁錢包
-
MyEtherWallet
-
MyCrypto
-
Portis
-
Eth lightwallet
-
SpankCard
-
Mnemonic generator
網頁錢包資源地址:
MyEtherWallet官網:
https://github.com/MyEtherWallet
MyCrypto GitHub地址:
Portis官網:
Eth lightwallet:
https://github.com/ConsenSys/eth-lightwallet
SpankCard GitHub地址:
https://github.com/SpankChain/SpankCard
Mnemonic generator:
三、手機錢包
-
Trust
-
Coinbase Wallet
-
Cipher
-
Status
-
imToken
-
Jaxx
-
WallETH
-
eth-wallet-light
手機錢包資源地址:
Trust GitHub地址:
https://github.com/TrustWallet/trust-wallet-ios
Coinbase Wallet:
Cipher官網:
https://www.cipherbrowser.com/
Status GitHub地址:
https://github.com/status-im/status-react
imToken官網:
Jaxx官網:
WallETH官網:
eth-wallet-light:
https://github.com/NoahHydro/eth-wallet-light
四、硬體錢包
-
Trezor
-
Ledger
-
KeepKey
硬體錢包資源地址:
Trezor官網:
Ledger官網:
KeepKey官網:
五、區塊瀏覽器
-
Etherscan
-
Etherchain Light
-
POA Explorer
-
QuickBlocks
-
Supermax
-
Alethio EthStats 2.0
區塊鏈瀏覽器資源地址:
Etherscan官網:
Etherchain Light:
https://github.com/gobitfly/etherchain-light
POA Explorer:
https://github.com/poanetwork/blockscout
QuickBlocks GitHub地址:
https://github.com/Great-Hill-Corporation/quickBlocks
Supermax官網:
Alethio EthStats 2.0:
https://media.consensys.net/alethio-lighting-up-the-blockchain-with-real-time-stats-a80bb30576db
六、Gas價格工具
-
EthGasStation
-
Petrometer
-
CryptoProf
Gas價格工具資源地址;
EthGasStation官網:
Petrometer GitHub地址:
https://github.com/makerdao/petrometer
CryptoProf GitHub地址:
https://github.com/doc-ai/cryptoprof
教程 / 參考
一、教程
以下是教程和參考資料列表,可以幫助你快速入門區塊鏈開發:
-
以太坊DApp開發終極教程
-
在以太坊上實現加密貨幣
-
Web3.JS初探
-
20分鐘搭建一個DApp
-
IPFS用IPFS實現DApp
-
25分鐘看完以太坊
-
以太坊賬號模型
-
給Web開發者的以太坊教程
-
以太坊錢包
-
智慧合約開發教程
-
以太坊寵物店解析
-
CryptoZombies
-
智慧合約開發最佳實踐
-
The DAO Hack
-
Parity Wallet Hack
-
Parity Wallet Hack II
-
Ethernaut——Smart Contract Hacking遊戲
-
公/私鑰密碼學
-
RSA
-
ECDSA
-
Cryptographic雜湊函式
-
Commitment框架
-
Merkle樹
-
Merkle證明
參考/教程資源地址:
以太坊DApp開發終極教程:
http://www.dappuniversity.com/articles/the-ultimate-ethereum-dapp-tutorial
在以太坊上實現加密貨幣:
http://www.dappuniversity.com/articles/code-your-own-cryptocurrency-on-ethereum
Web3.JS初探:
http://www.dappuniversity.com/articles/web3-js-intro
20分鐘搭建一個DApp:
http://www.dappuniversity.com/videos/KkZ6iYnSDRw
IPFS用IPFS實現DApp:
http://www.dappuniversity.com/videos/SkMH0WeRYtg
25分鐘看完以太坊:
以太坊賬號模型:
給Web開發者的以太坊教程:
https://medium.com/@mvmurthy/ethereum-for-web-developers-890be23d1d0c
以太坊錢包:
https://cointelegraph.com/ethereum-for-beginners/ethereum-wallets
智慧合約開發教程:
https://blog.zeppelin.solutions/the-hitchhikers-guide-to-smart-contracts-in-ethereum-848f08001f05
以太坊寵物店解析:
http://truffleframework.com/tutorials/pet-shop
CryptoZombies:
智慧合約開發最佳實踐:
https://consensys.github.io/smart-contract-best-practices/
The DAO Hack:
http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/
Parity Wallet Hack:
Parity Wallet Hack II:
https://hackernoon.com/parity-wallet-hack-2-electric-boogaloo-e493f2365303
Ethernaut——Smart Contract Hacking遊戲:
https://ethernaut.zeppelin.solutions/
公/私鑰密碼學:
https://en.wikipedia.org/wiki/Public-key_cryptography
RSA:
https://www.youtube.com/watch?v=vgTtHV04xRI
ECDSA:
https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm
Cryptographic雜湊函式:
https://en.wikipedia.org/wiki/Cryptographic_hash_function
Commitment框架:
https://en.wikipedia.org/wiki/Commitment_scheme
Merkle樹:
https://en.wikipedia.org/wiki/Merkle_tree
Merkle證明:
https://indigocore.org/documentation/v0.1.0/references/proof-of-existence/
二、以太坊官方
-
以太坊官方網站
-
以太坊白皮書
-
以太坊黃皮書
-
Ethereum Wiki
-
以太坊改進建議
-
Solidity官方文件
-
Web3.js官方文件
以太坊官方資源地址:
以太坊官方網站:
以太坊白皮書:
https://github.com/ethereum/wiki/wiki/White-Paper
以太坊黃皮書:
https://github.com/ethereum/yellowpaper
Ethereum Wiki:
https://github.com/ethereum/wiki/wiki
以太坊改進建議:
https://github.com/ethereum/EIPs
Solidity官方文件:
https://solidity.readthedocs.io/en/latest/
Web3.js官方文件:
https://web3js.readthedocs.io/en/1.0/
三、部落格
以下的這些部落格可以幫助你提高技術和增長知識:
-
V神的部落格
-
OpenZeppelin
-
ConsenSys
-
BlockChannel
-
Epicenter
-
Coindesk
-
ETH Research
-
Hacking, Distributed
-
Unenumerated
-
Chris Burniske
-
Great Wall of Numbers
優質部落格資源地址:
V神的部落格:
OpenZeppelin:
https://blog.zeppelin.solutions/
ConsenSys:
BlockChannel:
https://medium.com/blockchannel
Epicenter:
https://www.youtube.com/user/epicenterbtc
Coindesk:
ETH Research:
Hacking, Distributed:
http://hackingdistributed.com/
Unenumerated:
http://unenumerated.blogspot.com/
Chris Burniske:
Great Wall of Numbers:
四、DApp 發現工具
下面這些網站追蹤區塊鏈應用(DApp),可以幫助你發現新的DApp,帶你瞭解每個DApp的使用:
-
Dapp Radar
-
Dapp Volume
-
Dapp.com
-
State of the Dapps
DApp發現工具資源地址:
Dapp Radar:
Dapp Volume:
Dapp.com:
State of the Dapps:
https://www.stateofthedapps.com/
五、書籍
-
《精通以太坊》
-
Building Ethereum Dapps
-
Introducing Ethereum and Solidity
-
《基於Go語言的以太坊開發》
-
Cryptoeconomics Study
-
The business Blockchain
-
Week in Ethereum(報刊)
六、論壇
你可以在下面這些網站上參與討論區塊鏈的發展:
-
以太坊社群論壇
-
Reddit - r/ethdev
-
Reddit - r/ethereum
-
Reddit - r/ethdapps
-
r/CryptoCurrency
-
Bitcoin Talk
-
CryptoPanic News Feed
論壇資源地址:
以太坊資源論壇:
Reddit - r/ethdev:
https://www.reddit.com/r/ethdev/
Reddit - r/ethereum:
https://www.reddit.com/r/ethereum/
Reddit - r/ethdapps:
https://www.reddit.com/r/ethdapps
r/CryptoCurrency:
https://www.reddit.com/r/CryptoCurrency
Bitcoin Talk:
CryptoPanic News Feed:
七、活動和會議
參加下列活動和會議可以讓你現場向頂級區塊鏈開發者學習,與其他開發者交流:
-
DevCon
-
TruffleCon
-
DappCon
-
EthDenver
-
EthBerlin
-
EthMemphis
-
BuildEth
-
Hackathon.com for Blockchain
八、求職
學好技術後如果想要找份工作,可以看看下面的網站。
-
How to Get a Job at a Crypto Startup
-
Ethereum Jobs
-
AngelList Crypto Startups
-
Who's Hiring? (r/ethdev)
-
BlockchainJobz
-
Be in Crypto
-
Blockchain Job Board
-
火聘Online
求職資源地址:
How to Get a Job at a Crypto Startup:
https://angel.co/blog/how-to-get-a-job-at-a-crypto-startup
Ethereum Jobs:
AngelList Crypto Startups:
Who's Hiring:
https://www.reddit.com/r/ethdev/comments/93jz4j/monthly_whos_hiring_and_whos_for_hire_august_2018/
BlockchainJobz:
Be in Crypto:
Blockchain Job Board:
http://www.blockchainjobboard.org/
火聘Online:
常見問題解答
Q:我該成為哪類開發者?
營長: 如果你想成為一名區塊鏈開發者,你必須先弄清楚你想成為什麼樣的開發者。大多數人會想成為那種開發由區塊鏈驅動的面向使用者的應用程式。這些應用程式叫作去中心化應用程式或DApp,它們可以讓企業和使用者利用區塊鏈的底層技術。
區塊鏈應用程式開發者不同於核心區塊鏈開發者,後者開發的可能是區塊鏈協議,如比特幣或以太坊。核心區塊鏈開發者致力於改進技術本身,比如改進以太坊的共識演算法。
就像如果你想成為一名網頁開發者,你必須做出選擇。你需要決定你是想構建網站和網站應用,還是想構建像HTTP這樣的網路協議,亦或是是想改進瀏覽器……大多數想成為網頁開發者的人都想構建網站或網路應用程式。類似地,大多數想成為區塊鏈開發者的人都想構建基於區塊鏈的應用程式。
Q:我該選擇哪種區塊鏈?
營長: 如果你要構建由區塊鏈驅動的應用程式,你需要先選擇一種區塊鏈。但是有那麼多的選擇,要從哪種區塊鏈開始呢?
我喜歡在以太坊上構建區塊鏈應用程式,因為以太坊使用的智慧合約可以讓開發者在區塊鏈上編寫高階程式(比比特幣好用)。這些智慧合約是去中心化區塊鏈應用程式的基石。
以下是我選擇在以太坊而不是其他平臺上構建去中心化區塊鏈應用程式的原因:
-
很好的開發者工具
-
快速成長的開發者社群
-
豐富的知識資源
-
興盛的去中心化生態系統
-
生成代幣很容易
Q:我可以在區塊鏈上構建什麼?
營長: 一旦你決定開始構建去中心化區塊鏈應用程式,你可能會問,“我能在區塊鏈上構建什麼?"
這個問題沒有標準答案,最主要的還是清楚你的目標和使用者需求,然後認真做調研。在選擇方向上營長在之後的文章中會發布一些產品分析的例子,到時候可以參考。
Q:如何 編寫自己的加密貨幣?
營長:以太坊最流行的用例之一是構建自己的加密貨幣,可以參考下面這篇一步一步教你怎麼做的長文。
地址:
http://www.dappuniversity.com/articles/code-your-own-cryptocurrency-on-ethereum
以太坊的獨特之處在於,它允許使用者創造自己的加密貨幣並且無需創造新的區塊鏈。以太坊可以讓使用者創造一種代幣,其智慧合同程式碼部署在區塊鏈上。
以太坊有一個名為"ERC-20"的代幣創造標準,實行這個標準的代幣稱為"ERC-20代幣"。 Erc-20代幣可以從一個賬戶轉移到另一個賬戶中,作為一種支付手段,並且可以像其他加密貨幣一樣在加密貨幣交易所購買或出售。
Erc-20只是一個簡單的標準,它明確規定了這些代幣的工作方式,以確保它們與其他平臺(如加密貨幣交易所)相容。 因為這些代幣是智慧合約,所以我們可以使用這個標準來確定代幣的屬性。例如,您可以建立一個名為"My Token"的代幣,其符號為"MTK",共有100,000,000個這樣的代幣。代幣智慧合約追蹤基本代幣屬性,比如名稱"My Token"(您在加密貨幣交換所中看到的符號) ,以及總共存在多少這樣的代幣。它還追蹤誰擁有"My Token"以及擁有多少。
你也可以在首次幣發行( ICO )中出售基於以太坊的加密貨幣, 這也被稱為crowdsale。Crowdsale是企業通過創造自己的 ERC-20代幣來為自己的業務籌集資金的一種方式,這種代幣可以用以太幣(以太坊的原生加密貨幣)購買。每當發生crowdsale時,企業都會獲得以太幣形式的流動資本,投資者支付資本,以換取代幣。
crowdsale形式和規模各異,可以分為多個層次或階段,例如:Pre ICO(ICO前期眾籌)、ICO、和 ICO 獎勵階段。 每個層次發生的時間點可能不同,具體表現也可能不同。企業可以用白名單來限制投資者購買代幣,而且還可以預留一定數量的代幣,這些代幣不在crowdsale中出售,通常留給企業的特定成員,如創始人和顧問。
這些預留的代幣可以是一定數量或百分比的代幣。每當crowdsale結束時,可以由管理員進行最後確定。然後,所有的預留的代幣將被分配到相應的帳戶,crowdsale將正式結束。
Q:沒有基礎的人該如何學習區塊鏈開發?
營長: 針對沒有基礎的人,營長推薦一個叫做Cryptozombies的學習平臺。這是一個學習使用Solidity程式設計的網站,非常有趣。它可以提供一種"遊戲化"的體驗,類似於其他教育程式設計網站。它可以讓使用者你簡單地瞭解Solidity這種程式語言,其課程包括一些你可以在瀏覽器中完成的程式碼挑戰。
使用者甚至不需要在本地設定任何開發工具。在完成這些課程的過程中,你要建立一個區塊鏈收藏品遊戲,很像 Cryptokitties。
如果你是程式設計新手,除了CryptoZombies 還可以試試Code Academy或Code School等平臺,此外,我還強烈向初學者推薦 Free Code Camp !
Q:我應該學習哪種程式語言?
營長:毫無疑問,是Solidity。Solidity是在以太坊區塊鏈上編寫去中心化應用程式時使用的主要程式語言。它允許使用者建立智慧合同,在以太坊虛擬機器上進行編譯和執行,該虛擬機器在去中心化網路上執行合約,不需要集中許可權或受信任方。
Solidity是一種靜態的、面向合約的程式語言,看起來很像 JavaScript。因此,如果你有 web 開發背景,solidity 對你來說應該會看起來有點熟悉。它是一種圖靈完備的程式語言,這意味著它具有其他有用的程式語言的所有主要特性,如資料結構、迴圈、變數、函式等等。
以太坊使用智慧合約來包含在以太坊上執行的所有程式碼和資料。智慧合同是去中心化應用程式的基石。就像面向物件程式設計(OOP)中的類一樣,每個智慧合約都包含狀態變數、函式和公共資料結構。
因為以太坊區塊鏈上的所有程式碼都是不可變的(不能更改) ,這意味著在編寫部署到生產環境的程式碼時必須非常小心。必須採用一個不同的程式設計正規化,這個正規化需優先考慮謹慎和安全性。不能急於將程式碼投入生產,因為錯誤的成本可能非常高。您不能簡單地"修復"智慧合同中的 bug,因為程式碼無法更改。
除了升級智慧合約的高階策略之外,要升級智慧合約,唯一能做的就是部署一個新的副本。但是,當您這樣做時,所有可能包含使用者資料的合約狀態都將永遠丟失。
除了solidity,區塊鏈開發者還應該學學JavaScript,如果你有Web開發背景,應該可以很容易的上手。