Libbitcoin Node: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Line 42: Line 42:


==Console Application==
==Console Application==
The library is accompanied by the console application Bitcoin Node (bn). Bitcoin Node implements a full node on the Bitcoin P2P network. The initial (bn 2.0) release is an example, not intended for production use.
The library is accompanied by the console application Bitcoin Node (bn). Bitcoin Node implements a full node on the Bitcoin P2P network. The initial (bn 2.x) release is an example, not intended for production use.


==Dependencies==
==Dependencies==

Revision as of 17:22, 12 July 2015

The libbitcoin-node library provides an abstraction over the low level networking calls required to implement a full node on the Bitcoin peer-to-peer network. It was originally contained within libbitcoin.

Example

The example expects the blockchain to be initialized in "./blockchain/" (see initchain). The initialize_logging and display_result functions are omitted for brevity.

int main()
{
    std::string command;
    bc::payment_address address;
    initialize_logging("debug.log", "error.log");

    std::cout << "Starting up...";
    bc::node::fullnode node("blockchain");
    node.start();

    std::cout << "Type a bitcoin address or 'stop' to exit." << std::endl;
    while (true)
    {
        std::getline(std::cin, command);
        if (command == "stop")
            break;

        if (!address.set_encoded(command))
        {
            std::cout << "Invalid address." << std::endl;
            continue;
        }

        const auto fetch_handler = [&address](const std::error_code& code,
            const bc::chain::history_list& history)
        {
            display_result(code, history, address);
        };

        fetch_history(node.chain(), node.indexer(), address, fetch_handler);
    }

    std::cout << "Shutting down...";
    node.stop();

    return 0;
}

Console Application

The library is accompanied by the console application Bitcoin Node (bn). Bitcoin Node implements a full node on the Bitcoin P2P network. The initial (bn 2.x) release is an example, not intended for production use.

Dependencies

See Also

References