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
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 |