Skip to main content

Interact with ARK blockchain trough mainsail framework

Project description

python-mainsail

This package provides a simple implementation to interact with Ark blockchain API and managment tools for validators aiming to run a pool.

>>> from mainsail.tx.v1 import Transfer
>>> from mainsail import rest
>>> # http://xxx.xxx.xxx.xxx:4006/api/wallets/toons
>>> wallet = rest.GET.api.wallets.toons()
>>> wallet["address"]
'D5Ha4o3UTuTd59vjDw1F26mYhaRdXh7YPv'
>>> rest.GET.api.wallets()["meta"]["totalCount"]
89
>>> # use a custop peer
>>> custom_peer = {"ip": "49.13.30.19", "ports": {"api-development": 4003}}
>>> # http://49.13.30.19:4003/api/transactions?type=4
>>> [t["blockId"] for t in rest.GET.api.transactions(type=4, peer=custom_peer)["data"]]
['41afebd995473aab76e8dd7415ab742a6882a08f4c0e0a7305d1a48c551c955c', 'aff37ad0288fadc9d5fdec584d1affab2df0021e86cde3ecb2ba263d6deba3cc']
>>> t = Transfer(1, 'D5Ha4o3UTuTd59vjDw1F26mYhaRdXh7YPv', 'message \U0001f919')
>>> t.sign()
Type or paste your passphrase >
>>> t.send()
{'data': {'accept': [0], 'broadcast': [0], 'excess': [], 'invalid': []}}

Linux distributions

Due to RIPEMD160 issue with OpenSSL v>=3 hashlib.ripemd160 is disabled within python3. To enable it back, get the installation folder...

openssl version -d

... and make sure that the openssl config file contains following lines:

openssl_conf = openssl_init

[openssl_init]
providers = provider_sect

[provider_sect]
default = default_sect
legacy = legacy_sect

[default_sect]
activate = 1

[legacy_sect]
activate = 1

Validator pool managment tools

Ubuntu installation

First read installation script, then:

~$ bash <(wget -qO- https://bit.ly/3U6BI8v)

Deploy pool server

~$ mnsl_deploy # use ip address 0.0.0.0 with  port #5000

If you plan to deploy pool server behind a proxy, it is possible to customize ip and port:

~$ mnsl_deploy host=127.0.0.1 port=7542 # use localhost address with port #7542

Setup a pool using validator public key:

~$ add_pool puk=02968e862011738ac185e87f47dec61b32c842fd8e24fab625c02a15ad7e2d0f65

Configure pool options:

~$ set_pool ?key=value?

Check the logs:

~$ log_mnsl_pool
~$ log_mnsl_bg

Available transactions

  • Transfer
  • ValidatorRegistration
  • Vote
  • MultiSignature
  • MultiPayment
  • ValidatorResignation
  • UsernameRegistration
  • UsernameResignation

Features

  • secured private keys storage
  • secured webhook subscriptions storage
  • offline network configuration available
  • pool server with remote managment tool
  • cmd command line set_validator for windows platform
  • pool installation and update using pip

Support this project

Paypal me Bitcoin

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

ark-mainsail-1.2.0.tar.gz (26.8 kB view hashes)

Uploaded Source

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