自学区块链应用开发
I started investing in cryptocurrencies last year, and just kept going down the blockchain rabbit hole from there. Where I live especially, much of the blockchain community is focused on things like trading and investing in cryptocurrencies. Although it was fun to invest at first, I wasn’t so interested in that. So I started my own local meetup group to focus on blockchain development.
去年我开始投资加密货币,然后一直从那里钻进区块链兔子洞。 特别是我住的地方,许多区块链社区都专注于诸如交易和投资加密货币之类的事情。 尽管一开始投资很有趣,但我对此并不感兴趣。 因此,我成立了自己的本地聚会小组,专注于区块链开发。
The meetup group allowed me to connect and learn alongside members of the community, and I’ve used that to compile a list of resources that I, and the other members, have found useful. These resources are arranged from the most basic blockchain explanations to the underlying systems as well as building applications on top of the blockchain.
聚会小组使我能够与社区成员建立联系并一起学习,并且我使用它来汇总我和其他成员认为有用的资源列表。 这些资源从最基本的区块链解释到底层系统,以及在区块链之上构建应用程序的安排。
There is a lot of noise out there. I hope this helps you make sense of it all if you are interested in becoming a blockchain professional.
那里有很多噪音。 如果您有兴趣成为区块链专业人士,我希望这可以帮助您理解这一切。
目录: (Table of Contents:)
- Learn the basics 学习基础
- Dapp Development with Ethereum 以太坊开发Dapp
- Game Theory 博弈论
- Cryptography 密码学
- Audio/Supplementary Materials 音频/补充材料
- Other Types of Blockchain Development 其他类型的区块链开发
- Research 研究
基础-区块链技术如何工作 (The Basics — How Blockchain Technologies Work)
It can take a minute to wrap your head around the complexities of blockchain technologies. This technology encompasses so many different fields: computer science, game theory, cryptography, and economics just to name a few. Thus it’s difficult to initially learn the ins and outs of how it all works.
可能需要花费一分钟时间来解决区块链技术的复杂性。 这项技术涵盖了许多不同的领域:计算机科学,游戏理论,密码学和经济学。 因此,很难一开始就了解其工作原理的来龙去脉。
Here are a few resources that I think give a good, clear overview of how blockchain really works.
我认为这里有一些资源可以很好地,清晰地概述区块链的工作原理。
Start with this video breaking down how it works:
从此视频开始,介绍其工作原理:
2. Watch both videos here (there is some overlap with the prior resource, but it will cement the concepts in your mind) and play around with the demo on the site:
2.在此处观看两个视频(与以前的资源有一些重叠,但是会牢牢记住您的想法),并在网站上进行演示:
Blockchain DemoA live blockchain demo in a browser.anders.com
区块 链演示浏览器中的实时 区块 链演示。 anders.com
3. Read the Chapter “What is Ethereum” from the GitHub book, “Mastering Ethereum”
3. 阅读章节“什么是复仇从GitHub的书”,“ 掌握复仇 ”
以太坊开发Dapp (Dapp Development with Ethereum)
There are many different blockchains now that allow you to create applications and smart contracts. Ethereum is by far the most popular option, with Solidity being its dominant programming language. I suggest trying out building dapps with these technologies first.
现在有许多不同的区块链,可让您创建应用程序和智能合约。 到目前为止,以太坊是最受欢迎的选择,而Solidity是其主要的编程语言。 我建议首先尝试使用这些技术构建dapp。
By far the best way to learn to code with Solidity is Cryptozombies. It’s an interactive coding environment that teaches you how to program Solidity step by step while building a zombie game! It’s kept up to date with new versions of Solidity too, which is hard to come by in the ever-changing blockchain space.
到目前为止,学习Solidity编码的最佳方法是Cryptozombies 。 这是一个交互式的编码环境,可教您如何在构建僵尸游戏时逐步编程Solidity! 它也与最新版本的Solidity保持同步,这在不断变化的区块链领域很难实现。
If you want something in addition to Cryptozombies, here are two other recommendations I have for learning solidity:
如果您除了需要加密僵尸之外还需要其他东西,这里还有另外两个建议可以帮助您学习扎实性:
Youtube video series for dapp development — This channel explains things very well, but the syntax isn’t totally up to date so you might have to google some things if you are getting errors. The Remix editor he uses will give you hints about what you need to change, so you should be fine.
用于dapp开发的Youtube视频系列 —该频道很好地解释了事情,但是语法不是完全最新的,因此如果遇到错误,您可能必须在Google上做一些事情。 他使用的Remix编辑器会提示您需要更改的内容,因此应该没问题。
Stephen Grider on Udemy — this is a paid course, but you can get a deal for ~$9.99 USD and it has good examples and content.
Udemy上的Stephen Grider-这是一门付费课程,但您可以以9.99美元左右的价格获得一笔优惠,并且其中有很好的示例和内容。
After you finish Cryptozombies, it’s a good idea to learn how to use the Remix IDE for creating, debugging, and deploying contracts. The docs have a quick start and lots of step-by-step instructions with screenshots to get you going.
完成Cryptozombies之后,最好学习如何使用Remix IDE来创建,调试和部署合同。 该文档快速入门,并提供了许多分步说明以及屏幕截图 ,可助您一臂之力。
You should also learn about Ethereum clients and wallets. Those links will explain everything you need to know. Metamask is a browser plugin and a great way to get started (it’s for Chrome or Firefox, but the Chrome one seems to work much better).
您还应该了解以太坊客户和钱包 。 这些链接将说明您需要了解的所有内容。 Metamask是浏览器插件,也是入门的好方法(适用于Chrome或Firefox,但Chrome似乎工作得更好)。
Next, learn more advanced smart contract development. Start by reading the Solidity documentation. It goes into more advanced concepts and has some good example dapps, too. Ethereum.org also had some good dapp examples to look through like this one. You can copy the examples straight into the Remix IDE and test them out for yourself.
接下来,了解更多高级智能合约开发。 首先阅读Solidity文档 。 它涉及到更高级的概念,并且还具有一些很好的示例dapp。 以太坊(Ethereum.org)也有一些很好的dapp示例可以像这样进行浏览 。 您可以将示例直接复制到Remix IDE中,然后自己进行测试。
After you have a good grasp on Solidity and smart contracts, start looking through some open source examples. The default go-to seems to be Crypto Kitties (you can see the contract code at any Ethereum address at etherscan.io), but there are many more that can be great learning tools. You can search GitHub and Etherscan to find more.
在掌握Solidity和智能合约之后,请开始研究一些开源示例。 默认的入门对象似乎是Crypto Kitties (您可以在etherscan.io的任何以太坊地址上查看合同代码),但是还有很多其他可以成为出色的学习工具的工具。 您可以搜索GitHub和Etherscan以找到更多。
There is a lot of development going on in the Ethereum space around developer tools and security. Here are some awesome libraries and tools along those lines that you can check out:
以太坊领域围绕开发人员工具和安全性进行了大量开发。 以下是一些很棒的库和工具,您可以检阅这些内容:
博弈论 (Game Theory)
Some of the problems that blockchain aims to solve are from game theory, most notably The Byzantine Generals Problem. This problem deals with consensus between many different parties without having to trust that any individual is not malicious.
区块链旨在解决的一些问题来自博弈论,尤其是拜占庭将军问题。 这个问题涉及许多不同方之间的共识,而不必相信任何人都不是恶意的。
The Great Courses Plus offers an excellent lecture series on various topics in game theory. They have a monthly subscription model with a two-week free trial. The 24 30-minute lectures cover a broad range of topics in game theory, and I think it’s great for an overall understanding of the subject.
“精品课程选修课”提供了一个关于博弈论各个主题的精彩讲座系列 。 他们有每月订阅模式,并有两个星期的免费试用期。 24节30分钟的讲座涵盖了博弈论的广泛主题,我认为这对于全面理解该主题非常有用。
密码学 (Cryptography)
I am definitely not an expert here, but I am continuously learning about how cryptography works and how it can be applied to blockchain. This area does get really deep into the math, as Ethereum and many other blockchains use Eliptical Curve Cryptography.
我绝对不是专家,但我一直在学习密码术的工作原理以及如何将其应用于区块链。 由于以太坊和许多其他区块链使用Eliptical Curve Cryptography,因此该领域确实深入数学。
As a noob in this space, here are some resources I have found useful:
作为这个领域的菜鸟,我发现一些有用的资源:
Coursera Cryptography I — Free to audit the course; paid if you want a certificate.
Coursera密码学I-免费审核课程; 如果您想要证书则需要付费。
音频补充材料 (Audio Supplementary Material)
Podcast: Software Engineering Daily, Blockchain — This is my favorite blockchain podcast. They do a very good job at explaining complex topics and have a variety of industry leaders on the show.
播客:区块链软件工程日报 —这是我最喜欢的区块链播客。 他们在解释复杂主题方面做得非常出色,并且在展会上有各种各样的行业领导者。
Podcast: CryptoDisrupted — The host brings in a lot of guests from interesting projects in the blockchain space. I’ve enjoyed most of what I’ve listened to with this podcast.
播客: CryptoDisrupted —主机吸引了来自区块链领域有趣项目的许多访客。 我很喜欢这个播客所听的大部分内容。
其他类型的区块链开发 (Other Types of Blockchain Development)
The Ethereum community has, by far, the most developers and learning resources, so it’s a good place to get started with blockchain development. I think you would be remiss if you did not explore other innovation in the space, however. Below are some interesting projects.
到目前为止,以太坊社区拥有最多的开发人员和学习资源,因此这是开始区块链开发的好地方。 但是,如果您不探索该领域的其他创新,我认为您会被遗忘。 以下是一些有趣的项目。
Lisk — Makes blockchain development more accessible, as everything is built in JavaScript.
Lisk-一切都以JavaScript内置,从而使区块链开发更易于访问。
EOS — The creator, Dan Larimer, had built several other successful blockchain solutions before starting this project. EOS is supposed to solve some of the problems with Ethereum, like scaling and security. It’s sometimes called, “The Ethereum Killer”.
EOS —创建者Dan Larimer在开始该项目之前已经建立了其他成功的区块链解决方案。 EOS应该解决以太坊的一些问题,例如扩展性和安全性。 有时被称为“以太坊杀手”。
Interchain Protocols — These are some solutions that help facilitate transactions between different blockchains and also have interesting solutions to help blockchain scale:
链间协议 -这些解决方案可帮助促进不同区块链之间的交易,并且还有一些有趣的解决方案可帮助区块链扩展:
Hyperledger — An open source collaborative effort created to advance cross-industry blockchain technologies. It’s hosted by The Linux Foundation.
Hyperledger —为促进跨行业区块链技术而创建的开源协作成果。 它由The Linux Foundation托管。
Holo — A post-blockchain technology that attempts to solve the issues of scalability and centralization in today’s blockchain technologies.
Holo —一种后区块链技术,旨在解决当今区块链技术中的可扩展性和集中化问题。
研究与最新发展 (Research & Current Development)
Once you learn the basics, it’s so important to read research papers to achieve mastery in the blockchain space. Here are some places where I have had success:
一旦您学习了基础知识,阅读研究论文就可以在区块链领域精通,这一点非常重要。 这是我取得成功的一些地方:
结论 (Conclusion)
I will be continuously studying blockchain development and trying to find new and interesting solutions. Please leave a comment or message me if I am missing anything here.
我将继续研究区块链开发,并尝试寻找新的有趣的解决方案。 如果我在这里遗漏任何东西,请发表评论或给我发消息。
Right now, I am planning more articles about companies, projects, and people of interest in the blockchain space. Follow me if you are interested in any of these things.
现在,我正在计划更多有关区块链领域的公司,项目和感兴趣的人的文章。 如果您对这些东西有兴趣,请跟我来。
自学区块链应用开发