PNRW is a Python Wrapper for the Nano RPC protocol.
PNRW supports Banano as well!
pip install pnrw
Looking to install from source code?
pip install .
PNRW uses the same variable and function names as the RPC Protocol, this means that you can use the official documentation for this library.
(There are some differences, please check the difference guide below)
The node class handles all node connections.
import pnrw
node = pnrw.Node("nodeIp") # Create a new node instance
ip
(str): The node IP address
port
(int): The node's RPC port, default value is 7076
dontUseHTTPS
(bool): Disables HTTPS, default value if False
headers
(dict): Custom headers that are sent with each request, default value is "Default"
banano
(bool): Ensures correct configuration when using PNRW for Banano, default is False
import pnrw
node = pnrw.Node("mynano.ninja/api/node") # Create a new node instance
import pnrw
node = pnrw.Node("kaliumapi.appditto.com/api", banano=True) # Create a new node instance
import pnrw
node = pnrw.Node("mynano.ninja/api/node") # Create a new node instance
print(node.block_count()) # Check node block count
print(node.version()["protocol_version"]) # Print protocol version of node
print(node.uptime()) # Print node uptime in seconds
import pnrw
node = pnrw.Node("mynano.ninja/api/node") # Create a new node instance
balance = node.account_balance("nano_396phmigwi883hk4x3teedtjk1ejskckmqe7xz3ymfnhe58p9o8gzmkygx91") # Get balance of an account
myBalance = node.rai_from_raw(balance["balance"]) # Convert from raw to Nano
print(f"I currently have {myBalance} Nano!")
from pnrw import convert
print(convert.convert(123,"nano","knano")) # convert 123 Nano to kNano
print(convert.convert(456,"ban","banoshi")) # convert 456 Banano to banoshi
Official documentation: https://docs.nano.org/commands/rpc-protocol/#sign
Changed to: sign_private()
& sign_acount()
& sign_block_hash()
Use sign_private()
when signing a block with a private key, sign_account()
when signing a block with an account from wallet and sign_block_hash()
when signing a block hash.
Nano: nano_396phmigwi883hk4x3teedtjk1ejskckmqe7xz3ymfnhe58p9o8gzmkygx91
Banano: ban_1aws637mb3qnuf9j8swzufq3nj3fttuzkixbd817nmmhyms6a6kt1zyptq87