Xapoデビットカードを申し込んだ

申し込んだゾ

申し込んだゾ

 

ヨーロッパなら10~15日だけどヨーロッパ外だと30日くらいかかるよってさ。気長に待ちましょう。

 

よく読んでないんだけど(まがお)、Xapoのウォレットから引き落とされるものだよね?という訳でXapoウォレットに多少入金しておく必要があるな、うん。MiningRigRentalsの報酬、使うんじゃなくてXapoに放り込むようにしようかな。

monacoin-qtがエラー落ち

monacoin-qtがエラー落ちした。

取り敢えず再起動すればなんとかなるっしょって思ったけど再起動してもダメでした。

 

ログを眺めろって怒られたので眺めると、

2016-01-03 14:03:36 Corruption: block checksum mismatch
2016-01-03 14:03:36 *** System error while flushing: Database corrupted
2016-01-03 14:07:30 GUI: "registerShutdownBlockReason: Successfully registered: Monacoin Core didn't yet exit safely..."
2016-01-03 14:07:30

だそうな。よくわかんない。適切に終了されなかったからデータベースがぶっ壊れたって事なんかな。

適当にぐぐってみると -reindex を付けてコマンドラインから起動してみなって情報があったので、そうしてみる。

手元にあるブロックチェーンのデータをイチから作りなおす感じみたい。

 

ウォレットそのものは壊れてなかったみたいなので(受け取りアドレスもきちんと残ってたし、残高も記憶にある値と一致していた)、よかったよかった。

俺々プールをさくっと構築するスクリプト

書いた。https://github.com/ottyajp/solo_mining_pool_script

 

前のmonacoinの俺々プールを作るを参考にNOMPを構築した。それの記録をもとにスクリプトにまとめたもの。全体的にめちゃくちゃてきとう。

まだこのスクリプトを使って構築した環境で掘り当てれてないから誰か試してくれてもいいのよ(まがお)

 

パスをちゃんと考えて書いていかないとイカんなぁとしみじみ思ったのだった。

 


 

12/7 17時頃追記

テスト環境を書いてなかったけど、14.04.3 LTS 64bitです。VirtualBoxの上にインストールしました。ネットワークアダプタはブリッジが良いかと

一応32bit OSなら32bit版のmonacoindを拾ってきてくれるようにはしているけど、ほかは知らないです。

monacoinの俺々プールを作る

Monacoinをソロマイニングする

なーんて調子に乗ってソロマイニング~とか言ってたけど、Askmonaのトピック

プランA:Monacoin Wallet ⇒ getworkが廃止されたらしく、うまく掘れない。getworkを無効にするオプションがminerにあれば若しくは…
プランB:自分用のPoolを設置 ⇒ Scrypt時代のPoolの作り方はググれば出てくる。今は(Lyra2REv2では)どうなのだろう…
プランC:SGMinerやCCMinerを改造し、getworkを使わないようにする。 ⇒ 少なくとも私は技量不足で無理っぽい…
プランD:プールからブロック情報だけもらって、Minerに渡す、proxyみたいなものを作る。 ⇒ いや、それで出来るかは知らんけど…

そもそも、できないのかな…?ソロマイニング…

とある。Monacoin Walletでやるソロマイニングはダメらしい(笑)getworkってなんだよ(笑)わかんね

 

で、プランBをちょっとやってみようかな、といった話だ。

結論だけ言えば、成功して、掘り当てる事もできた。けれど、構築当時の様子をそのまま記録、というのをやりそこねてしまったので、記憶から書き出している。細かい所にミスがあるかもしれないけど、そのへんは悪しからず。

 

長くなるので続きから。 続きを読む

monacoinをビルドするPKGBUILDを書く

特に意味は無いけれど(普通にビルド出来たし)、makepkgを一発叩くだけであとは待ってれば完了する状態というのもいいかなと思って勉強がてら書いてみた。

/usr/share/pacman/PKGBUILD.protoを雛形に、それらしく書く。

