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
6d32bef6
Commit
6d32bef6
authored
Jun 25, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop
parents
e58ba2fc
d8c675af
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
2 deletions
+35
-2
pub.go
ethpub/pub.go
+33
-2
types.go
ethpub/types.go
+1
-0
packages.go
ethrpc/packages.go
+1
-0
No files found.
ethpub/pub.go
View file @
6d32bef6
package
ethpub
import
(
"bytes"
"encoding/hex"
"encoding/json"
"github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethutil"
"math/big"
...
...
@@ -81,6 +83,36 @@ func (lib *PEthereum) GetCoinBase() string {
return
lib
.
SecretToAddress
(
hex
.
EncodeToString
(
key
))
}
func
(
lib
*
PEthereum
)
GetTransactionsFor
(
address
string
,
asJson
bool
)
interface
{}
{
sBlk
:=
lib
.
manager
.
BlockChain
()
.
LastBlockHash
blk
:=
lib
.
manager
.
BlockChain
()
.
GetBlock
(
sBlk
)
addr
:=
[]
byte
(
ethutil
.
FromHex
(
address
))
var
txs
[]
*
PTx
for
;
blk
!=
nil
;
blk
=
lib
.
manager
.
BlockChain
()
.
GetBlock
(
sBlk
)
{
sBlk
=
blk
.
PrevHash
// Loop through all transactions to see if we missed any while being offline
for
_
,
tx
:=
range
blk
.
Transactions
()
{
if
bytes
.
Compare
(
tx
.
Sender
(),
addr
)
==
0
||
bytes
.
Compare
(
tx
.
Recipient
,
addr
)
==
0
{
ptx
:=
NewPTx
(
tx
)
//TODO: somehow move this to NewPTx
ptx
.
Confirmations
=
int
(
lib
.
manager
.
BlockChain
()
.
LastBlockNumber
-
blk
.
BlockInfo
()
.
Number
)
txs
=
append
(
txs
,
ptx
)
}
}
}
if
asJson
{
txJson
,
err
:=
json
.
Marshal
(
txs
)
if
err
!=
nil
{
return
nil
}
return
string
(
txJson
)
}
return
txs
}
func
(
lib
*
PEthereum
)
GetStorage
(
address
,
storageAddress
string
)
string
{
return
lib
.
GetStateObject
(
address
)
.
GetStorage
(
storageAddress
)
}
...
...
@@ -123,7 +155,6 @@ func GetAddressFromNameReg(stateManager *ethchain.StateManager, name string) []b
return
nil
}
func
(
lib
*
PEthereum
)
createTx
(
key
,
recipient
,
valueStr
,
gasStr
,
gasPriceStr
,
scriptStr
string
)
(
*
PReceipt
,
error
)
{
var
hash
[]
byte
var
contractCreation
bool
...
...
@@ -142,7 +173,7 @@ func (lib *PEthereum) createTx(key, recipient, valueStr, gasStr, gasPriceStr, sc
var
keyPair
*
ethutil
.
KeyPair
var
err
error
if
key
[
0
:
2
]
==
"0x"
{
keyPair
,
err
=
ethutil
.
NewKeyPairFromSec
([]
byte
(
ethutil
.
FromHex
(
key
[
0
:
2
])))
keyPair
,
err
=
ethutil
.
NewKeyPairFromSec
([]
byte
(
ethutil
.
FromHex
(
key
[
2
:
])))
}
else
{
keyPair
,
err
=
ethutil
.
NewKeyPairFromSec
([]
byte
(
ethutil
.
FromHex
(
key
)))
}
...
...
ethpub/types.go
View file @
6d32bef6
...
...
@@ -99,6 +99,7 @@ type PTx struct {
Data
string
`json:"data"`
Contract
bool
`json:"isContract"`
CreatesContract
bool
`json:"createsContract"`
Confirmations
int
`json:"confirmations"`
}
func
NewPTx
(
tx
*
ethchain
.
Transaction
)
*
PTx
{
...
...
ethrpc/packages.go
View file @
6d32bef6
...
...
@@ -184,6 +184,7 @@ func (p *EthereumApi) GetStorageAt(args *GetStorageArgs, reply *string) error {
i
,
_
:=
new
(
big
.
Int
)
.
SetString
(
args
.
Key
,
10
)
hx
=
ethutil
.
Hex
(
i
.
Bytes
())
}
ethutil
.
Config
.
Log
.
Debugf
(
"[JSON] GetStorageAt(%s, %s)
\n
"
,
args
.
Address
,
hx
)
value
:=
state
.
GetStorage
(
hx
)
*
reply
=
NewSuccessRes
(
GetStorageAtRes
{
Address
:
args
.
Address
,
Key
:
args
.
Key
,
Value
:
value
})
return
nil
...
...
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