Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
82b5a8af
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
82b5a8af
编写于
3月 24, 2015
作者:
T
Taylor Gerring
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
DRY up height logic
上级
865f3101
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
31 deletion
+20
-31
xeth/xeth.go
xeth/xeth.go
+20
-31
未找到文件。
xeth/xeth.go
浏览文件 @
82b5a8af
...
...
@@ -116,22 +116,13 @@ func (self *XEth) DefaultGasPrice() *big.Int { return defaultGasPrice }
func
(
self
*
XEth
)
RemoteMining
()
*
miner
.
RemoteAgent
{
return
self
.
agent
}
func
(
self
*
XEth
)
AtStateNum
(
num
int64
)
*
XEth
{
chain
:=
self
.
backend
.
ChainManager
()
var
block
*
types
.
Block
// -1 generally means "latest"
// -2 means "pending", which has no blocknum
if
num
<
0
{
num
=
chain
.
CurrentBlock
()
.
Number
()
.
Int64
()
}
block
=
chain
.
GetBlockByNumber
(
uint64
(
num
))
block
:=
self
.
getBlockByHeight
(
num
)
var
st
*
state
.
StateDB
if
block
!=
nil
{
st
=
state
.
New
(
block
.
Root
(),
self
.
backend
.
StateDb
())
}
else
{
st
=
chain
.
State
()
st
=
self
.
backend
.
ChainManager
()
.
State
()
}
return
self
.
WithState
(
st
)
}
...
...
@@ -149,6 +140,22 @@ func (self *XEth) State() *State { return self.state }
func
(
self
*
XEth
)
Whisper
()
*
Whisper
{
return
self
.
whisper
}
func
(
self
*
XEth
)
getBlockByHeight
(
height
int64
)
*
types
.
Block
{
var
num
uint64
// -1 means "latest"
// -2 means "pending", which has no blocknum
if
height
<=
-
2
{
return
&
types
.
Block
{}
}
else
if
height
==
-
1
{
num
=
self
.
CurrentBlock
()
.
NumberU64
()
}
else
{
num
=
uint64
(
height
)
}
return
self
.
backend
.
ChainManager
()
.
GetBlockByNumber
(
num
)
}
func
(
self
*
XEth
)
BlockByHash
(
strHash
string
)
*
Block
{
hash
:=
common
.
HexToHash
(
strHash
)
block
:=
self
.
backend
.
ChainManager
()
.
GetBlock
(
hash
)
...
...
@@ -172,29 +179,11 @@ func (self *XEth) EthTransactionByHash(hash string) *types.Transaction {
}
func
(
self
*
XEth
)
BlockByNumber
(
num
int64
)
*
Block
{
if
num
==
-
2
{
// "pending" is non-existant
return
&
Block
{}
}
if
num
==
-
1
{
return
NewBlock
(
self
.
CurrentBlock
())
}
return
NewBlock
(
self
.
backend
.
ChainManager
()
.
GetBlockByNumber
(
uint64
(
num
)))
return
NewBlock
(
self
.
getBlockByHeight
(
num
))
}
func
(
self
*
XEth
)
EthBlockByNumber
(
num
int64
)
*
types
.
Block
{
if
num
==
-
2
{
// "pending" is non-existant
return
&
types
.
Block
{}
}
if
num
==
-
1
{
return
self
.
CurrentBlock
()
}
return
self
.
backend
.
ChainManager
()
.
GetBlockByNumber
(
uint64
(
num
))
return
self
.
getBlockByHeight
(
num
)
}
func
(
self
*
XEth
)
CurrentBlock
()
*
types
.
Block
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录