$ cd ~
$ mkdir monacoin_build_test && cd monacoin_build_test
$ cp /usr/share/pacman/PKGBUILD.proto ./PKGBUILD
$ vi PKGBUILD
$ cat PKGBUILD
# This is an example PKGBUILD file. Use this as a start to creating your own,
# and remove these comments. For more information, see 'man PKGBUILD'.
# NOTE: Please fill out the license field for your package! If it is unknown,
# then please put 'unknown'.

# Maintainer: Your Name <youremail@domain.com>
pkgname=monacoin
pkgver=0.10.2.2
pkgrel=1
pkgdesc="peer to peer crypto currency Monacoin full client."
arch=('i686' 'x86_64')
url="http://monacoin.org/"
license=('MIT')
depends=('boost-libs' 'qt4' 'qrencode' 'protobuf' 'db4.8')
makedepends=('boost' 'qrencode' 'protobuf')
source=("https://github.com/monacoinproject/monacoin/archive/v$pkgver-hotfix.tar.gz")
md5sums=('cffdf0e505820b62fe8104c9c47d8fa9')

build() {
cd "$srcdir/$pkgname-$pkgver-hotfix"
./autogen.sh
./configure
make
}

package() {
cd "$srcdir/$pkgname-$pkgver-hotfix"
# make DESTDIR="$pkgdir/" install
install -Dm755 src/qt/monacoin-qt "$pkgdir"/usr/bin/monacoin-qt
install -Dm755 src/monacoind "$pkgdir"/usr/bin/monacoind
install -Dm755 src/monacoin-cli "$pkgdir"/usr/bin/monacoin-cli
install -Dm755 src/monacoin-tx "$pkgdir"/usr/bin/monacoin-tx
install -Dm644 share/pixmaps/bitcoin128.png "$pkgdir"/usr/share/pixmaps/monacoin128.png
install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
}

dependsとかmakedependsとかpackage()とか、大部分をlitecoin-qtを参考にてきとうに埋めた。

makepkg出来るかチェックする。

$ makepkg
~略~
==> 作成完了: monacoin 0.10.2.2-1 (2015年 11月 18日 水曜日 18:02:04 JST)

なんとかうまくいった。出来上がったパッケージが正常かチェックする。pacman -Qlp(Qip)やnamcapで調べ、実際にパッケージをインストールして動作チェックする。

$ pacman -Qlp monacoin-0.10.2.2-1-x86_64.pkg.tar.xz
monacoin /usr/
monacoin /usr/bin/
monacoin /usr/bin/monacoin-cli
monacoin /usr/bin/monacoin-qt
monacoin /usr/bin/monacoin-tx
monacoin /usr/bin/monacoind
monacoin /usr/share/
monacoin /usr/share/licenses/
monacoin /usr/share/licenses/monacoin/
monacoin /usr/share/licenses/monacoin/COPYING
monacoin /usr/share/pixmaps/
monacoin /usr/share/pixmaps/monacoin128.png
$ pacman -Qip monacoin-0.10.2.2-1-x86_64.pkg.tar.xz
名前      : monacoin
バージョン   : 0.10.2.2-1
説明      : monacoin full client.
アーキテクチャ : x86_64
URL : http://monacoin.org/
ライセンス   : MIT
グループ    : なし
Provides : なし
依存パッケージ : boost-libs qt4 qrencode protobuf db4.8
提案パッケージ : なし
衝突パッケージ : なし
置換パッケージ : なし
圧縮した容量  : 4.10 MiB
インストール容量: 15.25 MiB
パッケージ作成者: Unknown Packager
ビルド日時   : 2015年11月18日 18時01分56秒
Install Script : No
Validated By : なし
署名      : なし
$ namcap PKGBUILD
PKGBUILD (monacoin) W: Description should not contain the package name.
$ namcap monacoin-0.10.2.2-1-x86_64.pkg.tar.xz
monacoin W: Description should not contain the package name.
monacoin W: ELF file ('usr/bin/monacoin-tx') has executable stack.
monacoin W: ELF file ('usr/bin/monacoin-qt') has executable stack.
monacoin W: ELF file ('usr/bin/monacoind') has executable stack.

