ネットワークから遮断されたDockerコンテナ内でElectrum

以下のような感じのDockerfileを用意してイメージをbuildする。

FROM ubuntu:16.04
RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y vim python-pip git python-qt4 pyqt4-dev-tools && \
    apt-get clean
RUN pip install --upgrade pip && \
    pip install dnspython pyaes ecdsa qrcode pbkdf2 protobuf pip requests \
                pysocks jsonrpclib
WORKDIR /root
RUN git clone https://github.com/spesmilo/electrum.git
WORKDIR /root/electrum
RUN git checkout 2.8.2
RUN pyrcc4 icons.qrc -o gui/qt/icons_rc.py

ビルドする。

$ docker build -t electrum .

ネットで見つけた手順を少しアレンジした以下のような手順でコンテナを立ち上げる。

$ XSOCK=/tmp/.X11-unix
$ XAUTH=/tmp/.docker.xauth
$ touch $XAUTH
$ xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge -
$ docker run -it --rm \
    -v $XSOCK:$XSOCK:rw -v $XAUTH:$XAUTH:rw \
    -e DISPLAY -e XAUTHORITY=${XAUTH} --ipc=host --net=none \
    electrum
root@xxxxxxxxxxxx:~/electrum# ./electrum 

無事立ち上がった。

オフラインウォレットほど安全ではないが比較的安全かもしれない。