Compare commits

...

4 Commits

Author SHA1 Message Date
Svarog
6db296b98b
DownloadHeaders: Instead of using doneChan - close blockHeadersMessageChan. (#1523) 2021-02-11 16:59:31 +02:00
hashdag
05d1671f3a Update README.md 2021-02-11 15:04:28 +02:00
Svarog
ce2758e825
Change Testnet name to kaspad-testnet-2 (#1521)
* Change Testnet name to kaspad-testnet-2

* Fix tests that hardcoded network names
2021-02-11 15:00:21 +02:00
Mike Zak
09545b94b7 Update to version 0.8.8 2021-02-10 18:36:19 +02:00
9 changed files with 39 additions and 36 deletions

View File

@ -65,7 +65,7 @@ is used for this project.
## Documentation ## Documentation
The documentation is a work-in-progress. The [documentation](https://github.com/kaspanet/docs) is a work-in-progress
## License ## License

View File

@ -221,7 +221,6 @@ func (flow *handleRelayInvsFlow) downloadHeaders(highestSharedBlockHash *externa
// headers // headers
blockHeadersMessageChan := make(chan *appmessage.BlockHeadersMessage, 2) blockHeadersMessageChan := make(chan *appmessage.BlockHeadersMessage, 2)
errChan := make(chan error) errChan := make(chan error)
doneChan := make(chan interface{})
spawn("handleRelayInvsFlow-downloadHeaders", func() { spawn("handleRelayInvsFlow-downloadHeaders", func() {
for { for {
blockHeadersMessage, doneIBD, err := flow.receiveHeaders() blockHeadersMessage, doneIBD, err := flow.receiveHeaders()
@ -230,7 +229,7 @@ func (flow *handleRelayInvsFlow) downloadHeaders(highestSharedBlockHash *externa
return return
} }
if doneIBD { if doneIBD {
doneChan <- struct{}{} close(blockHeadersMessageChan)
return return
} }
@ -246,7 +245,10 @@ func (flow *handleRelayInvsFlow) downloadHeaders(highestSharedBlockHash *externa
for { for {
select { select {
case blockHeadersMessage := <-blockHeadersMessageChan: case blockHeadersMessage, ok := <-blockHeadersMessageChan:
if !ok {
return nil
}
for _, header := range blockHeadersMessage.BlockHeaders { for _, header := range blockHeadersMessage.BlockHeaders {
err = flow.processHeader(header) err = flow.processHeader(header)
if err != nil { if err != nil {
@ -255,8 +257,6 @@ func (flow *handleRelayInvsFlow) downloadHeaders(highestSharedBlockHash *externa
} }
case err := <-errChan: case err := <-errChan:
return err return err
case <-doneChan:
return nil
} }
} }
} }

View File

@ -19,7 +19,7 @@ func TestBlueBlockWindow(t *testing.T) {
id string //id is a virtual entity that is used only for tests so we can define relations between blocks without knowing their hash id string //id is a virtual entity that is used only for tests so we can define relations between blocks without knowing their hash
expectedWindowWithGenesisPadding []string expectedWindowWithGenesisPadding []string
}{ }{
"kaspa-mainnet": { dagconfig.MainnetParams.Name: {
{ {
parents: []string{"A"}, parents: []string{"A"},
id: "B", id: "B",
@ -91,7 +91,7 @@ func TestBlueBlockWindow(t *testing.T) {
expectedWindowWithGenesisPadding: []string{"N", "M", "L", "K", "J", "I", "F", "C", "D", "H"}, expectedWindowWithGenesisPadding: []string{"N", "M", "L", "K", "J", "I", "F", "C", "D", "H"},
}, },
}, },
"kaspa-testnet": { dagconfig.TestnetParams.Name: {
{ {
parents: []string{"A"}, parents: []string{"A"},
id: "B", id: "B",
@ -163,7 +163,7 @@ func TestBlueBlockWindow(t *testing.T) {
expectedWindowWithGenesisPadding: []string{"N", "M", "L", "K", "J", "I", "F", "H", "C", "D"}, expectedWindowWithGenesisPadding: []string{"N", "M", "L", "K", "J", "I", "F", "H", "C", "D"},
}, },
}, },
"kaspa-devnet": { dagconfig.DevnetParams.Name: {
{ {
parents: []string{"A"}, parents: []string{"A"},
id: "B", id: "B",
@ -235,7 +235,7 @@ func TestBlueBlockWindow(t *testing.T) {
expectedWindowWithGenesisPadding: []string{"N", "M", "L", "K", "J", "I", "F", "H", "C", "D"}, expectedWindowWithGenesisPadding: []string{"N", "M", "L", "K", "J", "I", "F", "H", "C", "D"},
}, },
}, },
"kaspa-simnet": { dagconfig.SimnetParams.Name: {
{ {
parents: []string{"A"}, parents: []string{"A"},
id: "B", id: "B",

View File

@ -1,10 +1,11 @@
package difficultymanager_test package difficultymanager_test
import ( import (
"github.com/kaspanet/kaspad/util/difficulty"
"testing" "testing"
"time" "time"
"github.com/kaspanet/kaspad/util/difficulty"
"github.com/kaspanet/kaspad/util/mstime" "github.com/kaspanet/kaspad/util/mstime"
"github.com/kaspanet/kaspad/domain/consensus/utils/consensushashing" "github.com/kaspanet/kaspad/domain/consensus/utils/consensushashing"
@ -132,9 +133,9 @@ func TestDifficulty(t *testing.T) {
var expectedBits uint32 var expectedBits uint32
switch params.Name { switch params.Name {
case "kaspa-testnet", "kaspa-devnet": case dagconfig.TestnetParams.Name, dagconfig.DevnetParams.Name:
expectedBits = uint32(0x1e7f83df) expectedBits = uint32(0x1e7f83df)
case "kaspa-mainnet": case dagconfig.MainnetParams.Name:
expectedBits = uint32(0x207f83df) expectedBits = uint32(0x207f83df)
} }

View File

@ -27,16 +27,16 @@ type testJSON struct {
func TestPruning(t *testing.T) { func TestPruning(t *testing.T) {
expectedPruningPointByNet := map[string]map[string]string{ expectedPruningPointByNet := map[string]map[string]string{
"chain-for-test-pruning.json": { "chain-for-test-pruning.json": {
"kaspa-mainnet": "1582", dagconfig.MainnetParams.Name: "1582",
"kaspa-simnet": "1582", dagconfig.TestnetParams.Name: "1582",
"kaspa-devnet": "1582", dagconfig.DevnetParams.Name: "1582",
"kaspa-testnet": "1582", dagconfig.SimnetParams.Name: "1582",
}, },
"dag-for-test-pruning.json": { "dag-for-test-pruning.json": {
"kaspa-mainnet": "503", dagconfig.MainnetParams.Name: "503",
"kaspa-simnet": "502", dagconfig.TestnetParams.Name: "503",
"kaspa-devnet": "503", dagconfig.DevnetParams.Name: "503",
"kaspa-testnet": "503", dagconfig.SimnetParams.Name: "502",
}, },
} }

View File

@ -1,17 +1,18 @@
package consensus package consensus
import ( import (
"testing"
"github.com/kaspanet/kaspad/domain/consensus/utils/testutils" "github.com/kaspanet/kaspad/domain/consensus/utils/testutils"
"github.com/kaspanet/kaspad/domain/dagconfig" "github.com/kaspanet/kaspad/domain/dagconfig"
"testing"
) )
func TestPruningDepth(t *testing.T) { func TestPruningDepth(t *testing.T) {
expectedResult := map[string]uint64{ expectedResult := map[string]uint64{
"kaspa-mainnet": 244838, dagconfig.MainnetParams.Name: 244838,
"kaspa-testnet": 244838, dagconfig.TestnetParams.Name: 244838,
"kaspa-devnet": 244838, dagconfig.DevnetParams.Name: 244838,
"kaspa-simnet": 192038, dagconfig.SimnetParams.Name: 192038,
} }
testutils.ForAllNets(t, true, func(t *testing.T, params *dagconfig.Params) { testutils.ForAllNets(t, true, func(t *testing.T, params *dagconfig.Params) {
expected, found := expectedResult[params.Name] expected, found := expectedResult[params.Name]

View File

@ -256,7 +256,7 @@ var MainnetParams = Params{
// TestnetParams defines the network parameters for the test Kaspa network. // TestnetParams defines the network parameters for the test Kaspa network.
var TestnetParams = Params{ var TestnetParams = Params{
K: defaultGHOSTDAGK, K: defaultGHOSTDAGK,
Name: "kaspa-testnet", Name: "kaspa-testnet-2",
Net: appmessage.Testnet, Net: appmessage.Testnet,
RPCPort: "16210", RPCPort: "16210",
DefaultPort: "16211", DefaultPort: "16211",

View File

@ -2,20 +2,21 @@ package difficulty_test
import ( import (
"fmt" "fmt"
"github.com/kaspanet/kaspad/domain/consensus/utils/testutils"
"github.com/kaspanet/kaspad/domain/dagconfig"
"github.com/kaspanet/kaspad/util/difficulty"
"math" "math"
"math/big" "math/big"
"testing" "testing"
"github.com/kaspanet/kaspad/domain/consensus/utils/testutils"
"github.com/kaspanet/kaspad/domain/dagconfig"
"github.com/kaspanet/kaspad/util/difficulty"
) )
func TestGetHashrateString(t *testing.T) { func TestGetHashrateString(t *testing.T) {
var results = map[string]string{ var results = map[string]string{
"kaspa-mainnet": "2 H/s", dagconfig.MainnetParams.Name: "2 H/s",
"kaspa-testnet": "131.07 KH/s", dagconfig.TestnetParams.Name: "131.07 KH/s",
"kaspa-devnet": "131.07 KH/s", dagconfig.DevnetParams.Name: "131.07 KH/s",
"kaspa-simnet": "2.00 KH/s", dagconfig.SimnetParams.Name: "2.00 KH/s",
} }
testutils.ForAllNets(t, false, func(t *testing.T, params *dagconfig.Params) { testutils.ForAllNets(t, false, func(t *testing.T, params *dagconfig.Params) {
targetGenesis := difficulty.CompactToBig(params.GenesisBlock.Header.Bits()) targetGenesis := difficulty.CompactToBig(params.GenesisBlock.Header.Bits())

View File

@ -10,8 +10,8 @@ const validCharacters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs
const ( const (
appMajor uint = 0 appMajor uint = 0
appMinor uint = 9 appMinor uint = 8
appPatch uint = 0 appPatch uint = 8
) )
// appBuild is defined as a variable so it can be overridden during the build // appBuild is defined as a variable so it can be overridden during the build