Bitcoin Core  22.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 <memory>
9 #include <string>
10 #include <vector>
11 
12 class CBlock;
13 class CChainParams;
14 class CScript;
15 class CTxIn;
16 namespace node {
17 struct NodeContext;
18 } // namespace node
19 
21 std::vector<std::shared_ptr<CBlock>> CreateBlockChain(size_t total_height, const CChainParams& params);
22 
24 CTxIn MineBlock(const node::NodeContext&, const CScript& coinbase_scriptPubKey);
25 
27 std::shared_ptr<CBlock> PrepareBlock(const node::NodeContext&, const CScript& coinbase_scriptPubKey);
28 
30 CTxIn generatetoaddress(const node::NodeContext&, const std::string& address);
31 
32 #endif // BITCOIN_TEST_UTIL_MINING_H
CTxIn
An input of a transaction.
Definition: transaction.h:65
generatetoaddress
CTxIn generatetoaddress(const node::NodeContext &, const std::string &address)
RPC-like helper function, returns the generated coin.
Definition: mining.cpp:22
node::NodeContext
NodeContext struct containing references to chain state and connection state.
Definition: context.h:40
CChainParams
CChainParams defines various tweakable parameters of a given instance of the Bitcoin system.
Definition: chainparams.h:69
MineBlock
CTxIn MineBlock(const node::NodeContext &, const CScript &coinbase_scriptPubKey)
Returns the generated coin.
Definition: mining.cpp:62
CScript
Serialized script, used inside transaction inputs and outputs.
Definition: script.h:405
CBlock
Definition: block.h:62
node
Definition: init.h:22
CreateBlockChain
std::vector< std::shared_ptr< CBlock > > CreateBlockChain(size_t total_height, const CChainParams &params)
Create a blockchain, starting from genesis.
Definition: mining.cpp:31
PrepareBlock
std::shared_ptr< CBlock > PrepareBlock(const node::NodeContext &, const CScript &coinbase_scriptPubKey)
Prepare a block to be mined.
Definition: mining.cpp:77