18 geth控制台使用

一、geth控制台操作(一)
1、启动geth
在这里插入图片描述
2、Geth控制台命令
Geth Console是一个交互式的 JavaScript 执行环境,里面内置了一些用来操作以太坊的 JavaScript 对象,我们可以直接调用这些对象来获取区块链上的相关信息。这些对象主要包括:
eth:主要包含对区块链进行访问和交互相关的方法;
net:主要包含查看p2p网络状态的方法;
admin:主要包含与管理节点相关的方法;
miner:主要包含挖矿相关的一些方法;
personal:包含账户管理的方法;
txpool:包含查看交易内存池的方法;
web3:包含以上所有对象,还包含一些通用方法。
常用命令有:
personal.newAccount():创建账户;
personal.unlockAccount():解锁账户;
eth.accounts:列出系统中的账户;
eth.getBalance():查看账户余额,返回值的单位是 Wei;
eth.blockNumber:列出当前区块高度;
eth.getTransaction():获取交易信息;
eth.getBlock():获取区块信息;
miner.start():开始挖矿;
miner.stop():停止挖矿;
web3.fromWei():Wei 换算成以太币;
web3.toWei():以太币换算成 Wei;
txpool.status:交易池中的状态;

3、简单命令
(1)查看账户状态
在这里插入图片描述
(2)查看账户信息
在这里插入图片描述将单位wei转化成ether

web3.fromWei(eth.getBalance("地址"),'ether')

(3)查看区块高度
在这里插入图片描述
(4)创建账户
在这里插入图片描述
(5)查看账户信息
在这里插入图片描述
(6)转账

//解锁
personal.unlockAccount(eth.accounts[0])
//发送交易
eth.sendTransaction({from:eth.accounts[0], to:"地址", value:100000})

(7)启动挖矿
在这里插入图片描述
二、geth控制台操作(二)
1、如果出现挖不出矿的现象,可以直接使用下列口令
注意:需要设置环境变量
https://blog.csdn.net/qianshanxue11/article/details/78609130?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
在这里插入图片描述
在这里插入图片描述
2、简单指令

//查看账户情况
> eth.accounts
["0x47fb1c31b3d1a2814b1f37ecb0655ba51fc34c93", "0xd3c7913bc772ed60f6feb89de9f0ece4b12d75b3"]
//查看两个账户的余额
> eth.getBalance(eth.accounts[0])
1.15792089237316195423570985008687907853269984665640564039457584007913129639927e+77
> eth.getBalance(eth.accounts[1])
0
//转账
> eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1],value:web3.toWei(40, 'ether')})
"0xcd658960aa4515daa96be7cbf89552224eaae062766303f382ead3b80683026b"
//重新查看两个账户余额

在这里插入图片描述
查看交易信息
在这里插入图片描述

三、JSON-RPC

  • 以太坊客户端提供了 API 和一组远程调用(RPC)命令,这些命令被编码为 JSON。这被称为 JSON-RPC API。本质上,JSON-RPC API 就是一个接口,允许我们编写的程序使用以太坊客户端作为网关,访问以太坊网络和链上数据。
  • 通常,RPC 接口作为一个 HTTP 服务,端口设定为 8545。出于安全原因,默认情况下,它仅限于接受来自 localhost 的连接。
  • 要访问JSON-RPC API,我们可以使用编程语言编写的专用库,例如JavaScript的 web3.js。
  • 或者也可以手动构建HTTP请求并发送/接收JSON编码的请求,如:
    $ curl -X POST -H “Content-Type: application/json” --data ‘{“jsonrpc”:“2.0”,“method”:“web3_clientVersion”,“params”:[],“id”:1}’ http://localhost:8545
    在这里插入图片描述
    在这里插入图片描述

四、总结
这部分主要讲了geth控制台的使用,其中比较好的一点是知道了geth中–dev的使用,解决了由于网络等原因引起挖矿失败的问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用geth创建基于联盟链的私有区块链,拥有自己的节点和genesis区块,以及创建10个合约账户的步骤: **1. 安装geth** 首先需要安装geth,可以从官网下载二进制文件或者通过包管理器进行安装。 **2. 创建genesis区块** 在创建私有区块链之前,需要先创建genesis区块,可以使用puppeth工具来完成。puppeth是一个命令行工具,可以帮助我们创建和管理私有区块链使用以下命令来启动puppeth: ``` puppeth ``` 根据提示进行以下设置: - 输入一个名字来创建一个新的网络 - 选择一个网络类型,选择2(Configure new genesis) - 选择网络协议,选择1(Ethash - proof-of-work) - 选择预分配的币数,输入0 - 输入一个新的地址作为挖矿奖励的收件人地址 - 输入一个新的账户地址,用于签署genesis区块 - 选择一个密码,用于加密私钥 - 选择一个目标平台,选择1(Ethereum) - 选择一个链ID,输入一个数字作为你的私有链ID - 选择是否要使用Clique共识算法,选择2(No) 完成以上设置后,puppeth会自动创建genesis.json文件,该文件包含了我们需要在geth中使用的genesis区块数据。 **3. 初始化节点** 接下来需要初始化节点,使用以下命令: ``` geth --datadir /path/to/chain init /path/to/genesis.json ``` 其中,/path/to/chain是你想要存储区块链数据的目录,/path/to/genesis.json是上一步中生成的genesis.json文件的路径。 **4. 创建账户** 使用以下命令来创建账户: ``` geth --datadir /path/to/chain account new ``` 这将会提示你输入一个密码,该密码将会用于加密账户的私钥。创建完毕后,你将会得到一个账户地址。 重复以上步骤,创建10个账户。 **5. 启动节点** 使用以下命令来启动节点: ``` geth --datadir /path/to/chain --networkid [network_id] --nodiscover console ``` 其中,/path/to/chain是你的区块链数据目录,[network_id]是你在puppeth中设置的私有链ID。 启动后,会进入geth控制台,可以在控制台中进行各种操作,例如挖矿、转账等。 **6. 解锁账户** 在控制台中,使用以下命令来解锁账户: ``` personal.unlockAccount(address, password, duration) ``` 其中,address是你的账户地址,password是你在创建账户时设置的密码,duration是解锁时间,单位为秒。 解锁账户后,可以使用以下命令来查询账户余额: ``` eth.getBalance(address) ``` 以上就是使用geth创建基于联盟链的私有区块链,拥有自己的节点和genesis区块,以及创建10个合约账户的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值