Project Origin ledger SDK
Project description
# Ledger-SDK
The goal of this repository is to create a simple and common way to interact with the Ledger of Origins that is a part of Project Origin.
This is work in progress, more documentation will be written as the project progresses.
# Keys
TODO: A whole section where there will be info on key management.
# Using the SDK
There are a number of request that can be executed to the ledger, these are:
PublishMeasurementRequest
IssueGGORequest
TransferGGORequest
SplitGGORequest
RetireGGORequest
The first two are only for issuing bodies, and will be denied if tried.
To execute a request one must first import the ledger, batch and a request type
from origin_ledger_sdk import Ledger, Batch, TransferGGORequest
## Transfer request
Next one can create a new TransferGGORequest, This request requires two keys as input. First key should be the private extended key that contains a GGO. Second should be the address where the GGO must be transferred to.
## Batch
After the request has been created, we must create a batch using a another key. And then the request is added to the batch. Multiple request can be added to the same batch. Which insures all or none of the transactions are executed.
batch = Batch(signer_key=key) batch.add_request(request)
BEWARE - everything done in one batch can be seen by anyone as a single batch and therefore know they have been performed by the same entity. So one should be careful about what one bundles in a single batch.
## Executing a batch
Last thing to do is to send the batch to the ledger. Create an instance of the Ledger with the url to the public endpoint Everything on the ledger is asynchronous, so a handle is returned, on which a user can request the status of the batch.
ledger = Ledger(’https://url-to-ledger’)
# Send the batch to the ledger to execute. handle = ledger.execute_batch(batch)
# Request status of the batch. status = ledger.get_batch_status(handle)
# Source code
Make sure to upgrade your system packages for good measure:
pip install –upgrade –user setuptools pip pipenv
Then install project dependencies:
pipenv install
To run the tests:
pipenv run pytest
# Push to pypi
python3 setup.py bdist_wheel python3 -m twine upload dist/* –repository project_origin
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 Distributions
Built Distribution
File details
Details for the file Origin_Ledger_SDK-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: Origin_Ledger_SDK-0.1.6-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91e4d5ba49dc1e050f30c78aaf102711751ebadc31e045d162aa19cfda2b5f19 |
|
MD5 | effbdeb89a4895edbe5a616e007db5ba |
|
BLAKE2b-256 | d95362bc6927e2041f1ad848f8c2f68f487acb765237b998fb1630d7ef3bfb14 |