以太坊生态中的工具与技术

image

如果你是一个以太坊或区块链开发者新手,那么很可能你正有点不知所措地(至少我是)试图去了解以太坊生态中的所有工具与技术。 所以我决定简单介绍一下你在开始学习以太坊时会经常遇到的各种各样的组件。 希望这将有助于你对整个以太坊生态,以及生态中的每一部分是如何联系在一起的有一个全局观。

1. 以太坊

以太坊是一个智能合约区块链平台,在上面你可以创建去中心化的应用程序(也被称为智能合约 【译注:称为 Dapps 更合适】)。 如果您是技术专家,那么这个白皮书值得研读:
https://github.com/ethereum/wiki/wiki/White-Paper.

如果你之前有创建过 web 应用程序,我有写过一篇文章去比较以太坊区块链和 web 应用程序架构,这可能有助于你更深入地了解以太坊。

2. Geth

Geth 是由以太坊基金会提供的官方客户端软件。它是用 Go 语言编写的。 这个软件包含了下面几个值得了解的组件:

客户端守护进程

当您启动这个客户端守护程序时,它会连接到网络中的其它客户端(也被称为节点)并下载一个区块链拷贝。 它将不断与其他节点进行通信,以使其区块拷贝保持更新到最新状态。 它还具有挖掘区块并将交易添加到区块链,验证并执行区块中的交易的能力。 它还可以充当 API 服务器,您可以通过 RPC 方式来其访问其暴露的 API 接口。

image

geth 终端

这是一个命令行工具,它可以让你连接到正在运行的节点,并执行像创建和管理帐户、查询区块链、签署并提交交易给区块链等各种各样的操作。

Mist 浏览器

这是一个用于与你的节点通信的桌面应用程序。 任何你能使用 geth 终端完成的操作都可以通过此图形用户界面来完成。

3. Parity

Parity, 用 Rust 语言编写, 是另一个对以太坊协议很好的实现。 这是一个由一家名为 Parity Inc 的公司维护的非官方客户端。任何人都可以实现这样的客户端软件并加入以太坊网络。 你可以按照这本黄皮书 中的规范来实现自己的客户端!

image

4. Web3.js

就如同你用 geth,mist 浏览器等来与以太坊节点进行通信一样,还有一个名为 web3.js 的 javascript 库,也可以用来与一个节点进行交互。 由于它是一个 javaScript 库,你可以使用它来构建基于 web 的去中心化应用 (dapps)。

image

5. Solidity

Solidity 是用于编写在以太坊区块链上运行的智能合约最流行的编程语言。 它是一种编译时转换为 EVM (以太坊虚拟机)字节码的高级语言。 这与具有诸如 Scala,Groovy,Clojure,JRuby 等 JVM 语言的 java 世界非常相似。所有这些 JVM 语言都可以在编译时生成可在 JVM(Java虚拟机)中运行的字节码。 只要遵循规范,你也可以创建一个像 Solidity 这样的语言,编译时转换为有效的 EVM 字节码!

还有一个非常棒的基于浏览器的 IDE,在这里你可以编写智能合约并将其编译部署到区块链上: http://remix.ethereum.org/

6. Truffle/Embark

就像你有 Ruby on Rails,Python / Django 等 web 框架去做应用程序开发一样,Truffle 和 Embark 是用于开发以太坊去中心化应用(dapps)的两个最流行的框架。 它们将在区块链上编译和部署合约的许多复杂的东西都抽象化了。

如果你是个以太坊去中心化应用(dapp)开发新手,在这里这里还有这里我已经为你写了一系列入门教程。

7. Metamask

如果在以太坊社区晃荡超过一周,你一定会遇到 Metamask 。 它目前是一个用于与以太坊节点进行交互的 chrome 浏览器插件。 让世界上的每个人都运行一个节点与区块链交互是不切实际的。 所以,写 Metamask 的那帮家伙们自己运行了一定数量的节点,这样你就不需要这么做了。 所有你需要做的就是装上 Metamask ,然后它就会自动连接到他们的节点了。


image

8. ENS

以太坊域名系统(Ethereum Naming System)是以太坊世界的 DNS。 就像你将 IP 地址映射到方便人们读取的名称一样,你可以将任何以太坊合约或钱包地址映射到一个易读的名称。

例如: 146.115.22.177 → google.com. 您不需要在浏览器中输入 IP地址,输入 google.com 就好了,它会被解析到相应的 IP 地址。

例如: 0x80C013d980aB049471c88E1603b8b4a60E03295C 是我的钱包地址。如果你想转给我一些以太币,你并不需要记住这个地址。 一旦 ENS 启动,我可能会将其映射到 mvmurthy.eth,然后你就可以很轻松地用它给我转钱了 :)。

9. Swarm

区块链能很好地存储少量的数据。 如果你想要存储病历,销售合同或需要公开时间戳的大型文件该怎么办呢?在区块链中存储大块数据是昂贵并且不可扩展的。 Swarm 被用来解决这个问题。 Swarm 是一个去中心化的内容存储和分发服务。 您可以将它视为 CDN,但它并不是在一家公司的服务器上托管的所有 CDN,而是通过互联网在计算机上分发。 你可以像运行一个以太坊节点一样,去运行一个 Swarm 节点并连接到 Swarm 网络上。

当你将一个以太坊合约部署到区块链时,您会获得一个部署地址和一个 ABI JSON 接口(类似于 API 的合约接口)。当你希望有人使用您的合约时,你需要提供部署地址和 ABI 。 将来,ABI 会被存储在 Swarm 中,以便每个人都可以通过查看以太坊地址来查找 ABI。

10. IPFS

IPFS(星际文件系统)在概念上与 Swarm 非常相似。 它是一个去中心化的存储系统。 与以太坊没有直接关联,但可以与以太坊集成。

你可以在这里查看 Swarm 和 IPFS 之间的不同: https://github.com/ethersphere/go-ethereum/wiki/IPFS-&-SWARM

11. Whisper

你可能没怎么听到过 Whisper,不过它也是在以太坊生态系统中一项有趣的技术。 它是 Dapps 之间交互的通信协议。 你可以在这里看到关于它的更多内容: https://github.com/ethereum/wiki/wiki/Whisper

下图尝试把所有这些东西放在一起:


image

希望这能让你对以太坊生态系统有一个概括性的了解,并能够以此为起点对每个相关组件进行更深入的研究和理解。

如果你有兴趣学习更多关于以太坊开发的知识,欢迎与我联系或在文章下面留言。

via:Tools and Technologies in the Ethereum Ecosystem

作者:Mahesh Murthy
译者:Ashton

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容