【51CTO.com快译】尽管大多数人只是通过比特币之类的加密货币来了解区块链的,但是它的作用远不仅仅是给加密过程进行“赋能”。最近,许多公司已经提出了此类技术相关的创新使用方法,包括:在分布式投票系统中的应用,以及管理全球航运系统。
随着诸如IBM和Samsung之类的大公司的入局,各路开发人员对区块链的需求与研究也不断加深。事实上,来自Upwork(全球知名人力服务平台)的报告显示:区块链恰恰是在该平台上发展最快的技能需求之一,它超过了TensorFlow和机器学习等排名前20的技能。这也就意味着会有更多的开发人员去从事区块链相关的工作。
区块链不仅可以用来处理各种交易、或存储各类重要数据,它们还能够作为应用程序去执行智能合约。作为一种数字合约,智能合约能够帮助用户以一种自由透明的方式,在不需要中间人的情况下,去交换货币、财产、或任何有价值的东西。
如果您有兴趣开始、或正在参与某个区块链项目的话,那么我们在此为各位区块链开发人员准备了当前***的、也最常用到的十种工具。
#1 Remix IDE
以太坊提供了许多可用于编写和部署智能合约的工具。Remix是其中一种最为简单的、基于浏览器的IDE工具。开发人员在使用被称为Solidity的编程语言来编写、调试、测试和部署智能合约时,Remix会被经常使用到。
由JavaScript所编写的Remix是开源的,因此所有人都可以免费地使用它。您可以通过链接:https://remix.readthedocs.io/en/stable/,查看相关文档、并获取更多信息。
#2 各种文本编辑器
除上面的工具之外,诸如Microsoft开发的Visual Studio Code、Atom.io、Sublime Text等文本编辑器,都可以被用来编写和编辑Solidity文件。
#3 Solidity
读到这里,您一定还在疑惑什么是Solidity。Solidity是一种面向合约(contract-oriented)的编程语言,可被用于编写智能合约,以便运行在各种区块链的平台(如以太坊)之上。
Solidity与众所周知的JavaScript有着相似的语法,同时它对以太坊虚拟机(Ethereum Virtual Machine)进行增强。您可以参阅文档链接https://solidity.readthedocs.io/en/v0.4.24/,以便了解更多。
#4 SoLC - Solidity Compiler
像许多其他编程语言一样,Solidity也有一个编译器。它能够将由Solidity所编写的智能合约,转换为可以被以太坊虚拟环境(Ethereum Virtual Environment)所理解的格式。
Solidity的编译器有两种:由C++编写的Solc、和使用Emscripten从C++到Javascript进行交叉编译的Solc-js。
虽然Solc和Solc-js都能够作为Solidity编译器独立运行,但是值得注意的是solc-js比solc稍微慢一点。不过,它能够使得诸如Remix和Pragma之类的平台顺利运行起来。
您可以使用以下命令在Ubuntu上安装Solc:
- sudo add-apt-repository ppa:ethereum/ethereum
- sudo apt-get update sudo apt-get
- install solc
您可以通过链接:https://github.com/ethereum/solidity/releases,来查看solc的Windows二进制文件。
#5 Solium
作为区块链开发人员,安全性必然是工作中的一个重要环节。为了让Solidity代码避免出现安全漏洞,您需要选用Solium。
Solium是一种工具,旨在协助格式化您的Solidity代码、以及修复代码中的安全问题。因此,它不但能够确保您的代码格式正确性,还能够方便您检查出各种安全漏洞。您可以通过链接:https://github.com/duaraghav8/Ethlint,来查看它的GitHub页面,并获取更多信息。
您可以使用npm来安装并使用Solium:
- npm install -g solium
- solium -V
#6 Parity
在完成编译之后,您需要设置一个开发环境,用来在以太坊区块链上部署各种合约。因此,为了与区块链进行交互,您需要有一个以太坊的客户端。而这正是Parity的“用武之地”。
Parity是与区块链交互的最快速、且最安全的方式之一。它由以太坊的前***技术官Gavin Wood所创立,并采用Rust编程语言编写而成。
Parity能够被直接集成到Web浏览器之中。它允许用户访问以太网和基本的令牌钱包(token wallet)等功能。它还能充当以太坊的GUI浏览器,让用户访问到包括dApp(分散式应用)在内的所有以太坊网络功能。
#7 Geth
除了Parity,您也可以去尝试Geth(一种类似于Parity的以太坊客户端),而且它在新手人群中广受欢迎。Geth也被称为Go Ethereum,它是由Go编程语言所编写而成。另外,Geth适用于包括Windows和Linux在内的许多平台。
在Linux上,您可以通过PPA进行安装,具体步骤如下:
- sudo apt-get install software-properties-common
- sudo add-apt-repository -y ppa:ethereum/ethereum
- sudo apt-get update
- sudo apt-get install ethereum
您也可以通过链接:https://geth.ethereum.org/downloads/,下载适用于Windows和Mac OS平台的版本。
#8 MetaMask
如果您想通过浏览器轻松地访问到区块链的话,MetaMask对您来说一定是不错的选择。它是Chrome的一款扩展插件,可以显著改善其他人与区块链上的分散式应用进行交互的方式。
MetaMask是通过持有多个节点来实现的,这就意味着您不需要在自己的设备上拥有单个节点。那么您需要做的只是先注册一个账号,之后您就会被自动连接到它的某个节点上了。
MetaMask允许您在浏览器上运行一些分散式的应用,并通过安全钱包来确保它们之间交易的安全性。
#9 Truffle
Truffle是一种构建智能合约的工具。它是一款开发套件,旨在简化区块链的开发,并确保开发人员能够轻松且迅速地构建出分散式应用。
另外,这款功能强大的框架能够让开发人员用到Mocha和Chai等工具,执行自动化测试,并实现可编写脚本的部署与迁移。您可以通过链接:https://github.com/trufflesuite/truffle,来查看它的GitHub页面,并获取更多信息。
您可以在Node Package Manager中通过如下命令实现对Truffle的安装:
- npm install -g truffle
#10 DAppBoard
DAppBoard是以太坊智能合约的分析平台。基于Web分析服务的DAppBoard,旨在监控和分析以太坊区块链上各种智能合约的活动。
通过使用DAppBoard,您可以查看到世界各处的以太网络是如何使用智能合约和分散式应用的。同时,您也可以通过它来获取有关分散式应用的用户数量、和用于处理某个合约所涉及的以太网数量等信息。
结论
除了上述提到的这些,我们还有许多可以选择的区块链工具。至于具体如何进行选择,则完全取决于您手头的项目。另外,值得关注的其他工具还有GanacheCLI、EtherScripter和Embark。总之,希望本文能够对您的区块链开发过程有所帮助。
原文标题:10 Tools for Blockchain Development ,作者:Anton Shaleynikov
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】