Docker ではじめるCPUマイニング(BitZeny編)
1. はじめに
- 今回は、自分自身への備忘録を兼ねて、Docker(Dockerfile)を用いたCPUマイニングをはじめる方法を、お伝えしたいと思います。
参考:CC BitZenyをDockerでマイニングしてみる
参考:shamaton / docker-miner-zeny
2. この記事を読んでできること
- Docker(Dockerfile)を用いてBitZeny(アルトコイン)をCPUマイニングできるようになる。
3. 必要なもの
- Dockerホスト環境(この記事では Raspberry Pi3B + Ubuntu 18.04 LTS(arm64)を利用)
- インターネット環境
4. 前提条件
- ハードウェア:Raspberry Pi3B
- OS:Ubuntu 18.04 LTS(arm64)
- アーキテクチャ:arm64
5. Dockerコンテナのセットアップ
- 以下のコマンドを順次実行し、cpuminerが実行できるDockerコンテナ環境をセットアップします。
コマンドプロンプト
// ホームディレクトリに移動
$ cd
// docker-miner-zenyを取得
$ git clone https://github.com/shamaton/docker-miner-zeny.git
// ディレクトリを移動
$ cd docker-miner-zeny
// Dockerfileとstart.shファイルの確認
$ ls
Dockerfile README.md start.sh
// Dockerイメージのビルド
$ docker build -t zeny:latest .
// Dockerイメージ一覧表示(IMAGE IDを確認する)
$ docker image ls
// CPUマイニングの実行(Dockerイメージからコンテナを起動)
// 環境変数POOL、WALLETの部分にご自身のプールアドレス、BitZeny受信アドレスを設定してください。
$ docker run --name mining --env POOL=stratum+tcp://zny.mofumofu.me:3331 --env WALLET=Ztd9eoSVaX4pehagt5o9PRDnCYRAadbgxn.Ubuntu --env THREAD_NUM=3 zeny
// Dockerコンテナの一覧表示
$ docker container ls -a
// Dockerコンテナ単体での自動起動を有効化
$ docker update --restart=always mining
// 自動起動が有効になっているコンテナを確認
$ docker inspect -f "{{.Name}} {{.HostConfig.RestartPolicy.Name}}" $(docker ps -aq) | grep always
// Dockerコンテナ単体での自動起動を無効化
$ docker update --restart=no mining
// コンテナを停止
$ docker stop mining
// Dockerコンテナの削除(必要なくなったら時に実行する)
docker rm mining
- 今回はオンラインウォレットの「BitZeny WALLET」を利用しました。
- ウォレットをまだお持ちでない方は、「BitZeny WALLET」の「新規登録」リンクから新規登録をおこない、ウォレット内の「受信アドレス」からご自身の「BitZeny受信アドレス」をコピーしてお使いください。
- マイニングプールについては、登録不要で使えるBitZenyのマイニングプール(NOMP:Node Open Mining Portal)である「mofumofu.me」を利用しています。
6. CPUマイニング実行コマンドの例
- 以下のコマンドを実行し、CPUマイニングを実行します。
コマンドプロンプト
// CPUマイニング実行コマンドの例
// use case 1
$ docker run --name {コンテナ名} --env POOL={プールアドレス} --env WALLET={ウォレットアドレス} --env THREAD_NUM={割当CPUコア数} zeny
// use case 2
$ docker run --name {コンテナ名} --env POOL={プールアドレス} --env USERPASS={ユーザー名.ワーカー名:パスワード} --env THREAD_NUM={割当CPUコア数} zeny
7. CPUマイニング成功時のログ
- CPUマイニングに成功すると、「(yay!!!)」とログに出力されるかと思います。
- ただし、マイニングに成功してもすぐにBitZeny受信アドレスに受け取り反映されるわけではありません。受け取り反映されるルールについては、利用するマイニングプールのルールによって異なります。CPU処理能力であれば、数時間から半日程度、気長に待ってみましょう。
8. 参考:start.sh
start.sh
#!/bin/sh
if [ -z ${POOL} ]; then
echo "not set pool address... exit"
exit 1
fi
if [ -n "${WALLET}" ]; then
echo "POOL -> $POOL"
echo "WALLET -> $WALLET"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -u $WALLET -t $THREAD_NUM
elif [ -n "${USERPASS}" ]; then
echo "POOL -> $POOL"
echo "USERPASS -> $USERPASS"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -O $USERPASS -t $THREAD_NUM
fi
9. 参考:Dockerfile
Dockerfile
FROM ubuntu:xenial
MAINTAINER shamaton
WORKDIR /root
RUN apt-get update \
&& apt-get -y install \
git \
wget \
libjansson-dev \
automake \
libtool \
curl \
libcurl3 \
libcurl3-dev \
make
WORKDIR /root
COPY start.sh /root/start.sh
RUN chmod a+x /root/start.sh
RUN git clone https://github.com/bitzeny/cpuminer \
&& cd cpuminer \
&& sh autogen.sh \
&& ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer" \
&& make
CMD ["/root/start.sh"]
10. おわりに
- Dockerホスト環境(この記事では Raspberry Pi3B + Ubuntu 18.04 LTS(arm64)を利用)
- インターネット環境
4. 前提条件
- ハードウェア:Raspberry Pi3B
- OS:Ubuntu 18.04 LTS(arm64)
- アーキテクチャ:arm64
5. Dockerコンテナのセットアップ
- 以下のコマンドを順次実行し、cpuminerが実行できるDockerコンテナ環境をセットアップします。
コマンドプロンプト
// ホームディレクトリに移動
$ cd
// docker-miner-zenyを取得
$ git clone https://github.com/shamaton/docker-miner-zeny.git
// ディレクトリを移動
$ cd docker-miner-zeny
// Dockerfileとstart.shファイルの確認
$ ls
Dockerfile README.md start.sh
// Dockerイメージのビルド
$ docker build -t zeny:latest .
// Dockerイメージ一覧表示(IMAGE IDを確認する)
$ docker image ls
// CPUマイニングの実行(Dockerイメージからコンテナを起動)
// 環境変数POOL、WALLETの部分にご自身のプールアドレス、BitZeny受信アドレスを設定してください。
$ docker run --name mining --env POOL=stratum+tcp://zny.mofumofu.me:3331 --env WALLET=Ztd9eoSVaX4pehagt5o9PRDnCYRAadbgxn.Ubuntu --env THREAD_NUM=3 zeny
// Dockerコンテナの一覧表示
$ docker container ls -a
// Dockerコンテナ単体での自動起動を有効化
$ docker update --restart=always mining
// 自動起動が有効になっているコンテナを確認
$ docker inspect -f "{{.Name}} {{.HostConfig.RestartPolicy.Name}}" $(docker ps -aq) | grep always
// Dockerコンテナ単体での自動起動を無効化
$ docker update --restart=no mining
// コンテナを停止
$ docker stop mining
// Dockerコンテナの削除(必要なくなったら時に実行する)
docker rm mining
- 今回はオンラインウォレットの「BitZeny WALLET」を利用しました。
- ウォレットをまだお持ちでない方は、「BitZeny WALLET」の「新規登録」リンクから新規登録をおこない、ウォレット内の「受信アドレス」からご自身の「BitZeny受信アドレス」をコピーしてお使いください。
- マイニングプールについては、登録不要で使えるBitZenyのマイニングプール(NOMP:Node Open Mining Portal)である「mofumofu.me」を利用しています。
6. CPUマイニング実行コマンドの例
- 以下のコマンドを実行し、CPUマイニングを実行します。
コマンドプロンプト
// CPUマイニング実行コマンドの例
// use case 1
$ docker run --name {コンテナ名} --env POOL={プールアドレス} --env WALLET={ウォレットアドレス} --env THREAD_NUM={割当CPUコア数} zeny
// use case 2
$ docker run --name {コンテナ名} --env POOL={プールアドレス} --env USERPASS={ユーザー名.ワーカー名:パスワード} --env THREAD_NUM={割当CPUコア数} zeny
7. CPUマイニング成功時のログ
- CPUマイニングに成功すると、「(yay!!!)」とログに出力されるかと思います。
- ただし、マイニングに成功してもすぐにBitZeny受信アドレスに受け取り反映されるわけではありません。受け取り反映されるルールについては、利用するマイニングプールのルールによって異なります。CPU処理能力であれば、数時間から半日程度、気長に待ってみましょう。
8. 参考:start.sh
start.sh
#!/bin/sh
if [ -z ${POOL} ]; then
echo "not set pool address... exit"
exit 1
fi
if [ -n "${WALLET}" ]; then
echo "POOL -> $POOL"
echo "WALLET -> $WALLET"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -u $WALLET -t $THREAD_NUM
elif [ -n "${USERPASS}" ]; then
echo "POOL -> $POOL"
echo "USERPASS -> $USERPASS"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -O $USERPASS -t $THREAD_NUM
fi
9. 参考:Dockerfile
Dockerfile
FROM ubuntu:xenial
MAINTAINER shamaton
WORKDIR /root
RUN apt-get update \
&& apt-get -y install \
git \
wget \
libjansson-dev \
automake \
libtool \
curl \
libcurl3 \
libcurl3-dev \
make
WORKDIR /root
COPY start.sh /root/start.sh
RUN chmod a+x /root/start.sh
RUN git clone https://github.com/bitzeny/cpuminer \
&& cd cpuminer \
&& sh autogen.sh \
&& ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer" \
&& make
CMD ["/root/start.sh"]
10. おわりに
- 以下のコマンドを順次実行し、cpuminerが実行できるDockerコンテナ環境をセットアップします。
コマンドプロンプト
// ホームディレクトリに移動
$ cd
// docker-miner-zenyを取得
$ git clone https://github.com/shamaton/docker-miner-zeny.git
// ディレクトリを移動
$ cd docker-miner-zeny
// Dockerfileとstart.shファイルの確認
$ ls
Dockerfile README.md start.sh
// Dockerイメージのビルド
$ docker build -t zeny:latest .
// Dockerイメージ一覧表示(IMAGE IDを確認する)
$ docker image ls
// CPUマイニングの実行(Dockerイメージからコンテナを起動)
// 環境変数POOL、WALLETの部分にご自身のプールアドレス、BitZeny受信アドレスを設定してください。
$ docker run --name mining --env POOL=stratum+tcp://zny.mofumofu.me:3331 --env WALLET=Ztd9eoSVaX4pehagt5o9PRDnCYRAadbgxn.Ubuntu --env THREAD_NUM=3 zeny
// Dockerコンテナの一覧表示
$ docker container ls -a
// Dockerコンテナ単体での自動起動を有効化
$ docker update --restart=always mining
// 自動起動が有効になっているコンテナを確認
$ docker inspect -f "{{.Name}} {{.HostConfig.RestartPolicy.Name}}" $(docker ps -aq) | grep always
// Dockerコンテナ単体での自動起動を無効化
$ docker update --restart=no mining
// コンテナを停止
$ docker stop mining
// Dockerコンテナの削除(必要なくなったら時に実行する)
docker rm mining
- 今回はオンラインウォレットの「BitZeny WALLET」を利用しました。
- ウォレットをまだお持ちでない方は、「BitZeny WALLET」の「新規登録」リンクから新規登録をおこない、ウォレット内の「受信アドレス」からご自身の「BitZeny受信アドレス」をコピーしてお使いください。
- マイニングプールについては、登録不要で使えるBitZenyのマイニングプール(NOMP:Node Open Mining Portal)である「mofumofu.me」を利用しています。
6. CPUマイニング実行コマンドの例
- 以下のコマンドを実行し、CPUマイニングを実行します。
コマンドプロンプト
// CPUマイニング実行コマンドの例
// use case 1
$ docker run --name {コンテナ名} --env POOL={プールアドレス} --env WALLET={ウォレットアドレス} --env THREAD_NUM={割当CPUコア数} zeny
// use case 2
$ docker run --name {コンテナ名} --env POOL={プールアドレス} --env USERPASS={ユーザー名.ワーカー名:パスワード} --env THREAD_NUM={割当CPUコア数} zeny
7. CPUマイニング成功時のログ
- CPUマイニングに成功すると、「(yay!!!)」とログに出力されるかと思います。
- ただし、マイニングに成功してもすぐにBitZeny受信アドレスに受け取り反映されるわけではありません。受け取り反映されるルールについては、利用するマイニングプールのルールによって異なります。CPU処理能力であれば、数時間から半日程度、気長に待ってみましょう。
8. 参考:start.sh
start.sh
#!/bin/sh
if [ -z ${POOL} ]; then
echo "not set pool address... exit"
exit 1
fi
if [ -n "${WALLET}" ]; then
echo "POOL -> $POOL"
echo "WALLET -> $WALLET"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -u $WALLET -t $THREAD_NUM
elif [ -n "${USERPASS}" ]; then
echo "POOL -> $POOL"
echo "USERPASS -> $USERPASS"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -O $USERPASS -t $THREAD_NUM
fi
9. 参考:Dockerfile
Dockerfile
FROM ubuntu:xenial
MAINTAINER shamaton
WORKDIR /root
RUN apt-get update \
&& apt-get -y install \
git \
wget \
libjansson-dev \
automake \
libtool \
curl \
libcurl3 \
libcurl3-dev \
make
WORKDIR /root
COPY start.sh /root/start.sh
RUN chmod a+x /root/start.sh
RUN git clone https://github.com/bitzeny/cpuminer \
&& cd cpuminer \
&& sh autogen.sh \
&& ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer" \
&& make
CMD ["/root/start.sh"]
10. おわりに
コマンドプロンプト
// CPUマイニング実行コマンドの例
// use case 1
$ docker run --name {コンテナ名} --env POOL={プールアドレス} --env WALLET={ウォレットアドレス} --env THREAD_NUM={割当CPUコア数} zeny
// use case 2
$ docker run --name {コンテナ名} --env POOL={プールアドレス} --env USERPASS={ユーザー名.ワーカー名:パスワード} --env THREAD_NUM={割当CPUコア数} zeny
- CPUマイニングに成功すると、「(yay!!!)」とログに出力されるかと思います。
- ただし、マイニングに成功してもすぐにBitZeny受信アドレスに受け取り反映されるわけではありません。受け取り反映されるルールについては、利用するマイニングプールのルールによって異なります。CPU処理能力であれば、数時間から半日程度、気長に待ってみましょう。
8. 参考:start.sh
start.sh
#!/bin/sh
if [ -z ${POOL} ]; then
echo "not set pool address... exit"
exit 1
fi
if [ -n "${WALLET}" ]; then
echo "POOL -> $POOL"
echo "WALLET -> $WALLET"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -u $WALLET -t $THREAD_NUM
elif [ -n "${USERPASS}" ]; then
echo "POOL -> $POOL"
echo "USERPASS -> $USERPASS"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -O $USERPASS -t $THREAD_NUM
fi
9. 参考:Dockerfile
Dockerfile
FROM ubuntu:xenial
MAINTAINER shamaton
WORKDIR /root
RUN apt-get update \
&& apt-get -y install \
git \
wget \
libjansson-dev \
automake \
libtool \
curl \
libcurl3 \
libcurl3-dev \
make
WORKDIR /root
COPY start.sh /root/start.sh
RUN chmod a+x /root/start.sh
RUN git clone https://github.com/bitzeny/cpuminer \
&& cd cpuminer \
&& sh autogen.sh \
&& ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer" \
&& make
CMD ["/root/start.sh"]
10. おわりに
start.sh
#!/bin/sh
if [ -z ${POOL} ]; then
echo "not set pool address... exit"
exit 1
fi
if [ -n "${WALLET}" ]; then
echo "POOL -> $POOL"
echo "WALLET -> $WALLET"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -u $WALLET -t $THREAD_NUM
elif [ -n "${USERPASS}" ]; then
echo "POOL -> $POOL"
echo "USERPASS -> $USERPASS"
echo "thread -> $THREAD_NUM"
/root/cpuminer/minerd -o $POOL -O $USERPASS -t $THREAD_NUM
fi
Dockerfile
FROM ubuntu:xenial
MAINTAINER shamaton
WORKDIR /root
RUN apt-get update \
&& apt-get -y install \
git \
wget \
libjansson-dev \
automake \
libtool \
curl \
libcurl3 \
libcurl3-dev \
make
WORKDIR /root
COPY start.sh /root/start.sh
RUN chmod a+x /root/start.sh
RUN git clone https://github.com/bitzeny/cpuminer \
&& cd cpuminer \
&& sh autogen.sh \
&& ./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer" \
&& make
CMD ["/root/start.sh"]
10. おわりに
いかがでしたでしょうか?意外と簡単にDocker(Dockerfile)を用いたCPUマイニングを始めることができたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。
2020/02/24 TAKAHIRO NISHIZONO
Author And Source
この問題について(Docker ではじめるCPUマイニング(BitZeny編)), 我々は、より多くの情報をここで見つけました https://qiita.com/zono_0/items/39c1712325c749e46600著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .