1. 程式人生 > >ethereum入門-常用命令示例(包括創建用戶、挖礦、交易等)

ethereum入門-常用命令示例(包括創建用戶、挖礦、交易等)

ethereum命令

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入門-常用命令示例(包括創建用戶、挖礦、交易等)