geth 转账_以太坊1 - 私有链部署、挖矿、转账
总结一下以太坊私有链搭建的过程,已经遇到的问题。
我们使用了LINUX,MAC OSX,WINDOWS三种平台,运行go-ethereum。
一、go语言安装
LINUX
命令行输入sudo gedit ~/.bashrc
在打开的文件最后加上两行代码:
export GOPATH=/usr/local/go
export PATH=$GOPATH/bin:$PATH
命令行输入 source ~/.bashr 使配置生效
命令行输入 go version 验证配置是否成功
二、go-ethereum安装
MAC OSX
首先确保已安装 homebrew,没有安装过的可以在命令行下执
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 进行安装
brew tap ethereum/ethereum
brew install ethereum
WINDOWS
访问 https://geth.ethereum.org/downloads/
下载并安装 Geth for Windows
LINUX
git clone https://github.com/ethereum/go-ethereum
sudo apt-get install -y build-essential golang
cd go-ethereum
make geth
下面以linux为例:
在环境变量中添加
export PATH=$PATH:/usr/local/ethernum/go-ethereum/build/bin:$PATH
在命令行下输入 geth -h , 有如下显示表示成功
1521012260(1).png
三、创建节点和创世区块
以linux为例
编辑一个区块链文件 genesis.json
{
"config": {
"chainId": 109,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x10000",
"extraData" : "",
"gasLimit" : "0xffffff",
"nonce" : "0x0000000000000077",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
创建节点
任意创建一个文件夹ethereumNode,在其中创建文件data1和data2
在ethereumNode文件下打开两个终端A,B
终端A中
对创世区块进行初始化,输入:
geth -datadir data1 init genesis.json
启动节点 端口号自行设定
参数说明
networkid 网络标识符
datadir 设置当前区块链网络数据存放的位置
console 启动命令行模式,可以在Geth中执行命令
ipcdisable 禁用IPC-RPC服务器
geth --networkid 123 --datadir data1 --ipcdisable --port 61910 --rpcport 8200 console
终端B中
对创世区块进行初始化,输入:
geth -datadir data1 init genesis.json
启动节点 修改文件夹data2 端口号修改
geth --networkid 123 --datadir data2 --ipcdisable --port 61911 --rpcport 8201 console
进入>命令行即为启动成功
四、连接节点
终端A的命令行中查看节点enode
>admin.nodeInfo.enode
"enode://2700fee9b8575b3a6df5146b192c74cc0a4eb832a8a3b95a80cc2a9aa73c7abb1a4cf2e734bb0228789611f86c95bcfe2654a187f3fa5ea58b49d245cf014e35@[::]:61910"
终端B的命令行中添加邻居
>admin.addPeer("enode://2700fee9b8575b3a6df5146b192c74cc0a4eb832a8a3b95a80cc2a9aa73c7abb1a4cf2e734bb0228789611f86c95bcfe2654a187f3fa5ea58b49d245cf014e35@[::]:61910")
在这里如果是多台机器之间的链接添加,需要将[::]改为对应机器的ip地址
终端A的命令行中查看邻居
admin.peers
1521013925(1).png
可以看到这里的id与终端B节点的的ip是相同的
同样,也可以在终端B中查看邻居,会得到节点B的信息
至此,两个节点就在一个区块链上连接成功
五、挖矿与交易
挖矿前要创建账户
创建新账号
personal.newAccount()
或者 personal.newAccount("123456")
挖矿
开始挖矿 miner.start(1)
停止挖矿 miner.stop()
挖矿一些时间我们可以查看产生了多少区块等信息
eth.blockNumber 查看区块数量
eth.getBlock(1) 通过区块号查看区块
eth.getTransaction("0x0c59f431068937cbe9e230483bc79f59bd7146edc8ff5ec37fea6710adcab825")
挖矿成功也会得到token
查看账户余额
eth.getBalance(eth.accounts[0])
或者 web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")
发起交易前要解锁账户
解锁账号
personal.unlockAccount(eth.accounts[0])
使用账户资金前都需要先解锁账号
查看终端B的账户信息
eth.accounts[0]
"0xe4be4471c30c2552e14d1e26e8384db67b6d7e62"
在终端A中查看余额并转账
查看余额 单位是wei
> eth.getBalance(eth.accounts[0])
1000000000000000000
转账 0.5个ether
eth.sendTransaction({from:eth.accounts[0],to:"0xe4be4471c30c2552e14d1e26e8384db67b6d7e62",value:web3.toWei(0.5,"ether")})
使用 txpool.status 可以看到交易状态
挖矿确认交易
miner.start()
当有新的区块产生时停止挖矿
miner.stop()
查看节点B的余额,转账成功
eth.getBalance(eth.accounts[0])
500000000000000000
查看节点A的余额,数量反而变多,因为使用节点A进行了挖矿
eth.getBalance(eth.accounts[0])
25500000000000000000
转载请注明出处
geth 转账_以太坊1 - 私有链部署、挖矿、转账相关推荐
- Windows搭建以太坊的私有链环境
Windows搭建以太坊的私有链环境 1.下载Geth.exe 运行文件,并安装 https://github.com/ethereum/go-ethereum/releases/ 下载后,只有一个G ...
- 以太坊《私有链和联盟链的机会与挑战》报告
以太坊平台评估 私有链和联盟链的机会与挑战 作者:Vitalik Buterin 翻译:万向区块链实验室/ChinaLedger 联盟 排版/校对:区块链铅笔(ChainB.com) (注:本文属 ...
- Ethereum Bootstrap 以太坊本地私有链开发环境搭建
通过本文所述方法和项目中的脚本,我们可以快速的搭建好自己的私链进行开发测试. 仓库中包含的工具有: 一个测试账户导入脚本,在首次部署时将五个测试账户私钥导入以太坊节点. 一个genesis.json配 ...
- 【以太坊】私有链和测试网的区别
一.概述 我们想要学习一门新技术,那么一般都是先网上查查相关概念,然后下载下来demo进行测试,本地跑通之后就可以尝试在项目中使用.那么学习以太坊该如何学习呢? 博主也是一位初学者,这里和大家一起学习 ...
- 如何在geth中创建genesis.json_基于以太坊的私有链搭建,mist+geth实现
以前让学生做毕业设计,今天有人问起来,就写一个小教程,说一说基于eth的私有链如何搭建.非常简单. 一.geth,mist 客户端下载 1.这里我给大家介绍下,以太坊客户端,以太坊客户端主要分成两类. ...
- (二)以太坊——在私有链进行转账操作
一.以太坊钱包客户端界面展示 二.创建账户流程 1. 输入密码,之后在重复一次,点击ok 2.提示让备份私钥,点击确定 3.新账户创建成功 三.转账操作 1. 复制新账户的地址,之后点击send按钮 ...
- 以太坊搭建私有链(非常详细!!!)(一)
我的系统:CentOS7 64位 环境需要:Go 1.9以上版本 geth工具 WARN [11-04|09:34:47.411] System clock seems off by -10h15m4 ...
- 如何搭建socks5和ss节点_以太坊区块链搭建与使用(三)-联盟链
首先对以下概念说明下: 一.以太坊大家都知道比特币使用的技术是区块链技术,比特币也是区块链技术的代表. 即比特币=区块链1.0随着区块链技术的发展以太坊也诞生了,也就是我们说的 区块链2.0.为什么说 ...
- 以太坊区块链也拥堵_以太坊开发人员怀疑EOS刻意拥堵网络,ETH和EOS大战即将开启?...
原标题:以太坊开发人员怀疑EOS刻意拥堵网络,ETH和EOS大战即将开启? DappVision|7月16日 星期一 [行情] BTC 现价 ¥¥42,594.44 涨跌幅 1.57% ETH 现价 ...
最新文章
- 使用纯C++实现SQL Server2005 数据库读写操作详细步骤
- Unity 引擎UGUI之自定义树形菜单(TreeView)
- SSH生成rsa密钥对
- 4月22日(牛马不对嘴)
- c语言让数组地址对齐,C语言实现比特位数组在目标空间左右居中对齐三种方式...
- 什么是Python中的map,reduce和filter?
- 华为“方舟编译器”到底是啥?一文看懂TA如何让手机性能再突破
- python无缘无故不执行/跳过某个函数,无报错无警告
- 初识exe程序反汇编小感
- python方法测试怀孕_在Python中测试私有方法(例外)
- 如何从QC中导出测试用例及其测试步骤
- 20191109每日一句
- python什么字体好看_玩转python字体
- 网站视频倍速播放和进度自定义调整
- Apache DolphinScheduler 3.1.0 版本发布,覆盖机器学习工作流全流程!
- python斐波拉契数列(Fibonacci)
- C语言__bitwise宏定义
- 计算机应用素描色彩,美术统考素描、色彩、速写考场技巧全攻略
- 宝贝怎么查询历史价格?有何意义?
- maters鸿蒙系统,【华为MateRS保时捷版评测】系统:多元素化集合EMUI 8.1体验很棒-中关村在线...
热门文章
- pythonrequest得替代_Python爬虫通过替换http request header来欺骗浏览器实现登录功能...
- php面向接口编程思想,面向接口编程 - Laravel 实践
- HBase数据迁移到Kafka实战
- Can you answer these queries V SPOJ - GSS5 (分类讨论+线段树维护区间最大子段和)
- Keepalived+nginx实现高可用负载均衡
- Asp.net操作数据库方法
- MapReduce实例(数据去重)
- avcodec_decode_video2()解码视频后丢帧的问题解决
- dynamic和匿名对象
- c# 访问修饰符的访问权限