Descriptionにはパッケージ名突っ込むなって書いてあるけどまぁほっとこ、大した事じゃないし…

他にも3つもWarning出てるけど、まぁErrorじゃなくてWarningだし…ほっとこ()

$ sudo pacman -U monacoin-0.10.2.2-1-x86_64.pkg.tar.xz
[sudo] tea のパスワード:
パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (1) monacoin-0.10.2.2-1

合計インストール容量: 15.25 MiB

:: インストールを行いますか? [Y/n] y
(1/1) キーリングのキーを確認 [########] 100%
(1/1) パッケージの整合性をチェック [########] 100%
(1/1) パッケージファイルのロード [########] 100%
(1/1) ファイルの衝突をチェック [########] 100%
(1/1) 空き容量を確認 [########] 100%
(1/1) インストール monacoin [########] 100%

monacoin-qt, monacoind, monacoin-cliなど使ってみて正常に動作しそうな事を確認(割愛)する。monacoin-txは使い方よくわかんないので放置。それらしい場所に入っている事もhashで確認する。

$ hash
hits command
2 /usr/bin/monacoin-cli
1 /usr/bin/monacoind
1 /usr/bin/monacoin-qt

 

うまくいった。一応削除しておく。

$ sudo pacman -R monacoin
[sudo] tea のパスワード:
依存関係を確認しています...

パッケージ (1) monacoin-0.10.2.2-1

合計削除容量: 15.25 MiB

:: 以上のパッケージを削除しますか? [Y/n] y
(1/1) 削除 monacoin [######################] 100%

 

 

死ぬほどてきとうに書いたから(一応動いたって事でおしまい)どうなるかわかんないけど、これでいいや

monacoindをビルドする

環境はArchLinux(つーかAntergosだけど)

何が必要かよくわからないので取り敢えずcloneしてきて様子を見よう。

$ git clone https://github.com/monacoinproject/monacoin.git

http://qiita.com/monapay/items/8642ea58e7d959e380c2 によると、 monacoin/src の中で $ make -f makefile.unix しろって言っているけれど、 makefile.unix なターゲットがないゾ、と怒られるので、素直に INSTALL 読む。

See doc/build-*.md for instructions on building bitcoind(以下略)

と書いてあるので、それらしい doc/build-unix.md を見て対応。

$ ./autogen.sh
$ ./configure
configure: error: Found Berkeley DB other than 4.8. required for portable walltes (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)

怒られた。 build-unix.md の Dependencies の項を見てみると、 libdb4.8 が Wallet storage に必要らしい。

only needed when wallet enabled

とあるけれど、ま、ウォレット機能は必要でしょ。db4.8(https://aur.archlinux.org/packages/db4.8/)を入れてからリベンジしたら通ったので、次の工程へ。

$ yaourt -S db4.8
$ ./configure
$ make

うまくいっていれば、monacoin/srcの中に monacoind や monacoin-cli が出来ているはず。

動作チェックは割愛。

 

Monacoinをソロマイニングする

Lyra2REv2になってから、Diffが比較的下がっているので、しょぼいCPUでも多少ブロックが発見出来ている(poolのBlock finderで見るとalgo変更から10個は少なくとも見つけている)のだが、得られたMONAは22程度。本当はもっと沢山掘り当てているのに。

という訳でソロマイニングに挑戦する事にした。

 

まずはウォレットを拾ってこよう。

$ wget http://monacoin.org/files/client/0.10.2.2-hotfix/monacoin-0.10.2.2-hotfix-linux64.tar.gz
$ tar -zxvf ./monacoin-0.10.2.2-hotfix-linux64.tar.gz

さて、起動だ。

$ cd ./monacoin/bin
$ ./monacoind
Error: To use monacoind, or the -server option to monacoin-qt, you must set an rpcpassword in the configuration file:
/home/tea/.monacoin/monacoin.conf
It is recommended you use the following random password:
rpcuser=monacoinrpc
rpcpassword=D7J12oDp372pCxjvEqU28MgcxESwD6iqRZQ2tdQpeZcg
(you do not need to remember this password)
The username and password MUST NOT be the same.
If the file does not exist, create it with owner-readable-only file permissions.
It is also recommended to set alertnotify so you are notified of problems;
for example: alertnotify=echo %s | mail -s "Monacoin Alert" ad min@foo.com

Failed to create backup boost::filesystem::copy_file: No such file or directory: "/home/tea/.monacoin/wallet.dat", "/home/te a/.monacoin/backups/wallet.dat.2015-11-14-01.41"

エラー落ち。出力を見つつてきとうに対応する。

$ cd $HOME
$ mkdir -m 700 .monacoin
$ vi .monacoin/monacoin.conf
$ cat .monacoin/monacoin.conf
rpcuser=monacoinrpc
rpcpassword=hoge

 

リベンジという事でもう1度monacoindを起動すると、起動したっぽいけど、猛烈にCPUを食う(おさまる気配無し)し、通信もあまりしているように見えない。GUI版のmonacoin-qtを実行しても大して状況は変わらない。addnode=192.168.0.15みたいな感じでLAN内にいるmonacoin-qt(が実行されているWindows機を今回は使った)を指定してみるとサクッと繋がって同期が始まった。

同期の完了を待ってマイニングのための設定を行う。monacoin.confを修正。

$ cat .monacoin/monacoin.conf
server=1
daemon=1

rpcuser=monacoinrpc
rpcpassword=hoge

rpcallowip=127.0.0.1
rpcallowip=192.168.0.0/24

rpcport=9332

addnode=192.168.0.15

 

 

server=1 : JSON-RPCを受け付けるようにする
daemon=1 : daemonモードで起動
rpcuser : JSON-RPCのためのユーザ名
rpcpassword : JSON-RPCのためのパスワード
rpcallowip : JSON-RPCを受け付けるIPアドレス(ここで指定したアドレスからのアクセスを受け付ける)
rpcport : JSON-RPCのためにlistenするポート

他のPCから接続させるためにはファイアウォールをなんとかしといた方がよさそう。

# ufw allow 9332/tcp
# enable

設定は完了したのでmonacoindを起動(別にmonacoin-qtでも良い)した上で、cpuminerに設定を渡す。

$ ./cpuminer -a lyra2rev2 -u monacoinrpc -p hoge -o localhost: 9332 --coinbase-addr MPnUpEhXHH4NUSofzYEsfMfZSErdo5AFbL

 

–coinbase-addrでウォレット上のアドレスを指定する必要がある。

https://github.com/monacoinproject/Monacoin-exp

0.8.7.1と異なり、ソロマイニングの際には自身のウォレットアドレスを指定する必要があります

jsonで設定を渡すのでも同様。”coinbase-addr”:”MPnUpEhXHH4NUSofzYEsfMfZSErdo5AFbL”が必要になるだけ。

 

ブロック見つけられてないからこれで本当にうまくいってるのかは確証が得られないけれど、まぁ処理はしてるようなのでうまくいったんじゃなかろかね。

 

 

次はMPOSを触って俺々プールを作るか、それかmonacoindのビルドとかやってみるかな。

ArchLinuxでLyra2REv2マイニング(CPU)

実際のところInstall Battleが面倒くさくてAntergos使っているので、ArchLinuxそのままではないんだけど。

 

https://blog.visvirial.com/articles/499#CPU

こちらを参考に。参考っていうかそのままなんだけど~

 

必要なパッケージを入れようってあるけど、実際どんな必要なパッケージがあるのかしらと思っても、ぶっちゃけわかんないので、取り敢えずビルドしたら何かしらエラー出るだろ、それに対処すればいいだろ…

と思って ./build.sh したら何のエラーもなくそのまま通ってしまった。

 

後はjsonで設定ファイル作って、それを食わせてcpuminerを実行するだけ。

 

何の問題も無かったし普通に動いた。何一つ有用な情報無し!!

 

 

 

追記:

文字見えねーよ!!!!!!

文字見えねーよ!!!!!!