arise


Namearise JSON
Version 0.2.3 PyPI version JSON
download
home_pageNone
SummaryRunning Bitcoin and peripherals via Terminal User Interface
upload_time2024-12-07 17:36:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords anonymous bitcoin cli lightning terminal tui ui user-interface
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Arise

[![Bitcoin-only](https://img.shields.io/badge/bitcoin-only-FF9900.svg?logo=bitcoin)](https://twentyone.world)
[![Docker](https://img.shields.io/badge/docker-2496ED?&logo=docker&logoColor=white)](https://hub.docker.com)
[![Documentation](https://img.shields.io/badge/pdoc-555?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAkUExURUdwTJHtkZDtkI/vj2rOYFXBQn3deZDukDuzAHDTaFrES4HhfmcEZqoAAAAHdFJOUwCAv0Df788Wv3t3AAACCElEQVQ4y42UsXKcMBCGuVC4Pc6FJuPGRzLDnK/xnAsKP0IeIU+QLhyFEHoAVlJlNxJHlwbBVY4LyeeXs4BLCnQzCTOAZj+0K+3/iyD4zwvhIIiiey/+iVRB8LnJPJBq6QA8eeBRuI8R8UFKTYbc7QGqQRIAOa++KKAD6LW4nQMFwgIB7gMlLaPQz8GVMlhxjD2AoKVcSeKl2jCAyq2K/5yBsiINRqSx+QwUcmhgFNmXOWivzO2CZsWTlyrl2U69qPmMjUi0pBqreY0bvi8BGGHzVaVKJnWHi2o5bwlhOI4JGF9yzeuTPua+5qoHEHvfDAvF398qPz70vboRl4DV8vESCC3HqSfsAAotkNf0sY1HhnR+AZTQruzrBXAHLLe/h9HDtIRwFa+v3XvL4bX8NXpvrLTDb31tImdezvO7dgipAYTOmhyYXAYptOvNuPVR99Ry24BieJlqEX8bdzhUWlBo3JQTMExZ//X7BNplmCgN4t3FFdecnUHJcHLi6ogfEurCujdlMwK38AMItd/FETp0TD2vi6nvW3AHYkje1VmcKJ6humyn46hB1ebkqPwhsYkJs8+jmLYp2Z5AgwkfnlRLPR7BsBTYUH3M7pEVRAMcT2dXbbWLM6d/SEFi6pKayVU75z2Oh3FKoKt7Lv/IkRw6M4mJXKrerP8aII6vz8MVxvsv//gNfQBIOvQNeKr0GQAAAABJRU5ErkJggg==)](https://krutt.github.io/arise)
[![Languages](https://img.shields.io/github/languages/count/krutt/arise)](https://github.com/krutt/arise)
[![Last commit](https://img.shields.io/github/last-commit/krutt/arise/master)](https://github.com/krutt/arise)
[![Size](https://img.shields.io/github/repo-size/krutt/arise)](https://github.com/krutt/arise)
[![Top](https://img.shields.io/github/languages/top/krutt/arise)](https://github.com/krutt/arise)

[![Arise Banner](static/arise-banner.svg)](https://github.com/krutt/arise/blob/master/static/arise-banner.svg)

## Getting started

You can use `arise` simply by installing via `pip` on your Terminal.

```sh
pip install arise
```
<details>
  <summary> Sample output when running install command </summary>

![Sample Pip Install](https://github.com/krutt/arise/blob/master/static/pip-install.gif)

</details>

And build required images with `build` command. The following shows you how to build a `Testnet`
Bitcoin-Core node as well as [electrs](https://github.com/aekasitt/electrs),
[mempool](https://github.com/mempool/mempool) and [mutiny-web](https://github.com/MutinyWallet/mutiny-web)

```sh
arise build --testnet --electrs --mempool --mutiny-web
```

<details>
  <summary> Sample output when running build command </summary>

![Sample Arise Build](https://github.com/krutt/arise/blob/master/static/arise-build.gif)

</details>

The initial build may take some time as it is downloading source codes from different repositories
and interfacing with `Docker Daemon` to build according to flagged requirements. Once the build process
completes, you can begin deploying local network with peripherals as such:

```sh
arise deploy --testnet --with-electrs --with-mempool --with-mutiny-web
```

<details>
<summary>Sample output when running deploy command</summary>

![Sample Arise Deploy](https://github.com/krutt/arise/blob/master/static/arise-deploy.gif)


</details>

You will have docker containers running in the backend, ready to be interfaced by your local
environment applications you are developing.

## Dashboard

Arise not only facilitates the deployment of intermingling [Bitcoin](https://twentyone.world) services
but allows you to view Node's Blockchain Information, Mempool Information, Peripheral Details and etc.

In order to view relevant metrics, launch the dashboard using the following command.

```sh
arise dashboard
```

<details>
  <summary> Sample output when running dashboard command </summary>

![Sample Arise Dashboard](https://github.com/krutt/arise/blob/master/static/arise-dashboard.gif)
</details>

## Contributions

### Prerequisites

* [python](https://www.python.org) version 3.8 and above
* [uv](https://docs.astral.sh/uv)
* [docker](https://www.docker.com)

### Set up local environment

The following guide walks through setting up your local working environment using `pyenv`
as Python version manager and `uv` as Python package manager. If you do not have `pyenv`
installed, run the following command.

<details>
  <summary> Install using Homebrew (Darwin) </summary>
  
  ```sh
  brew install pyenv --head
  ```
</details>

<details>
  <summary> Install using standalone installer (Darwin and Linux) </summary>
  
  ```sh
  curl https://pyenv.run | bash
  ```
</details>

If you do not have `uv` installed, run the following command.

<details>
  <summary> Install using Homebrew (Darwin) </summary>

  ```sh
  brew install uv
  ```
</details>

<details>
  <summary> Install using standalone installer (Darwin and Linux) </summary>

  ```sh
  curl -LsSf https://astral.sh/uv/install.sh | sh
  ```
</details>


Once you have `pyenv` Python version manager installed, you can
install any version of Python above version 3.8 for this project.
The following commands help you set up and activate a Python virtual
environment where `uv` can download project dependencies from the `PyPI`
open-sourced registry defined under `pyproject.toml` file.

<details>
  <summary> Set up environment and synchronize project dependencies </summary>

  ```sh
  pyenv shell 3.11.9
  uv venv  --python-preference system
  source .venv/bin/activate
  uv sync --dev
  ```
</details>

Now you have the entire project set-up and ready to be tinkered with. Try out the
standard `arise` command which brings up a help menu.

<details>
  <summary> Launch Arise Help </summary>

  ```sh
  $ arise
  >  Usage: arise [OPTIONS] COMMAND [ARGS]...
  > 
  >   arise
  > 
  > Options:
  >   --help  Show this message and exit.
  > 
  > Commands:
  >   auth       Persist authentications in desired run-control file.
  >   build      Build peripheral images for the desired cluster.
  >   clean      Remove all active "arise-*" containers, drop network.
  >   dashboard  Dashboard for checking current state of images deployed.
  >   deploy     Deploy cluster.
  >   pull       Pull core and peripheral images from GitHub container registry
  ```
</details>

## Change-logs

* **0.1.0** Cloned useful and useless things from [aesir](https://github.com/krutt/aesir)
* **0.1.1** Remove visual janks from progress bars
* **0.1.2** Establish new yaml formats and typings
* **0.1.3** Attempt to make `-testnet4` flag work on bitcoin daemon
* **0.1.4** Experiment with c compilers for faster build-times
* **0.1.5** Add peripheral images `arise-elctrs`, `arise-mempoopl` and `arise-mutiny-wallet`
* **0.1.6** Pretend launching electrs on `testnet4` is easy by using custom `electrs` repository
* **0.1.7** Separate middleware deployment and add delay for `postgres` setup time
* **0.1.8** Experiment with cookie authentications between peripheral images
* **0.1.9** Enable intranet between containers and authenticate using cookie
* **0.2.0** Attribute animation tutoral and typeface in README markdown
* **0.2.1** Drop `testnet4` hacky implementation and custom `electrs` repository; Not worth it.
* **0.2.2** Attribute public domain art, persist authentications, drop `poetry` and use `uv`
* **0.2.3** Use GitHub workflows to setup GitHub Pages application for documentation

## Attributions

1. [Dutch Golden Age Prints and Paintings](https://picryl.com/media/soldaat-die-zijn-roer-met-beide-handen-rechtop-voor-zich-vasthoudt-nr-20-ca-1c5eb2) - Rijksmuseum, Public Domain Marked.
2. [ปฐวี - Patavi](https://www.f0nt.com/release/sov-patavi) font by [uvSOV - Worawut Thanawatanawanich](fb.com/worawut.thanawatanawanich)
3. [Florent Galon](https://flo.rent) for flame animation used as Tusk's HellFire.
4. [Avinash Vytla](https://github.com/SnippetsDevelop) for breaking down Florent's process on [YouTube](https://youtu.be/RP_x_F7m1UI)

### Known issues

You may run into this setback when first running this project. This is a
[docker-py](https://github.com/docker/docker-py/issues/3059) issue widely known as of October 2022.

```python
docker.errors.DockerException:
  Error while fetching server API version: (
    'Connection aborted.', FileNotFoundError(
      2, 'No such file or directory'
    )
  )
```

See the following issue for Mac OSX troubleshooting.
[docker from_env and pull is broken on mac](https://github.com/docker/docker-py/issues/3059#issuecomment-1294369344)
Recommended fix is to run the following command:

```sh
sudo ln -s "$HOME/.docker/run/docker.sock" /var/run/docker.sock
```

## License

This project is licensed under the terms of the MIT license.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "arise",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "anonymous, bitcoin, cli, lightning, terminal, tui, ui, user-interface",
    "author": null,
    "author_email": "Sitt Guruvanich <aekasitt.g+github@siamintech.co.th>",
    "download_url": "https://files.pythonhosted.org/packages/c9/7d/d1891b327b27dc2676d30976f7e7716a977f918a779b89672aaa91c71704/arise-0.2.3.tar.gz",
    "platform": null,
    "description": "# Arise\n\n[![Bitcoin-only](https://img.shields.io/badge/bitcoin-only-FF9900.svg?logo=bitcoin)](https://twentyone.world)\n[![Docker](https://img.shields.io/badge/docker-2496ED?&logo=docker&logoColor=white)](https://hub.docker.com)\n[![Documentation](https://img.shields.io/badge/pdoc-555?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAkUExURUdwTJHtkZDtkI/vj2rOYFXBQn3deZDukDuzAHDTaFrES4HhfmcEZqoAAAAHdFJOUwCAv0Df788Wv3t3AAACCElEQVQ4y42UsXKcMBCGuVC4Pc6FJuPGRzLDnK/xnAsKP0IeIU+QLhyFEHoAVlJlNxJHlwbBVY4LyeeXs4BLCnQzCTOAZj+0K+3/iyD4zwvhIIiiey/+iVRB8LnJPJBq6QA8eeBRuI8R8UFKTYbc7QGqQRIAOa++KKAD6LW4nQMFwgIB7gMlLaPQz8GVMlhxjD2AoKVcSeKl2jCAyq2K/5yBsiINRqSx+QwUcmhgFNmXOWivzO2CZsWTlyrl2U69qPmMjUi0pBqreY0bvi8BGGHzVaVKJnWHi2o5bwlhOI4JGF9yzeuTPua+5qoHEHvfDAvF398qPz70vboRl4DV8vESCC3HqSfsAAotkNf0sY1HhnR+AZTQruzrBXAHLLe/h9HDtIRwFa+v3XvL4bX8NXpvrLTDb31tImdezvO7dgipAYTOmhyYXAYptOvNuPVR99Ry24BieJlqEX8bdzhUWlBo3JQTMExZ//X7BNplmCgN4t3FFdecnUHJcHLi6ogfEurCujdlMwK38AMItd/FETp0TD2vi6nvW3AHYkje1VmcKJ6humyn46hB1ebkqPwhsYkJs8+jmLYp2Z5AgwkfnlRLPR7BsBTYUH3M7pEVRAMcT2dXbbWLM6d/SEFi6pKayVU75z2Oh3FKoKt7Lv/IkRw6M4mJXKrerP8aII6vz8MVxvsv//gNfQBIOvQNeKr0GQAAAABJRU5ErkJggg==)](https://krutt.github.io/arise)\n[![Languages](https://img.shields.io/github/languages/count/krutt/arise)](https://github.com/krutt/arise)\n[![Last commit](https://img.shields.io/github/last-commit/krutt/arise/master)](https://github.com/krutt/arise)\n[![Size](https://img.shields.io/github/repo-size/krutt/arise)](https://github.com/krutt/arise)\n[![Top](https://img.shields.io/github/languages/top/krutt/arise)](https://github.com/krutt/arise)\n\n[![Arise Banner](static/arise-banner.svg)](https://github.com/krutt/arise/blob/master/static/arise-banner.svg)\n\n## Getting started\n\nYou can use `arise` simply by installing via `pip` on your Terminal.\n\n```sh\npip install arise\n```\n<details>\n  <summary> Sample output when running install command </summary>\n\n![Sample Pip Install](https://github.com/krutt/arise/blob/master/static/pip-install.gif)\n\n</details>\n\nAnd build required images with `build` command. The following shows you how to build a `Testnet`\nBitcoin-Core node as well as [electrs](https://github.com/aekasitt/electrs),\n[mempool](https://github.com/mempool/mempool) and [mutiny-web](https://github.com/MutinyWallet/mutiny-web)\n\n```sh\narise build --testnet --electrs --mempool --mutiny-web\n```\n\n<details>\n  <summary> Sample output when running build command </summary>\n\n![Sample Arise Build](https://github.com/krutt/arise/blob/master/static/arise-build.gif)\n\n</details>\n\nThe initial build may take some time as it is downloading source codes from different repositories\nand interfacing with `Docker Daemon` to build according to flagged requirements. Once the build process\ncompletes, you can begin deploying local network with peripherals as such:\n\n```sh\narise deploy --testnet --with-electrs --with-mempool --with-mutiny-web\n```\n\n<details>\n<summary>Sample output when running deploy command</summary>\n\n![Sample Arise Deploy](https://github.com/krutt/arise/blob/master/static/arise-deploy.gif)\n\n\n</details>\n\nYou will have docker containers running in the backend, ready to be interfaced by your local\nenvironment applications you are developing.\n\n## Dashboard\n\nArise not only facilitates the deployment of intermingling [Bitcoin](https://twentyone.world) services\nbut allows you to view Node's Blockchain Information, Mempool Information, Peripheral Details and etc.\n\nIn order to view relevant metrics, launch the dashboard using the following command.\n\n```sh\narise dashboard\n```\n\n<details>\n  <summary> Sample output when running dashboard command </summary>\n\n![Sample Arise Dashboard](https://github.com/krutt/arise/blob/master/static/arise-dashboard.gif)\n</details>\n\n## Contributions\n\n### Prerequisites\n\n* [python](https://www.python.org) version 3.8 and above\n* [uv](https://docs.astral.sh/uv)\n* [docker](https://www.docker.com)\n\n### Set up local environment\n\nThe following guide walks through setting up your local working environment using `pyenv`\nas Python version manager and `uv` as Python package manager. If you do not have `pyenv`\ninstalled, run the following command.\n\n<details>\n  <summary> Install using Homebrew (Darwin) </summary>\n  \n  ```sh\n  brew install pyenv --head\n  ```\n</details>\n\n<details>\n  <summary> Install using standalone installer (Darwin and Linux) </summary>\n  \n  ```sh\n  curl https://pyenv.run | bash\n  ```\n</details>\n\nIf you do not have `uv` installed, run the following command.\n\n<details>\n  <summary> Install using Homebrew (Darwin) </summary>\n\n  ```sh\n  brew install uv\n  ```\n</details>\n\n<details>\n  <summary> Install using standalone installer (Darwin and Linux) </summary>\n\n  ```sh\n  curl -LsSf https://astral.sh/uv/install.sh | sh\n  ```\n</details>\n\n\nOnce you have `pyenv` Python version manager installed, you can\ninstall any version of Python above version 3.8 for this project.\nThe following commands help you set up and activate a Python virtual\nenvironment where `uv` can download project dependencies from the `PyPI`\nopen-sourced registry defined under `pyproject.toml` file.\n\n<details>\n  <summary> Set up environment and synchronize project dependencies </summary>\n\n  ```sh\n  pyenv shell 3.11.9\n  uv venv  --python-preference system\n  source .venv/bin/activate\n  uv sync --dev\n  ```\n</details>\n\nNow you have the entire project set-up and ready to be tinkered with. Try out the\nstandard `arise` command which brings up a help menu.\n\n<details>\n  <summary> Launch Arise Help </summary>\n\n  ```sh\n  $ arise\n  >  Usage: arise [OPTIONS] COMMAND [ARGS]...\n  > \n  >   arise\n  > \n  > Options:\n  >   --help  Show this message and exit.\n  > \n  > Commands:\n  >   auth       Persist authentications in desired run-control file.\n  >   build      Build peripheral images for the desired cluster.\n  >   clean      Remove all active \"arise-*\" containers, drop network.\n  >   dashboard  Dashboard for checking current state of images deployed.\n  >   deploy     Deploy cluster.\n  >   pull       Pull core and peripheral images from GitHub container registry\n  ```\n</details>\n\n## Change-logs\n\n* **0.1.0** Cloned useful and useless things from [aesir](https://github.com/krutt/aesir)\n* **0.1.1** Remove visual janks from progress bars\n* **0.1.2** Establish new yaml formats and typings\n* **0.1.3** Attempt to make `-testnet4` flag work on bitcoin daemon\n* **0.1.4** Experiment with c compilers for faster build-times\n* **0.1.5** Add peripheral images `arise-elctrs`, `arise-mempoopl` and `arise-mutiny-wallet`\n* **0.1.6** Pretend launching electrs on `testnet4` is easy by using custom `electrs` repository\n* **0.1.7** Separate middleware deployment and add delay for `postgres` setup time\n* **0.1.8** Experiment with cookie authentications between peripheral images\n* **0.1.9** Enable intranet between containers and authenticate using cookie\n* **0.2.0** Attribute animation tutoral and typeface in README markdown\n* **0.2.1** Drop `testnet4` hacky implementation and custom `electrs` repository; Not worth it.\n* **0.2.2** Attribute public domain art, persist authentications, drop `poetry` and use `uv`\n* **0.2.3** Use GitHub workflows to setup GitHub Pages application for documentation\n\n## Attributions\n\n1. [Dutch Golden Age Prints and Paintings](https://picryl.com/media/soldaat-die-zijn-roer-met-beide-handen-rechtop-voor-zich-vasthoudt-nr-20-ca-1c5eb2) - Rijksmuseum, Public Domain Marked.\n2. [\u0e1b\u0e10\u0e27\u0e35 - Patavi](https://www.f0nt.com/release/sov-patavi) font by [uvSOV - Worawut Thanawatanawanich](fb.com/worawut.thanawatanawanich)\n3. [Florent Galon](https://flo.rent) for flame animation used as Tusk's HellFire.\n4. [Avinash Vytla](https://github.com/SnippetsDevelop) for breaking down Florent's process on [YouTube](https://youtu.be/RP_x_F7m1UI)\n\n### Known issues\n\nYou may run into this setback when first running this project. This is a\n[docker-py](https://github.com/docker/docker-py/issues/3059) issue widely known as of October 2022.\n\n```python\ndocker.errors.DockerException:\n  Error while fetching server API version: (\n    'Connection aborted.', FileNotFoundError(\n      2, 'No such file or directory'\n    )\n  )\n```\n\nSee the following issue for Mac OSX troubleshooting.\n[docker from_env and pull is broken on mac](https://github.com/docker/docker-py/issues/3059#issuecomment-1294369344)\nRecommended fix is to run the following command:\n\n```sh\nsudo ln -s \"$HOME/.docker/run/docker.sock\" /var/run/docker.sock\n```\n\n## License\n\nThis project is licensed under the terms of the MIT license.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Running Bitcoin and peripherals via Terminal User Interface",
    "version": "0.2.3",
    "project_urls": null,
    "split_keywords": [
        "anonymous",
        " bitcoin",
        " cli",
        " lightning",
        " terminal",
        " tui",
        " ui",
        " user-interface"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d6a93255247a4b2320a68fb2cbc52eb6db0cdb9876d444e251548e59c25607e8",
                "md5": "022534fc84ba10b414cc7c77fce1ed09",
                "sha256": "6d2e42e05b9d788df44e2388b5781977e800d53280c02d5762547ec18717dd0d"
            },
            "downloads": -1,
            "filename": "arise-0.2.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "022534fc84ba10b414cc7c77fce1ed09",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 29707,
            "upload_time": "2024-12-07T17:34:05",
            "upload_time_iso_8601": "2024-12-07T17:34:05.947248Z",
            "url": "https://files.pythonhosted.org/packages/d6/a9/3255247a4b2320a68fb2cbc52eb6db0cdb9876d444e251548e59c25607e8/arise-0.2.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c97dd1891b327b27dc2676d30976f7e7716a977f918a779b89672aaa91c71704",
                "md5": "115385add2c7ce381da6a6d5502deb01",
                "sha256": "00ed876c917f03e1d8539e91e948e2b8dd33d0ca17f3616ba835ea5422d3a4f5"
            },
            "downloads": -1,
            "filename": "arise-0.2.3.tar.gz",
            "has_sig": false,
            "md5_digest": "115385add2c7ce381da6a6d5502deb01",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 63835,
            "upload_time": "2024-12-07T17:36:18",
            "upload_time_iso_8601": "2024-12-07T17:36:18.956702Z",
            "url": "https://files.pythonhosted.org/packages/c9/7d/d1891b327b27dc2676d30976f7e7716a977f918a779b89672aaa91c71704/arise-0.2.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-07 17:36:18",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "arise"
}
        
Elapsed time: 0.67393s