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
0846e156
Commit
0846e156
authored
Mar 23, 2015
by
Taylor Gerring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
go away!
parent
ab6311c1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
81 deletions
+0
-81
miner_agent.go
rpc/miner_agent.go
+0
-81
No files found.
rpc/miner_agent.go
deleted
100644 → 0
View file @
ab6311c1
package
rpc
import
(
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/miner"
)
type
Agent
struct
{
work
*
types
.
Block
currentWork
*
types
.
Block
quit
chan
struct
{}
workCh
chan
*
types
.
Block
returnCh
chan
<-
miner
.
Work
}
func
NewAgent
()
*
Agent
{
agent
:=
&
Agent
{}
go
agent
.
run
()
return
agent
}
func
(
a
*
Agent
)
Work
()
chan
<-
*
types
.
Block
{
return
a
.
workCh
}
func
(
a
*
Agent
)
SetWorkCh
(
returnCh
chan
<-
miner
.
Work
)
{
a
.
returnCh
=
returnCh
}
func
(
a
*
Agent
)
Start
()
{
a
.
quit
=
make
(
chan
struct
{})
a
.
workCh
=
make
(
chan
*
types
.
Block
,
1
)
}
func
(
a
*
Agent
)
Stop
()
{
close
(
a
.
quit
)
close
(
a
.
workCh
)
}
func
(
a
*
Agent
)
GetHashRate
()
int64
{
return
0
}
func
(
a
*
Agent
)
run
()
{
out
:
for
{
select
{
case
<-
a
.
quit
:
break
out
case
work
:=
<-
a
.
workCh
:
a
.
work
=
work
}
}
}
func
(
a
*
Agent
)
GetWork
()
[
3
]
string
{
// TODO return HashNoNonce, DAGSeedHash, Difficulty
var
res
[
3
]
string
// XXX Wait here untill work != nil ?.
if
a
.
work
!=
nil
{
res
[
0
]
=
a
.
work
.
HashNoNonce
()
.
Hex
()
// Header Hash No Nonce
res
[
1
]
=
common
.
Hash
{}
.
Hex
()
// DAG Seed
res
[
2
]
=
common
.
Hash
{}
.
Hex
()
// Difficulty
}
return
res
}
func
(
a
*
Agent
)
SetResult
(
nonce
uint64
,
mixDigest
,
seedHash
common
.
Hash
)
bool
{
// Return true or false, but does not indicate if the PoW was correct
// Make sure the external miner was working on the right hash
if
a
.
currentWork
!=
nil
&&
a
.
work
!=
nil
&&
a
.
currentWork
.
Hash
()
==
a
.
work
.
Hash
()
{
a
.
returnCh
<-
miner
.
Work
{
a
.
currentWork
.
Number
()
.
Uint64
(),
nonce
,
mixDigest
.
Bytes
(),
seedHash
.
Bytes
()}
return
true
}
return
false
}
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