Bitcoin Core  24.99.0
P2P Digital Currency
mining.h
Go to the documentation of this file.
1 // Copyright (c) 2019-2021 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_TEST_UTIL_MINING_H
6 #define BITCOIN_TEST_UTIL_MINING_H
7 
8 #include <node/miner.h>
9 
10 #include <memory>
11 #include <string>
12 #include <vector>
13 
14 class CBlock;
15 class CChainParams;
16 class CScript;
17 class CTxIn;
18 namespace node {
19 struct NodeContext;
20 } // namespace node
21 
23 std::vector<std::shared_ptr<CBlock>> CreateBlockChain(size_t total_height, const CChainParams& params);
24 
26 CTxIn MineBlock(const node::NodeContext&, const CScript& coinbase_scriptPubKey);
27 
29 std::shared_ptr<CBlock> PrepareBlock(const node::NodeContext&, const CScript& coinbase_scriptPubKey);
30 std::shared_ptr<CBlock> PrepareBlock(const node::NodeContext& node, const CScript& coinbase_scriptPubKey,
31  const node::BlockAssembler::Options& assembler_options);
32 
34 CTxIn generatetoaddress(const node::NodeContext&, const std::string& address);
35 
36 #endif // BITCOIN_TEST_UTIL_MINING_H
Definition: block.h:69
CChainParams defines various tweakable parameters of a given instance of the Bitcoin system.
Definition: chainparams.h:76
Serialized script, used inside transaction inputs and outputs.
Definition: script.h:411
An input of a transaction.
Definition: transaction.h:75
Definition: init.h:25
NodeContext struct containing references to chain state and connection state.
Definition: context.h:43
std::vector< std::shared_ptr< CBlock > > CreateBlockChain(size_t total_height, const CChainParams &params)
Create a blockchain, starting from genesis.
Definition: mining.cpp:30
CTxIn MineBlock(const node::NodeContext &, const CScript &coinbase_scriptPubKey)
Returns the generated coin.
Definition: mining.cpp:61
CTxIn generatetoaddress(const node::NodeContext &, const std::string &address)
RPC-like helper function, returns the generated coin.
Definition: mining.cpp:21
std::shared_ptr< CBlock > PrepareBlock(const node::NodeContext &, const CScript &coinbase_scriptPubKey)
Prepare a block to be mined.
Definition: mining.cpp:90