kaspad/testing/integration/mining_test.go
Lazzeruz 3bfd50a3d9 Dev init
Just some name changes, put in a stand in emission amount, and started copying the algo from Karlsen. Not release worthy yet. Therefore Dev branch exists now.

Also, for now this is for research purposes only. I got no clue what to build on top of Kaspa yet.
Help would be appreciated for ideas and implementations.
2023-12-09 20:46:33 +01:00

34 lines
866 B
Go

package integration
import (
"math/rand"
"testing"
"time"
"github.com/zoomy-network/zoomyd/app/appmessage"
"github.com/zoomy-network/zoomyd/domain/consensus/model/externalapi"
"github.com/zoomy-network/zoomyd/domain/consensus/utils/mining"
)
func mineNextBlock(t *testing.T, harness *appHarness) *externalapi.DomainBlock {
blockTemplate, err := harness.rpcClient.GetBlockTemplate(harness.miningAddress, "integration")
if err != nil {
t.Fatalf("Error getting block template: %+v", err)
}
block, err := appmessage.RPCBlockToDomainBlock(blockTemplate.Block)
if err != nil {
t.Fatalf("Error converting block: %s", err)
}
rd := rand.New(rand.NewSource(time.Now().UnixNano()))
mining.SolveBlock(block, rd)
_, err = harness.rpcClient.SubmitBlockAlsoIfNonDAA(block)
if err != nil {
t.Fatalf("Error submitting block: %s", err)
}
return block
}