Persistance (#53)

* added publish TX for backwards compat.

* lowered the prototick for faster block syncing

* print useragent on startup

* added createMultiRedeemScript for genesis block generation.

* building genesis block from scratch.

* implemented merkle tree.

* starting blockhain with generated genesis hash

* Fixed bug in unspent coin state.

* fixed broken tests after genesis block.

* removed log line.

* bumped version -> 0.34.0
This commit is contained in:
Anthony De Meulemeester 2018-03-25 12:45:54 +02:00 committed by GitHub
parent ad9333c74c
commit 94672cb9cc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
35 changed files with 955 additions and 187 deletions

View file

@ -5,6 +5,8 @@ import (
"strconv"
)
const decimals = 100000000
// Fixed8 represents a fixed-point number with precision 10^-8.
type Fixed8 int64
@ -16,9 +18,9 @@ func (f Fixed8) String() string {
buf.WriteRune('-')
val = -val
}
str := strconv.FormatInt(val/100000000, 10)
str := strconv.FormatInt(val/decimals, 10)
buf.WriteString(str)
val %= 100000000
val %= decimals
if val > 0 {
buf.WriteRune('.')
str = strconv.FormatInt(val, 10)
@ -29,3 +31,13 @@ func (f Fixed8) String() string {
}
return buf.String()
}
// Value returns the original value representing the Fixed8.
func (f Fixed8) Value() int64 {
return int64(f) / int64(decimals)
}
// NewFixed8 return a new Fixed8 type multiplied by decimals.
func NewFixed8(val int) Fixed8 {
return Fixed8(decimals * val)
}