Skip to content

Latest commit

 

History

History
99 lines (57 loc) · 2.62 KB

1_环境配置.md

File metadata and controls

99 lines (57 loc) · 2.62 KB

引言

Ethereum(以太坊)是一个使开发人员能够建立和发布下一代分布式应用的公共区块链平台。 通过其专用加密货币以太币(Ether)提供去中心化的虚拟机(称为 “以太虚拟机” Ethereum Virtual Machine)来处理点对点合约。

本文从零开始搭建了以太坊的开发环境。

环境搭建

本次的以太坊环境是用 go 语言开发,虚拟机内部运行的是javascript. 可能有人不太理解,举个例子,java 虚拟机本身就是用 c 开发的(windows 平台上),但是运行在虚拟机之上运行的是 java 语言。

环境准备

安装 nodejs

下载地址

安装完 nodejs 后,npm 也可以使用了,建议使用 nodejs 稳定版本,以免发生其他问题

安装完成后使用

node -v

测试是否安装成功

安装可视化版本 Ganache

下载地址

建议:使用可视化版本更方便调试

或者安装命令行 ganache-cli

安装开发环境的区块链节点(方便与 web3.js 进行交互)

npm install -g ganache-cli

注意:ethereumjs-testrpc 已经被废弃,请不要使用

第一个测试例子

新建文件夹

mkdir helloWorld

进入

cd helloWorld

初始化

npm init

使用默认值就好(一直回车),当然也而已修改成自己需要的配置

安装 web3.js

npm install web3 --save

注意:有几率这个版本不稳定,如果后续跑不通请使用如下版本

npm install web3@0.20.0 --save

新建一个 js 文件app.js

var Web3 = require('web3');

if (typeof web3 !== 'undefined') {
    web3 = new Web3(web3.currentProvider); //如果已经设置了 Provider
} else {
    web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}

console.log("*****当前的Provider Star*****");
console.log(web3.currentProvider); //如果已经设置了Provider,则返回当前的Provider。
console.log("*****End\n");
// 这个方法可以用来检查在使用mist浏览器等情况下已经设置过Provider,避免重复设置的情况。
var coinbase = web3.eth.coinbase; //用于接收挖矿奖励的地址
console.log("节点的挖矿奖励地址:", coinbase);

启动 Ganache

端口地址是8545

运行 js 文件

node app.js

结果应该如下

*****当前的Provider Star*****
HttpProvider {
host: 'http://localhost:7545',
timeout: 0,
user: undefined,
password: undefined }
*****End

节点的挖矿奖励地址: 0x627306090abab3a6e1400e9345bc60c78a8bef57