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
ac695387
Commit
ac695387
authored
Feb 05, 2015
by
obscuren
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into miner
parents
9d2166a9
db7c34a9
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
27 additions
and
26 deletions
+27
-26
main.go
cmd/evm/main.go
+1
-0
coin.html
cmd/mist/assets/examples/coin.html
+2
-2
block_processor.go
core/block_processor.go
+3
-2
protocol_test.go
eth/protocol_test.go
+2
-0
miner.go
miner/miner.go
+4
-6
block.go
pow/block.go
+1
-0
pow.go
pow/ezp/pow.go
+1
-2
args.go
rpc/args.go
+0
-10
packages.go
rpc/packages.go
+13
-4
No files found.
cmd/evm/main.go
View file @
ac695387
...
...
@@ -128,6 +128,7 @@ func (self *VMEnv) Difficulty() *big.Int { return ethutil.Big1 }
func
(
self
*
VMEnv
)
BlockHash
()
[]
byte
{
return
make
([]
byte
,
32
)
}
func
(
self
*
VMEnv
)
Value
()
*
big
.
Int
{
return
self
.
value
}
func
(
self
*
VMEnv
)
GasLimit
()
*
big
.
Int
{
return
big
.
NewInt
(
1000000000
)
}
func
(
self
*
VMEnv
)
VmType
()
vm
.
Type
{
return
vm
.
StdVmTy
}
func
(
self
*
VMEnv
)
Depth
()
int
{
return
0
}
func
(
self
*
VMEnv
)
SetDepth
(
i
int
)
{
self
.
depth
=
i
}
func
(
self
*
VMEnv
)
GetHash
(
n
uint64
)
[]
byte
{
...
...
cmd/mist/assets/examples/coin.html
View file @
ac695387
...
...
@@ -62,7 +62,7 @@
],
}];
var
address
=
""
;
//
web3.db.get("jevcoin", "address");
var
address
=
web3
.
db
.
get
(
"jevcoin"
,
"address"
);
if
(
address
.
length
==
0
)
{
var
code
=
"0x60056011565b60b88060356000396000f35b64e8d4a51000600033600160a060020a0316600052602052604060002081905550560060e060020a6000350480637bb98a68146028578063d0679d34146034578063e3d670d714604657005b602e60b3565b60006000f35b60406004356024356059565b60006000f35b604f6004356091565b8060005260206000f35b8060005281600160a060020a03167fb52dda022b6c1a1f40905a85f257f689aa5d69d850e49cf939d688fbe5af594660206000a25050565b6000600082600160a060020a03166000526020526040600020549050919050565b5b60008156"
;
address
=
web3
.
eth
.
transact
({
...
...
@@ -77,7 +77,7 @@
contract
.
Changed
({
to
:
"0xaa"
}).
changed
(
function
(
e
)
{
console
.
log
(
"e: "
+
JSON
.
stringify
(
e
));
});
contract
.
transact
({
gas
:
"10000"
,
gasprice
:
eth
.
gasPrice
}).
send
(
"0xaa"
,
10000
);
contract
.
send
(
"0xaa"
,
10000
);
function
reflesh
()
{
document
.
querySelector
(
"#balance"
).
innerHTML
=
contract
.
balance
(
eth
.
coinbase
);
...
...
core/block_processor.go
View file @
ac695387
...
...
@@ -7,6 +7,7 @@ import (
"sync"
"time"
"github.com/ethereum/c-ethash/go-ethash"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethutil"
...
...
@@ -14,7 +15,7 @@ import (
"github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/p2p"
"github.com/ethereum/go-ethereum/pow"
"github.com/ethereum/go-ethereum/pow/ezp"
_
"github.com/ethereum/go-ethereum/pow/ezp"
"github.com/ethereum/go-ethereum/state"
"gopkg.in/fatih/set.v0"
)
...
...
@@ -62,7 +63,7 @@ func NewBlockProcessor(db ethutil.Database, txpool *TxPool, chainManager *ChainM
sm
:=
&
BlockProcessor
{
db
:
db
,
mem
:
make
(
map
[
string
]
*
big
.
Int
),
Pow
:
ezp
.
New
()
,
Pow
:
&
ethash
.
Ethash
{}
,
bc
:
chainManager
,
eventMux
:
eventMux
,
txpool
:
txpool
,
...
...
eth/protocol_test.go
View file @
ac695387
...
...
@@ -80,6 +80,8 @@ func (self *testTxPool) AddTransactions(txs []*types.Transaction) {
}
}
func
(
self
*
testTxPool
)
GetTransactions
()
types
.
Transactions
{
return
nil
}
func
(
self
*
testChainManager
)
GetBlockHashesFromHash
(
hash
[]
byte
,
amount
uint64
)
(
hashes
[][]
byte
)
{
if
self
.
getBlockHashes
!=
nil
{
hashes
=
self
.
getBlockHashes
(
hash
,
amount
)
...
...
miner/miner.go
View file @
ac695387
...
...
@@ -205,9 +205,7 @@ func (self *Miner) mine() {
block
.
Header
()
.
Extra
=
self
.
Extra
// Apply uncles
if
len
(
self
.
uncles
)
>
0
{
block
.
SetUncles
(
self
.
uncles
)
}
block
.
SetUncles
(
self
.
uncles
)
parent
:=
chainMan
.
GetBlock
(
block
.
ParentHash
())
coinbase
:=
state
.
GetOrNewStateObject
(
block
.
Coinbase
())
...
...
@@ -234,10 +232,10 @@ func (self *Miner) mine() {
minerlogger
.
Infof
(
"Mining on block. Includes %v transactions"
,
len
(
transactions
))
x
,
y
:=
getSeed
(
chainMan
,
block
)
self
.
pow
,
err
=
ethash
.
New
(
append
(
x
,
y
...
)
,
block
)
x
,
_
:=
getSeed
(
chainMan
,
block
)
self
.
pow
,
err
=
ethash
.
New
(
x
,
block
)
if
err
!=
nil
{
fmt
.
Println
(
"err"
,
err
)
fmt
.
Println
(
"
miner gave back
err"
,
err
)
return
}
...
...
pow/block.go
View file @
ac695387
...
...
@@ -6,4 +6,5 @@ type Block interface {
Difficulty
()
*
big
.
Int
HashNoNonce
()
[]
byte
N
()
[]
byte
Number
()
*
big
.
Int
}
pow/ezp/pow.go
View file @
ac695387
...
...
@@ -53,7 +53,6 @@ func (pow *EasyPow) Search(block pow.Block, stop <-chan struct{}) []byte {
elapsed
:=
time
.
Now
()
.
UnixNano
()
-
start
hashes
:=
((
float64
(
1e9
)
/
float64
(
elapsed
))
*
float64
(
i
))
/
1000
pow
.
HashRate
=
int64
(
hashes
)
//powlogger.Infoln("Hashing @", pow.HashRate, "khash")
t
=
time
.
Now
()
}
...
...
@@ -83,7 +82,7 @@ func verify(hash []byte, diff *big.Int, nonce []byte) bool {
sha
.
Write
(
d
)
verification
:=
new
(
big
.
Int
)
.
Div
(
ethutil
.
BigPow
(
2
,
256
),
diff
)
res
:=
ethutil
.
U256
(
ethutil
.
BigD
(
sha
.
Sum
(
nil
)
))
res
:=
ethutil
.
BigD
(
sha
.
Sum
(
nil
))
return
res
.
Cmp
(
verification
)
<=
0
}
...
...
rpc/args.go
View file @
ac695387
...
...
@@ -37,16 +37,6 @@ type NewTxArgs struct {
Data
string
`json:"data"`
}
func
(
a
*
NewTxArgs
)
requirements
()
error
{
if
a
.
Gas
==
""
{
return
NewErrorResponse
(
"Transact requires a 'gas' value as argument"
)
}
if
a
.
GasPrice
==
""
{
return
NewErrorResponse
(
"Transact requires a 'gasprice' value as argument"
)
}
return
nil
}
type
PushTxArgs
struct
{
Tx
string
`json:"tx"`
}
...
...
rpc/packages.go
View file @
ac695387
...
...
@@ -40,6 +40,11 @@ import (
"github.com/ethereum/go-ethereum/xeth"
)
const
(
defaultGasPrice
=
"10000000000000"
defaultGas
=
"10000"
)
type
EthereumApi
struct
{
xeth
*
xeth
.
XEth
filterManager
*
filter
.
FilterManager
...
...
@@ -116,10 +121,14 @@ func (p *EthereumApi) GetBlock(args *GetBlockArgs, reply *interface{}) error {
}
func
(
p
*
EthereumApi
)
Transact
(
args
*
NewTxArgs
,
reply
*
interface
{})
error
{
err
:=
args
.
requirements
()
if
err
!=
nil
{
return
err
if
len
(
args
.
Gas
)
==
0
{
args
.
Gas
=
defaultGas
}
if
len
(
args
.
GasPrice
)
==
0
{
args
.
GasPrice
=
defaultGasPrice
}
result
,
_
:=
p
.
xeth
.
Transact
(
/* TODO specify account */
args
.
To
,
args
.
Value
,
args
.
Gas
,
args
.
GasPrice
,
args
.
Data
)
*
reply
=
result
return
nil
...
...
@@ -387,7 +396,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error
}
return
p
.
FilterChanged
(
args
,
reply
)
case
"eth_gasPrice"
:
*
reply
=
"10000000000000"
*
reply
=
defaultGasPrice
return
nil
case
"web3_sha3"
:
args
,
err
:=
req
.
ToSha3Args
()
...
...
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