Skip to main content

Arise

Bitcoin-only Docker Documentation Languages Last commit Size Top

Arise Banner

Getting started

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

pip install arise
Sample output when running install command

Sample Pip Install

And build required images with build command. The following shows you how to build a Testnet Bitcoin-Core node as well as electrs, mempool and mutiny-web

arise build --testnet --electrs --mempool --mutiny-web
Sample output when running build command

Sample Arise Build

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:

arise deploy --testnet --with-electrs --with-mempool --with-mutiny-web
Sample output when running deploy command

Sample Arise Deploy

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 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.

arise dashboard
Sample output when running dashboard command

Sample Arise Dashboard

Contributions

Prerequisites

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.

Install using Homebrew (Darwin)
brew install pyenv --head
Install using standalone installer (Darwin and Linux)
curl https://pyenv.run | bash

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

Install using Homebrew (Darwin)
brew install uv
Install using standalone installer (Darwin and Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh

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.

Set up environment and synchronize project dependencies
pyenv shell 3.11.9
uv venv  --python-preference system
source .venv/bin/activate
uv sync --dev

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.

Launch Arise Help
$ 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

Change-logs

  • 0.1.0 Cloned useful and useless things from 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 - Rijksmuseum, Public Domain Marked.
  2. ปฐวี - Patavi font by uvSOV - Worawut Thanawatanawanich
  3. Florent Galon for flame animation used as Tusk's HellFire.
  4. Avinash Vytla for breaking down Florent's process on YouTube

Known issues

You may run into this setback when first running this project. This is a docker-py issue widely known as of October 2022.

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 Recommended fix is to run the following command:

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

License

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

Metadata

Release files for arise 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arise 0.2.3
File Size Uploaded
arise-0.2.3.tar.gz 63.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arise 0.2.3
File Interpreter ABI Platform
arise-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 93.5 kB

Release files / arise-0.2.3.tar.gz

Download URL arise-0.2.3.tar.gz
Size 63.8 kB
Tags Source
SHA-256 checksum
How to use checksums
00ed876c917f03e1d8539e91e948e2b8dd33d0ca17f3616ba835ea5422d3a4f5
BLAKE2b-256 checksum
How to use checksums
c97dd1891b327b27dc2676d30976f7e7716a977f918a779b89672aaa91c71704
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.18

Release files / arise-0.2.3-py3-none-any.whl

Download URL arise-0.2.3-py3-none-any.whl
Size 29.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6d2e42e05b9d788df44e2388b5781977e800d53280c02d5762547ec18717dd0d
BLAKE2b-256 checksum
How to use checksums
d6a93255247a4b2320a68fb2cbc52eb6db0cdb9876d444e251548e59c25607e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.4.18

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page