1、Geth控制台命令
Geth Console是一个交互式的JavaScript 执行环境,里面内置了一些用来操作以太坊的JavaScript对象,我们可以直接调用这些对象来获取区块链上的相关信息。
这些对象主要包括:
# 主要包含对区块链进行访问和交互相关的方法
eth# 主要包含查看p2p 网络状态的方法
net# 主要包含与管理节点相关的方法
admin# 主要包含挖矿相关的一些方法
miner# 包含账户管理的方法
personal# 包含查看交易内存池的方法
txpool# 包含以上所有对象,还包含一些通用方法
web3
常用命令有:
# 创建账户
personal.newAccount()# 解锁账户
personal.unlockAccount()
# 解锁账户,指定解锁具体账户
personal.unlockAccount(eth.accounts[0])# 列出系统中的账户
eth.accounts# 1、查看账户余额,返回值的单位是 Wei (“ ”里面是自己管理的账户地址)
eth.getBalance()
# 2、查看账户余额,返回值的单位是 Wei (“ ”里面是自己管理的账户地址)
eth.getBalance("写上账户地址")
# 3、转换为单位ether,便于阅读
web3.fromWei(eth.getBalance("写上账户地址"),'ether')
# 4、如果是在里面创建的账户可以调用内部函数拿到地址,不用每次都复制地址。
eth.getBalance(eth.accounts[0])
web3.fromWei(eth.getBalance(eth.accounts[0]),'ether')#发起交易(发起方需要是自己管理的账户,其次需要先解锁账户),from:发起交易的地址;to:接受交易的地址
eth.sendTransaction({from:eth.accounts[0],to:"接受交易的地址",value:100000})# 列出当前区块高度
eth.blockNumber# 获取交易信息
eth.getTransaction()# 获取区块信息
eth.getBlock()# 开始挖矿
miner.start()
# 表示一直挖矿
miner.start(1)
# 查看
eth.coinbase# 停止挖矿
miner.stop()
# 开始挖矿,当挖到一个块时就停止,
miner.start(1);admin.sleepBlocks(1);miner.stop()# Wei 换算成以太币
web3.fromWei()# 以太币换算成 Wei
web3.toWei()# 交易油中的状态
bxpool.status
2、进入开发者模式的控制台
需要新创建一个目录,并给相应的权限,然后进入到该目录
azf@bigdata05:/opt/MyJsonFile$ sudo geth --datadir ../ --dev console 2>gethoutput.log
Welcome to the Geth JavaScript console!instance: Geth/v1.9.25-stable-e7872729/linux-amd64/go1.15.6
coinbase: 0x210b9a3545738e04ef17427ec4efbb5c5135d7e1
at block: 0 (Thu Jan 01 1970 08:00:00 GMT+0800 (CST))datadir: /optmodules: admin:1.0 clique:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0To exit, press ctrl-d
> eth.accounts
["0x210b9a3545738e04ef17427ec4efbb5c5135d7e1"]
> personal.newAccount("123456")
"0xafa2bc6e8f58601fc0fd3ffe2a79d7487014498f"
> eth.accounts
["0x210b9a3545738e04ef17427ec4efbb5c5135d7e1", "0xafa2bc6e8f58601fc0fd3ffe2a79d7487014498f"]
> web3.fromWei(eth.getBalance(eth.accounts[0]),'ether')
1.15792089237316195423570985008687907853269984665640564039457584007913129639927e+59
> web3.fromWei(eth.getBalance(eth.accounts[1]),'ether')
0
> eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1],value:web3.toWei(10,'ether')})
"0xcc32d8f953dc59645ae25f72ee03fdb020753b582ff56f9ef5166457096e4676"
> eth.getBalance(eth.accounts[1])
10000000000000000000
查看交易信息
> eth.blockNumber
1
> eth.getTransaction("0xcc32d8f953dc59645ae25f72ee03fdb020753b582ff56f9ef5166457096e4676")
{blockHash: "0xebae78ccc24e32f0bab3e2c732dd46e32dd49312f8eb3201af9a77c48e66c939",blockNumber: 1,from: "0x210b9a3545738e04ef17427ec4efbb5c5135d7e1",gas: 21000,gasPrice: 1,hash: "0xcc32d8f953dc59645ae25f72ee03fdb020753b582ff56f9ef5166457096e4676",input: "0x",nonce: 0,r: "0x285b66836d3936c9ffb468753051fe56c3d139184f38d1523a513f5948833b34",s: "0x31461a3fb65963f5920ea42b9b17432ee4d336672f860ab5a250d68f2600efdd",to: "0xafa2bc6e8f58601fc0fd3ffe2a79d7487014498f",transactionIndex: 0,v: "0xa95",value: 10000000000000000000
}