You can use arise
simply by installing via pip
on your Terminal.
pip install arise
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
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
You will have docker containers running in the backend, ready to be interfaced by your local environment applications you are developing.
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
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
- 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
andarise-mutiny-wallet
- 0.1.6 Pretend launching electrs on
testnet4
is easy by using customelectrs
repository - 0.1.7 Separate middleware deployment and add delay for
mariadb
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 customelectrs
repository; Not worth it. - 0.2.2 Attribute public domain art, persist authentications, drop
poetry
and useuv
- 0.2.3 Use GitHub workflows to setup GitHub Pages application for documentation
- Dutch Golden Age Prints and Paintings - Rijksmuseum, Public Domain Marked.
- ปฐวี - Patavi font by uvSOV - Worawut Thanawatanawanich
- Florent Galon for flame animation used as Tusk's HellFire.
- Avinash Vytla for breaking down Florent's process on YouTube
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
This project is licensed under the terms of the MIT license.