gethノート

2412 ワード

geth

gethはイーサー坊のgolangクライアントツールである.gethを実行することで、イーサー坊のネットワークに参加することができます.具体的には、gethを実行することで、次のようなことをすることができます.
  • eth掘削(最も経済的な方法ではないが)
  • は、2つのethアドレス間で
  • を振り替える.
  • インテリジェント契約を作成し、取引
  • を送信する
  • block履歴を表示
  • その他
  • アカウントの管理

    $ geth account list
    Account #0: {64547ad5bb1b63c79ffedbb0b07282d4bf079204} keystore:///Users/apc999/Library/Ethereum/keystore/UTC--2017-12-20T19-11-58.091893000Z--64547ad5bb1b63c79ffedbb0b07282d4bf079204
    Account #1: {0de3f2c4db29b5657ae59a9a43b75ab9029b54c1} keystore:///Users/apc999/Library/Ethereum/keystore/UTC--2018-01-12T08-13-32.492996000Z--0de3f2c4db29b5657ae59a9a43b75ab9029b54c1
    

    このコマンドは、現在のgethに格納されているETHアカウントと、対応するkeystoreファイルの場所を示します.異なるOSでkeystoreファイルの場所は
  • MacOS: ~/Library/Ethereum
  • Linux: ~/.ethereum
  • Windows:%APPDATA%\Ethereumファイル名対応フォーマットはUTC--- 、例えば上記の例のUTC--2017-12-20T19-11-58.091893000Z--64547ad5bb1b63c79ffedbb0b07282d4bf079204です.

  • gethを実行しblock chainと同期する


    例えば、gethのコマンドラインを実行する、fastモードでblockchainの同期を実行し、1 GBのメモリを内部キャッシュとして割り当てる.
    $ geth --syncmode fast --cache 1024 console 2>> geth.log
    Welcome to the Geth JavaScript console!
    
    instance: Geth/v1.7.3-stable/darwin-amd64/go1.9.2
    coinbase: 0x62967235bbb163c89ffed8076b7282d4bf079204
    at block: 5021434 (Fri, 02 Feb 2018 21:29:57 PST)
     datadir: /Users/apc999/Library/Ethereum
     modules: admin: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
    
    gethのコマンドラインに入ると、gethの運転状況を確認することができる.いくつかの重要なパラメータには、同期の進行状況の表示、peer数などが含まれます.
    > eth.syncing
    {
      currentBlock: 4932956,
      highestBlock: 4933077,
      knownStates: 59339,
      pulledStates: 15216,
      startingBlock: 4932956
    }
    > net.peerCount
    16
    

    送信eth


    この例は私のアカウントから別のアカウントに送信されます.
    > var sender = eth.accounts[0];
    > var receiver = eth.accounts[1];
    > var amount = web3.toWei(0.01, "ether")
    > //  account sender15000 
    > web3.personal.unlockAccount(sender,"", 15000)
    > eth.sendTransaction({from:sender, to:receiver, value: amount})
    

    geth Javascript APIの使用