文档章节

mac 配置以太坊本地开发环境

黑神领主
 黑神领主
发布于 2016/11/05 10:51
字数 1074
阅读 3733
收藏 4
点赞 1
评论 8

使用官方的go 版本,的直接安装,也可以通过源码(git clone https://github.com/ethereum/go-ethereum)构建;

brew tap ethereum/ethereum
brew install ethereum

安装好以后就可以启动了,因为是在本地开发所以启动的时候要加一些自定义启动参数,来配置一下。

 

查看帮助命令

geth -h 

 

 

以太坊客户端启动:

geth --datadir "~/ethdev" --dev  

指定一个数据存储目前避免和公有链数据冲突,—dev指定为开发模式这样就不用同步公有链上的区块,公有链的数据量几十个G太大了,共识速度 也比较慢

 

 

以上命令启动成功之后,需要另打一个终端进入登录

geth  --dev console 2>> file_to_log_output

 

进入开发模式的控制台,并把日志输出到 一个文本文件


Last login: Sat Nov  5 09:17:42 on ttys000

localhost:~ pro1$ geth --dev console 2>> file_to_log_output

Welcome to the Geth JavaScript console!



instance: Geth/v1.4.18-stable-c72f5459/darwin/go1.7.3

coinbase: 0x73e8655a84a37685d98891b7a9333a7423e12cb3

at block: 0 (Thu, 01 Jan 1970 08:00:00 CST)

 datadir: /var/folders/8z/kp024pxd4j9194b34z_v06_c0000gn/T/ethereum_dev_mode

 modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 shh:1.0 txpool:1.0 web3:1.0



> 

 

 

以上是登录成功的画面,登录成功以后可以查看帐户信息,当前有哪些帐户

> eth.accounts

["0x73e8655a84a37685d98891b7a9333a7423e12cb3", "0xa9d6dfff13c1050f19a8ffc2811c68842797d01c"]

> 

我本地创建已经创建了两个帐户

 

再创建一个:

> personal.newAccount('11111111')

"0xe30cecc37776895389b94033ac65eb3b98294659"

> 

以上通过personal.newAccount 传入密码参数即可创建一个新帐户并返回新的帐户地址;

 新打开一个终端可以查看本地创建了多少个帐户:

localhost:~ pro1$ geth account list

Account #0: {73e8655a84a37685d98891b7a9333a7423e12cb3} /Users/wangtao/Library/Ethereum/keystore/UTC--2016-11-04T06-48-39.698325708Z--73e8655a84a37685d98891b7a9333a7423e12cb3

Account #1: {a9d6dfff13c1050f19a8ffc2811c68842797d01c} /Users/wangtao/Library/Ethereum/keystore/UTC--2016-11-04T06-49-00.457262369Z--a9d6dfff13c1050f19a8ffc2811c68842797d01c

Account #2: {e30cecc37776895389b94033ac65eb3b98294659} /Users/wangtao/Library/Ethereum/keystore/UTC--2016-11-05T01-35-55.852748174Z--e30cecc37776895389b94033ac65eb3b98294659

localhost:~ pro1 $ 

 

我本地已经有三个了.

然后再切回已经登录成功的控制台客户端

在以太坊客户端 可以把某个帐户赋值给一个变量

> user1=eth.accounts[0]

"0x73e8655a84a37685d98891b7a9333a7423e12cb3"

> 

 

然后可以查看当前帐户的余额:

> eth.getBalance(user1)

0

> eth.blockNumber

0

> 

可以查看当前user1的余额为0,默认也是0个区块,因为还没有启动矿挖矿

现在我们启动挖矿,挖矿前我们先打开实时监控日志,就是刚才控制台输出的日志文本文件:

localhost:~ pro1$ geth --dev console 2>> file_to_log_output

 

这个文件我指定在了我的根目录下:  打开 

tail -f file_to_log_out

启动挖矿

> miner.start()

true

> 

 

在上面打开发文件监控界面就会看到 挖矿建块儿情况:

再 切回以太坊挖制台,查看用户余额:

> eth.getBalance(user1)

1.25890625e+21

> eth.getBalance(user2)

0

> 

已经看到 帐户1,已经有余额了,帐户2 还是0,因为挖矿的奖励进入第一个帐户中。

现在停止挖矿:

> miner.stop()

true

> 

已经停止成功,另外日志界面也停止输出

 

再 查看一下当前的区块高度:

> eth.blockNumber

288

> 

 

现在帐户2中没有余额,我们从帐户1转发几个以太币到 帐户2中:

> eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")})

account is locked

    at web3.js:3119:20

    at web3.js:6023:15

    at web3.js:4995:36

    at <anonymous>:1:1



> 

由于默认帐户是锁定的,首要解锁帐户,然后再 转帐,先查看 下下当前帐户,再解锁:

> eth.accounts

["0x73e8655a84a37685d98891b7a9333a7423e12cb3", "0xa9d6dfff13c1050f19a8ffc2811c68842797d01c", "0xe30cecc37776895389b94033ac65eb3b98294659"]

> personal.unlockAccount('0x73e8655a84a37685d98891b7a9333a7423e12cb3','11111111')

true

> 

 

上面已经提示解锁成功,然后继教转帐:

> eth.sendTransaction({from: user1,to: user2,value: web3.toWei(3,"ether")})

"0x8f164a1296b618bdd64fcc007f6d39ce022b57e257beefeb76288cdef220ad80"

> eth.getBalance(user2)

0

> 

上面已经提示转帐成功了,但是user2帐户余额依然是0,是因为没有矿工来挖矿处理,我们启动一个矿工,并在另一个终端查看日志

 

日志已经显示开始挖矿并发交易进行了处理在,区块293中,

> miner.start()

true

> miner.stop()

true

> eth.getBalance(user2)

3000000000000000000

> 

 

我们再 次查看余额的时候user2已经 有三个以太币了,这样一个转帐的交易就完成 了;

 

已经是在本地开发环境的方式 ,我看网上还有自己初始化环境的。初始化json文件,来改变监听端口的方式来建立自己的区块链系统,这种方式只是初始化方式不同,开发方式类似。有兴趣可以搜索一下看看

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
黑神领主
粉丝 13
博文 11
码字总数 4154
作品 0
海淀
技术主管
加载中

评论(8)

d
dasda1

引用来自“dasda1”的评论

到这了
> admin.setSolc("/usr/local/bin/solc")
Error: exit status 1
at web3.js:3119:20
at web3.js:6023:15
at web3.js:4995:36
at <anonymous>:1:1

引用来自“黑神领主”的评论

你用的是mac么,我感觉我并没有手动调用setSolc,你确定solc安装对了?
额 真不确定 能说下你是怎么装的么
黑神领主
黑神领主

引用来自“dasda1”的评论

到这了
> admin.setSolc("/usr/local/bin/solc")
Error: exit status 1
at web3.js:3119:20
at web3.js:6023:15
at web3.js:4995:36
at <anonymous>:1:1
你用的是mac么,我感觉我并没有手动调用setSolc,你确定solc安装对了?
d
dasda1
到这了
> admin.setSolc("/usr/local/bin/solc")
Error: exit status 1
at web3.js:3119:20
at web3.js:6023:15
at web3.js:4995:36
at <anonymous>:1:1
d
dasda1

引用来自“dasda1”的评论

请问你装了mac版的solc么 一直装不上 不知道什么原因

引用来自“wtsoftware”的评论

安装 了,这得看具体安装不上的原因吧。用管理员权限sudo安装才行,要不确实会失败。
你是用brew装的么 我qq 190335088 加我交流下 头都大了
黑神领主
黑神领主

引用来自“dasda1”的评论

请问你装了mac版的solc么 一直装不上 不知道什么原因
安装 了,这得看具体安装不上的原因吧。用管理员权限sudo安装才行,要不确实会失败。
d
dasda1
请问你装了mac版的solc么 一直装不上 不知道什么原因
黑神领主
黑神领主

引用来自“dasda1”的评论

你好 请问我安装您的教程走了一遍 在mac电脑上成功的挖矿和转账了 但是为什么在Ethereum Wallet上账户没有同步 还有我在windows系统中看到要配置创世块文件 为什么也没用到~
这个我一直是在控制台模式下,用的开发模式。没用钱包,你最好先在命令确认一下你创建的帐户下是否有余额。如果你想用那个钱包app的话最好是自己定义一个带初始化创建区块儿的json文件进行初始化。我在网上看别人写的方式,你可以参照下,那个用了钱包:http://blog.csdn.net/sportshark/article/details/51855007
d
dasda1
你好 请问我安装您的教程走了一遍 在mac电脑上成功的挖矿和转账了 但是为什么在Ethereum Wallet上账户没有同步 还有我在windows系统中看到要配置创世块文件 为什么也没用到~
区块链学堂——开发第一个智能合同

以太坊 在前一篇我们了解了学习以太坊的重要性,以及开发以太坊必须掌握的基础知识,这一篇我们通过开发一个简单的智能合同,循序渐进地掌握其开发流程。 学习目标: 1、以太坊开发环境搭建 ...

叶先生的鱼 ⋅ 01/04 ⋅ 0

比特币的交易价格节节攀升,发展势头却比以太坊弱?

虽然比特币的交易价格最近屡创历史新高,但值得注意的是比特币在加密货币市场中的份额正在快速被以太坊快速蚕食。以太坊发展速度超越比特币的原因主要有三点: 一是技术上以太坊的网络支持更...

局长 ⋅ 2017/06/12 ⋅ 42

区块链技术(一):Truffle开发入门

以太坊是区块链开发领域最好的编程平台,而truffle是以太坊(Ethereum)最受欢迎的一个开发框架,这是我们第一篇区块链技术文章介绍truffle的原因,实战是最重要的事情,这篇文章不讲原理,只...

雪花又一年 ⋅ 04/16 ⋅ 0

智能合约bug是以太坊的缺陷?不用SafeMath就会溢出?别闹!

关于智能合约的溢出攻击,我遇到了多次这样的诘问:没有用SafeMath,难道你不怕溢出攻击吗?每次面对这样的问题,我的内心是这样的: 先来看一下以太坊官方文档是如何介绍TOKEN的智能合约: 地...

李万胜 ⋅ 05/16 ⋅ 0

以太坊重大升级将来临:权益证明系统Casper测试网络即将启动

雷锋网AI金融评论按:本文译自Trustnodes。雷锋网(公众号:雷锋网)AI金融评论此前报道,从墨西哥的DevCon3开发者大会公布以太坊发展规划,到在社交媒体上屡屡发声呼吁关注以太坊底层架构建设...

吴阳煜 ⋅ 2017/11/29 ⋅ 0

以太坊(Ethereum)开发框架 Truffle 入门(一):安装

命令 要求 推荐:NodeJS 5.0+ 系统:Windows, Linux 或 Mac OS X Truffle 还要求你有一个运行以太坊的客户端来支持标准的 JSON RPC API(几乎所有的)调用。有许多可供选择,还有一些比开发环...

z35305515 ⋅ 2016/05/23 ⋅ 0

区块链-以太坊开发环境搭建介绍

在开始学习每一种技术之前,最初的一项任务就是搭建各种开发环境,而区块链的开发环境是比较麻烦的。这里我们来完整的实现一下。以下操作均在mac下完成。 (1)安装python2.7,mac在终端中直...

CHENYUFENG1991 ⋅ 2016/12/04 ⋅ 0

比特大陆正式推出以太坊矿机,定价800美元,挖矿热潮还能持续多久?

币值下跌、挖矿成本增加、PoS算法……当前的矿机行业面临多重挑战。 4月4日,比特大陆在Twitter上宣布正式发布适用于以太坊挖矿的ASIC矿机Antminer E3。据介绍,这款定价800美元的矿机将打破...

行者武松 ⋅ 03/08 ⋅ 0

以太坊开发--使用geth搭建私有链

我在上一篇博客中《以太坊开发--geth的使用入门》中使用的是geth的开发环境,准确来说和私链还是不同的。今天我们就学习来搭建一个以太坊私链。我们知道区块链有三种:公有链、联盟链、私有链...

chenyufeng1991 ⋅ 2016/12/06 ⋅ 0

基于区块链的 APP 数量已经超 1000 个,区块链3.0将走向何方?

  现在在科技初创公司间流行着这么一句话:“下一个Uber是基于区块链的”。   事实上,目前市场上DApp (decentralized apps,基于区块链技术的App)的数量已经超过了1000个,并涉及到了3...

DeepTech深科技 ⋅ 04/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

Nginx + uwsgi @ubuntu

uwsgi 安装 sudo apt-get install python3-pip # 注意 ubuntu python3默认没有安装pippython3 -m pip install uwsgi 代码(test.py) def application(env, start_response): start_res......

袁祾 ⋅ 昨天 ⋅ 0

版本控制工具

CSV , SVN , GIT ,VSS

颖伙虫 ⋅ 昨天 ⋅ 0

【2018.06.19学习笔记】【linux高级知识 13.1-13.3】

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

lgsxp ⋅ 昨天 ⋅ 0

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部