以下省略!

タイダルウ(ry ほぼ毎日1記事執筆運動実施中。 ※記事に広告(アフィリエイト)リンクを掲載している場合があります。

Monacoinのtestnetをローカル上で構築

f:id:abyssluke:20140302182626p:plain:w240:leftなんかMonacoinを使ったサービス(今のところfaucetを考えている)を作ってみようかなーと思い、テスト用のネットワーク testnetを構築してみた。
(Linux環境でmonacoind/monacoin-qtがインストールされていることを前提とする)

専用ディレクトリを作りmonacoin.confを置く

testnet用のディレクトリを作成する。

$ mkdir test1
$ mkdir test2

そのあとhttps://github.com/freewil/litecoin-testnet-boxhttps://github.com/xrobau/litecoin-testnet-boxを参考にしてtest1,test2にmonacoin.confを作っておく。

test1/monacoin.conf
testnet=1
irc=0
dnsseed=0
upnp=0

port=19100
rpcport=19101

server=1

rpcuser=admin1
rpcpassword=123
test2/monacoin.conf
testnet=1
irc=0
dnsseed=0
upnp=0
listen=0
connect=127.0.0.1:19100

port=19110
rpcport=19111

server=1

rpcuser=admin2
rpcpassword=123

起動

$ ./monacoind -datadir=test1 -daemon
$ ./monacoind -datadir=test2 -daemon

とするか、GUIなら

$ ./monacoin-qt -datadir=test1 &
$ ./monacoin-qt -datadir=test2 &

としてmonacoinを起動させる。

採掘

初期状態ではtestnet上にMONAが全く流通していない状況なので、

$ ./monacoind -datadir=test1 setgenerate true
(GUIの場合はデバッグコンソールからsetgenerate true)

するか、

$ ./minerd --algo scrypt --url http://127.0.0.1:19101 --user admin1 --pass 123

などminerを使って採掘する必要がある。最低120ブロック以上採掘しないと有効化されないので、CPUMinerだと結構時間かかって辛いかも。この記事を書いている今でも採掘中(まだ半分も掘れていない)。
120ブロック以上採掘後はMONAを煮るなり焼くなりすればよろしい。

補足

mainnet(本番用)はウォレットアドレスが"M"から始まるが、testnetは"m"か"n"*1から始まる。
アドレス形式の確認はtestnetアドレスも考慮しておくといいかも(getinfoしてtestnet:trueであればtestnetアドレスの形式で確認するなど)。

*1:採掘トランザクションで表示されているアドレス、nから始まるものもあったので。採掘限定でmainnetにNから始まるアドレスあるのかも?わからないけど