Ripple blockchain library for Python
Project description
aioxrpy
Ripple blockchain library for Python.
Features
- Async JSON-RPC client.
- Signing and verifying transactions using private and public keys.
- Support for signing transactions with multiple keys.
- Serializer and deserializer for Ripple objects.
Installation
Library is available on PyPi, you can simply install it using pip.
$ pip install aioxrpy
Usage
Keys
Signing and verifying transactions, as well as generating new accounts is done through RippleKey class.
from aioxrpy.keys import RippleKey
# New key
key = RippleKey()
# From public key
key = RippleKey(public_key=b'public key')
# From master seed
key = RippleKey(private_key='seed')
# From private key
key = RippleKey(private_key=b'private key')
Such key can be converted to Account ID and public key.
Submitting transactions
RPC client provides a helper which signs and submits transaction. As a first
argument it takes a transaction dict. The second one is a RippleKey instance
used for signing this transaction.
from aioxrpy.rpc import RippleJsonRpc
rpc = RippleJsonRpc(url)
await rpc.sign_and_submit(
{
'Account': account,
'TransactionType': RippleTransactionType.Payment,
'Amount': decimals.xrp_to_drops(200),
'Destination': destination,
'Fee': 10
},
signer
)
Multi-signed transactions
RPC client provides a helper which signs and submits transaction using multiple
keys. As a second argument, it expects a list of RippleKey instances. Please
don't forget that each signer increases transaction fees.
from aioxrpy.rpc import RippleJsonRpc
rpc = RippleJsonRpc(url)
await rpc.multisign_and_submit(
{
'Account': account,
'TransactionType': RippleTransactionType.Payment,
'Amount': decimals.xrp_to_drops(200),
'Destination': destination,
'Fee': 30
},
[signer_1, signer_2]
)
Documentation
Docs and usage examples are available here.
Unit testing
To run unit tests, you need to bootstrap a Rippled regtest node first. Use the provided docker-compose.yml file.
$ docker-compose up -d
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aioxrpy-1.0.0.tar.gz.
File metadata
- Download URL: aioxrpy-1.0.0.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.0.0-1035-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdccecd82e8716db3c663c2e9ced56c7feb6e141041a64ff8d99f21a9dadd350
|
|
| MD5 |
d9163d3b312dadf88cdaa62b080151ab
|
|
| BLAKE2b-256 |
9dd7465f9ea2d3d5394a27082107369028a5bcf23665894d824036971c632c1e
|
File details
Details for the file aioxrpy-1.0.0-py3-none-any.whl.
File metadata
- Download URL: aioxrpy-1.0.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.0.0-1035-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46c5a75be6fcf3e83ca31d07fb70ba015c792055ac8ca7072bb86b84884a9604
|
|
| MD5 |
863abe938ac5cfd7f6b7b38481f46afe
|
|
| BLAKE2b-256 |
97442a548727b10f507a2ef46ff8a8aad333aaa614a11bb0eb9d46e4c720c965
|