相比比特币作为区块链技术的第一代应用,以太坊的应用更专注于只能合约技术的研发。个人理解电子货币或者叫做虚拟货币无非是一种特殊的电子货币。
以太坊的代币(tocken)是开发者在区块链生态系统当中开发的另外一种智能合约。在区块链的生态系统中代币可以表现的形态有很多比如:商品,忠诚度,游戏虚拟物品,积分。这种代币与以太坊的钱包比没有太直接的关系。但是就像之前提到的以太坊的钱包其实也就是一种被区块链上的用户广泛共识的一种智能合约。
所以代币系统的开发本质上就是电子合约的开发与是不是ICO以及能否能与以太币或者比特币进行互换并没有太大的关系。
以太坊只能合约开发的技术很多,搭建方式也多种多样。下面先将相关技术做一下说明:
1、以太坊客户端 geth
Mist,Parity,MyEtherWallet,MetaMask
区块链的智能合约,以理解为,双方在区块链资产上产生动作时,触发执行的一段代码(合同),我们称它为智能合约。智能合约本质上就是一段程序,智能合约使用solidity语言开发。
truffle是本地的用来编译、部署智能合约的工具,而testrpc不同于geth,geth是真正的以太坊环境,testrpc是在本地使用内存模拟的一个以太坊环境,对于开发调试来说,更为方便快捷,当你的合约在testrpc中测试通过后,再可以部署到geth中去。所以可以说truffle和testrpc就是两大杀器。
5、remix
remix是一款智能合约的网页版ide,使用该工具可以不用在本地搭建智能合约的编译系统。在进行简单合约开发时可以考虑使用,在进行复杂应用系统开发使建议使用truffle与testrpc对只能合约进行严格测试。
可以选在在linux,mac或者windows上搭建开发环境。本文采用ubuntu16.0.04(linux)作为开发环境。
注意:在ubuntu安装完成之后需要使用 apt update 与 apt upgrade进行软件更新,在更新时可以将更新数据源设置为宫内的数据源如 阿里云,但在进行软件安装时,建议使用默认(官方的数据源进行软件安装)
sudo apt-get install git
sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
注意:在nodejs安装完之后需要检测一下nodepath环境变量是否正确设置
如果没有正确设置的话需使用设置变量并export为环境变量
使用nodejs的npm(包管理安装),在npm包中solidity由两部分构成一个是solc是solidity的核心组件,solc-cli是solidity的js交互工具。
sudo npm install -g solc
sudo npm install -g solc solc-cli --save-dev
输入solcjs --version 检查是否安装成功,如下图所示:
安装solc二进制包,以方便在geth客户端部署
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc
sudo npm install -g ethereumjs-testrpc
sudo npm install -g truffle
输入truffle version 检查是否安装成功,如下图所示:
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum