如何成为一名区块链开发者
Posted 高可用架构
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何成为一名区块链开发者相关的知识,希望对你有一定的参考价值。
constructor() return new Block(0, "01/01/2017", "Genesis block", "0");
return new Block(0, "01/01/2017", "Genesis block", "0");
第二部分:添加区块
首先,我们需要知道当前区块链中最新一个区块是什么。为此,我们使用 getLatestBlock() 函数。
getLatestBlock()
return this.chain[this.chain.length - 1];
Now that we have determined the latest block, let’s see how we are going to add new blocks.
addBlock(newBlock)
newBlock.previousHash = this.getLatestBlock().hash;
newBlock.hash = newBlock.calculateHash();
this.chain.push(newBlock);
那么,这里发生了什么?我们是如何添加区块的?我们如何检查给定的区块是否有效?
还记得一个区块的内容吗?每个区块有前一个区块的哈希值,对吗?
所以,我们在这里要做的很简单。将新出块的 previousHash 与最后一个区块哈希值进行比较。
如果这两个值相匹配,那么就意味着新的区块是合法的,它被添加到区块链中。
第三部分:验证链
现在,我们需要检查没有人对我们的区块链进行破坏,一切都很稳定。
我们使用 for 循环从区块1到最后一个区块。创世区块是区块 0。
for (let i = 1; i < this.chain.length; i++)
const currentBlock = this.chain[i];
const previousBlock = this.chain[i - 1];
In this part of the code we are defining two terms, current block and previous block. And now we are simply going to find the hash of these two values.
if (currentBlock.hash !== currentBlock.calculateHash())
return false;
if (currentBlock.previousHash !== previousBlock.hash)
return false;
return true;
如果当前区块的 previousHash 不等于前一个区块的 Hash,那么这个函数将返回 False,否则将返回 True。
使用区块链
现在,我们终于要使用区块链来创建我们的 BlockGeeksCoin 了。
let BlockGeeksCoin = new Blockchain();
BlockGeeksCoin.addBlock(new Block(1, "20/07/2017", amount: 4 ));
BlockGeeksCoin.addBlock(new Block(2, "20/07/2017", amount: 8 ));
就是这样!
那么这里发生了什么?
我们基于区块链创建了一个新的加密货币,并将其命名为BlockGeeksCoin。通过调用这个新对象,我激活了构造函数,进而自动创建了创世区块。
我们只需再给它添加两个区块,并给它们一些数据。
就是这么简单。
这个里程碑就到此为止了。让我们看看行动计划。它非常简单,但肯定也不容易。
在众多的区块链友好语言中选择一种进行学习,比如 C++,javascript,C#,Go 等。
(由于篇幅关系,今天先发布第一部分,接下来合约部分敬请期待,着急的读者也可以阅读英文版了解全文)
英文全文:
https://blockgeeks.com/guides/blockchain-developer/
微服务架构中的熔断器设计与实现( Golang 版)
API 分页设计与实现
Rust 和 C 性能对比:排序
白话高并发中的协程
使用Go语言从零编写PoS区块链
使用Go语言编写区块链P2P网络
本文由高可用架构翻译,技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。
如何成为一名区块链工程师? | 附学习资源
编译 | 区块链大本营
参与 | 鸽子、何永灿、Shawn
春节前后,区块链再次刷爆我们的朋友圈,关注区块链的人正在以几何数集上升。大潮来临,一切都不同了,身怀绝技的程序员有了大展宏图的历史性机会,程序员们,是时候,毅然决然,懂点区块链技术了。
本文列举了关于区块链和数字加密技术的文章和资源,分为以下几个部分:构建区块和基础;基础(和历史);关键概念——包括特定课题(例如区块链治理);隐私和安全;扩展;共识算法、加密货币经济和投资;资金筹集和通证分布;去中心化交易所;稳定货币;加密货币经济原生产品(数字加密收藏品、管理市场、游戏)。最后,文章还提供了开发者教程、实践教程和人物事迹,以及其他资源,例如时事新闻和课程。干货满满哦!
构建区块和基础
区块链是啥?——回答其定义之前先理解它解决什么问题
Mohit Mamoria
https://hackernoon.com/wtf-is-the-blockchain-1da89ba19348
想知道比特币(和其他加密货币)的工作原理吗?
3Blue1Brown
https://youtu.be/bBC-nXj3Ng4
比特币协议的工作原理
Michael Nielsen
http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/
25分钟了解以太坊
Vitalik Buterin
https://youtu.be/66SaEDzlmP4
以太坊的工作原理:绕过复杂的数学解释以太坊在技术层面上的工作原理
Preethi Kasireddy
https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369
从比特币到区块链再到ICO,带您解开加密货币的奥秘
Alex Rampell
https://a16z.com/2017/12/08/summit-crypto-alex-rampell/
加密哈希函数:加密哈希函数的定义、属性……
Khan Academy
https://youtu.be/0WiTaBI82Mc
区块链入门:账本基础知识,区块链的重要性
Chris Berg、Sinclair Davidson、and Jason Potts
https://medium.com/@cryptoeconomics/the-blockchain-economy-a-beginners-guide-to-institutional-cryptoeconomics-64bf2f2beec4
以太坊基本术语:从gas到dapps(分布式应用)
Matt Condon
https://medium.com/@mattcondon/getting-up-to-speed-on-ethereum-63ed28821bbe
区块链及加密货币基本术语库:部分术语附简短定义
https://tangelo.co/insights/blog/techs-must-have-reference-guide-to-blockchain-and-cryptocurrency
加密资产入门指南系列:从以太坊到莱特币
Linda Xie
https://medium.com/@linda.xie/beginners-guide-series-on-cryptoassets-d897535d887
基础与历史
比特币白皮书(2009):一种点对点的电子现金系统
中本聪
https://bitcoin.org/bitcoin.pdf
以太坊白皮书(2013+):下一代智能合约和去中心化应用平台
Vitalik Buterin等人
https://github.com/ethereum/wiki/wiki/White-Paper
拜占庭将军问题(1982)
Leslie Lamport、Robert Shostak、Marshall Pease
https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf
Agoric论文系列(1988)
Mark Miller and K. Eric Drexler
https://e-drexler.com/d/09/00/AgoricsPapers/agoricpapers.html
智能合约理念(1997)
Nick Szabo
http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html
比特币为何如此重要(2014)
Marc Andreessen
https://dealbook.nytimes.com/2014/01/21/why-bitcoin-matters/
比特币的学术渊源(2017)
Arvind Narayanan and Jeremy Clark
https://queue.acm.org/detail.cfm?id=3136559
重要概念
漫谈比特币泡沫
Steven Johnson
https://www.nytimes.com/2018/01/16/magazine/beyond-the-bitcoin-bubble.html
加密通证:开放式网络设计的一个突破
Chris Dixon
https://medium.com/@cdixon/crypto-tokens-a-breakthrough-in-open-network-design-e600975be2ef
加密通证和协议创新时代的到来
Albert Wenger
http://continuations.com/post/148098927445/crypto-tokens-and-the-coming-age-of-protocol
“胖”协议
Joel Monegro
https://www.usv.com/blog/fat-protocols
加密货币、应用货币及协议投资
Olaf Carson-Wee、Chris Dixon和Sonal Chokshi
https://a16z.com/2017/04/03/cryptocurrencies-protocols-appcoins/
让应用用于大众
Juan Benet and Chris Dixon
https://a16z.com/2017/09/14/networks-protocols-labs-tokens/
区块链:好在哪里: 包括智能合约
Ed Felten
http://freedom-to-tinker.com/2018/02/26/blockchain-what-is-it-good-for/
美国政府如何利用区块链打击诈骗
Kathryn Haun
https://youtu.be/507wn9VcSAE
Bitcoin network effects比特币网络效应
Elad Gil
http://blog.eladgil.com/2017/12/bitcoin-network-effects_11.html
管理员:维护区块链网络的工作者(如果设计合理的话,通证可以通过激励预期行为发挥驱动网络效应的作用)
Ryan Zurrer
https://medium.com/@rzurrer/keepers-workers-that-maintain-blockchain-networks-a40182615b66
加密货币背后的主人:Nick Szabo对话Naval Ravikant
Tim Ferris
https://tim.blog/2017/06/04/nick-szabo/
加密通证为何重要
Fred Ehrsam、Chris Dixon
https://a16z.com/2017/09/28/cryptocurrencies-networks-tokens/
比特币为什么难以“获得”:区块链世界
Dhruv Bansal
https://blog.unchained-capital.com/blockchain-spectrum-806847e1c575
金钱、区块链和社会可扩展性
Nick Szabo
http://unenumerated.blogspot.com/2017/02/money-blockchains-and-social-scalability.html
如何理解“区块链是无情的”?
Preethi Kasireddy
https://medium.com/@preethikasireddy/eli5-what-do-we-mean-by-blockchains-are-trustless-aa420635d5f6
去中心化为什么重要:从因特网时代到加密网络时代
Chris Dixon
https://medium.com/@cdixon/why-decentralization-matters-5e3f79f7638e
去中心化的含义:去中心化是指什么?细微差别,深度
Vitalik Buterin
https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274
量化去中心化:我们必须在能够改进去中心化之前实现对区块链去中心化的衡量
Balaji Srinivasan、Leland Lee
https://news.earn.com/quantifying-decentralization-e39db233c28e
区块链的真相:给出区块链应用框架,帮助大企业高管理解区块链发展状态;战略投资;挑战,资源和区块链应用流程
Marco Iansiti、Karim Lakhani
https://hbr.org/2017/01/the-truth-about-blockchain
企业的慢速死亡
Nick Tomaino
https://thecontrol.co/the-slow-death-of-the-firm-1bd6cc81286b
以太坊的创造者Vitalik Buterin——思想大解放:区块链和加密货币世界的奇思妙想
Laura Shin
https://itunes.apple.com/us/podcast/unchained-big-ideas-from-worlds-blockchain-cryptocurrency/id1123922160
理解通证的思维模式
Nick Tomaino、Chris Dixon
https://a16z.com/2018/01/21/mental-models-tokens-crypto-trends/
区块链治理
非理性通证持有者的迷思:为什么区块链治理不属于任何现有模型
Kathleen Breitman
https://medium.com/@kathleenbreit/the-myth-of-the-irrational-token-holder-c12438709afd
区块链治理:设计组件、方法、建议
Fred Ehrsam
https://medium.com/@FEhrsam/blockchain-governance-programming-our-future-c3bfe30f2d74
反对链上治理:反驳(及批判)上文
Vlad Zamfir
https://medium.com/@Vlad_Zamfir/against-on-chain-governance-a4ceacd040ca
论区块链治理和网络效应
Luke Duncan
https://blog.aragon.one/thoughts-on-governance-and-network-effects-f40fda3e3f98
区块链治理笔记
Vitalik Buterin
http://vitalik.ca/general/2017/12/17/voting.html
自我进化的加密账本:Tezos论文
Arthur、Kathleen Breitman
https://www.tezos.com/static/papers/position_paper.pdf
隐私和安全
区块链的隐私问题
Vitalik Buterin
https://blog.ethereum.org/2016/01/15/privacy-on-the-blockchain/
保护智能协议(系列):Solidity的6个漏洞隐患以及如何避免
来源:Loom
https://medium.com/loom-network/how-to-secure-your-smart-contracts-6-solidity-vulnerabilities-and-how-to-avoid-them-part-1-c33048d4d17d
https://medium.com/loom-network/how-to-secure-your-smart-contracts-6-solidity-vulnerabilities-and-how-to-avoid-them-part-2-730db0aa4834
以太坊智能协议最佳实践
ConsenSys Diligence
https://consensys.github.io/smart-contract-best-practices/
Town Crier:智能协议的一个经验证的数据馈送系统
Fan Zhang、Ethan Cecchetti、Kyle Croman、Ari Juels、Elaine Shi
https://eprint.iacr.org/2016/168.pdf
Devcon3专家组对形式化验证的讨论
Phil Daian、Everett Hildenbrandt、Yoichi Hirai、Loi Luu, 主持人:Reto Trinkler
https://youtu.be/DrDIcirrhWM
zk-SNARKs是什么?
Jay Graber
https://z.cash/technology/zksnarks.html
Zk-SNARKs背后的技术(系列):掌握zk-SNARKs(全称 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,即"简明非交互零知识证明")的基础知识
Vitalik Buterin
https://medium.com/@VitalikButerin/zk-snarks-under-the-hood-b33151a013f6
可应用于多种场景(从可验证计算到保护隐私的加密货币)的通用技术
Vitalik Buterin
https://vitalik.ca/general/2017/11/09/starks_part_1.html
可扩展、透明、后量子加密计算完整性:用透明的zk-SNARKs (zk-STARKs)解决个人隐私和机构诚信之间的冲突
Eli Ben-Sasson, Iddo Bentov, Yinon Horesh, and Michael Riabzev
https://eprint.iacr.org/2018/046.pdf
简洁非交互式零知识证明的冯诺伊曼体系结构
Eli Ben-Sasson、Alessandro Chiesa、Eran Tromer和Madars Virza
https://eprint.iacr.org/2013/879.pdf
扩展
区块链无法扩展:至少现在不能,但是有希望
Preethi Kasireddy
https://hackernoon.com/blockchains-dont-scale-not-today-at-least-but-there-s-hope-2cb43946551a
扩展不可靠计算的模型
Kyle Samani
https://multicoin.capital/2018/02/23/models-scaling-trustless-computation/
平台货币不久将被淘汰:笔者认为五年之内市值最高的加密货币将成为一种应用通证
Aleksandr Bulkin
https://blog.coinfund.io/platform-currencies-may-soon-be-obsolete-78d9b263d902
Layer 2的重要性:比特币和区块链的一个超文本传送协议(HTTP)
Elizabeth Stark
https://youtu.be/3PcR4HWJnkY
闪电网络是什么,如何用它扩展比特币?
by Elizabeth Stark
https://coincenter.org/entry/what-is-the-lightning-network
理解以太坊Layer 2的扩展方法:状态通道、Plasma和Truebit
Josh Stark
https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4
扩展Tezos:用递归SNARKs(知识的简洁非交互式零知识证明)进行扩展
Arthur Breitman
https://hackernoon.com/scaling-tezo-8de241dd91bd
以太坊基金研究项目:纯研究和应用研究领域的主要课题
Ethereum Foundation
http://notes.eth.sg/CwIwZgbAjADAxgUwLQEMUIKxOCsWCcIEwShAHCgEwJj4qyVA
以太坊可扩展性研究和开发补贴计划
Vitalik Buterin
https://blog.ethereum.org/2018/01/02/ethereum-scalability-research-development-subsidy-programs/
以太坊入门指南
Tendermint
https://blog.cosmos.network/a-beginners-guide-to-ethermint-38ee15f8a6f4
plasma链0x1的构造
David Knott
https://blog.omisego.network/construction-of-a-plasma-chain-0x1-614f6ebd1612
以太坊中的账户、交易、gas和区块gas限制
Hudson Jameson
https://hudsonjameson.com/2017-06-27-accounts-transactions-gas-ethereum/
Interplanetary linked计算:将Merkle计算从区块链计算场(computational courts)中分离出来:
Simon de la Rouviere
https://media.consensys.net/interplanetary-linked-computing-separating-merkle-computing-from-blockchain-computational-courts-1ade201ecf8a
以太坊分片:概述和最终确定性
Hsiao-Wei Wang
https://medium.com/@icebearhww/ethereum-sharding-and-finality-65248951f649
区块链技术如何成为中国数字化转型最新驱动力