创建测试用私有链:

1.首先,将自定义的创始区块放入

目录下,创始区块必须是.json文件,文件名可自定,这里设置为piccgenesis.json,文件内容如下:
{
  "config": {
        "chainId": 10,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {},
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x02000000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
}  
2.初始化一条私有链:

geth --datadir "%cd%\chain" init piccgenesis.json

3.运行并进入该私有链的控制台:

geth --identity "PICCetherum" --rpc --rpccorsdomain "*" --datadir "chain" --port "30303"  --rpcapi "db,eth,net,web3" --networkid 95518 console  

geth -datadir "chain" console

geth --identity "PICCetherum" --rpc --rpccorsdomain "*" --datadir "chain" --port "30303"  --rpcapi "db,eth,net,web3" --networkid 95518 console

私有链1
geth --datadir ./data/00 --networkid 314590 --ipcdisable --port 61910 --rpcport 8200 console
私有链2
先初始化
geth --datadir ./data/01 init ./piccgenesis.json 
端口不能重复(在新节点中添加其他节点,也可在新建节点之后,在节点中添加其他节点)
geth --datadir ./data/01 --networkid 314590 --ipcdisable --port 61911 --rpcport 8101 --bootnodes "enode://1aa0cd7beec412fdaf9be8577df9e6016e5315e7908573cd1b18cf88a909feedfd406b0e95ffff89b93ada317d5e2812ecf351f24408ca770fd73b7d7e883875@[127.0.0.1]:61910" console

同步公共网中的完整区块链
geth --datadir "dir"

控制台基本操作:

1.查询账户:

eth.accounts

2.创建账户,密码为“123456”:

personal.newAccount('123456') 
 
3.账户赋值给变量:

user1 =eth.accounts[0]

4.查询账户余额:

eth.getBalance(user1)  
web3.fromWei(eth.getBalance(eth.accounts[0]),"ether")

5.显示当前区块:

eth.blockNumber

6.开始挖矿(默认第一个账户得到挖矿收益):

miner.start()   或者  miner.start(1) 1是挖矿使用的线程数 默认是8

7.停止挖矿:

miner.stop()

8.解锁账户(获得账户使用权):

personal.unlockAccount(user1, "123456")

9.user1转账3以太币给user2:

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

查看帐户余额的方法如下:

eth.getBalance("0xbe323cc4fde114269a9513a27d3e985f82b9e25d")

eth.getBalance("0x3b0ec02b4193d14abdc9cc5b264b5e3f39624d70")

每次记一长串的地址很麻烦,我们可以通过设置变量来acc0表示帐户10xbe323cc4fde114269a9513a27d3e985f82b9e25d,acc1表示帐户20x3b0ec02b4193d14abdc9cc5b264b5e3f39624d70.

> acc0 = web3.eth.accounts[0]
"0xbe323cc4fde114269a9513a27d3e985f82b9e25d"
> acc1 = web3.eth.accounts[1]
"0x3b0ec02b4193d14abdc9cc5b264b5e3f39624d70"
> web3.eth.getBalance(acc0)
1.245e+21
> web3.eth.getBalance(acc1)
0

## 使用这个方法可以查看格式化的以太币
> web3.fromWei(web3.eth.getBalance(acc0))
1234

联盟链
在私有链中生成多个节点
创世节点
{
 "alloc": {},
 "config": {
   "chainID": 72,
   "homesteadBlock": 0,
   "eip155Block": 0,
   "eip158Block": 0
 },
 "nonce": "0x0000000000000000",
 "difficulty": "0x4000",
 "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
 "coinbase": "0x0000000000000000000000000000000000000000",
 "timestamp": "0x00",
 "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
 "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
 "gasLimit": "0xffffffff"
}

每生成一个新的节点首先都要在新的目录下初始化这个创世节点
step1:geth --datadir data-init1 init genesis.json
step2:geth --datadir data-init1 --port 30306 --networkid 88 --nodiscover --rpcapi "db,eth,net,web3,personal,miner" --rpc console
step3:admin.addPeer()

--rpc 开启rpc服务
--rpcapi "db,eth,net,web3,personal,miner" 制定rpc可用的api
--rpcport 8555 设置rpc端口

注释:
1.开启控制台时候,networkid需要是一致的,端口号不可以重复,不填写的话会有一个默认的端口号
2.nodiscover 此参数确保geth不去寻找peers,主要是为了严格控制联盟链连入的节点
3.交易之后需要链中的其他或本节点去挖矿确认交易,确认后的交易才会生效

命令:
personal.listAccounts  显示当前节点下所有的账户
personal.listWallets   显示当前节点下所有账户的详细信息
admin.peers   显示整个链的节点信息
admin.nodeInfo.enode   显示本节点的enode信息
admin.addPeer  添加其他节点的链接
eth.sendTransaction({from: user1, to: user2, value: web3.toWei(3,"ether")})  交易
net.peerCount  显示节点数
web3.eth.getTransaction(transactionHash [, callback])  通过交易hash,得到交易的具体内容

节点建好之后,进入到节点控制到,添加其他节点到该节点
admin.addPeer("enode://0ae884ee151a1e4fba052ee017c13999e92c20ae1f0539519ccbaa7542c24c0a1cb0c2c50061777ca2cddd5522fb59fa8e6dc03315ab795a96561f2e5c744ef9@127.0.0.1:30303?discport=0")
> INFO [04-28|16:48:38] Submitted transaction                    fullhash=0x2e88ea5cd27171c5d9c76971a85b26928149ec700a488d90676c63348c4ea165 recipient=0x8CcAC9A996281af1c2f1512485Ce852319E16cbE

查看交易细节,值是交易的hash值
eth.getTransactionReceipt("0xee74bcb4461c9712ec9aca96a5a3a4c3c64be1213854d519fc8e5432b554f7a1")

以太坊 geth 命令相关相关推荐

  1. [币严区块链]数字货币交易所之以太坊(ETH)钱包对接(一) 以太坊Geth客户端安装...

    以太坊Geth客户端安装 geth是以太坊的官方客户端,它是一个命令行工具,提供很多命令和选项,可以运行以太坊节点.创建和管理账户.发送交易.挖矿.部署智能合约等. 下面介绍geth的三种安装方法: ...

  2. 以太坊geth区块链私链建立

    想知道更多关于区块链技术知识,请百度[链客区块链技术问答社区] 链客,有问必答!! 以太坊geth区块链私链建立 geth的github https://github.com/ethereum/g.. ...

  3. Mac上以太坊Geth环境安装

    前言 Geth是在以太坊智能合约开发中必备开发工具. 待安装系统环境 系统:macOS 10.13.2 依赖: 1.go语言开发环境 2.brew 如何安装go语言环境这里不做赘述 Mac默认已经装好 ...

  4. 以太坊Geth几种同步模式

    链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 以太坊Geth几种同步模式 同步模式分类 –fast Enable fast syncing through s ...

  5. geth rpc无法开启_三分了解以太坊 Geth 客户端快照加速机制

    免责声明:本文旨在传递更多市场信息,不构成任何投资建议.文章仅代表作者观点,不代表火星财经官方立场. 小编:记得关注哦 来源:以太坊爱好者 原文标题:三分了解以太坊 Geth 客户端快照加速机制 原文 ...

  6. 以太坊geth结构解析和源码分析

    原文地址: http://blog.csdn.net/DDFFR/article/details/74389051 第一部分 看看geth客户端的整体结构  创建私链的时候已经指定所有的信息都放在pr ...

  7. geth 以太坊钱包_以太坊Geth节点RPC API中文文档

    Geth除了支持官方的DApp API开发接口,还支持额外的管理API接口.类似于DApp API,这些管理API也是通过JSON-PRC协议提供,并且遵循同样的规范.Geth内置的控制台支持所有这些 ...

  8. Linux安装以太坊geth客户端

    操作比较简单: 首先可以到网站上看看最新版的版本号:https://geth.ethereum.org/downloads/ wget https://gethstore.blob.core.wind ...

  9. 以太坊Geth 共识算法源码解析

    共识算法 目前以太坊中有两个公式算法的实现,分别为clique和ethash.其中clique是PoA共识的实现,ethash是PoW共识的实现,其相应的代码位于go-ethereum/consens ...

最新文章

  1. 【HDOJ 5384】Danganronpa
  2. FFmpeg示例程序合集-批量编译脚本
  3. 二叉树最大深度(LeetCode 104)
  4. 番茄todo电脑版_TODO清单|高效时间管理 支持多平台多设备同步 解锁VIP
  5. 关于FlyMcu和XCOM软件下载程序的使用(关于STM32F4实现串口通信后续)
  6. 【运筹学】整数规划、分支定界法总结 ( 整数规划 | 分支定界法 | 整数规划问题 | 松弛问题 | 分支定界法 | 分支定界法概念 | 分支定界法步骤 ) ★★
  7. Java StackTraceElement源码总结 StackTraceElement源码注释翻译和解析中英文对照版
  8. 一机玩转docker之六:搭建crucible
  9. 一位浙大教授令人寒心的演讲,说出了真话!
  10. 微信公众号css布局和SVG推文的一些坑
  11. tensorboard画图
  12. 【云图】如何制作东莞酒店地图?
  13. 2019华为网络精英挑战赛参赛体验
  14. skywalking源码分析第十八篇一agent端Trace三部曲一Span栈桢机制
  15. Java-IO-字符流
  16. 小程序获取视频第一帧
  17. VB连接SQL数据库的方法
  18. 转: GSM信令流程
  19. 三菱PLC学习SMOV指令
  20. 8个经典数据分析模型

热门文章

  1. 大数据之路系列之Linux命令(01)
  2. 23个优秀的机器学习训练公开数据集,一文全知道!
  3. Java基础案例 | 第二弹(持续更新...xdm冲啊)
  4. python byte 和 list[int]互转(byte to list,list to byte,byte to int)
  5. 打开计算机无法最小化,软件一打开就最小化到任务栏怎么办_电脑打开程序它就最小化的解决方法...
  6. 关于时区的环境变量TZ
  7. STM32学习心得二十六:DAC数模转换实验
  8. 关于EventBus使用总结
  9. 【置顶】图灵近期出版和即将出版的新书
  10. FX5UPLC的各种以太网通讯,SOCKET 2台PLC简单通讯 走网线