ethereum入門-常用命令示例(包括創建用戶、挖礦、交易等)
用戶管理
-
打開控制臺
$ geth --datadir=path/to/custom/data/folder attach --datadir“~/.ethereum”數據庫和密鑰庫的數據目錄
-
創建賬戶,參數是密碼
在控制臺輸入下面命令:> personal.newAccount("Write here a good, randomly generated, passphrase!")
"0x0fec688d601909d28faf6fe18cf6230d08b698b6"
>
默認第一個創建的用戶為主用戶 -
查看用戶:
> eth.accounts
["0x0fec688d601909d28faf6fe18cf6230d08b698b6"]
>
賬戶的排序反映了他們創建的時間。 密鑰文件存儲在DATADIR / keystore下,可以通過復制其中包含的文件在客戶端之間傳輸。 這些文件使用密碼加密,如果它們包含任何數量的以太網,則應備份。 但是,請註意,如果您傳輸個別密鑰文件,則提交的帳戶順序可能會發生變化,您可能無法在同一位置結束同一帳戶。 因此請註意,只要您不將外部密鑰文件復制到您的密鑰存儲區,只依賴帳戶索引即可。 - 解鎖帳戶
> personal.unlockAccount("0xf9ab190a9c56fd0d945eac9659c0c9519b13c64e")
這裏是給第一個賬戶解鎖
>user1=eth.accounts[0]
>personal.unlockAccount(user1)
挖礦
-
開始挖礦
> miner.start()
挖到一個區塊會獎勵5個以太幣,挖礦所得的獎勵會進入礦工的賬戶,這個賬戶叫做coinbase,默認情況下coinbase是本地賬戶中的第一個賬戶: -
查看挖礦進賬用戶
> eth.coinbase
"0xf9ab190a9c56fd0d945eac9659c0c9519b13c64e"
現在的coinbase是賬戶0,要想使挖礦獎勵進入其他賬戶,通過miner.setEtherbase()將其他賬戶設置成coinbase即可 -
設置挖礦用戶
> miner.setEtherbase(eth.accounts[1])
true
> eth.coinbase
"0xb89bf2a212484ef9f1bd09efcd57cf37dbb1e52f" -
停止挖礦
> miner.stop()
true - 檢查挖礦是否已經停止,eth.mining 輸出為false時表示挖礦已經停止
> eth.mining
false
交易
-
查看帳號余額
> eth.getBalance(eth.accounts[0])
getBalance()返回值的單位是wei,wei是以太幣的最小單位,1個以太幣=10的18次方個wei。要查看有多少個以太幣,可以用web3.fromWei()將返回值換算成以太幣:
> web3.fromWei(eth.getBalance(eth.accounts[0]),‘ether‘)
340
單位轉換: Ether–> Wei
> web3.toWei(1)單位轉換: Wei –> Ether
> web3.fromWei(10000000000000000)
-
轉賬
轉賬前需要解鎖帳號,就像輸入銀行卡號密碼> eth.sendTransaction({"from":"0x67128734480a0741595538d9d726f33addf83978", "to":"0x29a9a6bcf1ce7101ab93a029e2692298fc15e076", "gas":31000,"gasPrice":web3.toWei(300,‘gwei‘),"value":"1"})
"0x54325698db1fbc85799b2f72070cddc457932abf0eef0d30d4fb2710ddafa941"
> eth.sendTransaction({"from":"0x67128734480a0741595538d9d726f33addf83978", "to":"0x29a9a6bcf1ce7101ab93a029e2692298fc15e076", "value":"10000000000000000000000"})
"0x533d3c770aed09ede826c92e7460fd38d78a101752a7b3b25e4470d8594e77bb" -
查看當前區塊總數:
> eth.blockNumber
69 -
通過區塊號查看區塊裏打包的交易信息
> eth.getBlock(6)
{
difficulty: 2,
extraData: "0xd783010803846765746887676f312e392e32856c696e75780000000000000000cff7302b0c5515614e52f1584ff3f6aceb10dfa6e2facb347bfe3c023878d3857fa48774a98c721bcc1fb2419a177d577a0926e9f51d037095ba53257f7f307701",
gasLimit: 6246618,
gasUsed: 21000,
hash: "0x5e2506ce385e38bbe23765a24ec25f9742e4a3a5af7cd071088081535a6a0dd2",
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
miner: "0x0000000000000000000000000000000000000000",
mixHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
nonce: "0x0000000000000000",
number: 6,
parentHash: "0x716da23fef7103042762025aabc83f7075fca516ab9dc6d436daa58b8350953b",
receiptsRoot: "0x056b23fbba480696b65fe5a59b8f2148a1299103c4f57df839233af2cf4ca2d2",
sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
size: 713,
stateRoot: "0x7c93a037c0750ddca8330d9c84912c622cd355c6978fc4267ffe2c8517a32469",
timestamp: 1520398599,
totalDifficulty: 13,
transactions: ["0x54325698db1fbc85799b2f72070cddc457932abf0eef0d30d4fb2710ddafa941"],
transactionsRoot: "0x712b5bba767dd0ecaeebbbeefdf097647a0f219f11f16e4a8a3d768b59ae442e",
uncles: []
} -
通過交易hash查看交易
> eth.getTransaction("0x54325698db1fbc85799b2f72070cddc457932abf0eef0d30d4fb2710ddafa941")
{
blockHash: "0x5e2506ce385e38bbe23765a24ec25f9742e4a3a5af7cd071088081535a6a0dd2",
blockNumber: 6,
from: "0x67128734480a0741595538d9d726f33addf83978",
gas: 31000,
gasPrice: 300000000000,
hash: "0x54325698db1fbc85799b2f72070cddc457932abf0eef0d30d4fb2710ddafa941",
input: "0x",
nonce: 5,
r: "0xe14faca3d11a47ec4617927c84a04936dbaf783cc2187794e04299ce04352404",
s: "0x6da16b4e07a4fc721273d3b09da1c8b29ad4ce8022a99eb3f8317247cf7f5386",
to: "0x29a9a6bcf1ce7101ab93a029e2692298fc15e076",
transactionIndex: 0,
v: "0xa95",
value: 1
}
> - 查看交易狀態
> txpool.status
{
pending: 0,
queued: 0
}
ethereum入門-常用命令示例(包括創建用戶、挖礦、交易等)