- 本地下载安装geth
- 本地设置环境变量$GOPATH,可以指定为任意目录
- 下载依赖的开源库,依次执行以下命令
go get github.com/ethereum/go-ethereum
go get github.com/deckarep/golang-set
- 执行
geth --rpc
启动geth的http服务器 - 可选操作:执行
go run synBlockTime.go
,将本地所有block的编号和时间写入blocktime文件。当我们使用后面功能时,脚本会从blocktime中读取出生成于[timeFrom]到[timeTo]间的所有block编号,再根据block编号获取block详细信息。因此,如果不执行该操作,blocktime文件可能未记录最新block,使用后面功能时就无法获取最新block的详细信息 - 功能
- 获取一段时间内所有交易账户:
go run getAccount.go [timeFrom] [timeTo]
, 比如go run getAccount.go 2018-01-01-00-00-00 2018-02-01-00-00-00
。结果会存到accounts目录下,文件名为[timeFrom]-[timeTo] - 获取一段时间内所有交易账户及其余额:
go run getBalance.go [timeFrom] [timeTo]
, 比如go run getBalance.go 2018-01-01-00-00-00 2018-02-01-00-00-00
。结果会存到balance目录下,文件名为[timeFrom]-[timeTo]。注意:执行此命令前需要先执行go run getAccount.go [timeFrom] [timeTo]
- 获取一段时间内所有交易明细:
go run getTxByTime.go [timeFrom] [timeTo]
, 比如go run getTxByTime.go 2018-01-01-00-00-00 2018-02-01-00-00-00
。结果会存到tx目录下,文件名为[timeFrom]-[timeTo]。同时还会产生另外两个文件[timeFrom]-[timeTo]-from-sort和[timeFrom]-[timeTo]-to-sort,分别存放以交易卖出账户和买进账户排序后的结果 - 获取一段时间内每个交易账户的交易明细:
go run getTxTimelineGroupByAccount.go [timeFrom] [timeTo]
, 比如go run getTxTimelineGroupByAccount.go 2018-01-01-00-00-00 2018-02-01-00-00-00
。结果会存到tx目录下,文件名为[timeFrom]-[timeTo]-timeline。注意:执行此命令前需要先执行go run getTxByTime.go [timeFrom] [timeTo]
- 获取一段时间内每个交易账户的交易总数(含进出总数和进出交易量):
go run getTxCountGroupByAccount.go [timeFrom] [timeTo]
, 比如go run getTxCountGroupByAccount.go 2018-01-01-00-00-00 2018-02-01-00-00-00
。结果会存到tx目录下,文件名为[timeFrom]-[timeTo]-count。注意:执行此命令前需要先执行go run getTxByTime.go [timeFrom] [timeTo]
- 获取一段时间内所有交易账户:
-
Notifications
You must be signed in to change notification settings - Fork 6
star2478/go-ethereum-blockchain-parser
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
基于geth对以太坊区块链的解析
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published