Documentation ¶
Index ¶
- func AdvancedComplexNonLinear(x float64) float64
- func BasicComplexNonLinear(x float64) float64
- func BlockLevel(header externalapi.BlockHeader, maxBlockLevel int) int
- func CheckProofOfWorkByBits(header externalapi.MutableBlockHeader) bool
- func ComplexNonLinear(x float64) float64
- func ExaComplexNonLinear(x float64) float64
- func ExtremlyComplexNonLinear(x float64) float64
- func GenerateHoohashMatrix(hash *externalapi.DomainHash) *matrix
- func GenerateMatrix(hash *externalapi.DomainHash) *matrix
- func GigaComplexNonLinear(x float64) float64
- func HighComplexNonLinear(x float64) float64
- func HyperComplexNonLinear(x float64) float64
- func IntermediateComplexNonLinear(x float64) float64
- func MediumComplexNonLinear(x float64) float64
- func MegaComplexNonLinear(x float64) float64
- func PetaComplexNonLinear(x float64) float64
- func SuperComplexNonLinear(x float64) float64
- func TeraComplexNonLinear(x float64) float64
- func UltraComplexNonLinear(x float64) float64
- func VeryComplexNonLinear(x float64) float64
- type State
- func (state *State) CalculateProofOfWorkValue() *big.Int
- func (state *State) CalculateProofOfWorkValueHoohashV1() *big.Int
- func (state *State) CalculateProofOfWorkValueHoohashV2() *big.Int
- func (state *State) CalculateProofOfWorkValuePyrinhash() *big.Int
- func (state *State) CheckProofOfWork() bool
- func (state *State) IncrementNonce()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BasicComplexNonLinear ¶
func BlockLevel ¶
func BlockLevel(header externalapi.BlockHeader, maxBlockLevel int) int
BlockLevel returns the block level of the given header.
func CheckProofOfWorkByBits ¶
func CheckProofOfWorkByBits(header externalapi.MutableBlockHeader) bool
CheckProofOfWorkByBits check's if the block has a valid PoW according to its Bits field it does not check if the difficulty itself is valid or less than the maximum for the appropriate network
func ComplexNonLinear ¶
func ExaComplexNonLinear ¶
func GenerateHoohashMatrix ¶ added in v1.0.2
func GenerateHoohashMatrix(hash *externalapi.DomainHash) *matrix
func GenerateMatrix ¶ added in v1.0.2
func GenerateMatrix(hash *externalapi.DomainHash) *matrix
func GigaComplexNonLinear ¶
func HighComplexNonLinear ¶
func HyperComplexNonLinear ¶
func MediumComplexNonLinear ¶
func MegaComplexNonLinear ¶
func PetaComplexNonLinear ¶
func SuperComplexNonLinear ¶
func TeraComplexNonLinear ¶
func UltraComplexNonLinear ¶
func VeryComplexNonLinear ¶
Types ¶
type State ¶
type State struct { Timestamp int64 Nonce uint64 Target big.Int // contains filtered or unexported fields }
State is an intermediate data structure with pre-computed values to speed up mining.
func NewState ¶
func NewState(header externalapi.MutableBlockHeader) *State
NewState creates a new state with pre-computed values to speed up mining It takes the target from the Bits field
func (*State) CalculateProofOfWorkValue ¶
func (*State) CalculateProofOfWorkValueHoohashV1 ¶
func (*State) CalculateProofOfWorkValueHoohashV2 ¶
func (*State) CalculateProofOfWorkValuePyrinhash ¶
CalculateProofOfWorkValue hashes the internal header and returns its big.Int value
func (*State) CheckProofOfWork ¶
CheckProofOfWork check's if the block has a valid PoW according to the provided target it does not check if the difficulty itself is valid or less than the maximum for the appropriate network
func (*State) IncrementNonce ¶
func (state *State) IncrementNonce()
IncrementNonce the nonce in State by 1