mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-09-13 04:50:11 +00:00

* Implement isBlockRewardFixed. * Fix factory.go. * Call isBlockRewardFixed from calcBlockSubsidy. * Fix bad call to ghostdagDataStore.Get. * Extract blue score and blue work from the header instead of from the ghostdagDataStore. * Fix coinbasemanager constructor arguments order * Format consensus_defaults.go * Check the mainnet switch from the block's point of view rather than the virtual's. * Don't call newBlockPruningPoint twice in buildBlock. * Properly handle new pruning point blocks in isBlockRewardFixed. * Use the correct variable. * Add a comment explaining what we do when the pruning point is not found in isBlockRewardFixed. * Implement TestBlockRewardSwitch. * Add missing error handling. Co-authored-by: Ori Newman <orinewman1@gmail.com>
dagconfig
Package dagconfig defines DAG configuration parameters for the standard Kaspad networks and provides the ability for callers to define their own custom Kaspad networks.
Sample Use
package main
import (
"flag"
"fmt"
"log"
"github.com/kaspanet/kaspad/util"
"github.com/kaspanet/kaspad/domain/dagconfig"
)
var testnet = flag.Bool("testnet", false, "operate on the testnet Kaspa network")
// By default (without --testnet), use mainnet.
var dagParams = &dagconfig.MainnetParams
func main() {
flag.Parse()
// Modify active network parameters if operating on testnet.
if *testnet {
dagParams = &dagconfig.TestnetParams
}
// later...
// Create and print new payment address, specific to the active network.
pubKey := make([]byte, 32)
addr, err := util.NewAddressPubKey(pubKey, dagParams)
if err != nil {
log.Fatal(err)
}
fmt.Println(addr)
}