Raiblocks Python RPC client 📦
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
prai
.gitignore
LICENSE
MANIFEST.in
README.rst
requirements.txt
setup.py

README.rst

prai 🙏

Raiblocks Python RPC client

Install

A somewhat stable version from pypi:

$ pip install prai

Or the most recent development version from Github:

$ git clone https://github.com/jxub/prai

$ cd prai/

$ git checkout dev

Usage

>>> from prai import Wallet, Account

# creating a wallet with the rai node url
>>> w = Wallet("http://localhost:7475")

>>> w.account_list()
{
    "accounts" : [
    ]
}

>>> w.accounts_create(count=2)
{
    "accounts": [
        "xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000",
        "xrb_1e5aqegc1jb7qe964u4adzmcezyo6o146zb8hm6dft8tkp79za3s00000000"
    ]
}

>>> w.account_balance("xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000")
{
    "balance": "10000",
    "pending": "10000"
}

>>> [from_addr, to_addr] = w.account_list()["accounts"][:2]

>>> w.send(from_addr, to_addr, 10000)
{
    "block": "000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F"
}

# query the same account as before
>>> w.account_balance("xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000")
{
    "balance": "0",
    "pending": "0"
}

Some notes

Prai is a work in progress, so expect some rough edges and stay tuned for updates 🙈.

Roadmap

  • Add some higher-level features, for example a simple e-commerce payment API.
  • Add more validation and tests (ughhh).
  • Add hashing of Rai addrsses to shorter to be better for end-user (??!)

🍻