@@ -84,8 +84,8 @@ func New(eth Backend, config *Config, chainConfig *params.ChainConfig, mux *even
84
84
// It's entered once and as soon as `Done` or `Failed` has been broadcasted the events are unregistered and
85
85
// the loop is exited. This to prevent a major security vuln where external parties can DOS you with blocks
86
86
// and halt your mining operation for as long as the DOS continues.
87
- func (self * Miner ) update () {
88
- events := self .mux .Subscribe (downloader.StartEvent {}, downloader.DoneEvent {}, downloader.FailedEvent {})
87
+ func (miner * Miner ) update () {
88
+ events := miner .mux .Subscribe (downloader.StartEvent {}, downloader.DoneEvent {}, downloader.FailedEvent {})
89
89
defer events .Unsubscribe ()
90
90
91
91
for {
@@ -96,89 +96,89 @@ func (self *Miner) update() {
96
96
}
97
97
switch ev .Data .(type ) {
98
98
case downloader.StartEvent :
99
- atomic .StoreInt32 (& self .canStart , 0 )
100
- if self .Mining () {
101
- self .Stop ()
102
- atomic .StoreInt32 (& self .shouldStart , 1 )
99
+ atomic .StoreInt32 (& miner .canStart , 0 )
100
+ if miner .Mining () {
101
+ miner .Stop ()
102
+ atomic .StoreInt32 (& miner .shouldStart , 1 )
103
103
log .Info ("Mining aborted due to sync" )
104
104
}
105
105
case downloader.DoneEvent , downloader.FailedEvent :
106
- shouldStart := atomic .LoadInt32 (& self .shouldStart ) == 1
106
+ shouldStart := atomic .LoadInt32 (& miner .shouldStart ) == 1
107
107
108
- atomic .StoreInt32 (& self .canStart , 1 )
109
- atomic .StoreInt32 (& self .shouldStart , 0 )
108
+ atomic .StoreInt32 (& miner .canStart , 1 )
109
+ atomic .StoreInt32 (& miner .shouldStart , 0 )
110
110
if shouldStart {
111
- self .Start (self .coinbase )
111
+ miner .Start (miner .coinbase )
112
112
}
113
113
// stop immediately and ignore all further pending events
114
114
return
115
115
}
116
- case <- self .exitCh :
116
+ case <- miner .exitCh :
117
117
return
118
118
}
119
119
}
120
120
}
121
121
122
- func (self * Miner ) Start (coinbase common.Address ) {
123
- atomic .StoreInt32 (& self .shouldStart , 1 )
124
- self .SetEtherbase (coinbase )
122
+ func (miner * Miner ) Start (coinbase common.Address ) {
123
+ atomic .StoreInt32 (& miner .shouldStart , 1 )
124
+ miner .SetEtherbase (coinbase )
125
125
126
- if atomic .LoadInt32 (& self .canStart ) == 0 {
126
+ if atomic .LoadInt32 (& miner .canStart ) == 0 {
127
127
log .Info ("Network syncing, will start miner afterwards" )
128
128
return
129
129
}
130
- self .worker .start ()
130
+ miner .worker .start ()
131
131
}
132
132
133
- func (self * Miner ) Stop () {
134
- self .worker .stop ()
135
- atomic .StoreInt32 (& self .shouldStart , 0 )
133
+ func (miner * Miner ) Stop () {
134
+ miner .worker .stop ()
135
+ atomic .StoreInt32 (& miner .shouldStart , 0 )
136
136
}
137
137
138
- func (self * Miner ) Close () {
139
- self .worker .close ()
140
- close (self .exitCh )
138
+ func (miner * Miner ) Close () {
139
+ miner .worker .close ()
140
+ close (miner .exitCh )
141
141
}
142
142
143
- func (self * Miner ) Mining () bool {
144
- return self .worker .isRunning ()
143
+ func (miner * Miner ) Mining () bool {
144
+ return miner .worker .isRunning ()
145
145
}
146
146
147
- func (self * Miner ) HashRate () uint64 {
148
- if pow , ok := self .engine .(consensus.PoW ); ok {
147
+ func (miner * Miner ) HashRate () uint64 {
148
+ if pow , ok := miner .engine .(consensus.PoW ); ok {
149
149
return uint64 (pow .Hashrate ())
150
150
}
151
151
return 0
152
152
}
153
153
154
- func (self * Miner ) SetExtra (extra []byte ) error {
154
+ func (miner * Miner ) SetExtra (extra []byte ) error {
155
155
if uint64 (len (extra )) > params .MaximumExtraDataSize {
156
- return fmt .Errorf ("Extra exceeds max length. %d > %v" , len (extra ), params .MaximumExtraDataSize )
156
+ return fmt .Errorf ("extra exceeds max length. %d > %v" , len (extra ), params .MaximumExtraDataSize )
157
157
}
158
- self .worker .setExtra (extra )
158
+ miner .worker .setExtra (extra )
159
159
return nil
160
160
}
161
161
162
162
// SetRecommitInterval sets the interval for sealing work resubmitting.
163
- func (self * Miner ) SetRecommitInterval (interval time.Duration ) {
164
- self .worker .setRecommitInterval (interval )
163
+ func (miner * Miner ) SetRecommitInterval (interval time.Duration ) {
164
+ miner .worker .setRecommitInterval (interval )
165
165
}
166
166
167
167
// Pending returns the currently pending block and associated state.
168
- func (self * Miner ) Pending () (* types.Block , * state.StateDB ) {
169
- return self .worker .pending ()
168
+ func (miner * Miner ) Pending () (* types.Block , * state.StateDB ) {
169
+ return miner .worker .pending ()
170
170
}
171
171
172
172
// PendingBlock returns the currently pending block.
173
173
//
174
174
// Note, to access both the pending block and the pending state
175
175
// simultaneously, please use Pending(), as the pending state can
176
176
// change between multiple method calls
177
- func (self * Miner ) PendingBlock () * types.Block {
178
- return self .worker .pendingBlock ()
177
+ func (miner * Miner ) PendingBlock () * types.Block {
178
+ return miner .worker .pendingBlock ()
179
179
}
180
180
181
- func (self * Miner ) SetEtherbase (addr common.Address ) {
182
- self .coinbase = addr
183
- self .worker .setEtherbase (addr )
181
+ func (miner * Miner ) SetEtherbase (addr common.Address ) {
182
+ miner .coinbase = addr
183
+ miner .worker .setEtherbase (addr )
184
184
}
0 commit comments