Skip to main content

A python wrapper for the Ergo Appkit

Project description

ergo-python-appkit

This is a wrapper around Ergo's appkit, which is based on scala/java. Jpype is used to map to the JVM and the jar running within. That means that Java needs to be installed for this package to work.

Installation

Installation can be done through pip. Currently the package is not available yet on PyPi so you need to refer directly to the github.

pip install git+https://github.com/ergo-pad/ergo-python-appkit.git

Usage

The ergo appkit can be accessed by importing java classes AFTER importing the appkit, like this:

import ergo_python_appkit.appkit
from org.ergoplatform.appkit import Address

myErgoAddress = Address.create("9gF2wmTWcEX2EZu5QY3dJwURep1HWsXjUZdVavVWESun4Sp8BYj")
#will print the ergotree belonging to the address
print(myErgoAddress.toErgoContract().getErgoTree())

There are also convenience methods created to allow for easier use from Python for appkit functionality that is used often.

An example of a simple intra wallet transaction send from the nodes wallet:

from ergo_python_appkit.appkit import ErgoAppKit
from org.ergoplatform.appkit import Address

appKit = ErgoAppKit("http://myergonode:9053","mainnet","http://api.ergoplatform.org","nodeapikey")
myAddress = "9gF2wmTWcEX2EZu5QY3dJwURep1HWsXjUZdVavVWESun4Sp8BYj"

#collect boxes to spend 1 erg
inputs = appKit.boxesToSpend(address=myAddress,nergToSpend=int(1e9))

#Define output box
outputBox = appKit.buildOutBox(
                value=int(1e9),
                tokens=None,
                registers=None,
                contract=appKit.contractFromAddress(myAddress)
            )

#Build the unsigned transaction
unsignedTx = appKit.buildUnsignedTransaction(
                inputs=inputs,
                outputs=[outputBox],
                fee=int(1e6),
                sendChangeTo=Address.create(myAddress).getErgoAddress()
            )

#Sign the transaction with the node
signedTx = appKit.signTransactionWithNode(unsignedTx)

#Send the transaction
appKit.sendTransaction(signedTx)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ergo_python_appkit-0.3.2.tar.gz (51.5 MB view details)

Uploaded Source

Built Distribution

ergo_python_appkit-0.3.2-py3-none-any.whl (51.7 MB view details)

Uploaded Python 3

File details

Details for the file ergo_python_appkit-0.3.2.tar.gz.

File metadata

  • Download URL: ergo_python_appkit-0.3.2.tar.gz
  • Upload date:
  • Size: 51.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.6

File hashes

Hashes for ergo_python_appkit-0.3.2.tar.gz
Algorithm Hash digest
SHA256 88dd78133dee857f5dd440309465cf5d5cc7430f8231e978f3fab617e1fa6fae
MD5 0561ac66d79ec9fcf26505758f461f66
BLAKE2b-256 34f2ab3d11898bbf3cd151a953e88c76e6407e0ba726e72f416efe97cfd5800b

See more details on using hashes here.

File details

Details for the file ergo_python_appkit-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ergo_python_appkit-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9dc8e6c82c2e3207993bd5a82c2072f4c46e039161dae7ceeee8422d75dba1a9
MD5 b8455de8a5db21a71a9804724a4d5e8d
BLAKE2b-256 155a840985fae1f3aad07c5c37fc027a11ad6ef3a1d9ac36866535d024755841

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page