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
97882a65
Commit
97882a65
authored
Jan 24, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Dev test mining
parent
c636f8e3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
55 additions
and
27 deletions
+55
-27
dev_console.go
dev_console.go
+34
-20
ethereum.go
ethereum.go
+21
-7
No files found.
dev_console.go
View file @
97882a65
...
...
@@ -9,8 +9,8 @@ import (
"github.com/ethereum/ethchain-go"
"github.com/ethereum/ethdb-go"
"github.com/ethereum/ethutil-go"
"github.com/ethereum/ethwire-go"
"math/big"
_
"github.com/ethereum/ethwire-go"
_
"math/big"
"os"
"strings"
)
...
...
@@ -48,6 +48,9 @@ func (i *Console) ValidateInput(action string, argumentLength int) error {
case
action
==
"encode"
&&
argumentLength
!=
1
:
err
=
true
expArgCount
=
1
case
action
==
"gettx"
&&
argumentLength
!=
1
:
err
=
true
expArgCount
=
1
case
action
==
"tx"
&&
argumentLength
!=
2
:
err
=
true
expArgCount
=
2
...
...
@@ -125,28 +128,39 @@ func (i *Console) ParseInput(input string) bool {
}
case
"encode"
:
fmt
.
Printf
(
"%q
\n
"
,
ethutil
.
Encode
(
tokens
[
1
]))
case
"newblk"
:
block
:=
ethchain
.
CreateBlock
(
i
.
ethereum
.
BlockManager
.
BlockChain
()
.
LastBlock
.
State
()
.
Root
,
i
.
ethereum
.
BlockManager
.
LastBlockHash
,
"123"
,
big
.
NewInt
(
1
),
big
.
NewInt
(
1
),
""
,
i
.
ethereum
.
TxPool
.
Flush
(),
)
i
.
ethereum
.
Broadcast
(
ethwire
.
MsgBlockTy
,
block
.
RlpData
())
//fmt.Println(ethutil.NewRlpValue(block.RlpData()).Get(0))
//err := i.ethereum.BlockManager.ProcessBlock(block)
//if err != nil {
// fmt.Println(err)
//} else {
// }
/*
case "newblk":
block := ethchain.CreateBlock(
i.ethereum.BlockManager.BlockChain().LastBlock.State().Root,
i.ethereum.BlockManager.LastBlockHash,
"123",
big.NewInt(1),
big.NewInt(1),
"",
i.ethereum.TxPool.Flush(),
)
err := i.ethereum.BlockManager.ProcessBlock(block)
if err != nil {
fmt.Println(err)
} else {
i.ethereum.Broadcast(ethwire.MsgBlockTy, block.RlpData())
}
//fmt.Println(ethutil.NewRlpValue(block.RlpData()).Get(0))
*/
case
"tx"
:
tx
:=
ethchain
.
NewTransaction
(
tokens
[
1
],
ethutil
.
Big
(
tokens
[
2
]),
[]
string
{
""
})
fmt
.
Printf
(
"tx: %x
\n
"
,
tx
.
Hash
())
i
.
ethereum
.
TxPool
.
QueueTransaction
(
tx
)
case
"gettx"
:
addr
,
_
:=
hex
.
DecodeString
(
tokens
[
1
])
data
,
_
:=
ethutil
.
Config
.
Db
.
Get
(
addr
)
if
len
(
data
)
!=
0
{
decoder
:=
ethutil
.
NewRlpDecoder
(
data
)
fmt
.
Println
(
decoder
)
}
else
{
fmt
.
Println
(
"gettx: tx not found"
)
}
case
"exit"
,
"quit"
,
"q"
:
return
false
case
"help"
:
...
...
ethereum.go
View file @
97882a65
...
...
@@ -6,11 +6,14 @@ import (
"github.com/ethereum/eth-go"
"github.com/ethereum/ethchain-go"
"github.com/ethereum/ethutil-go"
"github.com/ethereum/ethwire-go"
"log"
"math/big"
"os"
"os/signal"
"path"
"runtime"
"time"
)
const
Debug
=
true
...
...
@@ -78,21 +81,32 @@ func main() {
RegisterInterupts
(
ethereum
)
ethereum
.
Start
()
if
StartMining
{
log
.
Println
(
"Mining started"
)
dagger
:=
&
ethchain
.
Dagger
{}
log
.
Println
(
"Dev Test Mining started"
)
// Fake block mining. It broadcasts a new block every 5 seconds
go
func
()
{
for
{
res
:=
dagger
.
Search
(
ethutil
.
Big
(
"01001"
),
ethutil
.
BigPow
(
2
,
36
))
log
.
Println
(
"Res dagger"
,
res
)
//ethereum.Broadcast("blockmine", ethutil.Encode(res.String()))
time
.
Sleep
(
5
*
time
.
Second
)
block
:=
ethchain
.
CreateBlock
(
ethereum
.
BlockManager
.
BlockChain
()
.
LastBlock
.
State
()
.
Root
,
ethereum
.
BlockManager
.
LastBlockHash
,
"123"
,
big
.
NewInt
(
1
),
big
.
NewInt
(
1
),
""
,
ethereum
.
TxPool
.
Flush
())
ethereum
.
BlockManager
.
ProcessBlockWithState
(
block
,
block
.
State
())
ethereum
.
Broadcast
(
ethwire
.
MsgBlockTy
,
block
.
RlpData
())
log
.
Println
(
"
\n
"
,
block
.
String
())
}
}()
}
ethereum
.
Start
()
// Wait for shutdown
ethereum
.
WaitForShutdown
()
}
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