diff --git a/storage/redis.go b/storage/redis.go index ddeb255..413084d 100644 --- a/storage/redis.go +++ b/storage/redis.go @@ -65,6 +65,7 @@ type RewardData struct { } type BlockData struct { + Login string `json:"login"` Height int64 `json:"height"` Timestamp int64 `json:"timestamp"` Difficulty int64 `json:"difficulty"` @@ -103,7 +104,7 @@ func (b *BlockData) RoundKey() string { } func (b *BlockData) key() string { - return join(b.UncleHeight, b.Orphan, b.Nonce, b.serializeHash(), b.Timestamp, b.Difficulty, b.TotalShares, b.Reward) + return join(b.UncleHeight, b.Orphan, b.Nonce, b.serializeHash(), b.Timestamp, b.Difficulty, b.TotalShares, b.Reward, b.Login) } type Miner struct { @@ -405,7 +406,7 @@ func (r *RedisClient) WriteBlock(login, id string, params []string, diff, roundD totalShares += n } hashHex := strings.Join(params, ":") - s := join(hashHex, ts, roundDiff, totalShares) + s := join(hashHex, ts, roundDiff, totalShares, login) cmd := r.client.ZAdd(r.formatKey("blocks", "candidates"), redis.Z{Score: float64(height), Member: s}) return false, cmd.Err() } @@ -1107,6 +1108,7 @@ func convertCandidateResults(raw *redis.ZSliceCmd) []*BlockData { block.Timestamp, _ = strconv.ParseInt(fields[3], 10, 64) block.Difficulty, _ = strconv.ParseInt(fields[4], 10, 64) block.TotalShares, _ = strconv.ParseInt(fields[5], 10, 64) + block.Login = fields[6] block.candidateKey = v.Member.(string) result = append(result, &block) } @@ -1152,6 +1154,7 @@ func convertBlockResults(rows ...*redis.ZSliceCmd) []*BlockData { block.TotalShares, _ = strconv.ParseInt(fields[6], 10, 64) block.RewardString = fields[7] block.ImmatureReward = fields[7] + block.Login = fields[8] block.immatureKey = v.Member.(string) result = append(result, &block) } diff --git a/www/app/templates/blocks/block.hbs b/www/app/templates/blocks/block.hbs index c37e418..791d070 100644 --- a/www/app/templates/blocks/block.hbs +++ b/www/app/templates/blocks/block.hbs @@ -8,11 +8,11 @@