主要有以下几种开发语言1:
Solidity:这是一种类似于js的语言,并且这个语言被称为开发智能合约的旗舰语言。
Serpent:这是一种类似于Python的语言。
LLL:这是一种类似于汇编的低级语言。
Mutan:这是一种类似于C的语言,目前已被放弃2。
开发环境
主要有以下几种开发环境3:
Mix:Mix项目现在已经被以太坊官方停止支持了,开发团队现在进行Remix项目4。
Remix
Solidity realtime compiler and runtime:在线编译和运行环境。
Ethereum Studio:这是一个在线开发的工具,不需要在本地下载安装。在这个网站注册完账号并登录后,点击页面左上角的Start Now按钮后就可以进入开发环境了。
Visual Studio 2015:对于初学者来说,建议选择VS2015社区版,这个版本是免费的,而且功能齐全。使用VS2015开发智能合约的环境搭建可以参考这篇文章:各位童鞋,windows 下 Visual Studio 2015 里可以开发基于以太坊的 Solidity 项目了。但是,就我个人而言,我不建议大家选择Windows作为智能合约的开发平台。以太坊开发团队主要采用Ubuntu系统作为开发平台,而他们也建议开发者应该采用Ubuntu 64位系统开发。我使用Windows系统搭建以太坊开发环境的时候,遇到了很多奇葩无解的问题。Windows的命令行与Ubuntu相比就是一坨翔,使用Ubuntu系统应该是初学者最佳的方案。
开发框架
主要有以下几种开发框架5:
Truffle:
Github源码:ConsenSys/truffle
官方网站:Truffle
开发文档:Truffle
Dapple:
Github源码:nexusdev/dapple
官方文档:Dapple Documentation
Meteor:这个是以太坊官方编写的框架。
Github源码:Dapp using Meteor
官方文档:Meteor Guide
开发相关资源
Ethereum Homestead Documentation:这个是由以太坊志愿者写的非官方文档,里面粗略地介绍了很多以太坊的相关概念。如果是以太坊菜鸟,建议读一下。
Dapps for Beginners:这个网站的内容较老,而且已经很久没有更新。但对于那些不知道合约该如何使用的人来说,里面的经典例子可以帮助你快速了解合约的一些炫酷功能。
JavaScript API:当Solidity合约编译好并且发送到网络上之后,你可以使用以太坊的web3.js JavaScript API来调用它,构建能与之交互的web应用。
以太坊智能合约编程之菜鸟教程:一篇较老但是对小白入门有一定启发意义的文章。需要注意的是文章里使用的Truffle是较老版本的。现在新版本的Truffle使用的命令与前一版本相比有部分不同。
Truffle开发文档:Truffle是一个开源的智能合约开发框架。
Testrpc:Testrpc是以太坊开发过程中非常好用的一个测试网络。