作者 | Gregory
编译 | shawn
责编 | Aholiab
今天初四,俗话说不出初七就是年,这里营长再次祝大家新年快乐!
这几天身边的朋友团圆的团圆,旅游的旅游,营长的腰围也大了一圈(钱包小了一圈)。也有些朋友努力从各种应酬中脱身,利用这个难得的假期闭门学习,补充自己的知识短板。
作为区块链技术媒体,营长看到国外大神又开始搜集和整理区块链技术的学习资源了。因此营长第一时间把这个资源库带给大家,从入门到精通,从开发到职业规划尽都涵盖。此外,对于初学者常见的疑问,也给出了详尽的解答。
当然,像营长这样的汉子怎么能不准备福利,文章最后,营长集结了过去一年来的公开课资源免费大放送,拉到最底扫码学起来吧!
过年在家不仅要身体丰满,头脑丰满更重要。想成为一名真正的区块链开发者吗,收藏这篇资源列表就对了!
本资源库包含以下内容:
一、资源列表
二、FAQ
- 我该成为哪类开发者?
- 我该选择哪个链?
- 我可以在区块链上构建什么?是DApp?电子钱包?区块链游戏?还是其他?
- 我要掌握哪些编程语言?
如果你是刚开始了解区块链,可以先从FAQ部分看起,对区块链开发有初步的认识后,再来学习资源库里的内容。
好啦,下面就是完整的资源列表!
开发者工具
以下是开发者工具列表,其中包括框架和IDE(集成开发环境),以及可以用于开发以太坊智能合约区块链应用(DApp)的资源库:
一、框架
-
Truffle框架
-
Embark框架
-
DApp工具合集
-
Populus
-
Etherlime
-
Cliquebait
框架资源地址:
Truffle官网:
https://www.truffleframework.com/
Truffle GitHub地址:
https://github.com/trufflesuite/truffle
Embark官网:
https://embark.status.im/
Embark GitHub:
https://github.com/embark-framework/embark
DApp工具合集地址:
https://dapp.tools/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地址:
https://media.consensys.net/an-introduction-to-lll-for-ethereum-smart-contract-development-e26e38ea6c23
三、集成开发环境和编辑器插件
-
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官网:
https://remix.ethereum.org/
Eth Fiddle官网:
https://ethfiddle.com/
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官网:
https://kaleido.io/
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官网:
https://faucet.rinkeby.io/
Kovan faucet GitHub地址:
https://github.com/kovan-testnet/faucet
Ropsten faucet官网:
https://faucet.ropsten.be/
六、以太坊客户端
- 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官网:
https://www.parity.io/
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地址:
https://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地址:
https://github.com/ethjs
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官网:
https://nethereum.com/
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官网:
https://kaleido.io/
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地址:
https://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:
https://github.com/0xProject
Token Libraries:
https://github.com/sec-bit/tokenlibs-with-proofs
十一、存储
-
IPFS
-
IPFS-Store
-
OrbitDB
-
JS IPFS API
-
Swarm
存储资源地址:
IPFS文档:
https://ipfs.io/docs/
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官网:
http://swarm-gateways.net/
十二、消息传递
-
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官网:
https://metamask.io/
Gnosis multisig wallet:
https://github.com/gnosis/MultiSigWallet
Mist GitHub地址:
https://github.com/ethereum/mist
Exodus官网:
https://www.exodus.io/
二、网页钱包
-
MyEtherWallet
-
MyCrypto
-
Portis
-
Eth lightwallet
-
SpankCard
-
Mnemonic generator
网页钱包资源地址:
MyEtherWallet官网:
https://github.com/MyEtherWallet
MyCrypto GitHub地址:
https://github.com/MyCryptoHQ
Portis官网:
https://portis.io/
Eth lightwallet:
https://github.com/ConsenSys/eth-lightwallet
SpankCard GitHub地址:
https://github.com/SpankChain/SpankCard
Mnemonic generator:
https://iancoleman.io/bip39/
三、手机钱包
-
Trust
-
Coinbase Wallet
-
Cipher
-
Status
-
imToken
-
Jaxx
-
WallETH
-
eth-wallet-light
手机钱包资源地址:
Trust GitHub地址:
https://github.com/TrustWallet/trust-wallet-ios
Coinbase Wallet:
https://wallet.coinbase.com/
Cipher官网:
https://www.cipherbrowser.com/
Status GitHub地址:
https://github.com/status-im/status-react
imToken官网:
https://token.im/
Jaxx官网:
https://jaxx.io/
WallETH官网:
https://walleth.org/
eth-wallet-light:
https://github.com/NoahHydro/eth-wallet-light
四、硬件钱包
- Trezor
- Ledger
- KeepKey
硬件钱包资源地址:
Trezor官网:
https://trezor.io/
Ledger官网:
https://www.ledgerwallet.com/
KeepKey官网:
https://www.keepkey.com/
五、区块浏览器
- Etherscan
- Etherchain Light
- POA Explorer
- QuickBlocks
- Supermax
- Alethio EthStats 2.0
区块链浏览器资源地址:
Etherscan官网:
https://etherscan.io/
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官网:
https://www.supermax.cool/
Alethio EthStats 2.0:
https://media.consensys.net/alethio-lighting-up-the-blockchain-with-real-time-stats-a80bb30576db
六、Gas价格工具
- EthGasStation
- Petrometer
- CryptoProf
Gas价格工具资源地址;
EthGasStation官网:
https://ethgasstation.info/
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分钟看完以太坊:
https://youtu.be/mCzyDLanA7s
以太坊账号模型:
https://ethereum.stackexchange.com/questions/326/what-are-the-pros-and-cons-of-ethereum-balances-vs-utxos
给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://cryptozombies.io/
智能合约开发最佳实践:
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:
https://medium.freecodecamp.org/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce
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/
二、以太坊官方
以太坊官方资源地址:
以太坊官方网站:
https://ethereum.org/
以太坊白皮书:
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神的博客:
https://vitalik.ca/
OpenZeppelin:
https://blog.zeppelin.solutions/
ConsenSys:
https://medium.com/@ConsenSys
BlockChannel:
https://medium.com/blockchannel
Epicenter:
https://www.youtube.com/user/epicenterbtc
Coindesk:
https://www.coindesk.com/
ETH Research:
https://ethresear.ch/
Hacking, Distributed:
http://hackingdistributed.com/
Unenumerated:
http://unenumerated.blogspot.com/
Chris Burniske:
https://medium.com/@cburniske
Great Wall of Numbers:
https://www.ofnumbers.com/
四、DApp发现工具
下面这些网站追踪区块链应用(DApp),可以帮助你发现新的DApp,带你了解每个DApp的使用:
-
Dapp Radar
-
Dapp Volume
-
Dapp.com
-
State of the Dapps
DApp发现工具资源地址:
Dapp Radar:
https://dappradar.com/
Dapp Volume:
https://dappvolume.com/
Dapp.com:
https://www.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
论坛资源地址:
以太坊资源论坛:
https://forum.ethereum.org/
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:
https://bitcointalk.org/
CryptoPanic News Feed:
https://cryptopanic.com/
七、活动和会议
参加下列活动和会议可以让你现场向顶级区块链开发者学习,与其他开发者交流:
-
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:
https://jobs.ethercasts.com/
AngelList Crypto Startups:
https://angel.co/bitcoin/jobs
Who's Hiring:
https://www.reddit.com/r/ethdev/comments/93jz4j/monthly_whos_hiring_and_whos_for_hire_august_2018/
BlockchainJobz:
https://blockchainjobz.com/
Be in Crypto:
https://beincrypto.com/
Blockchain Job Board:
http://www.blockchainjobboard.org/
火聘Online:
http://huopin.io
常见问题解答
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开发背景,应该可以很容易的上手。
最后,福利时间!营长集结了过去一年来的线上公开课,想要进一步学习区块链开发和知识的同学,点击下面链接,免费学习!
公开课地址:
https://blockchain.csdn.net/m/zone/blockchain/edu
本文来自,仅作分享,存在异议请联系平台删除。本文观点不代表刺猬财经 - 刺猬区块链资讯站立场。