un.Block

Posted on Oct 09, 2021Read on Mirror.xyz

区块链理论与开发基础

区块链理论

区块链是什么鬼:中文翻译英文原文

这篇文章生动的向我们讲解了为什么人们需要区块链技术以及区块链技术的基本工作原理

传统的中心化网络都由一个被人们所信任的中心化机构进行管理,人与人之间建立的互信依赖于一个第三方机构,一旦被信机构出现信任危机,将会引起社会混乱;而去中心化网络(区块链网络)就是剔除中心化机构,由全体网络成员共同管理,不再依赖第三方机构建立互信,解决了人与人之间的信任问题。

区块链网络有以下的特点;

  • 整个网络至少需要三个人参与
  • 全部人共同管理和监督每一笔交易记录
  • 通过哈希算法对交易记录进行加密,网络中的全部成员参与到计算哈希签名的竞赛中,第一个算出所需签名的用户将获得奖励(这是 POW 机制,还有另一种机制叫 POS,我们下次聊聊)
  • 网络中的其他用户将对哈希签名进行验证,验证通过后将加密的交易记录包以一个区块的形式添加到链上,一个区块中存放着交易记录、哈希签名以及上一个区块的哈希值
  • 每个区块中的内容都是理论上都是不可篡改的,或者说篡改记录的成本极高

假如你看懂了上一篇文章的讲解,不妨再进一步,从更技术的角度去理解区块链技术中的区块连接、加密、挖矿、不可变性、区块链的治理等原理

7步骤入门区块链中文翻译英文原文

看到这里,你是否觉得区块链世界真奇妙?如果你有时间且感兴趣的话,不妨阅读 CoinDesk 的 BlockChain 101 系列文章,这些文章对区块链的讲解更系统且更深入。

区块链开发

区块链开发可以采用多种语言,其中比较热门的是 Golang、Rust,其他语言如C#、C++也可用于区块链开发。

在本环节,我们将引导你学习在 ETH(以太坊)网络上进行编程与开发去中心化应用程序(DApp)。

我们选择了较为热门同时容易上手的 Solidity 作为开发语言,它是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。学习 Solidity,最方便快捷的方法是阅读 Solidity 官方文档

Vyper 是另外一个热门智能合约开发语言,它的语法更接近Python,你也可以选择它作为你的开发语言,这是 Vyper 的官方文档

假如你不知道什么是ETH、什么是智能合约,不妨先阅读以下文章

区块链工具分享

  • Remix:Solidity 的在线 IDE, 你可以用它来学习 Solidity、开发简单的智能合约 IDE
  • Remixd:假如你想将本地项目的文件放到 Remix 中运行,最好的解决方案是使用 Remixd 这款插件 使用文档GitHub
  • 123ETH : 一个以太坊生态资源导航,它涵盖了以太坊的方方面面,通过它你可以一览整个以太坊世界 123ETH