美文网首页
geth笔记

geth笔记

作者: apc999 | 来源:发表于2018-01-19 14:03 被阅读0次

geth

geth是以太坊的golang客户端工具. 通过运行geth, 我们可以参与以太坊的网络。具体说来,我们可以通过运行geth来做以下几样事情

  • eth挖矿(虽然不是最经济的方式)
  • 在两个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--<created_at UTC ISO8601>-<address hex>,比如上面例子里的 UTC--2017-12-20T19-11-58.091893000Z--64547ad5bb1b63c79ffedbb0b07282d4bf079204

运行geth并和block chain同步

例如:运行geth的命令行, 以fast模式运行blockchain的同步, 分配1GB内存作为内部缓存.

$ 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,"<password>", 15000)
> eth.sendTransaction({from:sender, to:receiver, value: amount})

使用geth Javascript API

相关文章

网友评论

      本文标题:geth笔记

      本文链接:https://www.haomeiwen.com/subject/gbmooxtx.html