2 releases

0.1.16-alpha.0 Apr 2, 2023
0.1.12-alpha.0 Mar 4, 2023

#34 in #remote-procedure

MIT license

2MB
16K SLoC

bitcoinrpc-net:

bitcoinrpc-net is a Rust crate that provides an interface for network-related RPC (Remote Procedure Call) functions in the Bitcoin system. It includes functions for managing connections to other nodes, banning and unbanning IP addresses, and getting information about the current network state. This crate is part of a direct translation from C++ to Rust of the bitcoin core, and as such, some of the function bodies may still be in the process of translation. Please note that this system will become testable once the translation process is complete.

Below are descriptions of the mathematical ideas associated with some of the tokens in this crate:

  • Network: This token represents the current network that the node is operating on, such as the main network or a test network. In the context of Bitcoin, different networks have different properties and characteristics, such as different block time targets or different rules for block validation. While there is no specific mathematical idea associated with this token, it is important for managing the node's behavior and ensuring that it is operating on the correct network.

  • ping: This RPC function sends a "ping" message to a specified node in order to check its responsiveness. While there are no mathematical ideas associated with this function, it is an important part of maintaining the network's connectivity and reliability.

113> could you teach me more about this interface?

Sure! The bitcoinrpc-net crate provides functionality for managing the network connections and peer nodes in the Bitcoin network.

Here are some of the RPC functions that you can use:

  • addnode: This RPC adds a node to the list of manually added nodes or removes a node from the list. Manually added nodes can be specified with the addnode parameter or in the configuration file.

  • addpeeraddress: This RPC adds or removes a peer address from the list of manually added peer addresses. Manually added peer addresses can be specified with the addpeeraddress parameter or in the configuration file.

  • getaddednodeinfo: This RPC returns information about the manually added nodes.

  • getconnectioncount: This RPC returns the number of connections to other nodes.

  • getnettotals: This RPC returns information about the total number and size of bytes sent and received by the node.

  • getnetworkinfo: This RPC returns information about the network configuration and status.

  • getpeerinfo: This RPC returns information about each connected peer node.

  • ping: This RPC sends a ping message to the specified node to check if it is still responsive.

  • setban: This RPC bans or unbans a peer node by IP address.

  • clearbanned: This RPC clears all banned IP addresses.

  • setnetworkactive: This RPC enables or disables the node's network activity.

You can use these RPC functions to monitor the network status, manage the peer nodes and connections, and configure network settings.

Dependencies

~107MB
~1M SLoC