Planetmint Python Driver
Free software: AGPLv3
Check our Documentation
Features
Support for preparing, fulfilling, and sending transactions to a Planetmint node.
Retrieval of transactions by id.
Install
The instructions below were tested on Ubuntu 16.04 LTS. They should also work on other Linux distributions and on macOS. The driver might work on Windows as well, but we do not guarantee it. We recommend to set up (e.g. via Docker on Windows) an Ubuntu VM there.
We recommend you use a virtual environment to install and update to the latest stable version using pip (or pip3):
pip install -U planetmint-driver
That will install the latest stable Planetmint Python Driver. If you want to install an Alpha, Beta or RC version of the Python Driver, use something like:
pip install -U planetmint_driver==0.11.1
The above command will install version 0.11.1. You can find a list of all versions in the release history page on PyPI.
More information on how to install the driver can be found in the Quickstart
Planetmint Documentation
Usage
Example: Create a divisible asset for Alice who issues 10 token to Bob so that he can use her Game Boy. Afterwards Bob spends 3 of these tokens.
If you want to send a transaction you need to Determine the Planetmint Root URL.
# import Planetmint and create an object
from planetmint_driver import Planetmint
bdb_root_url = 'https://example.com:9984'
bdb = Planetmint(bdb_root_url)
# generate a keypair
from planetmint_driver.crypto import generate_keypair
alice, bob = generate_keypair(), generate_keypair()
# create a digital asset for Alice
game_boy_token = {
'data': {
'token_for': {
'game_boy': {
'serial_number': 'LR35902'
}
},
'description': 'Time share token. Each token equals one hour of usage.',
},
}
# prepare the transaction with the digital asset and issue 10 tokens for Bob
prepared_token_tx = bdb.transactions.prepare(
operation='CREATE',
signers=alice.public_key,
recipients=[([bob.public_key], 10)],
asset=game_boy_token)
# fulfill and send the transaction
fulfilled_token_tx = bdb.transactions.fulfill(
prepared_token_tx,
private_keys=alice.private_key)
bdb.transactions.send_commit(fulfilled_token_tx)
# Use the tokens
# create the output and inout for the transaction
transfer_asset = {'id': fulfilled_token_tx['id']}
output_index = 0
output = fulfilled_token_tx['outputs'][output_index]
transfer_input = {'fulfillment': output['condition']['details'],
'fulfills': {'output_index': output_index,
'transaction_id': transfer_asset['id']},
'owners_before': output['public_keys']}
# prepare the transaction and use 3 tokens
prepared_transfer_tx = bdb.transactions.prepare(
operation='TRANSFER',
asset=transfer_asset,
inputs=transfer_input,
recipients=[([alice.public_key], 3), ([bob.public_key], 7)])
# fulfill and send the transaction
fulfilled_transfer_tx = bdb.transactions.fulfill(
prepared_transfer_tx,
private_keys=bob.private_key)
sent_transfer_tx = bdb.transactions.send_commit(fulfilled_transfer_tx)
Compatibility Matrix
Planetmint Server |
Planetmint Driver |
|---|---|
>= 2.0.0b7 |
0.6.2 |
>= 2.0.0b7 |
0.6.1 |
>= 2.0.0b7 |
0.6.0 |
>= 2.0.0b5 |
0.5.3 |
>= 2.0.0b5 |
0.5.2 |
>= 2.0.0b5 |
0.5.1 |
>= 2.0.0b1 |
0.5.0 |
>= 2.0.0a3 |
0.5.0a4 |
>= 2.0.0a2 |
0.5.0a2 |
>= 2.0.0a1 |
0.5.0a1 |
>= 1.0.0 |
0.4.x |
== 1.0.0rc1 |
0.3.x |
>= 0.9.1 |
0.2.x |
>= 0.8.2 |
>= 0.1.3 |
Although we do our best to keep the master branches in sync, there may be occasional delays.
License
licenses - open source & open content
Credits
This package was initially created using Cookiecutter and the audreyr/cookiecutter-pypackage project template. Many Planetmint developers have contributed since then.
Release files for planetmint-driver-python 0.18.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| planetmint_driver_python-0.18.2.tar.gz | 27.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| planetmint_driver_python-0.18.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.8 kB
Release files / planetmint_driver_python-0.18.2.tar.gz
| Download URL | planetmint_driver_python-0.18.2.tar.gz |
|---|---|
| Size | 27.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d72c1ff7badf4e51eb25d82418f2cb3613e721084cfa0b23ac578d58abe95bae
|
|
BLAKE2b-256 checksum How to use checksums |
ff3bfdb9368c0bce16e003a3571e4afcaaa121f4ee6033bec91a0aa974530acf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.2 CPython/3.9.16 Linux/5.15.0-1035-azure
|
Release files / planetmint_driver_python-0.18.2-py3-none-any.whl
| Download URL | planetmint_driver_python-0.18.2-py3-none-any.whl |
|---|---|
| Size | 30.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16b553302e3921e03313413f7bf250bee667d140a4a076dac42a01393e48d455
|
|
BLAKE2b-256 checksum How to use checksums |
7406421628600a09a61130d6de5f5ede4f3ec78aa30f5af52230bff54c7670f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.2 CPython/3.9.16 Linux/5.15.0-1035-azure
|