ark-mainsail


Nameark-mainsail JSON
Version 1.2.1 PyPI version JSON
download
home_pagehttps://github.com/Moustikitos/python-mainsail
SummaryInteract with ARK blockchain trough mainsail framework
upload_time2024-05-19 15:14:08
maintainerToons
docs_urlNone
authorToons
requires_pythonNone
licenseCopyright 2024, MIT licence
keywords api ark blockchain
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # python-mainsail

This package provides a simple implementation to interact with `Ark` blockchain
API and managment tools for validators aiming to [run a pool](https://moustikitos.github.io/python-mainsail/pool).

```python
>>> 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 = rest.Peer("http://49.13.30.19:4006", port_name="api-development")
>>> custom_peer
{'ip': '49.13.30.19', 'ports': {'api-development': 4006}}
>>> # 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](https://github.com/openssl/openssl/issues/16994),
`hashlib.ripemd160` is disabled within `python3`. To enable it back, get the
installation folder...

```bash
openssl version -d
```

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

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

## Available transactions

- [x] Transfer
- [x] ValidatorRegistration
- [x] Vote
- [x] MultiSignature
- [x] MultiPayment
- [x] ValidatorResignation
- [x] UsernameRegistration
- [x] UsernameResignation

## Features

- [x] secured private keys storage
- [x] secured webhook subscriptions storage
- [x] offline network configuration available
- [x] pool server with remote managment tool
- [x] `cmd` command line `set_pool` and `dump_prk` for windows platform
- [x] pool installation and update using pip

## Support this project

<!-- [![Liberapay receiving](https://img.shields.io/liberapay/goal/Toons?logo=liberapay)](https://liberapay.com/Toons/donate) -->
[![Paypal me](https://img.shields.io/badge/PayPal-toons-00457C?logo=paypal&logoColor=white)](https://paypal.me/toons)
[![Bitcoin](https://img.shields.io/badge/Donate-bc1q6aqr0hfq6shwlaux8a7ydvncw53lk2zynp277x-ff9900?logo=bitcoin)](https://raw.githubusercontent.com/Moustikitos/python-mainsail/master/docs/img/bc1q6aqr0hfq6shwlaux8a7ydvncw53lk2zynp277x.png)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Moustikitos/python-mainsail",
    "name": "ark-mainsail",
    "maintainer": "Toons",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "moustikitos@gmail.com",
    "keywords": "api, ark, blockchain",
    "author": "Toons",
    "author_email": "moustikitos@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ef/6d/99c523f6009ff2880e830f7a506671292871e16c6638ee4ad299c8f72535/ark-mainsail-1.2.1.tar.gz",
    "platform": null,
    "description": "# python-mainsail\r\n\r\nThis package provides a simple implementation to interact with `Ark` blockchain\r\nAPI and managment tools for validators aiming to [run a pool](https://moustikitos.github.io/python-mainsail/pool).\r\n\r\n```python\r\n>>> from mainsail.tx.v1 import Transfer\r\n>>> from mainsail import rest\r\n>>> # http://xxx.xxx.xxx.xxx:4006/api/wallets/toons\r\n>>> wallet = rest.GET.api.wallets.toons()\r\n>>> wallet[\"address\"]\r\n'D5Ha4o3UTuTd59vjDw1F26mYhaRdXh7YPv'\r\n>>> rest.GET.api.wallets()[\"meta\"][\"totalCount\"]\r\n89\r\n>>> # use a custop peer\r\n>>> custom_peer = rest.Peer(\"http://49.13.30.19:4006\", port_name=\"api-development\")\r\n>>> custom_peer\r\n{'ip': '49.13.30.19', 'ports': {'api-development': 4006}}\r\n>>> # http://49.13.30.19:4003/api/transactions?type=4\r\n>>> [t[\"blockId\"] for t in rest.GET.api.transactions(type=4, peer=custom_peer)[\"data\"]]\r\n['41afebd995473aab76e8dd7415ab742a6882a08f4c0e0a7305d1a48c551c955c', 'aff37ad0288fadc9d5fdec584d1affab2df0021e86cde3ecb2ba263d6deba3cc']\r\n>>> t = Transfer(1, 'D5Ha4o3UTuTd59vjDw1F26mYhaRdXh7YPv', 'message \\U0001f919')\r\n>>> t.sign()\r\nType or paste your passphrase >\r\n>>> t.send()\r\n{'data': {'accept': [0], 'broadcast': [0], 'excess': [], 'invalid': []}}\r\n```\r\n\r\n## Linux distributions\r\n\r\nDue to [RIPEMD160 issue with OpenSSL v>=3](https://github.com/openssl/openssl/issues/16994),\r\n`hashlib.ripemd160` is disabled within `python3`. To enable it back, get the\r\ninstallation folder...\r\n\r\n```bash\r\nopenssl version -d\r\n```\r\n\r\n... and make sure that the openssl config file contains following lines:\r\n\r\n```conf\r\nopenssl_conf = openssl_init\r\n\r\n[openssl_init]\r\nproviders = provider_sect\r\n\r\n[provider_sect]\r\ndefault = default_sect\r\nlegacy = legacy_sect\r\n\r\n[default_sect]\r\nactivate = 1\r\n\r\n[legacy_sect]\r\nactivate = 1\r\n```\r\n\r\n## Available transactions\r\n\r\n- [x] Transfer\r\n- [x] ValidatorRegistration\r\n- [x] Vote\r\n- [x] MultiSignature\r\n- [x] MultiPayment\r\n- [x] ValidatorResignation\r\n- [x] UsernameRegistration\r\n- [x] UsernameResignation\r\n\r\n## Features\r\n\r\n- [x] secured private keys storage\r\n- [x] secured webhook subscriptions storage\r\n- [x] offline network configuration available\r\n- [x] pool server with remote managment tool\r\n- [x] `cmd` command line `set_pool` and `dump_prk` for windows platform\r\n- [x] pool installation and update using pip\r\n\r\n## Support this project\r\n\r\n<!-- [![Liberapay receiving](https://img.shields.io/liberapay/goal/Toons?logo=liberapay)](https://liberapay.com/Toons/donate) -->\r\n[![Paypal me](https://img.shields.io/badge/PayPal-toons-00457C?logo=paypal&logoColor=white)](https://paypal.me/toons)\r\n[![Bitcoin](https://img.shields.io/badge/Donate-bc1q6aqr0hfq6shwlaux8a7ydvncw53lk2zynp277x-ff9900?logo=bitcoin)](https://raw.githubusercontent.com/Moustikitos/python-mainsail/master/docs/img/bc1q6aqr0hfq6shwlaux8a7ydvncw53lk2zynp277x.png)\r\n",
    "bugtrack_url": null,
    "license": "Copyright 2024, MIT licence",
    "summary": "Interact with ARK blockchain trough mainsail framework",
    "version": "1.2.1",
    "project_urls": {
        "Bug Reports": "https://github.com/Moustikitos/python-mainsail/issues",
        "Funding": "https://github.com/Moustikitos/python-mainsail?tab=readme-ov-file#support-this-project",
        "Homepage": "https://github.com/Moustikitos/python-mainsail",
        "Source": "https://github.com/Moustikitos/python-mainsail/"
    },
    "split_keywords": [
        "api",
        " ark",
        " blockchain"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef6d99c523f6009ff2880e830f7a506671292871e16c6638ee4ad299c8f72535",
                "md5": "7330bd97927c4e6ba8fac6ae8cfa074d",
                "sha256": "842423fc94a7aef92daa57760bbeea9101f30f9ae4694f5154de39064fbea9aa"
            },
            "downloads": -1,
            "filename": "ark-mainsail-1.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "7330bd97927c4e6ba8fac6ae8cfa074d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 29011,
            "upload_time": "2024-05-19T15:14:08",
            "upload_time_iso_8601": "2024-05-19T15:14:08.923653Z",
            "url": "https://files.pythonhosted.org/packages/ef/6d/99c523f6009ff2880e830f7a506671292871e16c6638ee4ad299c8f72535/ark-mainsail-1.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-19 15:14:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Moustikitos",
    "github_project": "python-mainsail",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "ark-mainsail"
}
        
Elapsed time: 0.74938s