Skip to main content

PWRPY is a Python library for interacting with the PWR network.

Project description

PWRPY

PWRPY is a Python library for interacting with the PWR network. It provides an easy interface for wallet management and sending transactions on PWR.

Installation

# latest official release (main branch)
pip3 install pwrpy

🌐 Documentation

How to Guides 🔜 & API 💻

Play with Code Examples 🎮

💫 Getting Started

Import the library:

from pwrpy.pwrsdk import PWRPY
from pwrpy.pwrwallet import PWRWallet

Set your rpc and wallet:

private_key = "0xac0974bec...f80"
pwr = PWRPY()
wallet = PWRWallet(private_key)

Get wallet address:

address = wallet.get_address()

Get wallet balance:

balance = wallet.get_balance()

Get private key:

pk = wallet.get_private_key()

Transfer PWR tokens:

transfer = wallet.transfer_pwr("recipientAddress", 100000)

Sending a transcation to the PWR Chain returns a Response object, which specified if the transaction was a success, and returns relevant data. If the transaction was a success, you can retrieive the transaction hash, if it failed, you can fetch the error.

transfer = wallet.transfer_pwr("recipientAddress", 100000)
if transfer.success:
    print("Transfer:", transfer.__dict__)
else:
    print("FAILED!")

Send data to a VM:

data = "Hello World!"
sendVmData = wallet.send_vm_data_transaction(123, data.encode())
if sendVmData.success:
    print("SendVmData:", sendVmData.__dict__)
else:
    print("FAILED!")

Other Static Calls

Get RPC Node Url:

Returns currently set RPC node URL.

url = pwr.get_rpc_node_url()

**Get Fee Per Byte: **

Gets the latest fee-per-byte rate.

fee = pwr.get_fee_per_byte()

Get Balance Of Address:

Gets the balance of a specific address.

balance = pwr.get_balance_of_address('0x...')

Get Nonce Of Address:

Gets the nonce/transaction count of a specific address.

nonce = pwr.get_nonce_of_address('0x...')

Get VM Data:

start_block = 843500
end_block = 843750
vm_id = 123

transactions = pwr.get_vm_data_txns(start_block, end_block, vm_id)
for txs in transactions:
    print("Data:", txs.data)

Broadcast Txn:

Broadcasts a signed transaction to the network.

signedTransaction = "..."
broadcast = pwr.broadcast_transaction(signedTransaction)

✏️ Contributing

If you consider to contribute to this project please read CONTRIBUTING.md first.

You can also join our dedicated channel for pwrpy on the PWR Chain Discord

📜 License

Copyright (c) 2024 PWR Labs

Licensed under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pwrpy-6.0.6.dev0.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pwrpy-6.0.6.dev0-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file pwrpy-6.0.6.dev0.tar.gz.

File metadata

  • Download URL: pwrpy-6.0.6.dev0.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Darwin/24.3.0

File hashes

Hashes for pwrpy-6.0.6.dev0.tar.gz
Algorithm Hash digest
SHA256 896589e3ca18f3f7df0d6f969f3d7538d7d556fee4ac4c004e2732d936babae7
MD5 bfa6ce7d4cc5cce9463556e8872b177e
BLAKE2b-256 9dd889ab476aab1d05c0ef90581587f5f83058215d03fa5236f8e9816f6d8306

See more details on using hashes here.

File details

Details for the file pwrpy-6.0.6.dev0-py3-none-any.whl.

File metadata

  • Download URL: pwrpy-6.0.6.dev0-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Darwin/24.3.0

File hashes

Hashes for pwrpy-6.0.6.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 606fe51df920a25aaff4aaadb9c5f57c4285e2284b691ba216e811c48e493ec4
MD5 3819704c60413a16a45f38f7698f395b
BLAKE2b-256 6ab39df6989a1e14778be843aa29320b00edc3cfa46e1246afb0a0b5ca11da7e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page