专栏首页区块链技术指北以太坊生态中的工具与技术

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

这是「区块链技术指北」的第 32 篇文章。

如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会把你拉入微信群「区块链技术指北」。BTW,李笑来老师也加入了我们的知识星球,文末有加入方式。

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

1. 以太坊


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

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

2. Geth


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

客户端守护进程


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

geth 终端


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

Mist 浏览器


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

3. Parity


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

4. Web3.js


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

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 ,然后它就会自动连接到他们的节点了。

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 网络上。

当你将一个以太坊合约部署到区块链时,您会获得一个部署地址和一个 ABIJSON 接口(类似于 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

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

本文分享自微信公众号 - 区块链技术指北(BlockchainAge)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 「开篇」区块链技术指北

    文/温国兵 本文由币乎社区(bihu.com)内容支持计划赞助。 回顾近现代几次工业革命,人类的发展随着技术的变革而突飞猛进。第一次工业革命革命,以工作机的诞生...

    robinwen
  • 「Fundamental challenges with public blockchains」解读

    本文由币乎社区(bihu.com)内容支持计划奖励。 这是「区块链技术指北」的第 14 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时...

    robinwen
  • 链接 Dapp 时代-区块链线下技术沙龙全国行(成都站)完美收官

    3 月 25 日,由 OracleChain 团队主办的链接 Dapp 时代-区块链线下技术沙龙全国行 (成都站) 正式启动。 此次链接 Dapp 时代-区块链...

    robinwen
  • 99%的人都不懂中本聪、V神这么牛靠的是什么?一张图而已!

    他山之石,可以攻玉。在介绍区块链底层通用架构之前,我们不妨先从比特币、以太坊、Hyperledger 的架构解读开始。(一定要读完哟,因为有书拿!!!)

    区块链大本营
  • 分区化:以太坊扩展性问题的解决方案?

    太坊区块链毫无疑问具备创新的本质。其智能协同功能促进了分布式应用程序(DApps)和原始币(ICOs)的发展。然而,尽管迄今为止的以太坊已经取得了短期的成功,但...

    繁林
  • 区块链智能合约以太坊

    以以太坊为代表的智能合约,被认为是区块链2.0的产物。 区块链可以看作是一个操作系统,而比特币则可以看作其上面生长的明珠。 区块链开发可以看作是自己开发一套系统...

    春哥大魔王
  • 分片:以太坊可扩展性问题的解决方案?

    以太坊区块链的创新本质毋庸置疑,其智能合约功能促进了去中心化应用程序(DApps)和初首次币发行(ICOs)的发展。然而,尽管迄今为止以太坊取得了立竿见影的成功...

    Sepmer Fi
  • 以太坊构建本地私有网络

        调节内存缓存(单位是M),默认是16M,可以根据自己计算机的情况,适当调大这个值,如256, 512, 1024 (1GB), 或 2048 (2GB)

    墨文
  • 1分钟链圈 | 比特大陆推出挖矿路由器!苏宁正式上线区块链产品“星际家园”

    这里是 8 月 9 日的每日1句话新闻晚报,只需1分钟,看看全球最热、最新的区块链新闻。

    区块链大本营
  • 如何招聘完美的以太坊开发者

    对优质区块链开发人员的需求很大,这是有充分理由的。区块链和ICO领域在过去几年中爆炸式增长。越来越多的人试图进入并在该领域中扬名立万。但是,为了获得成功,他们拥...

    搜云库技术团队

扫码关注云+社区

领取腾讯云代金券