Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
1d74086b
Commit
1d74086b
authored
Apr 02, 2015
by
Taylor Gerring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New UncleRes type
parent
9bdf0b65
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
56 additions
and
11 deletions
+56
-11
api.go
rpc/api.go
+2
-6
responses.go
rpc/responses.go
+54
-5
No files found.
rpc/api.go
View file @
1d74086b
...
@@ -256,9 +256,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
...
@@ -256,9 +256,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
// return NewValidationError("Index", "does not exist")
// return NewValidationError("Index", "does not exist")
*
reply
=
nil
*
reply
=
nil
}
else
{
}
else
{
uhash
:=
br
.
Uncles
[
args
.
Index
]
*
reply
=
br
.
Uncles
[
args
.
Index
]
uncle
:=
NewBlockRes
(
api
.
xeth
()
.
EthBlockByHash
(
uhash
.
String
()),
true
)
*
reply
=
uncle
}
}
case
"eth_getUncleByBlockNumberAndIndex"
:
case
"eth_getUncleByBlockNumberAndIndex"
:
args
:=
new
(
BlockNumIndexArgs
)
args
:=
new
(
BlockNumIndexArgs
)
...
@@ -278,9 +276,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
...
@@ -278,9 +276,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
// return NewValidationError("Index", "does not exist")
// return NewValidationError("Index", "does not exist")
*
reply
=
nil
*
reply
=
nil
}
else
{
}
else
{
uhash
:=
v
.
Uncles
[
args
.
Index
]
*
reply
=
v
.
Uncles
[
args
.
Index
]
uncle
:=
NewBlockRes
(
api
.
xeth
()
.
EthBlockByHash
(
uhash
.
String
()),
false
)
*
reply
=
uncle
}
}
case
"eth_getCompilers"
:
case
"eth_getCompilers"
:
c
:=
[]
string
{
""
}
c
:=
[]
string
{
""
}
...
...
rpc/responses.go
View file @
1d74086b
...
@@ -28,7 +28,7 @@ type BlockRes struct {
...
@@ -28,7 +28,7 @@ type BlockRes struct {
GasUsed
*
hexnum
`json:"gasUsed"`
GasUsed
*
hexnum
`json:"gasUsed"`
UnixTimestamp
*
hexnum
`json:"timestamp"`
UnixTimestamp
*
hexnum
`json:"timestamp"`
Transactions
[]
*
TransactionRes
`json:"transactions"`
Transactions
[]
*
TransactionRes
`json:"transactions"`
Uncles
[]
*
hexdata
`json:"uncles"`
Uncles
[]
*
UncleRes
`json:"uncles"`
}
}
func
(
b
*
BlockRes
)
MarshalJSON
()
([]
byte
,
error
)
{
func
(
b
*
BlockRes
)
MarshalJSON
()
([]
byte
,
error
)
{
...
@@ -73,7 +73,10 @@ func (b *BlockRes) MarshalJSON() ([]byte, error) {
...
@@ -73,7 +73,10 @@ func (b *BlockRes) MarshalJSON() ([]byte, error) {
ext
.
GasUsed
=
b
.
GasUsed
ext
.
GasUsed
=
b
.
GasUsed
ext
.
UnixTimestamp
=
b
.
UnixTimestamp
ext
.
UnixTimestamp
=
b
.
UnixTimestamp
ext
.
Transactions
=
b
.
Transactions
ext
.
Transactions
=
b
.
Transactions
ext
.
Uncles
=
b
.
Uncles
ext
.
Uncles
=
make
([]
*
hexdata
,
len
(
b
.
Uncles
))
for
i
,
u
:=
range
b
.
Uncles
{
ext
.
Uncles
[
i
]
=
u
.
BlockHash
}
return
json
.
Marshal
(
ext
)
return
json
.
Marshal
(
ext
)
}
else
{
}
else
{
var
ext
struct
{
var
ext
struct
{
...
@@ -119,7 +122,10 @@ func (b *BlockRes) MarshalJSON() ([]byte, error) {
...
@@ -119,7 +122,10 @@ func (b *BlockRes) MarshalJSON() ([]byte, error) {
for
i
,
tx
:=
range
b
.
Transactions
{
for
i
,
tx
:=
range
b
.
Transactions
{
ext
.
Transactions
[
i
]
=
tx
.
Hash
ext
.
Transactions
[
i
]
=
tx
.
Hash
}
}
ext
.
Uncles
=
b
.
Uncles
ext
.
Uncles
=
make
([]
*
hexdata
,
len
(
b
.
Uncles
))
for
i
,
u
:=
range
b
.
Uncles
{
ext
.
Uncles
[
i
]
=
u
.
BlockHash
}
return
json
.
Marshal
(
ext
)
return
json
.
Marshal
(
ext
)
}
}
}
}
...
@@ -157,9 +163,9 @@ func NewBlockRes(block *types.Block, fullTx bool) *BlockRes {
...
@@ -157,9 +163,9 @@ func NewBlockRes(block *types.Block, fullTx bool) *BlockRes {
res
.
Transactions
[
i
]
.
TxIndex
=
newHexNum
(
i
)
res
.
Transactions
[
i
]
.
TxIndex
=
newHexNum
(
i
)
}
}
res
.
Uncles
=
make
([]
*
hexdata
,
len
(
block
.
Uncles
()))
res
.
Uncles
=
make
([]
*
UncleRes
,
len
(
block
.
Uncles
()))
for
i
,
uncle
:=
range
block
.
Uncles
()
{
for
i
,
uncle
:=
range
block
.
Uncles
()
{
res
.
Uncles
[
i
]
=
newHexData
(
uncle
.
Hash
()
)
res
.
Uncles
[
i
]
=
NewUncleRes
(
uncle
)
}
}
return
res
return
res
...
@@ -200,6 +206,49 @@ func NewTransactionRes(tx *types.Transaction) *TransactionRes {
...
@@ -200,6 +206,49 @@ func NewTransactionRes(tx *types.Transaction) *TransactionRes {
return
v
return
v
}
}
type
UncleRes
struct
{
BlockNumber
*
hexnum
`json:"number"`
BlockHash
*
hexdata
`json:"hash"`
ParentHash
*
hexdata
`json:"parentHash"`
Nonce
*
hexdata
`json:"nonce"`
Sha3Uncles
*
hexdata
`json:"sha3Uncles"`
ReceiptHash
*
hexdata
`json:"receiptHash"`
LogsBloom
*
hexdata
`json:"logsBloom"`
TransactionRoot
*
hexdata
`json:"transactionsRoot"`
StateRoot
*
hexdata
`json:"stateRoot"`
Miner
*
hexdata
`json:"miner"`
Difficulty
*
hexnum
`json:"difficulty"`
ExtraData
*
hexdata
`json:"extraData"`
GasLimit
*
hexnum
`json:"gasLimit"`
GasUsed
*
hexnum
`json:"gasUsed"`
UnixTimestamp
*
hexnum
`json:"timestamp"`
}
func
NewUncleRes
(
h
*
types
.
Header
)
*
UncleRes
{
if
h
==
nil
{
return
nil
}
var
v
=
new
(
UncleRes
)
v
.
BlockNumber
=
newHexNum
(
h
.
Number
)
v
.
BlockHash
=
newHexData
(
h
.
Hash
())
v
.
ParentHash
=
newHexData
(
h
.
ParentHash
)
v
.
Sha3Uncles
=
newHexData
(
h
.
UncleHash
)
v
.
Nonce
=
newHexData
(
h
.
Nonce
[
:
])
v
.
LogsBloom
=
newHexData
(
h
.
Bloom
)
v
.
TransactionRoot
=
newHexData
(
h
.
TxHash
)
v
.
StateRoot
=
newHexData
(
h
.
Root
)
v
.
Miner
=
newHexData
(
h
.
Coinbase
)
v
.
Difficulty
=
newHexNum
(
h
.
Difficulty
)
v
.
ExtraData
=
newHexData
(
h
.
Extra
)
v
.
GasLimit
=
newHexNum
(
h
.
GasLimit
)
v
.
GasUsed
=
newHexNum
(
h
.
GasUsed
)
v
.
UnixTimestamp
=
newHexNum
(
h
.
Time
)
v
.
ReceiptHash
=
newHexData
(
h
.
ReceiptHash
)
return
v
}
// type FilterLogRes struct {
// type FilterLogRes struct {
// Hash string `json:"hash"`
// Hash string `json:"hash"`
// Address string `json:"address"`
// Address string `json:"address"`
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment