kaspad/dagconfig/doc.go
stasatdaglabs d984151549 [NOD-517] Update doc.go files (#559)
* [NOD-517] Remove copyright notices from all doc.go.

* [NOD-517] Updated the root doc.go.

* [NOD-517] Remove all cov_report.sh and test_coverage.txt.

* [NOD-517] Make all doc.go use the same style of comment.

* [NOD-517] Update dagconfig doc.go.

* [NOD-517] Update blockdag doc.go.

* [NOD-517] Update doc.go in connmgr.

* [NOD-517] Update doc.go in fullblocktests.

* [NOD-517] Update doc.go in database.

* [NOD-517] Update doc.go in ecc.

* [NOD-517] Update doc.go in rpctest.

* [NOD-517] Removed superfluous license in logs.

* [NOD-517] Update doc.go in mempool.

* [NOD-517] Updated doc.go in peer.

* [NOD-517] Update doc.go in rpcclient.

* [NOD-517] Update doc.go in txscript.

* [NOD-517] Update doc.go in util.

* [NOD-517] Update doc.go in base58.

* [NOD-517] Update doc.go in bech32.

* [NOD-517] Update doc.go in txsort.

* [NOD-517] Update doc.go in wire.

* [NOD-517] Fix indentation.

* [NOD-517] Add a copyright notice to the main doc.go.

* [NOD-517] Add Conformal to the license notices.

* [NOD-517] Remove superfluous language from a doc.

* [NOD-517] Fix bad example.
2020-01-02 16:57:43 +02:00

64 lines
1.9 KiB
Go

/*
Package dagconfig defines DAG configuration parameters.
In addition to the main Kaspa network, which is intended for the transfer
of monetary value, there also exists the following standard networks:
* testnet
* simnet
* devnet
* regression test
These networks are incompatible with each other (each sharing a different
genesis block) and software should handle errors where input intended for
one network is used on an application instance running on a different
network.
For library packages, dagconfig provides the ability to lookup DAG
parameters and encoding magics when passed a *Params.
For main packages, a (typically global) var may be assigned the address of
one of the standard Param vars for use as the application's "active" network.
When a network parameter is needed, it may then be looked up through this
variable (either directly, or hidden in a library call).
package main
import (
"flag"
"fmt"
"log"
"github.com/kaspanet/kaspad/util"
"github.com/kaspanet/kaspad/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.
pubKeyHash := make([]byte, 20)
addr, err := util.NewAddressPubKeyHash(pubKeyHash, dagParams)
if err != nil {
log.Fatal(err)
}
fmt.Println(addr)
}
If an application does not use one of the standard Kaspa networks, a new
Params struct may be created which defines the parameters for the non-
standard network. As a general rule of thumb, all network parameters
should be unique to the network, but parameter collisions can still occur.
*/
package dagconfig