ここにbitcoindが作成するデータ構造が書いてある。ホームディレクトリに勝手につくって、そこにブロックのデータも入れるらしいので、勝手につくるディレクトリパスを変更できればいいのかなーと思ったけど、分からない。bitcoin.confで設定できるかもなので調べてみる。
こんなのを発見した。 Bitcoin Core Config Generator (compatible with Bitcoin Core 0.14+)
datadir
を設定したらできるらしい。といっても、そもそもbitcoin.confがホームディレクトリ内の.bitcoinにある。
$ bitcoind --help
とやると、オプションの説明が沢山でてきて、confというのもあった。confで設定ファイルのパスを指定すれば良さそうなんだけど、ホームディレクトリ外にあると、どうもbitcoin-cliでgetinfoできないっぽいので、~/.bitcoin/bitcoin.confに設定ファイルを作って、そのファイルでdatadirを指定しておいて、普通に$ bitcoind -testnet -daemon
とやったらdatadirに指定したディレクトリにtestnet3フォルダが作られてそこにブロックデータが蓄積されるようになった。あらかじめ、datadirで指定したパスにディレクトリをつくっておかないと、start bitcoind...とかいいながらスタートしない。
$ vim ~/.bitcoin/bitcoin.conf
bitcoin.conf
rpcuser=root rpcpassword=bitroot HOST=localhost server=1 txindex=1 rpcport=18332 testnet=3 datadir=/mnt/mydisk/bitcoin
$ bitcoind -testnet -daemon
$ bitcoin-cli getinfo { "version": 140100, "protocolversion": 70015, "walletversion": 130000, "balance": 0.00000000, "blocks": 520705, "timeoffset": 0, "connections": 8, "proxy": "", "difficulty": 1287.193631917138, "testnet": true, "keypoololdest": 1494747675, "keypoolsize": 100, "paytxfee": 0.00000000, "relayfee": 0.00001000, "errors": "" }
$ la /mnt/mydisk/bitcoin/testnet3 total 133M -rw------- 1 root root 37 May 14 16:41 banlist.dat -rw------- 1 root root 6 May 14 16:41 bitcoind.pid drwx------ 3 root root 4.0K May 14 17:04 blocks drwx------ 2 root root 4.0K May 14 17:05 chainstate drwx------ 2 root root 4.0K May 14 16:41 database -rw------- 1 root root 0 May 14 16:41 db.log -rw------- 1 root root 133M May 14 17:04 debug.log -rw------- 1 root root 0 May 14 16:41 .lock -rw------- 1 root root 333K May 14 16:56 peers.dat -rw------- 1 root root 88K May 14 17:01 wallet.dat