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: /opt
modules: 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.0
To 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
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/248146.html
標籤:區塊鏈
上一篇:Cryptographie
