Categorygithub.com/sam-the-programmer/bitcoinminer

# Packages

No description provided by the author
No description provided by the author

# README

Bitcoin Miner

A simple, concurrent bitcoin miner framework implemented in Go.

Disclaimer: this is not a product intended to be used for real mining, since I have little expertise on the topic. We do not take any responsibility or liability around any damage, financial loss or loss of any kind caused or in any way linked to this software. See the LICENSE file for more information.

Installation

go get github.com/sam-the-programmer/bitcoinminer

Then, import it with...

import (
	m "github.com/sam-the-programmer/bitcoinminer/miner"
)

Usage

The bulk of the API is here. More detail is on pkg.go.dev

package main

import (
	"fmt"

	"github.com/sam-the-programmer/bitcoinminer/hash"
	"github.com/sam-the-programmer/bitcoinminer/miner"
)

func main() {
	transactionString := "<BlockNum-0>\nAlice->Bob->20\nBob->Charlie->10\nCharlie->Alice->5\n[PrevBlockHash]\n%v"
	m := miner.NewMiner(
		transactionString,
		hash.SHA256,
		10000,
	)

	m.SetSearchSize(100000000000)
	m.SetDifficulty(6)
	m.SetHashTimes(1)
	m.SetOutputLevel(1)

	solution, hasFound := m.ThreadedMine()
	if hasFound {
		fmt.Println("\n\n", solution, "\n", hash.SHA256(hash.SHA256(fmt.Sprintf(transactionString, solution))))
	}
}