最近因为国家对区块链又重视起来了,相信今年年底到明年年初会是一个区块链的新的爆发点,也是碰巧学习了一下以太坊构建区块链应用,以前都是简单的了解,并没有实际动手演练。今天趁机会也学习一下区块链,同时也学习了几个新名词。比如账户,私钥,智能合约(smart contract),编译合约(compile),迁移合约(migrate),测试合约(test)。
truffle是一个nodejs的库,他可以构建node版本的以太坊应用,所以我们的机器需要安装node,而且版本需要8以上。truffle,可以直接通过npm install -g truffle的方式来安装,很方便。
安装了node,会默认带上npm包管理工具,我们为了让国内下载包更快,可以更换国内阿里的镜像地址。具体操作如下所示:
npm config set registry=https://registry.npm.taobao.org/
因为我已经提前安装并且设置好了淘宝的镜像,所以这系统里显示如下:
另外,设置了淘宝npm镜像地址,会相应的在本机用户目录下生成一个.npmrc的文件,里面的内容就是registry=https://registry.npm.taobao.org/,所以我们可以手动的设置这个文件,会达到一样的效果。
下面就开始安装truffle了,他的安装很简单,但是为了在所有的命令行下使用,最好使用全局的方式安装。
npm install -g truffle
安装了truffle,我们可以验证一下。
理论上,安装了truffle就可以了,整个实验也就够了,但是有的也推荐安装geth,ganache-cli(老版本叫ethereumjs-testrpc),我觉着没有必要,因为truffle develop命令就可以开启以太坊客户端。我们不妨也安装一下ganache-cli,或者ethereumjs-testrpc,如下所示,当我们安装ethereumjs-testrpc的时候,系统提示ethereumjs-testrpc已经被重命名为ganache-cli了,所以安装ganache-cli就可以了。
npm install -g ganache-cli
当我们安装完了ganache-cli,我们可以直接在命令行下输入命令ganache-cli,就可以开启以太坊的客户端。
启动了客户端,开启了8545端口,这种方式开启以太坊客户端,没有进入一个交互模式,而我们通过truffle develop命令启动,同样会开启类似的客户端,并且打印信息几乎一样,不同的是账户和秘钥每次都不同。但是开启的端口是一样的,而且truffle