Bitcoin Core 31.99.0
P2P Digital Currency
rpc.h
Go to the documentation of this file.
1// Copyright (c) 2025 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_INTERFACES_RPC_H
6#define BITCOIN_INTERFACES_RPC_H
7
8#include <memory>
9#include <string>
10
11class UniValue;
12
13namespace node {
14struct NodeContext;
15} // namespace node
16
17namespace interfaces {
19class Rpc
20{
21public:
22 virtual ~Rpc() = default;
23 virtual UniValue executeRpc(UniValue request, std::string url, std::string user) = 0;
24};
25
27std::unique_ptr<Rpc> MakeRpc(node::NodeContext& node);
28
29} // namespace interfaces
30
31#endif // BITCOIN_INTERFACES_RPC_H
Interface giving clients ability to emulate HTTP RPC calls.
Definition: rpc.h:20
virtual ~Rpc()=default
virtual UniValue executeRpc(UniValue request, std::string url, std::string user)=0
std::unique_ptr< Rpc > MakeRpc(node::NodeContext &node)
Return implementation of Rpc interface.
Definition: messages.h:21
const char * url
Definition: rpcconsole.cpp:61
NodeContext struct containing references to chain state and connection state.
Definition: context.h:56