Solidity

Solidity( https://solidity.readthedocs.io/en/develop/ )是在编写智能合约(在以太坊区块链上运行)时最流行的编程语言。它是一种高级语言,通过编译转换为EVM(以太坊虚拟机)字节码。 这与Java的设计机制非常相似,诸如Scala,Groovy,Clojure,JRuby这些JVM语言编译生成的字节码都在JVM(Java虚拟机)中运行。你也可以创建一个像Solidity这样的语言,当然前提是你遵循规范,并且你的语言可以编译成有效的EVM字节代码。

关于这种语言,还有一个基于浏览器的IDE,设计的非常漂亮。你可以在这里编写合约,编译并部署到区块链:

http://remix.ethereum.org/

Truffle/Embark

就像我们在开发Web应用程序时会想到Ruby on Rails,Python / Django等开发框架一样,DApps开发也有两个最流行的框架:Truffle( http://truffleframework.com/ )和Embark( https://github.com/iurimatias/embark-framework )。它们把区块链上编译和部署合约时会碰到的很多复杂的东西都抽象出来了。

如果你没有以太坊Dapps开发的经验,可以参考我写的一个指导教程:

(一)( https://medium.com/@mvmurthy/full-stack-hello-world-voting-ethereum-dapp-tutorial-part-1-40d2d0d807c2 )

(二) ( https://medium.com/@mvmurthy/full-stack-hello-world-voting-ethereum-dapp-tutorial-part-2-30b3d335aa1f )

(三)( https://medium.com/@mvmurthy/full-stack-hello-world-voting-ethereum-dapp-tutorial-part-3-331c2712c9df )

MetaMask

如果你已经进入了Ethereum社区一段时间,肯定会知道MetaMask(一款以太坊轻钱包, https://metamask.io/ )。在我们发布这篇文章的时候,它的形式还只是一个用于与以太坊节点进行交互的Chrome插件。让每一位用户都先完成繁重复杂的配置再运行节点来和区块链进行交互是不现实的。 所以,开发MetaMask的那帮家伙主动维护了大量的节点,从而把其他用户从繁杂的同步过程中解放了出来。你只需安装MetaMask,它就可以自动连接到它们的节点上。

ENS

以太坊域名系统(ENS, http://ens.domains/ )是以太坊世界里的DNS。就像互联网世界里的IP地址可以被映射为方便人们读取的名称一样,任何以太坊合约或钱包的地址也可以被映射成易读的名称。

例如:146.115.22.177→google.com。你不必在浏览器中输入IP地址,而是输入google.com即可,它会解析为该这个IP地址。

同样地:0x80C013d980aB049471c88E1603b8b4a60E03295C是我的钱包地址。如果你需要给我转一些以太币,也同样不必记住这个地址。在ENS发布之后,我可能会将其映射到mvmurthy.eth,你可以使用这个名字轻松把钱转给我:)。

Swarm

区块链在存储少量数据的时候是OK的。但如果想存储一些比如患者病历,销售合同或某些需要公开时间戳的大文件时该怎么办呢?在区块链中存储这种大文件数据的内存需求是昂贵的,并且也不能在所存储的块上扩展。Swarm( http://swarm-gateways.net/bzz:/theswarm.eth/ )就是用来解决这个问题的。它是一个去中心化的内容存储和分发服务。你可以将其视为CDN,但它并不是在一家公司的服务器上托管整个CDN,而是通过互联网分布在很多计算机上。 就像连接到以太坊网络需要运行一个以太坊节点一样,你需要运行一个Swarm节点来连接到Swarm网络。

当你将一个以太坊合约部署到区块链时,你将获得ABI的部署地址和JSON接口(一种类似于API的合约接口, https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI )。当你想要某人使用你的合约时,你必须告诉他们部署地址和ABI。未来,ABI将存储在Swarm中,任何人都可以通过查看以太坊地址来查找ABI。

IPFS

IPFS(星际文件系统, https://ipfs.io/ )在概念上与Swarm非常相似。它是一个去中心化的存储系统,虽然和以太坊并没有直接关联,但却可以与以太坊整合。

你可以在这里详细了解Swarm和IPFS之间的区别:

https://github.com/ethersphere/go-ethereum/wiki/IPFS-&-SWARM

Whisper

你可能没怎么听过关于Whisper( https://github.com/ethereum/wiki/wiki/Whisper )的信息。它其实是Ethereum技术生态中的一个很有趣的技术。这是Dapps彼此交互的通信协议。关于它的更详细信息你可以在以太坊的官方文档中进行了解:

https://github.com/ethereum/wiki/wiki/Whisper

下面这张图是我们对上文所介绍内容的一个整理:

希望这篇文章能让你对以太坊生态系统有一个宏观了解,并有能力对其中每一部分进行更深入的研究和理解。

本文来自区块链大本营,创业家系授权发布,略经编辑修改,版权归作者所有,内容仅代表作者独立观点。[ 下载创业家APP,读懂中国最赚钱的7000种生意 ]

-imtoken钱包app" />