bitcoin-api-0.9.0: src/Network/Bitcoin/Api/Mining.hs
{-# LANGUAGE OverloadedStrings #-}
module Network.Bitcoin.Api.Mining where
import Data.Aeson
import qualified Data.Bitcoin.Block as Btc
import qualified Network.Bitcoin.Api.Internal as I
import qualified Network.Bitcoin.Api.Types as T
import qualified Network.Bitcoin.Api.Blockchain as Blockchain
-- | Generate a certain amount of new blocks. Available in 'regtest' mode only.
generate :: T.Client -- ^ Our client context
-> Integer -- ^ Amount of blocks to generate
-> IO [Btc.Block] -- ^ The generated blocks
generate client blocks =
let configuration = [toJSON True, toJSON blocks]
in do
hashes <- I.call client "setgenerate" configuration
mapM (Blockchain.getBlock client) hashes